@charset "UTF-8";
/*! destyle.css v1.0.13 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model
   ========================================================================== */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  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;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

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

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

dd {
  margin-left: 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border: 0;
  border-top: 1px solid;
  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] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

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

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-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;
}

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

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

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

[type="checkbox"] {
  /* 1 */
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type="radio"] {
  /* 1 */
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

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

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

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

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

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

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

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

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

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

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

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

/**
 * 1. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  padding: 0;
  /* 1 */
}

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

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

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

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -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;
}

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

caption {
  text-align: left;
}

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

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

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

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

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

body {
  color: #000;
  font-size: 0.9375rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;
}

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

a:hover {
  opacity: 0.6;
  text-decoration: none;
}

img {
  max-width: 100%;
  vertical-align: middle;
}

input {
  margin: 0;
  padding: 0;
}

textarea {
  padding: 0;
  font: inherit;
  color: inherit;
}

button {
  font: inherit;
  padding: 0;
  background-color: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: 0;
  font-weight: normal;
}

p {
  line-height: 2;
  margin-bottom: 0;
}

th,
td {
  border-collapse: collapse;
}

.wrap {
  overflow: hidden;
}

.pc-only {
  display: none;
}

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

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

.wrap {
  max-width: 1920px;
  margin: 0 auto;
}

.l-wide-container {
  max-width: 1200px;
  margin: 0 auto;
}

.l-container {
  max-width: 1000px;
  padding: 0 5.3vw;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .l-container {
    padding: 0;
    margin: 0 max(20px, 2%);
  }
}

@media screen and (min-width: 1041px) {
  .l-container {
    margin: 0 auto;
  }
}

/* ============================================
// header
// ==========================================*/
.l-header {
  background-color: #ffffff;
  position: fixed;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  max-width: 1920px;
  z-index: 10000;
}

.l-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: #99393f;
  width: 100%;
  height: 8px;
}

@media screen and (min-width: 768px) {
  .l-header::after {
    content: "";
    position: absolute;
    top: 80px;
    left: 0;
    background-color: #99393f;
    width: 100%;
    height: 2px;
  }
}

.l-header__inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 18px 0 14px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .l-header__inner {
    border-bottom: 4px solid #99393f;
  }
}

@media screen and (min-width: 768px) {
  .l-header__inner {
    padding: 25px 0 0;
  }
}

@media screen and (min-width: 768px) {
  .l-header__header-top-wrap {
    margin-bottom: 16px;
    padding-bottom: 14px;
  }
}

.l-header__header-top-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 767px) {
  .l-header__header-top-content {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.l-header__header-logo {
  width: 12.5rem;
}

@media screen and (min-width: 1024px) {
  .l-header__header-logo {
    width: 17.5rem;
  }
}

.l-header__header-top-main-content {
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .l-header__header-top-main-content {
    margin-right: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-header__header-top-main-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (max-width: 1023px) {
  .l-header__header-top-menu {
    display: none;
  }
}

.l-header__header-top-menu-list {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .l-header__header-top-menu-list {
    margin-right: 1em;
  }
}

@media screen and (min-width: 1024px) {
  .l-header__header-top-menu-list {
    margin-right: 2em;
  }
}

.l-header__header-top-menu-link {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: bold;
  padding: 10px 0;
  border-bottom: 4px solid transparent;
}

@media screen and (min-width: 768px) {
  .l-header__header-top-menu-link:hover, .l-header__header-top-menu-link.is-active, .l-header__header-top-menu-link.current {
    color: #bc3f3e;
    border-bottom: 4px solid #bc3f3e;
    opacity: 1.0;
  }
}

.l-header__icon-wrap {
  cursor: pointer;
  width: 1.5rem;
}

@media screen and (min-width: 768px) {
  .l-header__icon-wrap {
    margin-right: 1em;
  }
  .l-header__icon-wrap:hover {
    opacity: .6;
  }
}

@media screen and (min-width: 1024px) {
  .l-header__icon-wrap {
    margin-right: 2em;
  }
}

@media screen and (max-width: 1023px) {
  .l-header__button-wrap {
    display: none;
  }
}

.l-header__button-wrap .c-button-default, .l-header__button-wrap .c-button-inversion {
  padding: 0.75rem 2rem;
}

@media screen and (min-width: 768px) {
  .l-header__button-wrap .c-button-default, .l-header__button-wrap .c-button-inversion {
    padding: 0.75rem 1.5rem;
  }
}

@media screen and (min-width: 1024px) {
  .l-header__button-wrap .c-button-default, .l-header__button-wrap .c-button-inversion {
    padding: 0.75rem 2rem;
  }
}

.l-header__button-wrap .c-button-default:hover, .l-header__button-wrap .c-button-inversion:hover {
  color: #ffffff;
  background-color: #bc3f3e;
  opacity: 0.6;
}

.l-header__hum {
  position: relative;
  width: 2.375rem;
  height: 1.5rem;
}

@media screen and (min-width: 1024px) {
  .l-header__hum {
    display: none;
  }
}

.l-header__hum-border {
  position: absolute;
  background-color: #bc3f3e;
  width: 100%;
  height: 4px;
}

.l-header__hum-border01 {
  top: 0;
}

.l-header__hum-border02 {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.l-header__hum-border03 {
  bottom: 0;
}

.l-header__sp-menu-wrap {
  display: none;
  position: fixed;
  left: 0;
  background-color: rgba(255, 255, 255, 0.8);
  width: 100vw;
  height: 100vh;
  z-index: -1;
  overflow-y: scroll;
  overscroll-behavior: contain;
}

@media screen and (min-width: 768px) {
  .l-header__sp-menu-wrap {
    display: none;
  }
}

.l-header__sp-menu-inner {
  padding: 0 10px 150px;
}

.l-header__sp-menu-link {
  display: block;
  font-size: 16px;
  font-weight: bold;
  border-bottom: 1px solid #bc3f3e;
  padding: 20px 0;
  position: relative;
}

.l-header__sp-menu-link::before, .l-header__sp-menu-link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  background-color: #bc3f3e;
  width: 14px;
  height: 2px;
}

.l-header__sp-menu-link::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: .25s transform ease;
  transition: .25s transform ease;
}

.l-header__sp-menu-link img {
  margin-right: 6px;
  width: 25px;
}

.l-header__sp-menu-link.--solution::before {
  background: none;
  border-top: 2px solid #bc3f3e;
  border-right: 2px solid #bc3f3e;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
  margin-right: 8px;
  width: 12px;
  height: 12px;
}

.l-header__sp-menu-link.--solution::after {
  content: none;
}

.l-header__sp-menu-link.--indent {
  padding-left: 1em;
}

.l-header__sp-menu-link.is-active::after {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}

.l-header__sp-sub-menu {
  display: none;
}

.l-header__sp-sub-menu-link {
  display: block;
  font-size: 16px;
  font-weight: bold;
  border-bottom: 1px solid #bc3f3e;
  padding: 20px 0 20px 1em;
  position: relative;
}

.l-header__sp-sub-menu-link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  background: none;
  border-top: 2px solid #bc3f3e;
  border-right: 2px solid #bc3f3e;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
  margin-right: 8px;
  width: 12px;
  height: 12px;
}

.l-header__sp-sub-menu-link.--business {
  font-size: 15px;
  padding: 15px 0 15px 2em;
}

.l-header__sp-child-menu-link {
  display: block;
  font-size: 15px;
  font-weight: bold;
  border-bottom: 1px solid #bc3f3e;
  padding: 15px 0 15px 2em;
  position: relative;
}

.l-header__sp-child-menu-link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  background: none;
  border-top: 2px solid #bc3f3e;
  border-right: 2px solid #bc3f3e;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
  margin-right: 8px;
  width: 12px;
  height: 12px;
}

.l-header__sp-child-menu-link.--indent {
  padding-left: 3em;
}

.l-header__sp-menu-contact {
  text-align: center;
  margin-top: 32px;
}

@media screen and (max-width: 1023px) {
  .l-header__header-bottom-content {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .l-header__header-bottom-content {
    margin: 0 auto;
    width: 80%;
  }
}

.l-header__header-bottom-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.l-header__header-bottom-menu-list:not(:nth-child(2)) .l-header__header-bottom-menu-link {
  padding: 10px 0;
}

.l-header__header-bottom-menu-link {
  display: inline-block;
  font-size: 1.125rem;
  font-weight: bold;
  vertical-align: middle;
  padding: 10px 0 7px;
  border-bottom: 4px solid transparent;
}

@media screen and (min-width: 768px) {
  .l-header__header-bottom-menu-link.is-active, .l-header__header-bottom-menu-link.current {
    color: #bc3f3e;
    border-bottom: 4px solid #bc3f3e;
    opacity: 1.0;
  }
}

.l-header__header-bottom-menu-link img {
  margin-right: 4px;
  width: 1.5rem;
}

.l-header__header-top-drawer, .l-header__header-bottom-drawer {
  display: none;
  position: fixed;
  right: 50%;
  width: 100vw;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}

.l-header__header-top-drawer {
  top: 82px;
}

.l-header__header-top-drawer.is-active, .l-header__header-bottom-drawer.is-active {
  display: block;
}

.l-header__header-top-drawer.is-scroll, .l-header__header-bottom-drawer.is-scroll {
  overflow-y: scroll;
  overscroll-behavior: contain;
}

.l-header__drawer-content {
  background-color: rgba(255, 255, 255, 0.8);
  display: none;
}

.l-header__drawer-content.is-active {
  display: block;
  padding: 3.25rem 0;
}

.l-header__drawer-content.--none {
  background-color: transparent;
}

.l-header__drawer-content .l-container,
.l-header__drawer-content .l-wide-container {
  position: relative;
}

.l-header__drawer-close {
  cursor: pointer;
  position: absolute;
  top: -52px;
  right: 0;
  background-color: #7e7e7e;
  width: 50px;
  height: 50px;
}

.l-header__drawer-close:hover {
  opacity: 0.6;
}

.l-header__drawer-close-border {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
  display: inline-block;
  background-color: #ffffff;
  width: 18px;
  height: 2px;
}

.l-header__drawer-close-border:last-child {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}

.l-header__drawer-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.l-header__drawer-left {
  width: 35%;
}

.l-header__drawer-title {
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 1.5rem;
}

.l-header__drawer-title::before {
  content: attr(data-title);
  display: block;
  font-size: 42.8%;
  letter-spacing: .1em;
  margin-bottom: 1rem;
}

.l-header__drawer-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #9e9e9e;
  padding: .5em 1em;
  background-color: #ffffff;
}

.l-header__drawer-button::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #bc3f3e;
  margin-left: 20px;
}

.l-header__drawer-right {
  width: 62.6%;
  max-width: 626px;
}

.l-header__drawer-half {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.l-header__drawer-half .l-header__drawer-menu-list:first-child {
  border-top: none;
}

.l-header__drawer-half-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 47%;
}

.l-header__drawer-half-title {
  color: #ffffff;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  background-color: #bc3f3e;
  margin-bottom: 10px;
  padding: 12px 0 12px 22px;
}

.l-header__drawer-menu-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  padding: 14px 0;
  border-bottom: 1px solid #9e9e9e;
}

.l-header__drawer-menu-list.--wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.l-header__drawer-menu-list:first-child {
  border-top: 1px solid #9e9e9e;
}

.l-header__drawer-menu-list::before {
  content: "";
  display: inline-block;
  background: url("../images/common/arrow_circle.png") no-repeat center/contain;
  width: 16px;
  min-width: 16px;
  height: 16px;
  margin-right: 6px;
  margin-top: 2px;
}

.l-header__drawer-menu-list span {
  display: block;
}

.l-header__drawer-menu-list span:first-child {
  margin-right: 1em;
  white-space: nowrap;
}

.l-header__drawer-menu-link {
  font-size: 16px;
  line-height: 1.375;
}

.l-header__drawer-menu-link.--flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.l-header__drawer-menu-link-s {
  font-size: 14px;
  display: inline-block !important;
}

.l-header__drawer-sub-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  margin-top: 1rem;
}

.l-header__drawer-sub-menu.--block {
  display: block;
}

.l-header__drawer-sub-menu.--block .l-header__drawer-sub-menu-list {
  margin-bottom: 1em;
}

.l-header__drawer-sub-menu-link {
  font-size: 14px;
}

.l-header__drawer-sub-menu-link::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #bc3f3e;
  margin-left: 20px;
  margin-right: 4px;
}

.l-header__drawer-business-button-wrap {
  margin-top: auto;
}

.l-header__drawer-business-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ffffff;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  background-color: #bc3f3e;
  margin-top: 42px;
  padding: 12px 0 12px 22px;
}

.l-header__drawer-business-button::before {
  content: "";
  display: inline-block;
  background: url("../images/common/arrow_circle_white.png") no-repeat center/contain;
  width: 20px;
  min-width: 20px;
  height: 20px;
  margin-right: 8px;
}

.l-header__search {
  display: none;
  width: 100%;
  position: absolute;
  top: 80px;
  right: 50%;
}

@media screen and (max-width: 767px) {
  .l-header__search {
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}

@media screen and (min-width: 768px) {
  .l-header__search {
    width: auto;
    top: 220px;
    right: 20px;
  }
}

@media screen and (min-width: 1280px) {
  .l-header__search {
    top: 220px;
    right: -50px;
  }
}

.l-header__search.is-active {
  display: block;
}

.l-header__search-inputs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 93%;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .l-header__search-inputs {
    max-width: none;
  }
}

.l-header__search-text-box {
  background-color: #ffffff;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
  width: 100%;
  padding: 16px 14px;
}

.l-header__search-text-box::-webkit-input-placeholder {
  color: #a7a7a7;
  font-weight: bold;
}

.l-header__search-text-box:-ms-input-placeholder {
  color: #a7a7a7;
  font-weight: bold;
}

.l-header__search-text-box::-ms-input-placeholder {
  color: #a7a7a7;
  font-weight: bold;
}

.l-header__search-text-box::placeholder {
  color: #a7a7a7;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .l-header__search-text-box {
    width: 270px;
  }
}

.l-header__search-submit {
  color: #ffffff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  background-color: #bc3f3e;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
  width: 100px;
  padding: 16px 20px 16px 14px;
}

/* ============================================
// footer
// ==========================================*/
.l-footer__footer-menus-inner {
  background-color: #bc3f3e;
  padding: 5rem 0 6rem;
}

@media screen and (min-width: 768px) {
  .l-footer__footer-menus-inner {
    padding: 5rem 0 6rem;
  }
}

.l-footer__logo {
  width: 15rem;
  margin-bottom: 3.125rem;
}

@media screen and (min-width: 768px) {
  .l-footer__logo {
    width: 20.625rem;
    margin-bottom: 3.125rem;
  }
}

.l-footer__footer-menu-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.l-footer__footer-menu-left {
  width: 50%;
}

@media screen and (max-width: 767px) {
  .l-footer__footer-menu-left {
    padding-right: 5px;
  }
}

@media screen and (min-width: 1024px) {
  .l-footer__footer-menu-left {
    margin-right: calc((100% - 786px) / 2);
    width: calc(1000px / 3);
    max-width: 262px;
  }
}

.l-footer__footer-menu-right {
  width: 50%;
}

@media screen and (max-width: 1023px) {
  .l-footer__footer-menu-right {
    padding-left: 10px;
  }
}

@media screen and (min-width: 1024px) {
  .l-footer__footer-menu-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 67%;
  }
}

@media screen and (max-width: 639px) {
  .l-footer__footer-menu-right .l-footer__footer-menu-separate-left .l-footer__footer-menu:first-child {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 1024px) {
  .l-footer__footer-menu-right-section01, .l-footer__footer-menu-right-section02 {
    width: 50%;
    max-width: 262px;
  }
}

.l-footer__footer-menu-title {
  display: block;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.4;
  white-space: nowrap;
  margin-bottom: .8em;
  padding-bottom: .8em;
  position: relative;
  border-bottom: 2px solid #ffffff;
}

@media screen and (min-width: 768px) {
  .l-footer__footer-menu-title {
    font-size: 1.125rem;
  }
}

.l-footer__footer-menu-title.--solution {
  padding-left: 1.8em;
  position: relative;
}

@media screen and (min-width: 768px) {
  .l-footer__footer-menu-title.--solution {
    border-bottom: 2px solid #ffffff;
  }
}

.l-footer__footer-menu-title.--solution::before {
  content: "";
  position: absolute;
  left: 0;
  display: inline-block;
  background: url(../../images/common/logo_symbol_white.png) center/contain no-repeat;
  width: 1.5em;
  height: 1.5em;
  margin-right: 0.375rem;
}

.l-footer__footer-menu {
  margin-bottom: 2.5rem;
}

@media screen and (min-width: 768px) {
  .l-footer__footer-menu {
    margin-bottom: 3.75rem;
  }
}

.l-footer__footer-menu-list {
  margin-bottom: .5em;
}

@media screen and (min-width: 768px) {
  .l-footer__footer-menu-list {
    margin-bottom: 0.75rem;
  }
}

.l-footer__footer-menu-link {
  color: #ffffff;
  font-size: 0.75rem;
}

@media screen and (min-width: 768px) {
  .l-footer__footer-menu-link {
    font-size: 0.75rem;
    line-height: 1.4;
  }
  .l-footer__footer-menu-link-s {
    font-size: 0.6875rem;
    letter-spacing: -0.05em;
  }
}

@media screen and (min-width: 1024px) {
  .l-footer__footer-menu-link {
    white-space: nowrap;
  }
}

@media screen and (min-width: 768px) {
  .l-footer__footer-menu-link:hover {
    opacity: .8;
  }
}

@media screen and (min-width: 1024px) {
  .l-footer__footer-menu-separate {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .l-footer__footer-menu-separate-left {
    margin-right: 6%;
    width: 61%;
    max-width: 160px;
  }
}

@media screen and (min-width: 768px) {
  .l-footer__footer-menu-separate-right {
    width: 33%;
    max-width: 86px;
  }
}

@media screen and (max-width: 639px) {
  .l-footer__footer-menu-btns {
    margin-bottom: 2rem;
  }
}

.l-footer__footer-menu-sub-title {
  display: inline-block;
  background-color: #ffffff;
  color: #bc3f3e;
  font-size: 0.75rem;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 1em;
  padding: 0.1875rem 0.5rem;
}

@media screen and (min-width: 768px) {
  .l-footer__footer-menu-sub-title {
    padding: 0.375rem 1.1875rem;
  }
}

.l-footer__btn-wrap .c-button-inversion {
  font-size: 0.75rem;
  text-align: center;
  padding: 0.5rem 0.5rem;
  width: 95%;
  margin-bottom: 1em;
  font-weight: 700;
  letter-spacing: -0.01em;
}

@media screen and (min-width: 768px) {
  .l-footer__btn-wrap .c-button-inversion {
    margin-bottom: 0.75rem;
    padding: 0.375rem 0.375rem;
    width: 8.9375rem;
  }
}

.l-footer__btn-wrap .c-button-inversion:hover {
  color: #bc3f3e;
  background-color: #ffffff;
  opacity: 0.6;
}

@media screen and (min-width: 768px) {
  .l-footer__btn-wrap .c-button-inversion > br {
    display: none;
  }
}

.l-footer__contact-btn-wrap {
  border: 2px solid #ffffff;
}

@media screen and (min-width: 768px) {
  .l-footer__contact-btn-wrap {
    width: 100%;
  }
}

.l-footer__contact-btn {
  display: block;
  color: #ffffff;
  font-weight: bold;
  text-align: center;
  padding: 0.5rem;
}

@media screen and (min-width: 768px) {
  .l-footer__contact-btn:hover {
    opacity: .6;
  }
}

.l-footer__group-logo {
  margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
  .l-footer__group-logo {
    margin-top: 3.75rem;
    margin-left: auto;
    width: 78%;
  }
}

.l-footer__group-logo a {
  display: block;
}

@media screen and (min-width: 768px) {
  .l-footer__group-logo a:hover {
    opacity: .6;
  }
}

.l-footer__copyright-inner {
  padding: 2.5rem 0 1.25rem;
}

@media screen and (min-width: 768px) {
  .l-footer__copyright-inner {
    padding: 2.5rem 0 3.75rem;
  }
}

.l-footer__copyright-menu {
  margin-bottom: 1em;
}

.l-footer__copyright-menu-list {
  display: inline-block;
  margin-right: 1em;
}

@media screen and (max-width: 767px) {
  .l-footer__copyright-menu-list {
    margin-bottom: .5em;
  }
}

.l-footer__copyright-menu-link {
  font-size: 0.75rem;
}

@media screen and (min-width: 768px) {
  .l-footer__copyright-menu-link {
    font-size: 0.9375rem;
  }
}

@media screen and (min-width: 768px) {
  .l-footer__copyright-menu-link:hover {
    opacity: .6;
  }
}

.l-footer__copyright-text {
  color: #808080;
  font-size: 0.625rem;
}

/* ============================================
// index base
// ==========================================*/
.l-main {
  padding-top: 63.1094px;
}

@media screen and (min-width: 1024px) {
  .l-main {
    padding-top: 150.188px;
  }
}

.l-main__future-title, .l-main__business-title, .l-main__story-title, .l-main__associate-title {
  font-size: 2rem;
  letter-spacing: .06em;
  line-height: 1.4;
  font-weight: bold;
  margin-bottom: 3rem;
}

@media screen and (min-width: 768px) {
  .l-main__future-title, .l-main__business-title, .l-main__story-title, .l-main__associate-title {
    font-size: 3.75rem;
    line-height: 1.6;
    margin-bottom: 2.625rem;
  }
}

.l-main__future-title img, .l-main__business-title img, .l-main__story-title img, .l-main__associate-title img {
  display: block;
  height: 20px;
  margin-bottom: 16px;
}

@media screen and (min-width: 768px) {
  .l-main__future-title img, .l-main__business-title img, .l-main__story-title img, .l-main__associate-title img {
    height: 25px;
  }
}

.l-main__future-title img.pc-only, .l-main__business-title img.pc-only, .l-main__story-title img.pc-only, .l-main__associate-title img.pc-only {
  display: none;
}

@media screen and (min-width: 768px) {
  .l-main__future-title img.pc-only, .l-main__business-title img.pc-only, .l-main__story-title img.pc-only, .l-main__associate-title img.pc-only {
    display: block;
  }
}

.l-main__future-title img.sp-only, .l-main__business-title img.sp-only, .l-main__story-title img.sp-only, .l-main__associate-title img.sp-only {
  display: block;
}

@media screen and (min-width: 768px) {
  .l-main__future-title img.sp-only, .l-main__business-title img.sp-only, .l-main__story-title img.sp-only, .l-main__associate-title img.sp-only {
    display: none;
  }
}

/* ============================================
// main visual
// ==========================================*/
.l-main__main-visual {
  position: relative;
  max-width: 1920px;
  margin: 0 auto;
}

.l-main__main-slide {
  height: 35.25rem;
}

@media screen and (min-width: 768px) {
  .l-main__main-slide {
    height: 32.8125rem;
    overflow: hidden;
  }
}

.l-main__main-slide-inner {
  width: 100%;
  height: 100%;
  position: relative;
}

@media screen and (min-width: 768px) {
  .l-main__main-slide-inner.-first .l-main__main-slide-img {
    width: 100%;
    max-width: 920px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    margin: 0 auto;
    padding: 0 20px;
  }
}

.l-main__main-slide-inner.-first .l-main__main-slide-img img {
  width: 62%;
  margin: 0 auto;
  position: absolute;
  top: 80px;
  left: 0;
  right: 0;
}

@media screen and (min-width: 768px) {
  .l-main__main-slide-inner.-first .l-main__main-slide-img img {
    width: 360px;
    top: 118px;
    left: 20px;
    right: auto;
  }
}

@media screen and (min-width: 768px) {
  .l-main__main-slide-inner.-second .l-main__main-slide-img {
    width: 100%;
    max-width: 1200px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    margin: 0 auto;
    padding: 0 20px;
  }
}

.l-main__main-slide-inner.-second .l-main__main-slide-img img {
  position: absolute;
  top: 213px;
}

@media screen and (min-width: 768px) {
  .l-main__main-slide-inner.-second .l-main__main-slide-img img {
    width: 1490px;
    max-width: none;
    top: 260px;
    right: -130px;
  }
}

@media screen and (min-width: 768px) {
  .l-main__main-slide-inner.-third .l-main__main-slide-img {
    width: 100%;
    max-width: 1200px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    margin: 0 auto;
    padding: 0 20px;
  }
}

.l-main__main-slide-inner.-third .l-main__main-slide-img img {
  position: absolute;
  top: 300px;
}

@media screen and (min-width: 768px) {
  .l-main__main-slide-inner.-third .l-main__main-slide-img img {
    width: 1680px;
    max-width: none;
    top: 298px;
    left: -339px;
  }
}

@media screen and (min-width: 768px) {
  .l-main__main-slide-inner.-fourth .l-main__main-slide-img {
    width: 100%;
    max-width: 1200px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    margin: 0 auto;
    padding: 0 20px;
  }
}

.l-main__main-slide-inner.-fourth .l-main__main-slide-img img {
  position: absolute;
  top: 265px;
}

@media screen and (min-width: 768px) {
  .l-main__main-slide-inner.-fourth .l-main__main-slide-img img {
    width: 1680px;
    max-width: none;
    top: 247px;
    right: -340px;
  }
}

@media screen and (min-width: 768px) {
  .l-main__main-slide-inner.-fifth .l-main__main-slide-img {
    width: 100%;
    max-width: 1200px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    margin: 0 auto;
    padding: 0 20px;
  }
}

.l-main__main-slide-inner.-fifth .l-main__main-slide-img img {
  position: absolute;
  top: 245px;
}

@media screen and (min-width: 768px) {
  .l-main__main-slide-inner.-fifth .l-main__main-slide-img img {
    width: 1680px;
    max-width: none;
    top: 302px;
    left: -340px;
  }
}

@media screen and (min-width: 768px) {
  .l-main .l-main__main-slide-bg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    z-index: 1;
  }
}

@media screen and (min-width: 768px) {
  .l-main .l-main__main-slide-bg > img {
    width: 1920px;
    max-width: none;
  }
}

.l-main__main-slide-img {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
}

.l-main__main-slide-img img {
  z-index: 2;
}

.l-main__news-content {
  position: absolute;
  background-color: rgba(255, 255, 255, 0.8);
  bottom: -50px;
  width: 100%;
  z-index: 10;
}

@media screen and (min-width: 1024px) {
  .l-main__news-content {
    border-bottom: 20px solid #bc3f3e;
    bottom: -2px;
  }
}

@media screen and (min-width: 768px) {
  .l-main__news-content-inner {
    position: relative;
  }
}

.l-main__news-main {
  padding: 0.6875rem 0;
}

@media screen and (min-width: 1024px) {
  .l-main__news-main {
    padding: 1.28125rem 6.875rem 1.28125rem 0;
    height: 3.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.l-main__news-time {
  display: inline-block;
  font-weight: bold;
  margin-right: .5em;
}

@media screen and (min-width: 1024px) {
  .l-main__news-time {
    margin-right: 2em;
  }
}

.l-main__news-title {
  font-weight: bold;
}

@media screen and (max-width: 1023px) {
  .l-main__news-title {
    line-height: 1.5;
    margin-top: 0.75rem;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__news-title {
    line-height: 1;
    display: inline-block;
    width: 65%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}

@media screen and (min-width: 1024px), (max-width: 1280px) {
  .l-main__news-btn-wrap {
    position: absolute;
    top: 0;
    left: 100%;
    -webkit-transform: translateX(-18vw);
            transform: translateX(-18vw);
    width: 100%;
  }
}

@media screen and (max-width: 1023px) {
  .l-main__news-btn-wrap {
    position: static;
    display: block;
    background-color: #bc3f3e;
    margin: 0 -50%;
    padding: 0 50%;
    -webkit-transform: none;
            transform: none;
    text-align: right;
    width: auto;
  }
}

@media screen and (min-width: 1280px) {
  .l-main__news-btn-wrap {
    position: absolute;
    top: 0;
    left: 100%;
    -webkit-transform: translateX(-95px);
            transform: translateX(-95px);
    width: 100%;
  }
}

.l-main__news-btn {
  display: inline-block;
  color: #ffffff;
  font-size: 1rem;
  padding: 1rem 1.5rem;
}

@media screen and (max-width: 1023px) {
  .l-main__news-btn {
    background-color: #D07978;
    margin-right: -50%;
    padding-right: 50%;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__news-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: rgba(188, 63, 62, 0.8);
    height: 3.5rem;
    padding-right: 484px;
  }
}

.l-main__news-btn:hover {
  background-color: rgba(60, 60, 60, 0.8);
  opacity: 1;
}

.swiper-slide-active .l-main__main-slide-bg,
.swiper-slide-duplicate-active .l-main__main-slide-bg,
.swiper-slide-prev .l-main__main-slide-bg {
  display: block;
  -webkit-animation: zoom_up 3.5s linear both;
          animation: zoom_up 3.5s linear both;
}

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

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

/* ============================================
// main future
// ==========================================*/
.l-main__future {
  margin: 7.5rem 0;
}

@media screen and (min-width: 768px) {
  .l-main__future {
    margin: 5rem 0;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__future {
    margin: 5rem 0 7.5rem;
  }
}

.l-main__future.-lead .l-container {
  max-width: 1000px;
}

.l-main__future-title-wrap {
  border-left: 6px solid #bc3f3e;
  padding-left: 1.5rem;
}

@media screen and (min-width: 768px) {
  .l-main__future-title-wrap {
    border-width: 10px;
  }
}

.l-main__future-title {
  margin-bottom: 0;
}

@media screen and (max-width: 1023px) {
  .l-main__future-title {
    margin-bottom: 2.5rem;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__future-title {
    font-size: 2.625rem;
    line-height: 1.21429;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__future-title > img {
    width: 250px;
    margin-bottom: 20px;
  }
}

.l-main__future-title > img.sp-only {
  width: auto;
}

.l-main__future-title > img.pc-only {
  width: 213px;
}

@media screen and (min-width: 1024px) {
  .l-main__future-content {
    width: 849px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    position: relative;
  }
}

@media screen and (max-width: 1023px) {
  .l-main__future-images {
    margin: 0 -20px 2.5rem -20px;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__future-images {
    width: 435px;
    margin-left: 2%;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__future-text-content {
    position: absolute;
    left: 0;
    top: 200px;
  }
}

.l-main__future-text {
  margin-bottom: 1em;
}

@media screen and (min-width: 768px) {
  .l-main__future-text {
    font-size: 1.0625rem;
    line-height: 1.70588;
  }
}

@media screen and (max-width: 1023px) {
  .l-main__future-btn-wrap {
    text-align: center;
  }
}

.l-main__future-btn-wrap a {
  font-weight: normal;
}

/* ============================================
// main solution
// ==========================================*/
.l-main__solution {
  margin-bottom: 5rem;
}

@media screen and (min-width: 768px) {
  .l-main__solution {
    margin-bottom: 6.25rem;
  }
}

.l-main__solution-content {
  margin-bottom: 1.875rem;
}

@media screen and (min-width: 1024px) {
  .l-main__solution-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 2.5rem;
    max-width: 1000px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
}

.l-main__solution-title-block {
  background: url(../images/index/top_solution_path.png) center/cover no-repeat;
  background-position: top right;
  position: relative;
  margin-right: 5%;
}

@media screen and (min-width: 1024px) {
  .l-main__solution-title-block {
    margin-top: -2.625rem;
    margin-right: 0;
    width: 54%;
    height: 8.125rem;
    background: none;
    position: relative;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__solution-title-block::before {
    content: "";
    display: block;
    background: url(../images/index/top_solution_path.png) center/cover no-repeat;
    width: 77vw;
    height: 100%;
    position: absolute;
    top: 0;
    right: -50px;
    z-index: 1;
  }
}

.l-main__solution-title-inner {
  height: 100%;
  padding: 1rem 0 1.25rem 1.25rem;
}

@media screen and (min-width: 1024px) {
  .l-main__solution-title-inner {
    width: 85%;
    padding: 0.9375rem 0 0.625rem 10%;
    position: relative;
    z-index: 2;
  }
}

.l-main__solution-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ffffff;
  font-size: 1.5rem;
  white-space: nowrap;
  margin-bottom: 1em;
}

.l-main__solution-title::before {
  content: "";
  display: inline-block;
  background: url(../images/common/logo_symbol_white.png) center/contain no-repeat;
  width: 50px;
  height: 45px;
  margin-right: 10px;
}

@media screen and (min-width: 1024px) {
  .l-main__solution-title::before {
    aspect-ratio: 75 /67;
    width: 55px;
    height: auto;
    margin-right: 5px;
  }
}

@media screen and (min-width: 768px) {
  .l-main__solution-title {
    font-size: 2rem;
    margin-bottom: 12px;
    letter-spacing: -.03em;
  }
}

.l-main__solution-text-block {
  position: relative;
  z-index: -1;
}

@media screen and (max-width: 1023px) {
  .l-main__solution-text-block {
    margin-top: -3.75rem;
    -webkit-transform: translateX(20px);
            transform: translateX(20px);
  }
}

@media screen and (min-width: 1024px) {
  .l-main__solution-text-block {
    width: 65%;
  }
}

.l-main__solution-text-inner {
  width: calc(100% - 20px);
  position: relative;
  border-left: 8px solid #bc3f3e;
  padding: 5rem 0.9375rem 1.75rem 1.25rem;
}

.l-main__solution-text-inner::before, .l-main__solution-text-inner::after {
  content: "";
  position: absolute;
  top: 0;
  left: -1px;
  background-color: #bc3f3e;
  width: 100vw;
  height: 8px;
}

.l-main__solution-text-inner::after {
  top: auto;
  bottom: 0;
}

@media screen and (min-width: 1024px) {
  .l-main__solution-text-inner {
    width: auto;
    padding: 1.5625rem 0 1.9375rem 13.125rem;
    margin-left: -36%;
  }
}

.l-main__solution-text {
  line-height: 1.5;
  margin-bottom: 10px;
  font-size: 0.84375rem;
  font-weight: 600;
  letter-spacing: -.09em;
}

@media screen and (min-width: 768px) {
  .l-main__solution-text {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 10px;
    letter-spacing: -.07em;
  }
}

.l-main__solution-big-text {
  font-size: 1.1875rem;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .l-main__solution-big-text {
    font-size: 1.75rem;
    line-height: 1;
  }
}

.l-main__solution-cases {
  text-align: center;
}

@media screen and (max-width: 1023px) {
  .l-main__solution-cases {
    margin: 0 -20px;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__solution-cases img {
    max-width: 750px;
  }
}

/* ============================================
// main business
// ==========================================*/
.l-main__business {
  margin-bottom: 5rem;
}

@media screen and (min-width: 768px) {
  .l-main__business {
    margin-bottom: 6.25rem;
  }
}

@media screen and (min-width: 768px) {
  .l-main__business .l-container {
    max-width: 1000px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
  }
}

.l-main__business-inner {
  background-color: rgba(191, 191, 191, 0.4);
}

@media screen and (max-width: 1023px) {
  .l-main__business-inner {
    padding-bottom: 5rem;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__business-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.l-main__business-title-wrap {
  background-color: #bc3f3e;
  width: 30%;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .l-main__business-title-wrap {
    width: calc(100% + 40px);
    margin: 0 -20px 3.125rem -20px;
    padding: 3.75rem 20px;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__business-title-wrap::before {
    content: "";
    display: block;
    width: 100vw;
    height: 100%;
    background-color: #bc3f3e;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

.l-main__business-title {
  color: #ffffff;
  white-space: nowrap;
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .l-main__business-title {
    font-size: 2.375rem;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__business-title {
    padding: 3.25rem 1.25rem 0 0;
  }
}

.l-main__business-title::before {
  color: #ffffff;
}

.l-main__business-title > img.sp-only {
  width: auto;
}

.l-main__business-title > img.pc-only {
  width: 124px;
}

.l-main__business-items {
  width: 100%;
}

@media screen and (min-width: 1024px) {
  .l-main__business-items {
    width: 70%;
    padding: 1.25rem 3.125rem 1.25rem 13%;
  }
}

@media screen and (min-width: 768px) {
  .l-main__business-menus {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (max-width: 767px) {
  .l-main__business-menu {
    margin-bottom: 3.125rem;
  }
}

@media screen and (min-width: 768px) {
  .l-main__business-menu {
    width: 47%;
  }
}

.l-main__business-list {
  margin-bottom: .8em;
}

@media screen and (min-width: 1024px) {
  .l-main__business-list {
    margin-bottom: 7px;
  }
}

.l-main__business-list:first-child {
  background-color: #3c3c3c;
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: bold;
  letter-spacing: .06em;
  padding: 0.625rem 0.875rem 0.625rem 1.5rem;
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .l-main__business-list:first-child {
    font-size: 1.0625rem;
    padding: 0.875rem 0.875rem 0.875rem 1.5rem;
  }
}

.l-main__business-link {
  display: block;
  background-color: #ffffff;
  color: #bc3f3e;
  font-size: 1rem;
  font-weight: 600;
  padding: 0.75rem 0.875rem 0.75rem 1.5rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .l-main__business-link {
    font-size: 1rem;
    padding: 0.625rem 0.875rem 0.625rem 1.5rem;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__business-link {
    padding: 0.5rem 0.875rem 0.5rem 1.25rem;
    line-height: 1.4;
    letter-spacing: -.03em;
  }
}

.l-main__business-link span {
  font-size: 65%;
}

@media screen and (min-width: 1024px) {
  .l-main__business-link span {
    font-size: 12px;
  }
}

@media screen and (min-width: 768px) {
  .l-main__business-link:hover {
    opacity: 1;
    background-color: #bc3f3e;
    color: #ffffff;
  }
}

.l-main__business-link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.875rem;
  background: url(../images/common/arrow_red.png) center/contain no-repeat;
  width: 1em;
  height: 1em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 1024px) {
  .l-main__business-link::after {
    width: 9px;
    height: 13px;
  }
}

.l-main__business-link:hover::after {
  background-image: url(../images/common/arrow_white.png);
}

.l-main__business-bottom-menu {
  margin-top: 3.125rem;
}

@media screen and (min-width: 1024px) {
  .l-main__business-bottom-menu {
    margin-top: 0.625rem;
  }
}

.l-main__business-bottom-list {
  background-color: #3c3c3c;
  margin-bottom: 0.625rem;
}

.l-main__business-bottom-list:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .l-main__business-bottom-list {
    margin-bottom: 15px;
  }
}

.l-main__business-bottom-link {
  display: block;
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: .06em;
  padding: 0.875rem 0.875rem 0.875rem 1.5rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .l-main__business-bottom-link {
    font-size: 1rem;
  }
}

.l-main__business-bottom-link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.875rem;
  background: url(../images/common/arrow_white.png) center/contain no-repeat;
  width: 1em;
  height: 1em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .l-main__business-bottom-link:hover {
    background-color: #bc3f3e;
    opacity: 1;
  }
}

/* ============================================
// main story
// ==========================================*/
.l-main__story {
  margin-bottom: 5rem;
}

@media screen and (min-width: 768px) {
  .l-main__story {
    margin-bottom: 8.75rem;
  }
}

.l-main__story .l-container {
  max-width: 907px;
}

.l-main__story-title-wrap {
  position: relative;
}

@media screen and (max-width: 1023px) {
  .l-main__story-title-wrap {
    border-left: 6px solid #bc3f3e;
    padding-left: 1.5rem;
  }
}

@media screen and (min-width: 768px) {
  .l-main__story-title-wrap {
    border-width: 10px;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__story-title-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.l-main__story-title {
  position: relative;
}

@media screen and (min-width: 768px) {
  .l-main__story-title {
    font-size: 2.625rem;
  }
}

.l-main__story-title::after {
  content: "";
  position: absolute;
  top: 0;
  left: -2rem;
  background-color: #bc3f3e;
  width: 6px;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .l-main__story-title::after {
    width: 10px;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__story-title br {
    display: none;
  }
}

.l-main__story-title > img.pc-only,
.l-main__story-title > img.sp-only {
  width: auto;
}

.l-main__story-text {
  margin-bottom: 2rem;
}

@media screen and (min-width: 768px) {
  .l-main__story-text {
    margin-bottom: 2rem;
    font-size: 1.0625rem;
    line-height: 1.70588;
    text-align: center;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__story-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.l-main__story-block-wrap {
  display: block;
}

.l-main__story-block-wrap:hover {
  opacity: 1;
}

.l-main__story-block-wrap:hover .c-button-default, .l-main__story-block-wrap:hover .c-button-inversion {
  background-color: #3c3c3c;
}

.l-main__story-block-left {
  background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
  background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
  overflow: hidden;
}

@media screen and (max-width: 1023px) {
  .l-main__story-block-left {
    margin: 0 -20px;
    padding: 20px 40px 40px;
    height: 8.75rem;
    overflow: hidden;
  }
}

@media screen and (max-width: 767px) {
  .l-main__story-block-left {
    padding: 20px 30px 40px 45px;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__story-block-left {
    width: 50%;
    padding: 1.875rem 1.5rem 1.625rem 3.625rem;
    min-height: 170px;
  }
}

.l-main__story-block-title {
  margin-bottom: 1em;
  position: relative;
}

.l-main__story-block-title::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -25px;
  background-color: #ffffff;
  width: 6px;
  height: 100px;
}

.l-main__story-block-title img {
  width: 100%;
  max-width: 178px;
}

@media screen and (min-width: 768px) {
  .l-main__story-block-title img {
    max-width: 203px;
  }
}

.l-main__story-block-text {
  margin-left: -24px;
  margin-right: -24px;
  color: #ffffff;
  font-size: 0.625rem;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {
  .l-main__story-block-text {
    width: calc(100% + 24px);
    font-size: 0.75rem;
  }
}

.l-main__story-block-text span {
  display: inline-block;
  margin-top: 5px;
  font-size: 0.9375rem;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .l-main__story-block-text span {
    font-size: 1.125rem;
  }
}

.l-main__story-block-text span > span {
  font-size: 0.8125rem;
}

@media screen and (min-width: 768px) {
  .l-main__story-block-text span > span {
    font-size: 0.875rem;
  }
}

.l-main__story-block-right {
  background: url(../images/index/top_project01_sp.jpg) center/cover no-repeat;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .l-main__story-block-right {
    margin: 0 -20px;
    padding: 0 20px;
    height: 8.75rem;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__story-block-right {
    width: 50%;
    background-image: url(../images/index/top_project01.jpg);
  }
}

.l-main__story-block-btn-wrap {
  position: absolute;
  bottom: 0;
  right: 0;
}

.l-main__story-block01 {
  margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .l-main__story-block01 {
    margin-bottom: 15px;
  }
}

@media screen and (min-width: 768px) {
  .l-main__story-block02 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-flow: row-reverse;
            flex-flow: row-reverse;
  }
}

.l-main__story-block02 .l-main__story-block-right {
  background-image: url(../images/index/top_project02_sp.jpg);
}

@media screen and (min-width: 1024px) {
  .l-main__story-block02 .l-main__story-block-right {
    background-image: url(../images/index/top_project02.jpg);
  }
}

@media screen and (min-width: 1024px) {
  .l-main__story-block02 .l-main__story-block-btn-wrap {
    right: auto;
    left: 0;
  }
}

/* ============================================
// main associate
// ==========================================*/
.l-main__associate .l-container {
  max-width: 740px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

.l-main__associate-inner {
  background: url(../images/index/top_associate01_sp.jpg) center/cover no-repeat;
  padding: 2.625rem 0;
}

@media screen and (min-width: 768px) {
  .l-main__associate-inner {
    background-image: url(../images/index/top_associate01.jpg);
  }
}

@media screen and (max-width: 767px) {
  .l-main__associate-title-wrap {
    border-left: 6px solid #ffffff;
    padding-left: 1.5rem;
  }
}

@media screen and (min-width: 768px) {
  .l-main__associate-title-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.l-main__associate-title-wrap > img {
  width: 230px;
}

.l-main__associate-title {
  color: #ffffff;
  position: relative;
}

@media screen and (min-width: 768px) {
  .l-main__associate-title {
    font-size: 36px;
  }
}

.l-main__associate-title::before {
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .l-main__associate-title::after {
    content: "";
    position: absolute;
    top: 0;
    left: -2rem;
    background-color: #ffffff;
    width: 10px;
    height: 100%;
  }
}

.l-main__associate-title > img {
  max-width: 250px;
  height: auto;
}

@media screen and (min-width: 768px) {
  .l-main__associate-title > img {
    max-width: 320px;
  }
}

@media screen and (min-width: 768px) {
  .l-main__associate-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-left: -40px;
  }
}

.l-main__associate-block-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #ffffff;
  text-align: center;
  padding: 1.25rem 0 0.75rem;
}

@media screen and (min-width: 768px) {
  .l-main__associate-block-content {
    width: calc(50% - 40px);
    margin-left: 40px;
    padding: 1.25rem 0 0.9375rem;
  }
}

@media screen and (max-width: 767px) {
  .l-main__associate-block-content:first-child {
    margin-bottom: 1.5rem;
  }
}

.l-main__associate-block-content:first-child .l-main__associate-block-title {
  margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .l-main__associate-block-content:first-child .l-main__associate-block-title {
    margin-bottom: 2.125rem;
  }
}

.l-main__associate-block-content:hover {
  background-color: #bc3f3e;
  opacity: 1;
}

.l-main__associate-block-content:hover .l-main__associate-block-title,
.l-main__associate-block-content:hover .l-main__associate-block-sub-title {
  color: #ffffff;
}

.l-main__associate-block-content:hover .c-button-default, .l-main__associate-block-content:hover .c-button-inversion {
  color: #bc3f3e;
  background-color: #ffffff;
}

.l-main__associate-block-title {
  color: #bc3f3e;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 7px;
}

@media screen and (min-width: 768px) {
  .l-main__associate-block-title {
    font-size: 1.125rem;
    line-height: 1.3;
    margin-bottom: 0;
  }
}

.l-main__associate-block-title.-small-text {
  font-size: 14px;
}

@media screen and (min-width: 768px) {
  .l-main__associate-block-title.-small-text {
    font-size: 18px;
  }
}

.l-main__associate-block-sub-title {
  color: #bc3f3e;
  font-size: 0.75rem;
  line-height: 1;
  margin-bottom: 7px;
}

@media screen and (min-width: 1024px) {
  .l-main__associate-block-sub-title {
    margin-bottom: 10px;
    font-size: 0.875rem;
  }
}

/* ============================================
// component button
// ==========================================*/
.c-button-default, .c-button-inversion {
  display: inline-block;
  background-color: #bc3f3e;
  color: #ffffff;
  padding: 0.75rem 2rem;
}

@media screen and (min-width: 768px) {
  .c-button-default:hover, .c-button-inversion:hover {
    background-color: #3c3c3c;
    opacity: 1;
  }
}

.c-button-inversion {
  background-color: #ffffff;
  color: #bc3f3e;
}

@media screen and (min-width: 768px) {
  .c-button-inversion:hover {
    color: #ffffff;
    background-color: #3c3c3c;
    opacity: 1;
  }
}

/* ============================================
// component cp-page-fv
// ==========================================*/
.cp-page-fv {
  height: 123.16187vw;
  background-image: url(/images/test/fv_bg_sp.png);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  .cp-page-fv {
    height: 220px;
    background-image: url(/images/test/fv_bg_pc.png);
  }
}

.cp-page-fv__inner {
  padding: 14vw 6.66667vw 0;
  max-width: 1000px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .cp-page-fv__inner {
    padding: 25px 0 0;
    margin: 0 max(20px, 2%);
  }
}

@media screen and (min-width: 1041px) {
  .cp-page-fv__inner {
    margin: 0 auto;
  }
}

.cp-page-fv__inner--text {
  padding-top: 16vw;
}

@media screen and (min-width: 768px) {
  .cp-page-fv__inner--text {
    padding-top: 70px;
  }
}

.cp-page-fv__sub-title {
  width: 31.46667vw;
  margin-bottom: 8vw;
}

@media screen and (min-width: 768px) {
  .cp-page-fv__sub-title {
    width: min(20%, 200px);
    margin-bottom: 20px;
  }
}

.cp-page-fv__title-block {
  background-color: #ffffff;
  display: inline-block;
  padding: 2.66667vw 6.26667vw;
  font-size: 6.8vw;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-bottom: 5.33333vw;
}

@media screen and (min-width: 768px) {
  .cp-page-fv__title-block {
    padding: 9px 25px;
    font-size: 1.25rem;
    margin-bottom: 15px;
  }
}

.cp-page-fv__title-text {
  font-size: 8.8vw;
  line-height: 1.57576;
  letter-spacing: 0.05em;
  font-weight: bold;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .cp-page-fv__title-text {
    font-size: 2rem;
    line-height: 1;
    letter-spacing: 0.1em;
  }
}

.cp-page-fv__desc {
  font-size: 4.2vw;
  line-height: 2.06349;
  letter-spacing: 0.03em;
  font-weight: bold;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .cp-page-fv__desc {
    font-size: 0.875rem;
    line-height: 1.71429;
    letter-spacing: 0.1em;
  }
}

.cp-page-fv-rinji .cp-page-fv__sub-title {
  width: 41.26667vw;
}

@media screen and (min-width: 768px) {
  .cp-page-fv-rinji .cp-page-fv__sub-title {
    width: 215px;
  }
}

/* ============================================
// component cp-h1
// ==========================================*/
.cp-h1 {
  background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
  background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
}

.cp-h1__inner {
  padding: 1.23438rem 20px;
}

@media screen and (min-width: 768px) {
  .cp-h1__inner {
    padding: 2.3125rem 0;
  }
}

.cp-h1__text {
  font-weight: bold;
  font-size: 1.1875rem;
  letter-spacing: 0.05em;
  color: #ffffff;
}

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

/* ============================================
// component cp-rnav
// ==========================================*/
.cp-rnav {
  background-color: pink;
  display: none;
  position: fixed;
  top: 300px;
  right: 0;
  z-index: 100;
}

.cp-rnav__btn {
  background-color: #3c3c3c;
  width: 50px;
  height: 50px;
  text-align: center;
  color: white;
  padding: 9px 0;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}

@media screen and (max-width: 767px) {
  .cp-rnav__btn {
    display: none;
  }
}

.cp-rnav__btn > span {
  display: block;
  font-size: 9px;
}

.cp-rnav__btn > span > span {
  display: block;
  width: 55%;
  height: 3px;
  margin: 0 auto 4px;
  background-color: #ffffff;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.cp-rnav__btn > span > span:last-child {
  margin-bottom: 7px;
}

.cp-rnav__menu {
  width: min(17.2vw, 220px);
  font-weight: bold;
  display: none;
  opacity: 0;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.cp-rnav__title {
  padding: 10px;
  background-color: #bc3f3e;
  color: #ffffff;
  font-size: 0.875rem;
}

.cp-rnav__list {
  background-color: #ffffff;
}

.cp-rnav__list > li {
  border: 2px solid #e3e3e3;
  border-bottom: none;
  font-size: 0.8125rem;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.cp-rnav__list > li:last-child {
  border-bottom: 2px solid #e3e3e3;
}

.cp-rnav__list > li > a {
  display: block;
  padding: 10px;
}

.cp-rnav__list > li > a:hover, .cp-rnav__list > li > a:active, .cp-rnav__list > li > a:focus {
  background-color: #e3e3e3;
  color: #bc3f3e;
}

.cp-rnav.js-isOpened .cp-rnav__btn > span > span:first-child {
  -webkit-transform: rotate(45deg) translate(5px, 5px);
          transform: rotate(45deg) translate(5px, 5px);
}

.cp-rnav.js-isOpened .cp-rnav__btn > span > span:nth-child(2) {
  opacity: 0;
}

.cp-rnav.js-isOpened .cp-rnav__btn > span > span:last-child {
  -webkit-transform: rotate(-45deg) translate(5px, -5px);
          transform: rotate(-45deg) translate(5px, -5px);
}

.cp-rnav.js-isOpened .cp-rnav__menu {
  display: block;
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

/* ============================================
// component cp-h1-btn-belt
// ==========================================*/
.cp-btn-belt {
  background: #3c3c3c;
}

.cp-btn-belt__inner {
  padding: 1.1875rem 5.3vw 0.9375rem;
}

@media screen and (min-width: 768px) {
  .cp-btn-belt__inner {
    padding: 1.1875rem 0 0.9375rem 0;
  }
}

.cp-btn-belt__inner img {
  margin-bottom: 0.9375rem;
  height: 0.8125rem;
}

.cp-btn-belt__inner-link {
  display: inline-block;
}

.cp-btn-belt__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: left;
}

.cp-btn-belt__box .cp-btn-belt__arrow-link {
  margin-left: 1.375rem;
  width: 1.5625rem;
  height: 1.5625rem;
  background: url(../../../images/common/arrow_btn.png) no-repeat;
  background-size: cover;
}

.cp-btn-belt__box .cp-btn-belt__arrow-link:hover {
  opacity: 1;
  background: url(../../../images/common/arrow_btn_red.png);
  background-size: cover;
}

.cp-btn-belt__text {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
  font-size: 1.375rem;
  letter-spacing: 0.05em;
  color: #ffffff;
}

.cp-h1-b {
  background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
  background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
}

.cp-h1-b__inner {
  padding: 1.23438rem 20px;
}

@media screen and (min-width: 768px) {
  .cp-h1-b__inner {
    padding: 2.3125rem 0;
  }
}

.cp-h1-b__text {
  font-weight: bold;
  font-size: 1.1875rem;
  letter-spacing: 0.05em;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .cp-h1-b__text {
    font-size: 2rem;
  }
}

/* ============================================
// component cp-h2
// ==========================================*/
.cp-h2 {
  padding: 0.75rem 0 0.75rem 1rem;
  font-size: 1.1875rem;
  font-weight: bold;
  line-height: 1.52632;
  letter-spacing: 0.1em;
  border-left: 5px solid #bc3f3e;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .cp-h2 {
    padding: 14px 0 14px 30px;
    font-size: 1.75rem;
    line-height: 1;
    border-left: 10px solid #bc3f3e;
  }
}

/* ============================================
// component cp-h2-s
// ==========================================*/
.cp-h2-s {
  padding: 0.75rem 0 0.75rem 1rem;
  font-size: 1.1875rem;
  font-weight: bold;
  line-height: 1.52632;
  letter-spacing: 0.1em;
  border-left: 5px solid #bc3f3e;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .cp-h2-s {
    padding: 12px 0 12px 30px;
    font-size: 1.625rem;
    line-height: 1;
    border-left: 10px solid #bc3f3e;
  }
}

/* ============================================
// component cp-h3
// ==========================================*/
.cp-h3__text {
  display: inline-block;
  padding: 1.5625rem 3.75rem 1.5625rem 0;
  font-weight: bold;
  font-size: 1.1875rem;
  letter-spacing: 0.1em;
  color: #ffffff;
  position: relative;
}

@media screen and (min-width: 768px) {
  .cp-h3__text {
    padding: 2.3125rem 6.25rem 2.3125rem 0;
    font-size: 1.625rem;
  }
}

.cp-h3__text::before {
  content: "";
  display: block;
  background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
  background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
  width: calc(100% + 460px);
  height: 100%;
  position: absolute;
  top: 0;
  left: 100%;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}

.cp-h3__text > span {
  position: relative;
  z-index: 2;
}

/* ============================================
// component cp-h4
// ==========================================*/
.cp-h4 {
  padding: 0.75rem;
  font-size: 1.1875rem;
  font-weight: bold;
  line-height: 2.02632;
  letter-spacing: 0.1em;
  border-bottom: 2px solid #bc3f3e;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .cp-h4 {
    padding: 0.9375rem 0;
    font-size: 1.75rem;
    border-bottom: 4px solid #bc3f3e;
  }
}

/* ============================================
// component cp-h5
// ==========================================*/
.cp-h5__text {
  background-color: #e6e6e6;
  padding: 0.625rem 0;
  text-align: center;
  font-size: 1.1875rem;
  letter-spacing: 0.1em;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .cp-h5__text {
    display: inline-block;
    padding: 0.8125rem 1.5rem;
    font-size: 1.5rem;
  }
}

/* ============================================
// component cp-h6
// ==========================================*/
.cp-h6 {
  padding: 0.5625rem 0 0.5625rem 1.25rem;
  background-color: #3c3c3c;
  border-left: 8px solid #e5e5e6;
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  font-weight: bold;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .cp-h6 {
    padding: 0.75rem 0 0.75rem 1.875rem;
    font-size: 1.5rem;
  }
}

/* ============================================
// component cp-catch
// ==========================================*/
.cp-catch {
  font-size: 1.0625rem;
  line-height: 1.67647;
  letter-spacing: 0.1em;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .cp-catch {
    font-size: 1.375rem;
    line-height: 1.86364;
  }
}

/* ============================================
// component cp-midashi-s
// ==========================================*/
.cp-midashi-s {
  font-size: 1rem;
  line-height: 1.78125;
  letter-spacing: 0.1em;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .cp-midashi-s {
    font-size: 1.25rem;
  }
}

/* ============================================
// component cp-p
// ==========================================*/
.cp-p {
  font-size: 0.84375rem;
  line-height: 2;
  letter-spacing: 0em;
  text-align: justify;
}

@media screen and (min-width: 768px) {
  .cp-p {
    font-size: 1rem;
    line-height: 2.25;
  }
}

/* ============================================
// component cp-font-s
// ==========================================*/
.cp-font-s {
  font-size: 0.75rem;
  line-height: 2.25;
}

@media screen and (min-width: 768px) {
  .cp-font-s {
    font-size: 0.875rem;
    line-height: 2.57143;
  }
}

/* ============================================
// component cp-font-l
// ==========================================*/
.cp-font-l {
  font-size: 0.9375rem;
  line-height: 1.8;
  font-weight: 600;
}

@media screen and (min-width: 768px) {
  .cp-font-l {
    font-size: 1.125rem;
    line-height: 1.77778;
  }
}

/* ============================================
// component cp-p-right
// ==========================================*/
.cp-p-right {
  font-size: 0.84375rem;
  line-height: 2;
  letter-spacing: 0em;
  text-align: right;
}

@media screen and (min-width: 768px) {
  .cp-p-right {
    font-size: 1rem;
    line-height: 2.25;
  }
}

/* ============================================
// component cp-tag
// ==========================================*/
.cp-tag__text {
  display: inline-block;
  background-color: #bc3f3e;
  border-radius: 100vh;
  padding: 0.28125rem 1.1875rem;
  text-align: center;
  font-size: 0.78125rem;
  line-height: 1.2;
  letter-spacing: 0em;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .cp-tag__text {
    padding: 0.3125rem 2.125rem;
    font-size: 0.875rem;
    line-height: 1.2;
  }
}

/* ============================================
// component cp-tab
// ==========================================*/
.cp-tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 2px solid #bc3f3e;
  margin: 20px -5.3vw;
}

@media screen and (min-width: 768px) {
  .cp-tab {
    margin: 0;
  }
}

.cp-tab__menu {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 1.75rem 0;
  background-color: #e5e5e4;
  font-size: 1.0625rem;
  line-height: 1.44118;
  font-weight: bold;
  text-align: center;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

@media screen and (min-width: 768px) {
  .cp-tab__menu {
    padding: 2.375rem 0;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: 0.1em;
  }
}

.cp-tab__menu:not(:last-child) {
  margin-right: 2px;
}

.cp-tab__menu.js-isCurrent {
  background-color: #bc3f3e;
  color: #ffffff;
}

.cp-tab__menu:hover {
  cursor: pointer;
  opacity: 0.7;
}

/* ============================================
// component cp-ol
// ==========================================*/
.cp-ol {
  list-style: decimal;
  padding-left: 20px;
}

.cp-ol__item {
  padding-left: 10px;
  font-size: 0.84375rem;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .cp-ol__item {
    padding-left: 20px;
    font-size: 1rem;
    line-height: 2.25;
  }
}

/* ============================================
// component cp-ul
// ==========================================*/
.cp-ul {
  list-style: disc;
  padding-left: 20px;
}

.cp-ul__item {
  padding-left: 5px;
  font-size: 0.84375rem;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .cp-ul__item {
    margin-left: 15px;
    font-size: 1rem;
    line-height: 2.25;
  }
}

/* ============================================
// component cp-ul-white
// ==========================================*/
.cp-ul-white {
  list-style: circle;
  padding-left: 20px;
}

.cp-ul-white__item {
  padding-left: 5px;
  font-size: 0.84375rem;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .cp-ul-white__item {
    margin-left: 15px;
    font-size: 1rem;
    line-height: 2.25;
  }
}

/* ============================================
// component cp-head_2em
// ==========================================*/
.cp-head_2em {
  padding-left: 2em;
  text-indent: -2em;
  font-size: 0.84375rem;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .cp-head_2em {
    font-size: 1rem;
    line-height: 2.25;
  }
}

/* ============================================
// component cp-btn
// ==========================================*/
.cp-btn {
  display: inline-block;
  padding: 0.625rem 1rem;
  background-color: #bc3f3e;
  border: 1px solid #bc3f3e;
  font-size: 0.84375rem;
  line-height: 1;
  color: #ffffff;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

@media screen and (min-width: 768px) {
  .cp-btn {
    font-size: 0.9375rem;
  }
}

.cp-btn:hover {
  padding: 0.625rem 1.25rem;
  background-color: #ffffff;
  color: #bc3f3e;
}

/* ============================================
// component cp-btn-radius
// ==========================================*/
.cp-btn-radius__btn {
  display: block;
  padding: 0.8125rem 1.875rem 0.8125rem 3.03125rem;
  border-radius: 100vh;
  background-color: #bc3f3e;
  border: 1px solid #bc3f3e;
  font-size: 1.15625rem;
  line-height: 1;
  color: #ffffff;
  text-align: center;
  position: relative;
}

@media screen and (min-width: 768px) {
  .cp-btn-radius__btn {
    display: inline-block;
    padding: 0.625rem 2.5rem 0.625rem 3.75rem;
    font-size: 1.0625rem;
  }
}

.cp-btn-radius__btn:hover {
  opacity: 1;
}

.cp-btn-radius__btn::before {
  display: block;
  content: "";
  width: 1.15625rem;
  height: 1.15625rem;
  background-image: url(/images/common/arrow_btn_red.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 1.875rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .cp-btn-radius__btn::before {
    width: 1.0625rem;
    height: 1.0625rem;
  }
}

/* ============================================
// component cp-list-link
// ==========================================*/
.cp-list-link {
  padding-left: 10px;
  position: relative;
  font-size: 0.625rem;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .cp-list-link {
    font-size: 0.75rem;
    line-height: 1.75;
  }
}

.cp-list-link::before {
  content: "";
  position: absolute;
  top: 0.4em;
  left: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 0.4375rem;
  height: 0.4375rem;
  border-top: 2px solid #bc3f3e;
  border-right: 2px solid #bc3f3e;
}

@media screen and (min-width: 768px) {
  .cp-list-link::before {
    width: 0.5rem;
    height: 0.5rem;
    top: 0.5em;
  }
}

.cp-list-link__item {
  padding-left: 5px;
}

.cp-list-link__item > a {
  display: inline-block;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.cp-list-link__item > a:hover {
  color: #bc3f3e;
}

/* ============================================
// component cp-pdf-link
// ==========================================*/
.cp-pdf-link {
  display: inline-block;
  padding-right: 1.75rem;
  font-size: 0.75rem;
  line-height: 2.41667;
  position: relative;
}

@media screen and (min-width: 768px) {
  .cp-pdf-link {
    font-size: 1rem;
    line-height: 1.3125;
  }
}

.cp-pdf-link::after {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  background-image: url(/images/common/link-pdf.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .cp-pdf-link::after {
    width: 1rem;
    height: 1rem;
  }
}

/* ============================================
// component cp-btn-pdf
// ==========================================*/
.cp-btn-pdf {
  display: inline-block;
  padding: 0.6875rem 2.8125rem 0.6875rem 1.4375rem;
  background-color: #e6e6e6;
  font-size: 0.75rem;
  line-height: 1;
  position: relative;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

@media screen and (min-width: 768px) {
  .cp-btn-pdf {
    padding: 0.75rem 3.125rem 0.75rem 2.125rem;
    font-size: 1rem;
  }
}

.cp-btn-pdf::after {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  background-image: url(/images/common/link-pdf.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 1.4375rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .cp-btn-pdf::after {
    width: 1rem;
    height: 1rem;
  }
}

.cp-btn-pdf:hover {
  background-color: #bc3f3e;
  color: #ffffff;
}

/* ============================================
// component cp-table-b
// ==========================================*/
.cp-table-b {
  overflow-x: auto;
}

.cp-table-b table {
  width: 155%;
  border: none;
}

@media screen and (min-width: 768px) {
  .cp-table-b table {
    width: 100%;
    min-width: 964px;
  }
}

.cp-table-b th,
.cp-table-b td {
  border: 3px solid #ffffff;
}

.cp-table-b th {
  background-color: #769BC7;
  color: #ffffff;
  border-bottom: none;
  border-left: none;
  padding: 0.8125rem 1.1875rem;
  font-size: 0.78125rem;
  vertical-align: middle;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .cp-table-b th {
    padding: 1.25rem 1.875rem;
    font-size: 1.125rem;
  }
}

.cp-table-b td {
  background-color: #E8ECF4;
  border-bottom: none;
  border-right: none;
  padding: 0.8125rem 1.1875rem;
  font-size: 0.6875rem;
  line-height: 1.77273;
}

@media screen and (min-width: 768px) {
  .cp-table-b td {
    padding: 1.25rem 1.875rem;
    font-size: 1rem;
  }
}

.cp-table-b__fixed-width {
  width: 20.7%;
}

/* ============================================
// component cp-table-c
// ==========================================*/
.cp-table-c {
  overflow-x: auto;
}

.cp-table-c table {
  width: 155%;
  border: none;
}

@media screen and (min-width: 768px) {
  .cp-table-c table {
    width: 100%;
    min-width: 964px;
  }
}

.cp-table-c th,
.cp-table-c td {
  border: 3px solid #ffffff;
}

.cp-table-c th {
  width: 20.7%;
  background-color: #769BC7;
  color: #ffffff;
  border-bottom: none;
  border-left: none;
  font-size: 0.78125rem;
  vertical-align: middle;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .cp-table-c th {
    font-size: 1.125rem;
  }
}

.cp-table-c td {
  background-color: #CED7E8;
  border-bottom: none;
  border-right: none;
  padding: 0.8125rem 1.1875rem;
  font-size: 0.6875rem;
  line-height: 1.77273;
}

@media screen and (min-width: 768px) {
  .cp-table-c td {
    padding: 1.25rem 1.875rem;
    font-size: 1rem;
  }
}

/* ============================================
// component cp-table-d
// ==========================================*/
.cp-table-d {
  overflow-x: auto;
}

.cp-table-d table {
  width: 155%;
  border: none;
}

@media screen and (min-width: 768px) {
  .cp-table-d table {
    width: 100%;
    min-width: 964px;
  }
}

.cp-table-d tr:nth-child(odd) {
  background-color: #E8ECF4;
}

.cp-table-d tr:nth-child(even) {
  background-color: #CED7E8;
}

.cp-table-d th,
.cp-table-d td {
  border: 3px solid #ffffff;
  text-align: center;
}

.cp-table-d th {
  background-color: #769BC7;
  color: #ffffff;
  border-bottom: none;
  border-left: none;
  padding: 0.4375rem 0;
  font-size: 0.6875rem;
  font-weight: normal;
  line-height: 1;
  vertical-align: middle;
  width: 10.6%;
}

@media screen and (min-width: 768px) {
  .cp-table-d th {
    padding: 0.75rem 0;
    font-size: 0.875rem;
  }
}

.cp-table-d th:nth-child(2) {
  width: 35.5%;
}

.cp-table-d th:nth-child(5) {
  width: 14.6%;
}

.cp-table-d th:nth-child(6) {
  width: 18.1%;
}

.cp-table-d td {
  border-bottom: none;
  border-right: none;
  padding: 0.4375rem 0.3125rem;
  font-size: 0.6875rem;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .cp-table-d td {
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
  }
}

/* ============================================
// component cp-table-e
// ==========================================*/
.cp-table-e table {
  font-size: 0.6875rem;
}

@media screen and (min-width: 768px) {
  .cp-table-e table {
    min-width: 964px;
    font-size: 1rem;
    line-height: 2;
  }
}

.cp-table-e th, .cp-table-e td {
  padding-bottom: 1.1875rem;
}

@media screen and (min-width: 768px) {
  .cp-table-e th, .cp-table-e td {
    padding-bottom: 1.75rem;
  }
}

.cp-table-e th {
  width: 28.8%;
}

@media screen and (min-width: 768px) {
  .cp-table-e th {
    width: 10.2%;
  }
}

/* ============================================
// component cp-other
// ==========================================*/
.cp-other {
  background-color: #e6e6e6;
  padding: 3.125rem 20px 2.8125rem;
  margin: 0 -5.3vw;
}

@media screen and (min-width: 768px) {
  .cp-other {
    padding: 3.375rem 0 3.375rem 2.5rem;
    margin: 0 auto 3.125rem;
    margin: 0 auto;
  }
}

.cp-other__title {
  font-size: 1.1875rem;
  line-height: 2.02632;
  letter-spacing: 0.1em;
  font-weight: bold;
  border-bottom: 2px solid #bc3f3e;
  margin-bottom: 2.8125rem;
}

@media screen and (min-width: 768px) {
  .cp-other__title {
    font-size: 1.75rem;
    border-bottom: 4px solid #bc3f3e;
    margin-bottom: 3.125rem;
  }
}

.cp-other__block {
  margin-bottom: 3.125rem;
}

@media screen and (min-width: 768px) {
  .cp-other__block {
    margin-bottom: 3.375rem;
    padding-left: 1em;
    padding-right: 3.4375rem;
  }
}

.cp-other__sub-title {
  font-size: 1.1875rem;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-bottom: 1.6875rem;
}

@media screen and (min-width: 768px) {
  .cp-other__sub-title {
    font-size: 1.25rem;
    margin-bottom: 2.75rem;
  }
}

.cp-other__desc {
  font-size: 0.84375rem;
  letter-spacing: 0em;
  text-align: justify;
}

@media screen and (min-width: 768px) {
  .cp-other__desc {
    font-size: 1rem;
    line-height: 2.25;
  }
}

.cp-other__block-heading {
  background-color: #ffffff;
  padding: 0.90625rem 0;
  text-align: center;
  font-size: 1.1875rem;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-bottom: 1.5625rem;
}

@media screen and (min-width: 768px) {
  .cp-other__block-heading {
    display: inline-block;
    padding: 0.9375rem 1.25rem;
    font-size: 1.25rem;
  }
}

.cp-other__name {
  font-size: 0.84375rem;
  line-height: 1.90625rem;
  height: 1.90625rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .cp-other__name {
    font-size: 1rem;
    margin-right: 3.4375rem;
  }
}

.cp-other__name > span {
  display: inline-block;
  padding-left: 0.84375rem;
  background-color: #e6e6e6;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.cp-other__name::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #3c3c3c;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

/* ============================================
// component cp-news
// ==========================================*/
.cp-news__item-wrapper {
  padding: 1.875rem 1.25rem 1.875rem 0;
  border-top: 1px solid #e3e3e3;
  font-size: 0.84375rem;
  line-height: 2;
  position: relative;
}

.cp-news__item-wrapper:last-child {
  border-bottom: 1px solid #e3e3e3;
}

@media screen and (min-width: 768px) {
  .cp-news__item-wrapper {
    padding: 1.875rem 3.3125rem 1.875rem 0;
    font-size: 1rem;
    line-height: 2.25;
  }
}

.cp-news__item-wrapper::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  width: 0.625rem;
  height: 0.625rem;
  border-top: 2px solid #bc3f3e;
  border-right: 2px solid #bc3f3e;
}

@media screen and (min-width: 768px) {
  .cp-news__item-wrapper::after {
    width: 0.875rem;
    height: 0.875rem;
  }
}

@media screen and (min-width: 768px) {
  .cp-news__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}

.cp-news__date {
  margin-bottom: 1.3125rem;
}

@media screen and (min-width: 768px) {
  .cp-news__date {
    margin-bottom: 0;
    margin-right: 3.125rem;
  }
}

/* ============================================
// component cp-btn-radius-src
// ==========================================*/
.cp-btn-radius-src__btn {
  display: block;
  padding: 0.8125rem 1.875rem 0.8125rem 3.03125rem;
  border-radius: 100vh;
  background-color: #bc3f3e;
  border: 1px solid #bc3f3e;
  font-size: 1.15625rem;
  line-height: 1;
  color: #ffffff;
  text-align: center;
  position: relative;
}

@media screen and (min-width: 768px) {
  .cp-btn-radius-src__btn {
    display: inline-block;
    padding: 0.625rem 2.5rem 0.625rem 3.75rem;
    font-size: 1.0625rem;
  }
}

.cp-btn-radius-src__btn:hover {
  opacity: 1;
}

.cp-btn-radius-src__btn::before {
  display: block;
  content: "";
  width: 1.15625rem;
  height: 1.15625rem;
  background-image: url(/images/common/arrow_btn_red_down.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 1.875rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .cp-btn-radius-src__btn::before {
    width: 1.0625rem;
    height: 1.0625rem;
  }
}

/* ============================================
// component cp-label-red
// ==========================================*/
.cp-label-red {
  padding: 4px 5px;
  font-size: 0.75rem;
  line-height: 1.2;
  display: inline-block;
  background-color: #bc3f3e;
  color: #ffffff;
  border-radius: 3px;
}

@media screen and (min-width: 768px) {
  .cp-label-red {
    padding: 4px 7px;
    font-size: 0.8125rem;
  }
}

.cp-label-red--mr {
  margin-right: 0.3125rem;
}

/* ============================================
// component cp-label-black
// ==========================================*/
.cp-label-black {
  padding: 4px 5px;
  font-size: 0.75rem;
  line-height: 1.2;
  display: inline-block;
  background-color: #3c3c3c;
  color: #ffffff;
  border-radius: 3px;
}

@media screen and (min-width: 768px) {
  .cp-label-black {
    padding: 4px 7px;
    font-size: 0.8125rem;
  }
}

.cp-label-black--mr {
  margin-right: 0.3125rem;
}

.p-performance {
  /* ============================================
	// マップページ内リンク
	// ==========================================*/
  /* ============================================
	// FVコンポーネント
	// ==========================================*/
}

.p-performance img {
  width: 100%;
}

.p-performance .page-anchor {
  display: block;
  padding-top: 15.33333vw;
  margin-top: -15.33333vw;
}

@media screen and (min-width: 768px) {
  .p-performance .page-anchor {
    display: block;
    padding-top: 160px;
    margin-top: -160px;
  }
}

.p-performance .cp-page-fv {
  background-image: url(../images/summary/performance_bg_mv_sp.png);
}

@media screen and (min-width: 768px) {
  .p-performance .cp-page-fv {
    background-image: url(../images/summary/performance_bg_mv_pc.png);
  }
}

.p-performance .cp-page-fv__sub-title {
  width: 46.66667vw;
}

@media screen and (min-width: 768px) {
  .p-performance .cp-page-fv__sub-title {
    width: min(20%, 200px);
  }
}

.p-performance .p-performance-main {
  max-width: 1000px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__wrap {
    margin: 0 0 135px;
  }
}

.p-performance .p-performance-main__tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 2px solid #bc3f3e;
  padding-left: 1.5625rem;
  padding-right: 1.5625rem;
  margin-bottom: 1rem;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__tab {
    margin: 0 0 20px;
    padding: 0 48px;
    border-bottom: 4px solid #bc3f3e;
  }
}

.p-performance .p-performance-main__tab-menu {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 4.8vw 0;
  background-color: #e6e6e6;
  font-size: 4.5vw;
  line-height: 1.44118;
  font-weight: bold;
  text-align: center;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.p-performance .p-performance-main__tab-menu:last-child {
  padding: 8vw 0;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__tab-menu {
    padding: 4.7% 0.5% 3.6%;
    font-size: 24px;
    line-height: 1;
    letter-spacing: 0.1em;
  }
  .p-performance .p-performance-main__tab-menu:last-child {
    padding: 4.7% 0.5% 3.6%;
  }
}

.p-performance .p-performance-main__tab-menu.js-isCurrent {
  background-color: #bc3f3e;
  color: #ffffff;
}

.p-performance .p-performance-main__tab-menu:hover {
  cursor: pointer;
  opacity: 0.7;
}

.p-performance .p-performance-main__tab-content-item {
  display: none;
}

.p-performance .p-performance-main__tab-content-item.js-isCurrent {
  display: block;
}

.p-performance .p-performance-main__notice {
  font-size: 3.7vw;
  padding-left: 1.5625rem;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__notice {
    font-size: 16px;
    padding-left: 48px;
  }
}

.p-performance .p-performance-main__notice-first {
  margin-bottom: 2.66667vw;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__notice-first {
    margin-bottom: 0.625rem;
  }
}

.p-performance .p-performance-main__jmap-container01, .p-performance .p-performance-main__jmap-container02 {
  position: relative;
  margin: 8.75rem 0 3.125rem;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__jmap-container01, .p-performance .p-performance-main__jmap-container02 {
    margin: 140px 0 50px;
  }
}

@media screen and (min-width: 1024px) {
  .p-performance .p-performance-main__jmap-container01, .p-performance .p-performance-main__jmap-container02 {
    margin: 70px 0 65px;
  }
}

.p-performance .p-performance-main__jmap-title-box01, .p-performance .p-performance-main__jmap-title-box02 {
  display: inline-block;
  position: absolute;
  top: -5.625rem;
  left: 0;
  margin-left: 1.5625rem;
  padding: 0 6.6vw 3.9vw;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__jmap-title-box01, .p-performance .p-performance-main__jmap-title-box02 {
    top: -10%;
    left: 8%;
    margin-left: 0;
    padding: 0 30px 20px 28px;
  }
}

@media screen and (min-width: 1024px) {
  .p-performance .p-performance-main__jmap-title-box01, .p-performance .p-performance-main__jmap-title-box02 {
    top: 15%;
    left: 8.5%;
    margin-left: 0;
    padding: 0 17px 22px 34px;
  }
}

.p-performance .p-performance-main__jmap-title-box01 {
  background-color: #D1615F;
}

.p-performance .p-performance-main__jmap-title-box02 {
  background-color: #F59A47;
}

.p-performance .p-performance-main__jmap-title {
  padding: 3.3vw 0 0 2vw;
  border-left: 0.375rem solid #ffffff;
  font-size: 4.5vw;
  line-height: 1.44118;
  letter-spacing: 0.1em;
  font-weight: bold;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__jmap-title {
    padding: 15px 0 0 20px;
    border-left: 6px solid #ffffff;
    font-size: 22px;
    line-height: 1.5;
  }
}

@media screen and (min-width: 1024px) {
  .p-performance .p-performance-main__jmap-title {
    padding: 20px 0 0 25px;
    border-left: 6px solid #ffffff;
    font-size: 28px;
    line-height: 1.5;
  }
}

.p-performance .p-performance-main__area-link-hokkaido, .p-performance .p-performance-main__area-link-tohoku, .p-performance .p-performance-main__area-link-chubu-hokuriku, .p-performance .p-performance-main__area-link-kanto, .p-performance .p-performance-main__area-link-kinki, .p-performance .p-performance-main__area-link-chushikoku, .p-performance .p-performance-main__area-link-kyushu {
  display: inline-block;
  padding: 1.4vw 2.6vw;
  color: #ffffff;
  border-radius: 100vh;
  font-size: 2.6vw;
  font-weight: bold;
}

.p-performance .p-performance-main__area-link-hokkaido:hover, .p-performance .p-performance-main__area-link-tohoku:hover, .p-performance .p-performance-main__area-link-chubu-hokuriku:hover, .p-performance .p-performance-main__area-link-kanto:hover, .p-performance .p-performance-main__area-link-kinki:hover, .p-performance .p-performance-main__area-link-chushikoku:hover, .p-performance .p-performance-main__area-link-kyushu:hover {
  opacity: .8;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__area-link-hokkaido, .p-performance .p-performance-main__area-link-tohoku, .p-performance .p-performance-main__area-link-chubu-hokuriku, .p-performance .p-performance-main__area-link-kanto, .p-performance .p-performance-main__area-link-kinki, .p-performance .p-performance-main__area-link-chushikoku, .p-performance .p-performance-main__area-link-kyushu {
    padding: 7px 10px;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.075em;
  }
}

@media screen and (min-width: 1024px) {
  .p-performance .p-performance-main__area-link-hokkaido, .p-performance .p-performance-main__area-link-tohoku, .p-performance .p-performance-main__area-link-chubu-hokuriku, .p-performance .p-performance-main__area-link-kanto, .p-performance .p-performance-main__area-link-kinki, .p-performance .p-performance-main__area-link-chushikoku, .p-performance .p-performance-main__area-link-kyushu {
    padding: 10px 15px;
    font-size: 17.7px;
  }
}

.p-performance .p-performance-main__link-none:hover {
  opacity: 1;
  cursor: default;
}

.p-performance .p-performance-main__jmap-container01 .p-performance-main__area-link-hokkaido,
.p-performance .p-performance-main__jmap-container01 .p-performance-main__area-link-tohoku,
.p-performance .p-performance-main__jmap-container01 .p-performance-main__area-link-chubu-hokuriku,
.p-performance .p-performance-main__jmap-container01 .p-performance-main__area-link-kanto,
.p-performance .p-performance-main__jmap-container01 .p-performance-main__area-link-kinki,
.p-performance .p-performance-main__jmap-container01 .p-performance-main__area-link-chushikoku,
.p-performance .p-performance-main__jmap-container01 .p-performance-main__area-link-kyushu {
  background-color: #B33F3C;
}

.p-performance .p-performance-main__jmap-container02 .p-performance-main__area-link-hokkaido,
.p-performance .p-performance-main__jmap-container02 .p-performance-main__area-link-tohoku,
.p-performance .p-performance-main__jmap-container02 .p-performance-main__area-link-chubu-hokuriku,
.p-performance .p-performance-main__jmap-container02 .p-performance-main__area-link-kanto,
.p-performance .p-performance-main__jmap-container02 .p-performance-main__area-link-kinki,
.p-performance .p-performance-main__jmap-container02 .p-performance-main__area-link-chushikoku,
.p-performance .p-performance-main__jmap-container02 .p-performance-main__area-link-kyushu {
  background-color: #F57600;
}

.p-performance .p-performance-main__area-link-hokkaido {
  position: absolute;
  top: 12%;
  right: 6%;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__area-link-hokkaido {
    top: 13%;
  }
}

.p-performance .p-performance-main__area-link-tohoku {
  position: absolute;
  top: 37%;
  right: 18%;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__area-link-tohoku {
    top: 41.8%;
    right: 21%;
  }
}

.p-performance .p-performance-main__area-link-chubu-hokuriku {
  position: absolute;
  top: 52%;
  right: 40%;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__area-link-chubu-hokuriku {
    top: 56%;
    right: 38%;
  }
}

@media screen and (min-width: 1024px) {
  .p-performance .p-performance-main__area-link-chubu-hokuriku {
    top: 58%;
    right: 41%;
  }
}

.p-performance .p-performance-main__area-link-kanto {
  position: absolute;
  bottom: 35%;
  right: 25%;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__area-link-kanto {
    bottom: 33%;
    right: 23%;
  }
}

@media screen and (min-width: 1024px) {
  .p-performance .p-performance-main__area-link-kanto {
    right: 27%;
  }
}

.p-performance .p-performance-main__area-link-kinki {
  position: absolute;
  bottom: 30%;
  left: 32%;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__area-link-kinki {
    bottom: 29%;
    left: 34%;
  }
}

.p-performance .p-performance-main__area-link-chushikoku {
  position: absolute;
  bottom: 23%;
  left: 15%;
}

.p-performance .p-performance-main__area-link-kyushu {
  position: absolute;
  bottom: 14%;
  left: 4%;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__area-link-kyushu {
    bottom: 18%;
    left: 2%;
  }
}

.p-performance .p-performance-main__area-container {
  margin-bottom: 5.9375rem;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__area-container {
    margin-bottom: 0;
  }
}

.p-performance .p-performance-main__area-box {
  margin: 0 1.5625rem 3.125rem 1.5625rem;
  padding-bottom: 3.125rem;
  border-bottom: 1px solid #B33F3C;
}

.p-performance .p-performance-main__area-box:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__area-box {
    margin: 0 0 60px 0;
    padding-bottom: 33px;
  }
}

.p-performance .p-performance-main__area-title-wrap {
  margin: 0 0 3.125rem 0;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__area-title-wrap {
    margin: 0 0 33px 0;
  }
}

.p-performance .p-performance-main__area-title {
  font-size: 8.5vw;
  font-weight: bold;
  line-height: 1.46875;
  letter-spacing: 0.05em;
  border-left: 0.375rem solid #bc3f3e;
  padding: 0.625rem 0 0.625rem 1.0625rem;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__area-title {
    font-size: 30px;
    line-height: 1.45667;
    letter-spacing: 0.025em;
    border-left: 9px solid #B33F3C;
    padding: 15px 0 15px 25px;
  }
}

.p-performance .p-performance-main__plant {
  margin-bottom: 1.25rem;
}

.p-performance .p-performance-main__plant:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__plant {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-bottom: 50px;
  }
  .p-performance .p-performance-main__plant:last-child {
    margin-bottom: 50px;
  }
}

.p-performance .p-performance-main__plant-title {
  padding: 2.8vw 0;
  margin: 0 0 1.5625rem;
  color: #ffffff;
  background-color: #3c3c3c;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__plant-title {
    width: 27%;
    padding: 12px 10px;
    margin: 0;
  }
}

.p-performance .p-performance-main__plant-title-inner {
  font-size: 4.8vw;
  font-weight: bold;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__plant-title-inner {
    font-size: 20px;
    line-height: 1.25;
  }
}

.p-performance .p-performance-main__plant-title-inner-sub {
  padding-top: 3vw;
  font-size: 3.6vw;
  font-weight: bold;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__plant-title-inner-sub {
    padding-top: 0;
    font-size: 14px;
    line-height: 2;
  }
}

.p-performance .p-performance-main__plant-list {
  margin: 0;
  padding-left: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__plant-list {
    width: 73%;
    margin: -0.3% 0 0 3.2%;
    padding-left: 15px;
  }
}

.p-performance .p-performance-main__plant-list-item {
  list-style: disc;
  font-size: 3.6vw;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__plant-list-item {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
}

.p-performance .p-performance-main__plant-text {
  margin: 0;
  font-size: 3.6vw;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-main__plant-text {
    width: 73%;
    margin: 1% 0 0 3.2%;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
}

.p-performance .p-performance-contact__top-wrap {
  background-color: #bc3f3e;
}

.p-performance .p-performance-contact__top {
  color: #ffffff;
  padding: 2.9375rem 1.5625rem 3.125rem;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    max-width: 1000px;
    margin: 0 auto;
    padding: 43px 30px 37px 92px;
  }
}

.p-performance .p-performance-contact__heading-title {
  margin-bottom: 0.625rem;
  font-size: 10.7vw;
  font-weight: bold;
  line-height: 1.2;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__heading-title {
    margin-bottom: 10px;
    font-size: 53px;
    line-height: 1.2;
  }
}

.p-performance .p-performance-contact__heading-text {
  margin-bottom: 1.5625rem;
  font-size: 3.2vw;
  line-height: 1.625;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__heading-text {
    margin-bottom: 0;
    font-size: 16px;
    line-height: 1.575;
  }
}

.p-performance .p-performance-contact__top-btn-link {
  position: relative;
  display: block;
  margin: 0 auto;
  padding: 4vw 14vw 4vw 4vw;
  font-size: 3.6vw;
  line-height: 1.18519;
  text-align: center;
  width: 85%;
  background-color: #bc3f3e;
  color: #ffffff;
  border: 1px solid #ffffff;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__top-btn-link {
    width: 30%;
    padding: 15px 43px 20px 13px;
    font-size: 14px;
    line-height: 1.2;
  }
}

.p-performance .p-performance-contact__top-btn-link::after {
  content: "";
  position: absolute;
  top: 1.3em;
  right: 1.2em;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 0.625rem;
  height: 0.625rem;
  border-top: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__top-btn-link::after {
    width: 10px;
    height: 10px;
    top: 36%;
    right: 9%;
  }
}

.p-performance .p-performance-contact__info-wrap {
  background-color: #3c3c3c;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__info-wrap {
    margin-bottom: 50px;
  }
}

.p-performance .p-performance-contact__info {
  color: #ffffff;
  padding: 1.5625rem;
  margin-bottom: 3.125rem;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 20px 37px 88px;
  }
}

.p-performance .p-performance-contact__info-heading {
  margin-bottom: 1.5625rem;
  font-size: 4.3vw;
  font-weight: bold;
  line-height: 1.20625;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__info-heading {
    margin-bottom: 0;
    font-size: 21.43px;
    font-weight: 400;
    line-height: 1.19972;
  }
}

.p-performance .p-performance-contact__info-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__info-box {
    margin-left: 57px;
  }
}

.p-performance .p-performance-contact__info-hours, .p-performance .p-performance-contact__info-detail {
  font-size: 2.8vw;
  font-weight: bold;
  line-height: 1.19048;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__info-hours, .p-performance .p-performance-contact__info-detail {
    font-size: 14px;
    line-height: 1.2;
  }
}

.p-performance .p-performance-contact__info-hours {
  padding: 0.25rem 0.625rem;
  background-color: #ffffff;
  color: #000;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__info-hours {
    padding: 4px 13px;
  }
}

.p-performance .p-performance-contact__info-detail {
  padding-left: 0.5625rem;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__info-detail {
    padding-left: 15px;
  }
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__department {
    max-width: 1000px;
    margin: 0 auto 16px;
  }
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__department-upper, .p-performance .p-performance-contact__department-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
    margin: 0 auto;
  }
}

.p-performance .p-performance-contact__department-box {
  margin: 0 1.5625rem 3.125rem;
  padding: 0 0 1.3vw;
  border-left: 0.0625rem solid #3c3c3c;
  border-right: 0.0625rem solid #3c3c3c;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__department-box {
    margin: 0 0 65px;
    padding: 0.5% 2%;
    border-right: none;
  }
  .p-performance .p-performance-contact__department-box:last-child {
    border-right: 1px solid #3c3c3c;
  }
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__department-upper {
    max-width: 900px;
  }
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__department-upper .p-performance-contact__department-box {
    width: 33.3%;
  }
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__department-bottom {
    max-width: 600px;
  }
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__department-bottom .p-performance-contact__department-box {
    width: 50%;
  }
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__department-bottom .p-performance-contact__department-title {
    margin-top: 13px;
    margin-bottom: 35px;
  }
}

.p-performance .p-performance-contact__department-title {
  margin-bottom: 1.4375rem;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__department-title {
    margin-bottom: 20px;
  }
}

.p-performance .p-performance-contact__department-title-inner {
  font-size: 5.6vw;
  font-weight: bold;
  line-height: 1.59524;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__department-title-inner {
    font-size: 23.41px;
    line-height: 1.2815;
  }
}

.p-performance .p-performance-contact__department-title-sub {
  font-size: 4.1vw;
  font-weight: bold;
  line-height: 1.54839;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__department-title-sub {
    font-size: 16px;
    line-height: 1.875;
  }
}

.p-performance .p-performance-contact__department-branch {
  display: inline-block;
  padding: 2vw 1.4vw;
  margin: 0 auto 0.8125rem;
  color: #ffffff;
  background-color: #3c3c3c;
  text-align: center;
  font-size: 3.6vw;
  font-weight: bold;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__department-branch {
    padding: 8px 7px;
    margin-bottom: 7px;
    font-size: 15px;
    line-height: 1.2;
  }
}

.p-performance .p-performance-contact__department-tell, .p-performance .p-performance-contact__department-fax {
  font-size: 4.3vw;
  font-weight: bold;
  line-height: 1.2;
  text-transform: uppercase;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__department-tell, .p-performance .p-performance-contact__department-fax {
    font-size: 17.15px;
    line-height: 1.2;
  }
}

.p-performance .p-performance-contact__department-tell {
  margin-bottom: 0.625rem;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__department-tell {
    margin-bottom: 0;
  }
}

.p-performance .p-performance-contact__department-address {
  display: inline-block;
  font-size: 6.8vw;
  font-weight: bold;
  line-height: 0.58824;
}

@media screen and (min-width: 768px) {
  .p-performance .p-performance-contact__department-address {
    font-size: 27.86px;
    line-height: 1.20029;
  }
}

/* ============================================
// component cp-ml3em
// ==========================================*/
.cp-ml3em {
  padding-left: 3em;
  font-size: 0.84375rem;
  line-height: 2;
  letter-spacing: 0em;
  text-align: justify;
}

@media screen and (min-width: 768px) {
  .cp-ml3em {
    font-size: 1rem;
    line-height: 2.25;
  }
}

/* ============================================
// component cp-3img
// ==========================================*/
@media screen and (min-width: 768px) {
  .cp-3img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .cp-3img::after {
    content: "";
    display: block;
    width: calc((100% - 60px) / 3);
    height: 0;
  }
}

@media screen and (min-width: 768px) {
  .cp-3img__item {
    width: calc((100% - 60px) / 3);
  }
}

.cp-3img__item:not(:last-child) {
  margin-bottom: 2.6875rem;
}

@media screen and (min-width: 768px) {
  .cp-3img__item:not(:last-child) {
    margin-bottom: 0;
    margin-right: 1.875rem;
  }
}

.cp-3img__item > img {
  aspect-ratio: 308 / 187;
  -o-object-fit: cover;
     object-fit: cover;
}

.cp-3img__item > figcaption {
  margin-top: 0.3125rem;
  font-size: 0.75rem;
  line-height: 2.41667;
}

@media screen and (min-width: 768px) {
  .cp-3img__item > figcaption {
    margin-top: 0.8125rem;
    font-size: 1rem;
    line-height: 1;
  }
}

/* ============================================
// component cp-2img
// ==========================================*/
@media screen and (min-width: 768px) {
  .cp-2img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .cp-2img__item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.cp-2img__item:not(:last-child) {
  margin-bottom: 2.6875rem;
}

@media screen and (min-width: 768px) {
  .cp-2img__item:not(:last-child) {
    margin-bottom: 0;
    margin-right: 1.875rem;
  }
}

.cp-2img__item > img {
  aspect-ratio: 308 / 187;
  -o-object-fit: cover;
     object-fit: cover;
}

.cp-2img__item > figcaption {
  margin-top: 0.3125rem;
  font-size: 0.75rem;
  line-height: 2.41667;
}

@media screen and (min-width: 768px) {
  .cp-2img__item > figcaption {
    margin-top: 0.8125rem;
    font-size: 1rem;
    line-height: 1;
  }
}

/* ============================================
// component cp-imgL1-p
// ==========================================*/
@media screen and (min-width: 768px) {
  .cp-imgL1-p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.cp-imgL1-p__img {
  padding: 0 0.5625rem;
  margin-bottom: 48px;
}

@media screen and (min-width: 768px) {
  .cp-imgL1-p__img {
    padding: 0;
    margin-bottom: 0;
    width: 20%;
  }
}

.cp-imgL1-p__img > img {
  aspect-ratio: 308 / 187;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .cp-imgL1-p__img > img {
    aspect-ratio: 200 / 163;
  }
}

.cp-imgL1-p__img > figcaption {
  margin-top: 0.3125rem;
  font-size: 0.75rem;
  line-height: 2.41667;
}

@media screen and (min-width: 768px) {
  .cp-imgL1-p__img > figcaption {
    margin-top: 0.8125rem;
    font-size: 1rem;
    line-height: 1;
  }
}

.cp-imgL1-p__desc {
  font-size: 0.84375rem;
  line-height: 2;
  letter-spacing: 0em;
}

@media screen and (min-width: 768px) {
  .cp-imgL1-p__desc {
    width: 80%;
    padding-left: 3em;
    font-size: 1rem;
    line-height: 2.25;
  }
}

/* ============================================
// component cp-imgL2-p
// ==========================================*/
@media screen and (min-width: 768px) {
  .cp-imgL2-p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .cp-imgL2-p__img-block {
    width: 40%;
  }
}

.cp-imgL2-p__img {
  margin-bottom: 3rem;
  padding: 0 0.5625rem;
}

@media screen and (min-width: 768px) {
  .cp-imgL2-p__img {
    padding: 0;
    margin-bottom: 0;
  }
  .cp-imgL2-p__img:not(:last-child) {
    margin-bottom: 2.5rem;
  }
}

.cp-imgL2-p__img > img {
  aspect-ratio: 308 / 187;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .cp-imgL2-p__img > img {
    aspect-ratio: 400 / 163;
  }
}

.cp-imgL2-p__img > figcaption {
  margin-top: 0.3125rem;
  font-size: 0.75rem;
  line-height: 2.41667;
}

@media screen and (min-width: 768px) {
  .cp-imgL2-p__img > figcaption {
    margin-top: 0.8125rem;
    font-size: 1rem;
    line-height: 1;
  }
}

.cp-imgL2-p__desc {
  font-size: 0.84375rem;
  line-height: 2;
  letter-spacing: 0em;
}

@media screen and (min-width: 768px) {
  .cp-imgL2-p__desc {
    width: 60%;
    padding-left: 3em;
    font-size: 1rem;
    line-height: 2.25;
  }
}

/* ============================================
// component cp-imgR1-p
// ==========================================*/
@media screen and (min-width: 768px) {
  .cp-imgR1-p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.cp-imgR1-p__img {
  padding: 0 0.5625rem;
  margin-bottom: 48px;
}

@media screen and (min-width: 768px) {
  .cp-imgR1-p__img {
    padding: 0;
    margin-bottom: 0;
    width: 20%;
  }
}

.cp-imgR1-p__img > img {
  aspect-ratio: 308 / 187;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .cp-imgR1-p__img > img {
    aspect-ratio: 200 / 163;
  }
}

.cp-imgR1-p__img > figcaption {
  margin-top: 0.3125rem;
  font-size: 0.75rem;
  line-height: 2.41667;
}

@media screen and (min-width: 768px) {
  .cp-imgR1-p__img > figcaption {
    margin-top: 0.8125rem;
    font-size: 1rem;
    line-height: 1;
  }
}

.cp-imgR1-p__desc {
  font-size: 0.84375rem;
  line-height: 2;
  letter-spacing: 0em;
}

@media screen and (min-width: 768px) {
  .cp-imgR1-p__desc {
    width: 80%;
    padding-right: 3em;
    font-size: 1rem;
    line-height: 2.25;
  }
}

/* ============================================
// component cp-imgR2-p
// ==========================================*/
@media screen and (min-width: 768px) {
  .cp-imgR2-p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media screen and (min-width: 768px) {
  .cp-imgR2-p__img-block {
    width: 40%;
  }
}

.cp-imgR2-p__img {
  margin-bottom: 3rem;
  padding: 0 0.5625rem;
}

@media screen and (min-width: 768px) {
  .cp-imgR2-p__img {
    padding: 0;
    margin-bottom: 0;
  }
  .cp-imgR2-p__img:not(:last-child) {
    margin-bottom: 2.5rem;
  }
}

.cp-imgR2-p__img > img {
  aspect-ratio: 308 / 187;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .cp-imgR2-p__img > img {
    aspect-ratio: 400 / 163;
  }
}

.cp-imgR2-p__img > figcaption {
  margin-top: 0.3125rem;
  font-size: 0.75rem;
  line-height: 2.41667;
}

@media screen and (min-width: 768px) {
  .cp-imgR2-p__img > figcaption {
    margin-top: 0.8125rem;
    font-size: 1rem;
    line-height: 1;
  }
}

.cp-imgR2-p__desc {
  font-size: 0.84375rem;
  line-height: 2;
  letter-spacing: 0em;
}

@media screen and (min-width: 768px) {
  .cp-imgR2-p__desc {
    width: 60%;
    padding-right: 3em;
    font-size: 1rem;
    line-height: 2.25;
  }
}

/* ============================================
// component cp-img-c
// ==========================================*/
.cp-img-c__inner {
  padding: 0 0.5625rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .cp-img-c__inner {
    padding: 0;
  }
}

.cp-img-c__inner > figcaption {
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 768px) {
  .cp-img-c__inner > figcaption {
    margin-bottom: 1.875rem;
  }
}

.cp-img-c__inner > figcaption > span {
  padding: 0.375rem 2.25rem;
  background-color: #e6e6e6;
  font-size: 0.75rem;
  line-height: lh1;
}

@media screen and (min-width: 768px) {
  .cp-img-c__inner > figcaption > span {
    padding: 0.75rem 4.375rem;
    font-size: 1rem;
  }
}

.cp-img-c__inner > img {
  aspect-ratio: 308 / 187;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .cp-img-c__inner > img {
    aspect-ratio: 300 / 181;
  }
}

/* ============================================
// component cp-img-l
// ==========================================*/
.cp-img-l__inner {
  display: inline-block;
  padding: 0 0.5625rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .cp-img-l__inner {
    padding: 0;
  }
}

.cp-img-l__inner > figcaption {
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 768px) {
  .cp-img-l__inner > figcaption {
    margin-bottom: 1.875rem;
  }
}

.cp-img-l__inner > figcaption > span {
  padding: 0.375rem 2.25rem;
  background-color: #e6e6e6;
  font-size: 0.75rem;
  line-height: lh1;
}

@media screen and (min-width: 768px) {
  .cp-img-l__inner > figcaption > span {
    padding: 0.75rem 4.375rem;
    font-size: 1rem;
  }
}

.cp-img-l__inner > img {
  aspect-ratio: 308 / 187;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .cp-img-l__inner > img {
    aspect-ratio: 300 / 181;
  }
}

/* ============================================
// component cp-img-r
// ==========================================*/
.cp-img-r {
  text-align: right;
}

.cp-img-r__inner {
  display: inline-block;
  padding: 0 0.5625rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .cp-img-r__inner {
    padding: 0;
  }
}

.cp-img-r__inner > figcaption {
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 768px) {
  .cp-img-r__inner > figcaption {
    margin-bottom: 1.875rem;
  }
}

.cp-img-r__inner > figcaption > span {
  padding: 0.375rem 2.25rem;
  background-color: #e6e6e6;
  font-size: 0.75rem;
  line-height: lh1;
}

@media screen and (min-width: 768px) {
  .cp-img-r__inner > figcaption > span {
    padding: 0.75rem 4.375rem;
    font-size: 1rem;
  }
}

.cp-img-r__inner > img {
  aspect-ratio: 308 / 187;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .cp-img-r__inner > img {
    aspect-ratio: 300 / 181;
  }
}

/* ============================================
// component cp-c2
// ==========================================*/
.cp-c2 {
  font-size: 0.84375rem;
  line-height: 2;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .cp-c2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    font-size: 1rem;
    line-height: 2.25;
  }
}

.cp-c2__col {
  margin-bottom: 3.125rem;
}

@media screen and (min-width: 768px) {
  .cp-c2__col {
    margin-bottom: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .cp-c2__col:not(:last-child) {
    margin-right: 4.375rem;
  }
}

/* ============================================
// component cp-column-parts
// ==========================================*/
.cp-column-parts__title {
  padding-bottom: 0.625rem;
  font-size: 0.9375rem;
  line-height: 1.8;
  border-bottom: 1px solid #bc3f3e;
  margin-bottom: 1.375rem;
}

@media screen and (min-width: 768px) {
  .cp-column-parts__title {
    padding-bottom: 1.25rem;
    font-size: 1.125rem;
    line-height: 1.77778;
  }
}

.cp-column-parts__list {
  list-style: disc;
  padding-left: 20px;
  margin-bottom: 1.375rem;
}

@media screen and (min-width: 768px) {
  .cp-column-parts__list {
    padding-left: 2.5em;
  }
}

.cp-column-parts__list > li {
  font-size: 0.71875rem;
  line-height: 1.82609;
}

@media screen and (min-width: 768px) {
  .cp-column-parts__list > li {
    font-size: 0.875rem;
    line-height: 2.57143;
  }
}

.cp-column-parts__list--arrow {
  list-style: none;
  padding-left: 0;
}

.cp-column-parts__list--arrow > li {
  padding-left: 12px;
  position: relative;
}

@media screen and (min-width: 768px) {
  .cp-column-parts__list--arrow > li {
    padding-left: 20px;
  }
}

.cp-column-parts__list--arrow > li:not(:last-child) {
  margin-bottom: 0.3125rem;
}

.cp-column-parts__list--arrow > li::before {
  content: "";
  position: absolute;
  top: 0.55em;
  left: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 0.375rem;
  height: 0.375rem;
  border-top: 2px solid #bc3f3e;
  border-right: 2px solid #bc3f3e;
}

@media screen and (min-width: 768px) {
  .cp-column-parts__list--arrow > li::before {
    width: 0.5rem;
    height: 0.5rem;
    top: 0.9em;
  }
}

/* ============================================
// component cp-column2
// ==========================================*/
.cp-column2 {
  font-size: 0.84375rem;
  line-height: 1;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .cp-column2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    font-size: 1rem;
    line-height: 2.25;
  }
}

.cp-column2__col {
  margin-bottom: 3.125rem;
}

@media screen and (min-width: 768px) {
  .cp-column2__col {
    margin-bottom: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .cp-column2__col:not(:last-child) {
    margin-right: 3.125rem;
  }
}

/* ============================================
// component cp-column3
// ==========================================*/
.cp-column3 {
  font-size: 0.84375rem;
  line-height: 1;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .cp-column3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    font-size: 1rem;
    line-height: 2.25;
  }
}

.cp-column3__col {
  margin-bottom: 3.125rem;
}

@media screen and (min-width: 768px) {
  .cp-column3__col {
    margin-bottom: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .cp-column3__col:not(:last-child) {
    margin-right: 3.125rem;
  }
}

/* ============================================
// component cp-access
// ==========================================*/
.cp-access {
  font-size: 0.84375rem;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  .cp-access {
    font-size: 1rem;
    line-height: 2.25;
  }
}

@media screen and (min-width: 768px) {
  .cp-access__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .cp-access__col {
    width: 50%;
  }
}

.cp-access__col:nth-of-type(2) {
  margin-top: 1.875rem;
}

@media screen and (min-width: 768px) {
  .cp-access__col:nth-of-type(2) {
    margin-top: 0;
    width: 44.7%;
  }
}

.cp-access__col--wide {
  width: 100%;
}

.cp-access__address {
  margin-bottom: 1.875rem;
}

@media screen and (min-width: 768px) {
  .cp-access__address {
    margin-bottom: 2.8125rem;
  }
}

.cp-access__transportation {
  padding: 1.25rem 1rem;
  background-color: #e6e6e6;
}

@media screen and (min-width: 768px) {
  .cp-access__transportation {
    padding: 2.1875rem 1.5625rem;
  }
}

.cp-access__trans-heading {
  padding-left: 1.25rem;
  font-size: 0.9375rem;
  line-height: 1;
  font-weight: bold;
  margin-bottom: 0.9375rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .cp-access__trans-heading {
    font-size: 1.25rem;
    letter-spacing: 0.1em;
    padding-left: 1.875rem;
  }
}

.cp-access__trans-heading::before {
  display: block;
  content: "";
  width: 0.9375rem;
  height: 0.9375rem;
  background-image: url(/images/common/train.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (min-width: 768px) {
  .cp-access__trans-heading::before {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.cp-access__trans-heading-car::before {
  background-image: url(/images/common/car.svg);
}

.cp-access__list {
  list-style: disc;
  padding-left: 20px;
}

.cp-access__list > li {
  font-size: 0.71875rem;
  line-height: 1.82609;
}

@media screen and (min-width: 768px) {
  .cp-access__list > li {
    font-size: 0.875rem;
    line-height: 2.57143;
  }
}

/* ============================================
// component cp-pdf-area
// ==========================================*/
.cp-pdf-area {
  padding: 1.40625rem 0;
  border-top: 1px solid #3c3c3c;
  border-bottom: 1px solid #3c3c3c;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .cp-pdf-area {
    padding: 2.8125rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 1.5625rem;
            column-gap: 1.5625rem;
  }
}

.cp-pdf-area__text {
  font-size: 0.84375rem;
  margin-bottom: 1.125rem;
}

@media screen and (min-width: 768px) {
  .cp-pdf-area__text {
    font-size: 1.125rem;
    margin-bottom: 0;
  }
}

.cp-pdf-area__btn > a {
  display: inline-block;
  width: 100px;
  padding: 7px 20px;
  background-color: #bc3f3e;
  border-radius: 100vh;
}

@media screen and (min-width: 768px) {
  .cp-pdf-area__btn > a {
    width: 129px;
    padding: 7px 36px;
  }
}

/* ============================================
// component cp-contact-area
// ==========================================*/
@media screen and (min-width: 768px) {
  .cp-contact-area .l-container {
    padding: 0 4.6875rem 3.125rem;
    position: relative;
  }
}

.cp-contact-area__box {
  margin: 0 -5.3vw;
  padding: 3.125rem 5.3vw;
}

@media screen and (min-width: 768px) {
  .cp-contact-area__box {
    margin: 0;
    padding: 2.1875rem 2.8125rem;
  }
}

.cp-contact-area__left {
  background-color: #bc3f3e;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .cp-contact-area__left {
    width: 50%;
    position: relative;
    z-index: 1;
  }
}

.cp-contact-area__right {
  background-color: #e6e6e6;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .cp-contact-area__right {
    padding-right: 0;
    width: 49.5%;
    position: absolute;
    top: 50px;
    right: 4.6875rem;
  }
}

.cp-contact-area__right-inner {
  padding: 0 2rem;
  border-left: 1px solid #3c3c3c;
  border-right: 1px solid #3c3c3c;
  margin-bottom: 1.3125rem;
}

@media screen and (min-width: 768px) {
  .cp-contact-area__right-inner {
    padding: 0 0 0 3.4375rem;
    border: none;
  }
}

.cp-contact-area__title {
  width: 43.33333vw;
  margin-bottom: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .cp-contact-area__title {
    width: min(18.2vw, 248px);
  }
}

.cp-contact-area__desc {
  font-size: 0.875rem;
  line-height: 1.42857;
  letter-spacing: 0.1em;
  margin-bottom: 1.25rem;
}

.cp-contact-area__btn {
  display: inline-block;
  padding: 0.875rem 1.4375rem;
  font-size: 0.84375rem;
  border: 1px solid #ffffff;
}

.cp-contact-area__dep {
  padding: 0.46875rem 0;
  background-color: #3c3c3c;
  color: #ffffff;
  font-size: 0.84375rem;
  line-height: 1;
  font-weight: bold;
  margin-bottom: 0.75rem;
}

@media screen and (min-width: 768px) {
  .cp-contact-area__dep {
    font-size: min(1.33vw, 16px);
    line-height: 1.1875;
    letter-spacing: 0.1em;
  }
}

.cp-contact-area__no {
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .cp-contact-area__no {
    font-size: 1.625rem;
    line-height: 1.23077;
  }
}

.cp-contact-area__no > span {
  font-size: 1.5625rem;
  line-height: 1.11765;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .cp-contact-area__no > span {
    font-size: 1.625rem;
    line-height: 1.23077;
  }
}

.cp-contact-area__hour, .cp-contact-area__add {
  margin-top: 0.625rem;
  font-size: 0.84375rem;
  line-height: 1.36364;
  letter-spacing: -0.03em;
}

@media screen and (min-width: 768px) {
  .cp-contact-area__hour, .cp-contact-area__add {
    font-size: min(1.2vw, 14px);
    line-height: 1.21429;
  }
}

.cp-contact-area__hour > span, .cp-contact-area__add > span {
  display: inline-block;
  margin-bottom: 0.375rem;
}

/* ============================================
// component cp-img-box
// ==========================================*/
@media screen and (min-width: 768px) {
  .cp-img-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (min-width: 768px) {
  .cp-img-box-left {
    width: 79.6%;
  }
}

@media screen and (min-width: 768px) {
  .cp-img-box-right {
    width: 20.4%;
  }
}

.cp-img-box figure {
  position: relative;
}

.cp-img-box figure img {
  width: 100%;
  aspect-ratio: 650 / 450;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .cp-img-box figure img {
    aspect-ratio: 796 / 464;
  }
}

@media screen and (min-width: 768px) {
  .cp-img-box-right figure {
    height: 50%;
  }
  .cp-img-box-right figure img {
    aspect-ratio: unset;
    height: 100%;
  }
}

.cp-img-box figcaption {
  background-color: rgba(0, 0, 0, 0.6);
  color: #ffffff;
  font-size: 0.84375rem;
  line-height: 1.85185;
  position: absolute;
  width: 100%;
  height: 60px;
  left: 0;
  bottom: 0;
}

@media screen and (min-width: 768px) {
  .cp-img-box figcaption {
    font-size: 0.75rem;
    line-height: 1.33333;
  }
}

.cp-img-box figcaption > span {
  position: absolute;
  top: 50%;
  left: 15px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

/* ============================================
// component cp-breadcrumb
// ==========================================*/
.cp-breadcrumb {
  padding-top: 17px;
}

@media screen and (min-width: 768px) {
  .cp-breadcrumb {
    padding-top: 30px;
  }
}

.cp-breadcrumb li {
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1.75;
}

@media screen and (min-width: 768px) {
  .cp-breadcrumb li {
    font-size: 0.875rem;
    line-height: 1.42857;
  }
}

.cp-breadcrumb li:not(:last-child)::after {
  content: "＞";
}

.cp-breadcrumb li.js-last::after {
  content: "";
}

.cp-breadcrumb li a:not([tabindex="-1"]) {
  color: #bc3f3e;
  font-weight: bold;
}

.cp-breadcrumb li:last-child a:hover {
  opacity: 1;
}

.cp-breadcrumb a {
  display: inline-block;
}

/* ============================================
// component cp-to-top
// ==========================================*/
.cp-to-top {
  width: 45px;
  height: 45px;
  position: fixed;
  right: 15px;
  bottom: 15px;
  z-index: 200;
  display: none;
}

@media screen and (min-width: 768px) {
  .cp-to-top {
    width: 60px;
    height: 60px;
    right: 40px;
    bottom: 40px;
  }
}

/* ============================================
// component cp-to-next
// ==========================================*/
@media screen and (min-width: 768px) {
  .cp-to-next {
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .cp-to-next__wrapper {
    display: inline-block;
    position: relative;
  }
}

.cp-to-next__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  .cp-to-next__inner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 0;
  }
}

.cp-to-next__side {
  font-size: 0.625rem;
  font-weight: bold;
  position: relative;
}

@media screen and (min-width: 768px) {
  .cp-to-next__side {
    font-size: 0.75rem;
    position: absolute;
    top: 50%;
  }
}

.cp-to-next__side--prev {
  margin-left: 20px;
}

@media screen and (min-width: 768px) {
  .cp-to-next__side--prev {
    margin-left: 0;
    padding-right: 20px;
    left: 0;
    -webkit-transform: translate(-100%, -50%);
            transform: translate(-100%, -50%);
  }
}

.cp-to-next__side--prev::before {
  content: "";
  display: inline-block;
  width: 0.6875rem;
  height: 100%;
  background-image: url(/images/common/arrow_prev_red.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  left: -20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.cp-to-next__side--next {
  margin-right: 20px;
}

@media screen and (min-width: 768px) {
  .cp-to-next__side--next {
    margin-right: 0;
    padding-left: 20px;
    right: 0;
    -webkit-transform: translate(100%, -50%);
            transform: translate(100%, -50%);
  }
}

.cp-to-next__side--next::after {
  content: "";
  display: inline-block;
  width: 0.6875rem;
  height: 100%;
  background-image: url(/images/common/arrow_next_red.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: -20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.cp-to-next__center {
  display: block;
  padding: 0.8125rem 1.875rem 0.8125rem 3.03125rem;
  border-radius: 100vh;
  background-color: #bc3f3e;
  border: 1px solid #bc3f3e;
  font-size: 1.09375rem;
  font-weight: bold;
  line-height: 1;
  color: #ffffff;
  text-align: center;
  position: relative;
}

@media screen and (min-width: 768px) {
  .cp-to-next__center {
    display: inline-block;
    padding: 0.625rem 2.5rem 0.625rem 3.75rem;
    font-size: 1.0625rem;
  }
}

.cp-to-next__center:hover {
  opacity: 1;
}

.cp-to-next__center::before {
  display: block;
  content: "";
  width: 1.15625rem;
  height: 1.15625rem;
  background-image: url(/images/common/arrow_btn_red_up.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 1.875rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .cp-to-next__center::before {
    width: 1.0625rem;
    height: 1.0625rem;
  }
}

/* ============================================
// project technocenter
// ==========================================*/
.p-technocenter .cp-page-fv {
  background-image: url(/images/summary/field/technocenter/technocenter_fv_bg_sp.png);
}

@media screen and (min-width: 768px) {
  .p-technocenter .cp-page-fv {
    background-image: url(/images/summary/field/technocenter/technocenter_fv_bg_pc.png);
  }
}

@media screen and (min-width: 768px) {
  .p-technocenter .cp-page-fv__inner {
    padding: 40px 0 0;
  }
}

.p-technocenter .cp-page-fv__sub-title {
  width: 32vw;
}

@media screen and (min-width: 768px) {
  .p-technocenter .cp-page-fv__sub-title {
    width: min(20.5%, 205px);
  }
}

.p-technocenter__subtitle {
  background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
  background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
  margin-bottom: 1rem;
  width: 100%;
}

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

.p-technocenter__subtitle-inner {
  margin: 0 auto;
  padding: 1.23438rem 20px;
  color: #ffffff;
}

@media screen and (min-width: 768px) {
  .p-technocenter__subtitle-inner {
    padding: 1.5rem 0;
  }
}

.p-technocenter__subtitle-text {
  text-align: center;
  font-weight: bold;
  font-size: 1.1875rem;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .p-technocenter__subtitle-text {
    font-size: 2rem;
  }
}

.p-technocenter__attention {
  text-align: center;
  font-size: 0.625rem;
  line-height: 1.71429;
}

@media screen and (min-width: 768px) {
  .p-technocenter__attention {
    font-size: 0.875rem;
    line-height: 2.57143;
  }
}

.p-technocenter__text {
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: -0.04em;
}

@media screen and (min-width: 768px) {
  .p-technocenter__text {
    font-size: 1rem;
    line-height: 2.25;
    letter-spacing: 0em;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}

.p-technocenter__table-title {
  margin-bottom: 1.5625rem;
  font-weight: bold;
}

.p-technocenter__table-legend {
  margin-bottom: 1.75rem;
  width: 100%;
  table-layout: fixed;
  border: 0.0625rem solid #3c3c3c;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-legend {
    width: 48%;
  }
}

.p-technocenter__table-legend th {
  height: 2.6875rem;
  text-align: center;
  vertical-align: middle;
  background-color: #e6e6e6;
  border: 0.0625rem solid #3c3c3c;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-legend th {
    height: 4.0625rem;
  }
}

.p-technocenter__table-legend td {
  padding: 0.9375rem 0 1.25rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-legend td {
    padding: 1.375rem 1.25rem;
    border: 0.0625rem solid #3c3c3c;
  }
}

.p-technocenter__table-legend td img {
  margin-bottom: 0.625rem;
  width: 3.4375rem;
  height: 3.4375rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-legend td img {
    width: 3.75rem;
    height: 3.75rem;
  }
}

.p-technocenter__table-legend td p {
  font-size: 0.71875rem;
  line-height: 1.30435;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-legend td p {
    text-align: left;
    font-size: 1rem;
    line-height: 1.5;
  }
}

.p-technocenter__table-legend td:nth-child(1) {
  padding-left: 25%;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-legend td:nth-child(1) {
    padding-left: 1.25rem;
  }
}

.p-technocenter__table-legend td:nth-child(2) {
  padding-right: 25%;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-legend td:nth-child(2) {
    padding-right: 1.25rem;
  }
}

.p-technocenter__table-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row;
            flex-flow: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-technocenter__table-container {
  overflow-x: scroll;
  margin-bottom: 1.875rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-container {
    overflow-x: auto;
  }
}

.p-technocenter__table {
  width: 50rem;
  table-layout: fixed;
}

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

.p-technocenter__table th,
.p-technocenter__table td {
  width: 5rem;
  text-align: center;
  font-size: 0.71875rem;
  line-height: 1.34783;
  border: 0.0625rem solid #3c3c3c;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table th,
  .p-technocenter__table td {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.p-technocenter__table th img,
.p-technocenter__table td img {
  margin-top: 0.9375rem;
  width: 3.4375rem;
  height: 3.4375rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table th img,
  .p-technocenter__table td img {
    width: 3.75rem;
    height: 3.75rem;
  }
}

.p-technocenter__table th .p-technocenter__margin,
.p-technocenter__table td .p-technocenter__margin {
  margin-top: 1.625rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table th .p-technocenter__margin,
  .p-technocenter__table td .p-technocenter__margin {
    margin-top: 2.3125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-technocenter__table th .p-technocenter__margin02,
  .p-technocenter__table td .p-technocenter__margin02 {
    margin-top: 3.75rem;
  }
}

.p-technocenter__table th p,
.p-technocenter__table td p {
  margin-top: 0.5625rem;
  font-size: 0.6875rem;
  line-height: 1.01739;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table th p,
  .p-technocenter__table td p {
    margin-top: 0.5625rem;
    font-size: 0.875rem;
    line-height: 1.28571;
  }
}

.p-technocenter__table thead th {
  background-color: #e6e6e6;
  height: 3.9375rem;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table thead th {
    height: 5.5rem;
  }
}

.p-technocenter__table tbody td {
  height: 33.0625rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table tbody td {
    height: 36.375rem;
  }
}

.p-technocenter__table-middle {
  margin-bottom: 1.875rem;
  width: 100%;
  table-layout: fixed;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-middle {
    width: 40%;
    min-width: 25rem;
  }
}

.p-technocenter__table-middle th,
.p-technocenter__table-middle td {
  text-align: center;
  font-size: 0.71875rem;
  line-height: 1.34783;
  border: 0.0625rem solid #3c3c3c;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-middle th,
  .p-technocenter__table-middle td {
    font-size: 1rem;
    line-height: 1.5;
    border-left: none;
  }
}

.p-technocenter__table-middle th img,
.p-technocenter__table-middle td img {
  margin-top: 0.9375rem;
  width: 3.4375rem;
  height: 3.4375rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-middle th img,
  .p-technocenter__table-middle td img {
    width: 3.75rem;
    height: 3.75rem;
  }
}

.p-technocenter__table-middle th .p-technocenter__margin,
.p-technocenter__table-middle td .p-technocenter__margin {
  margin-top: 1.625rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-middle th .p-technocenter__margin,
  .p-technocenter__table-middle td .p-technocenter__margin {
    margin-top: 2.3125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-middle th .p-technocenter__margin02,
  .p-technocenter__table-middle td .p-technocenter__margin02 {
    margin-top: 3.75rem;
  }
}

.p-technocenter__table-middle th p,
.p-technocenter__table-middle td p {
  margin-top: 0.5625rem;
  font-size: 0.6875rem;
  line-height: 1.01739;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-middle th p,
  .p-technocenter__table-middle td p {
    margin-top: 0.5625rem;
    font-size: 0.875rem;
    line-height: 1.28571;
  }
}

.p-technocenter__table-middle thead th {
  background-color: #e6e6e6;
  height: 3.9375rem;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-middle thead th {
    height: 5.5rem;
  }
}

.p-technocenter__table-middle tbody td {
  height: 20.875rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-middle tbody td {
    height: 36.375rem;
  }
}

.p-technocenter__table-lowerright {
  margin-bottom: 1.875rem;
  width: 50%;
  table-layout: fixed;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-lowerright {
    width: 20%;
    min-width: 12.5rem;
  }
}

.p-technocenter__table-lowerright th,
.p-technocenter__table-lowerright td {
  text-align: center;
  font-size: 0.71875rem;
  line-height: 1.34783;
  border: 0.0625rem solid #3c3c3c;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-lowerright th,
  .p-technocenter__table-lowerright td {
    font-size: 1rem;
    line-height: 1.5;
    border-left: none;
  }
}

.p-technocenter__table-lowerright th img,
.p-technocenter__table-lowerright td img {
  margin-top: 0.9375rem;
  width: 3.4375rem;
  height: 3.4375rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-lowerright th img,
  .p-technocenter__table-lowerright td img {
    width: 3.75rem;
    height: 3.75rem;
  }
}

.p-technocenter__table-lowerright th .p-technocenter__margin,
.p-technocenter__table-lowerright td .p-technocenter__margin {
  margin-top: 1.625rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-lowerright th .p-technocenter__margin,
  .p-technocenter__table-lowerright td .p-technocenter__margin {
    margin-top: 2.3125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-lowerright th .p-technocenter__margin02,
  .p-technocenter__table-lowerright td .p-technocenter__margin02 {
    margin-top: 3.75rem;
  }
}

.p-technocenter__table-lowerright th p,
.p-technocenter__table-lowerright td p {
  margin-top: 0.5625rem;
  font-size: 0.6875rem;
  line-height: 1.01739;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-lowerright th p,
  .p-technocenter__table-lowerright td p {
    margin-top: 0.5625rem;
    font-size: 0.875rem;
    line-height: 1.28571;
  }
}

.p-technocenter__table-lowerright thead th {
  background-color: #e6e6e6;
  height: 3.9375rem;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-lowerright thead th {
    height: 5.5rem;
  }
}

.p-technocenter__table-lowerright tbody td {
  height: 17.1875rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__table-lowerright tbody td {
    height: 36.375rem;
  }
}

.p-technocenter__modal-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  row-gap: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row;
            flex-flow: row;
    width: 100%;
    max-width: 1000px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-column-gap: 1.875rem;
            column-gap: 1.875rem;
  }
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-open {
    width: 25.0vw;
  }
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-open:hover {
    opacity: 0.999;
  }
}

.p-technocenter__modal-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 1.6875rem 0 0.75rem;
  width: 100%;
  height: 2.5rem;
  font-size: 1.0625rem;
  line-height: 1.44118;
  color: #ffffff;
  background-color: #3c3c3c;
  z-index: -2;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-link {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0 1.6875rem 0 0.75rem;
    width: 100%;
    max-width: 300px;
    height: 5.375rem;
    font-size: 1.75rem;
    line-height: 1;
  }
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-link:hover::after {
    border-left: 0.375rem solid #bc3f3e;
  }
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-link:hover {
    background-color: #bc3f3e;
  }
}

.p-technocenter__modal-link::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 1.5625rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.0625rem;
  height: 1.0625rem;
  background-color: #ffffff;
  border-radius: 1.25rem;
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-link::before {
    width: 1.5rem;
    height: 1.5rem;
  }
}

.p-technocenter__modal-link::after {
  content: '';
  width: 0px;
  height: 0px;
  border-top: 0.25rem solid rgba(0, 0, 0, 0);
  border-right: 0.25rem solid rgba(0, 0, 0, 0);
  border-bottom: 0.25rem solid rgba(0, 0, 0, 0);
  border-left: 0.25rem solid #3c3c3c;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-link::after {
    position: absolute;
    right: 1.71875rem;
    border-top: 0.375rem solid rgba(0, 0, 0, 0);
    border-right: 0.375rem solid rgba(0, 0, 0, 0);
    border-bottom: 0.375rem solid rgba(0, 0, 0, 0);
    border-left: 0.375rem solid #3c3c3c;
  }
}

.p-technocenter__hide-area {
  display: none;
}

.p-technocenter__wrap {
  margin: 0 auto;
  width: 100%;
  max-width: 45rem;
}

.p-technocenter__modal-subtitle {
  background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
  background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
  margin-bottom: 1rem;
  width: 100%;
  height: 4.5625rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-subtitle {
    margin-bottom: 1.25rem;
    height: 5.1875rem;
  }
}

.p-technocenter__modal-subtitle-text {
  text-align: center;
  font-weight: bold;
  font-size: 1.1875rem;
  color: #ffffff;
  line-height: 3.84211;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-subtitle-text {
    font-size: 2rem;
    line-height: 2.59375;
  }
}

.p-technocenter__outer05 {
  margin: 3.125rem 0 3.125rem;
}

.p-technocenter__outer06 {
  margin-top: 3.375rem;
}

.p-technocenter__outer07 {
  margin: 3.125rem 0;
}

.p-technocenter__outer08 {
  margin: 6.25rem 0 3.125rem;
}

.p-technocenter__outer09 {
  margin-top: 3.125rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__outer09 {
    margin-top: 0;
  }
}

.p-technocenter__outer10 {
  margin-top: 3.125rem;
}

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

.p-technocenter__cp-h2-modal {
  font-weight: bold;
  font-size: 1.6875rem;
  line-height: 1.475;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 768px) {
  .p-technocenter__cp-h2-modal {
    font-size: 1.625rem;
    line-height: 1.58462;
    letter-spacing: 0.1em;
  }
}

.p-technocenter__modal-text {
  margin: 0 1.25rem 1.5625rem 0;
  font-size: 0.875rem;
  line-height: 1.92857;
  letter-spacing: -0.02em;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-text {
    font-size: 1rem;
  }
}

.p-technocenter__modal-text--bold {
  font-size: 0.875rem;
  font-weight: bold;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-text--bold {
    font-size: 1rem;
  }
}

.p-technocenter__modal-text--small {
  font-size: 0.78125rem;
}

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

.p-technocenter__modal-attention {
  margin: 0 0 1.5625rem 0;
  padding-left: 1.25rem;
  font-size: 0.8125rem;
  line-height: 2;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-attention {
    font-size: 1rem;
  }
}

.p-technocenter__modal-wrap {
  overflow-x: scroll;
}

.p-technocenter__modal-table01 {
  width: 45.625rem;
  border-collapse: collapse;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table01 {
    width: 42.5rem;
  }
}

.p-technocenter__modal-table01 th {
  color: #ffffff;
  background-color: #769bc7;
}

.p-technocenter__modal-table01 th,
.p-technocenter__modal-table01 td {
  text-align: center;
  vertical-align: middle;
  font-size: 0.9375rem;
  font-weight: normal;
  border: 2px solid #ffffff;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.p-technocenter__modal-table01 th .taxin,
.p-technocenter__modal-table01 td .taxin {
  letter-spacing: -0.1em;
  font-weight: 100;
  color: black;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table01 th,
  .p-technocenter__modal-table01 td {
    font-size: 0.875rem;
  }
}

.p-technocenter__modal-table01 thead th:nth-child(1) {
  height: 5.125rem;
  font-weight: bold;
  color: #ff0000;
  background-color: #ced7e8;
}

.p-technocenter__modal-table01 tbody td {
  background-color: #e8ecf4;
}

.p-technocenter__modal-table01 tbody th:nth-child(1) {
  width: 3.75rem;
}

.p-technocenter__modal-table01 tbody td:nth-child(2) {
  width: 7.5rem;
  height: 7.1875rem;
}

.p-technocenter__modal-table01 tbody tr:nth-child(1) td:nth-child(2) {
  background-color: #ced7e8;
}

.p-technocenter__modal-table01 tbody tr:nth-child(2) td:nth-child(1) {
  background-color: #ced7e8;
}

.p-technocenter__modal-table01 tbody tr:nth-child(3) td:nth-child(1) {
  background-color: #ced7e8;
}

.p-technocenter__modal-table01 tbody td:nth-child(3) {
  width: 5.125rem;
}

.p-technocenter__modal-table01 tbody td:nth-child(4) {
  width: 7.625rem;
}

.p-technocenter__modal-table01 tbody td:nth-child(5) {
  padding: 35px 14px 0;
  width: 15.6875rem;
  text-align: left;
  vertical-align: middle;
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: -0.004em;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table01 tbody td:nth-child(5) {
    padding: 0.75rem;
    font-size: 0.6875rem;
  }
}

.p-technocenter__modal-table01 tbody td:nth-child(5) p {
  margin-bottom: 1.5625rem;
}

.p-technocenter__modal-table01 tbody td:nth-child(6) {
  width: 6.9375rem;
  vertical-align: top;
}

.p-technocenter__modal-table01 tbody td:nth-child(6) p {
  margin-top: 4.6875rem;
  line-height: 1.36364;
}

.p-technocenter__modal-table01 td span {
  font-weight: bold;
  color: #ff0000;
}

.p-technocenter__modal-table02 {
  width: 45.9375rem;
  border-collapse: collapse;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table02 {
    width: 42.5rem;
  }
}

.p-technocenter__modal-table02 th {
  font-size: 0.9375rem;
  font-weight: normal;
  color: #ffffff;
  background-color: #769bc7;
}

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

.p-technocenter__modal-table02 th,
.p-technocenter__modal-table02 td {
  text-align: center;
  vertical-align: middle;
  border: 2px solid #ffffff;
}

.p-technocenter__modal-table02 td {
  font-size: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table02 td {
    font-size: 0.8125rem;
  }
}

.p-technocenter__modal-table02 thead th:nth-child(1) {
  height: 3.75rem;
}

.p-technocenter__modal-table02 tbody td {
  background-color: #e8ecf4;
}

.p-technocenter__modal-table02 tbody td .taxin {
  letter-spacing: -0.1em;
}

.p-technocenter__modal-table02 tbody th:nth-child(1) {
  width: 4.75rem;
}

.p-technocenter__modal-table02 tbody tr:nth-child(1) td:nth-child(2) {
  width: 9.1875rem;
  height: 5.625rem;
  background-color: #ced7e8;
}

.p-technocenter__modal-table02 tbody tr:nth-child(2) td:nth-child(1) {
  width: 9.1875rem;
  height: 9.375rem;
  background-color: #ced7e8;
}

.p-technocenter__modal-table02 tbody tr:nth-child(3) td:nth-child(1) {
  width: 9.1875rem;
  height: 5.625rem;
  background-color: #ced7e8;
}

.p-technocenter__modal-table02 tbody tr:nth-child(4) td:nth-child(1) {
  width: 9.1875rem;
  height: 5.625rem;
  background-color: #ced7e8;
}

.p-technocenter__modal-table02 tbody tr:nth-child(6) td:nth-child(2) {
  background-color: #ced7e8;
}

.p-technocenter__modal-table02 tbody tr:nth-child(7) td:nth-child(1) {
  background-color: #ced7e8;
}

.p-technocenter__modal-table02 thead th:nth-child(2) {
  width: 7.5rem;
  height: 3.75rem;
}

.p-technocenter__modal-table02 thead th:nth-child(3) {
  width: 18.75rem;
}

.p-technocenter__modal-table02 thead th:nth-child(4) {
  width: 8.625rem;
}

.p-technocenter__modal-table02 tbody tr:nth-child(1) td:nth-child(4),
.p-technocenter__modal-table02 tbody tr:nth-child(2) td:nth-child(3),
.p-technocenter__modal-table02 tbody tr:nth-child(3) td:nth-child(3),
.p-technocenter__modal-table02 tbody tr:nth-child(4) td:nth-child(3) {
  padding: 0.9375rem 0.625rem;
  text-align: left;
  font-size: 0.875rem;
  line-height: 1.65517;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table02 tbody tr:nth-child(1) td:nth-child(4),
  .p-technocenter__modal-table02 tbody tr:nth-child(2) td:nth-child(3),
  .p-technocenter__modal-table02 tbody tr:nth-child(3) td:nth-child(3),
  .p-technocenter__modal-table02 tbody tr:nth-child(4) td:nth-child(3) {
    font-size: 0.6875rem;
  }
}

.p-technocenter__modal-table02 tbody tr:nth-child(5) td:nth-child(1) {
  padding: 1.25rem;
  text-align: left;
  font-size: 0.875rem;
  line-height: 1.65517;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table02 tbody tr:nth-child(5) td:nth-child(1) {
    font-size: 0.6875rem;
  }
}

.p-technocenter__modal-table02 tbody tr:nth-child(6) td:nth-child(3),
.p-technocenter__modal-table02 tbody tr:nth-child(7) td:nth-child(2) {
  padding-left: 0.5rem;
  text-align: left;
}

.p-technocenter__modal-table02 tbody tr:nth-child(6) td:nth-child(4),
.p-technocenter__modal-table02 tbody tr:nth-child(7) td:nth-child(3) {
  padding: 1.25rem;
  text-align: left;
  font-size: 0.875rem;
  line-height: 1.65517;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table02 tbody tr:nth-child(6) td:nth-child(4),
  .p-technocenter__modal-table02 tbody tr:nth-child(7) td:nth-child(3) {
    font-size: 0.6875rem;
  }
}

.p-technocenter__modal-table02 tbody td:nth-child(5) {
  vertical-align: middle;
}

.p-technocenter__modal-table02 tbody td:nth-child(5) p {
  margin-top: 3.125rem;
  line-height: 1.36364;
}

.p-technocenter__modal-table03 {
  width: 45.6875rem;
  border-collapse: collapse;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table03 {
    width: 42.5rem;
  }
}

.p-technocenter__modal-table03 th {
  font-size: 0.9375rem;
  font-weight: normal;
  color: #ffffff;
  background-color: #769bc7;
}

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

.p-technocenter__modal-table03 th,
.p-technocenter__modal-table03 td {
  text-align: center;
  vertical-align: middle;
  border: 2px solid #ffffff;
}

.p-technocenter__modal-table03 thead th:nth-child(2) {
  width: 5.625rem;
  height: 2.4375rem;
}

.p-technocenter__modal-table03 tbody th:nth-child(1) {
  width: 3.4375rem;
  height: 12.8125rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table03 tbody th:nth-child(1) {
    height: 10.3125rem;
  }
}

.p-technocenter__modal-table03 tbody tr:nth-child(1) td:nth-child(2),
.p-technocenter__modal-table03 tbody tr:nth-child(2) td:nth-child(1) {
  width: 4.5rem;
  height: 2.1875rem;
  background-color: #ced7e8;
}

.p-technocenter__modal-table03 tbody tr:nth-child(3) td:nth-child(1) {
  width: 4.5rem;
  height: 8.5rem;
  background-color: #ced7e8;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table03 tbody tr:nth-child(3) td:nth-child(1) {
    height: 5.9375rem;
  }
}

.p-technocenter__modal-table03 tbody td {
  font-size: 0.9375rem;
  background-color: #e8ecf4;
}

.p-technocenter__modal-table03 tbody td .taxin {
  letter-spacing: -0.1em;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table03 tbody td {
    font-size: 0.8125rem;
  }
}

.p-technocenter__modal-table03 tbody tr:nth-child(1) td:nth-child(4) {
  padding: 1.125rem 1.25rem;
  width: 20.625rem;
  text-align: left;
  vertical-align: middle;
  font-size: 0.875rem;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table03 tbody tr:nth-child(1) td:nth-child(4) {
    font-size: 0.6875rem;
  }
}

.p-technocenter__modal-table03 tbody tr:nth-child(1) td:nth-child(4) p:not(:last-child) {
  padding-bottom: 2.1875rem;
}

.p-technocenter__modal-table03 tbody tr:nth-child(1) td:nth-child(5) {
  padding-left: 1.125rem;
  width: 11.5rem;
  text-align: left;
  vertical-align: middle;
  font-size: 0.875rem;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table03 tbody tr:nth-child(1) td:nth-child(5) {
    font-size: 0.6875rem;
  }
}

.p-technocenter__modal-table04 {
  width: 44.5rem;
  border-collapse: collapse;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table04 {
    width: 42.5rem;
  }
}

.p-technocenter__modal-table04 th {
  font-size: 0.9375rem;
  font-weight: normal;
  color: #ffffff;
  background-color: #769bc7;
}

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

.p-technocenter__modal-table04 th,
.p-technocenter__modal-table04 td {
  text-align: center;
  vertical-align: middle;
  border: 2px solid #ffffff;
}

.p-technocenter__modal-table04 tbody td {
  background-color: #e8ecf4;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table04 tbody td {
    font-size: 0.6875rem;
  }
}

.p-technocenter__modal-table04 thead th:nth-child(2) {
  height: 2.8125rem;
}

.p-technocenter__modal-table04 tbody th:nth-child(1) {
  width: 6.4375rem;
  height: 15.625rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table04 tbody th:nth-child(1) {
    height: 12.5rem;
  }
}

.p-technocenter__modal-table04 tbody td:nth-child(2) {
  padding: 0 1.125rem;
  width: 253px;
  text-align: left;
  vertical-align: middle;
  font-size: 0.9375rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table04 tbody td:nth-child(2) {
    padding: 0 0.625rem;
  }
}

.p-technocenter__modal-table04 tbody td:nth-child(2) p {
  margin: 1.0625rem 0;
  line-height: 1.61765;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.p-technocenter__modal-table04 tbody td:nth-child(3) {
  padding: 0 1.125rem;
  width: 203px;
  text-align: left;
  vertical-align: middle;
  font-size: 0.875rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table04 tbody td:nth-child(3) {
    padding: 0 0.625rem;
  }
}

.p-technocenter__modal-table04 tbody td:nth-child(3) p {
  margin: 1.0625rem 0;
  line-height: 1.61765;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.p-technocenter__modal-table04 tbody td:nth-child(4) {
  padding: 0 1.125rem;
  width: 9.5rem;
  text-align: left;
  vertical-align: middle;
  font-size: 0.875rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-table04 tbody td:nth-child(4) {
    padding: 0 0.625rem;
  }
}

.p-technocenter__modal-table04 tbody td:nth-child(4) p {
  margin: 2.1875rem 0;
  line-height: 1.61765;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.p-technocenter__modal-inner {
  margin: 0 auto;
  width: 100%;
  max-width: 23.4375rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-inner {
    margin: 0 auto;
    width: 100%;
    max-width: 42.5rem;
  }
}

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

.p-technocenter__modal-flow {
  margin: 0 auto 1.5625rem;
  width: 100%;
  max-width: 17.1875rem;
  height: 5.25rem;
  text-align: center;
  font-size: 0.84375rem;
  font-weight: bold;
  color: #ffffff;
  background: url(../../../images/summary/field/technocenter/technocenter_modal-flow.png) no-repeat;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-flow {
    margin: 0 2.125rem 1.375rem 0;
    max-width: 10.03125rem;
    height: 13.3125rem;
    background: url(../../../images/summary/field/technocenter/technocenter_modal-flow-pc.png) no-repeat;
  }
}

.p-technocenter__modal-step {
  padding-top: 0.3125rem;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-step {
    padding-top: 2.8125rem;
    font-size: 1.125rem;
  }
}

.p-technocenter__modal-step--lower {
  padding-top: 0.3125rem;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-step--lower {
    padding-top: 0.3125rem;
    font-size: 1.125rem;
  }
}

.p-technocenter__modal-line {
  margin: 0 auto;
  width: 2.75rem;
  border: 1px solid #ffffff;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-line {
    width: 3.5625rem;
  }
}

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

.p-technocenter__modal02-text {
  font-size: 0.875rem;
  line-height: 1.92857;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal02-text {
    font-size: 0.84375rem;
    line-height: 1.62222;
    margin-bottom: 0.625rem;
  }
}

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

.p-technocenter__modal-contact {
  margin-top: 0.75rem;
  padding: 1.25rem;
  width: 100%;
  background-color: #e5e5e6;
  border-bottom: 2.5px solid #3c3c50;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-contact {
    margin-top: 0;
    padding: 0.625rem 1.25rem;
    width: 20vw;
    max-width: 15rem;
    border-right: 2.5px solid #3c3c50;
    border-bottom: none;
  }
}

.p-technocenter__modal-contact--lower {
  margin-bottom: 3.125rem;
  padding: 1.25rem;
  width: 100%;
  background-color: #e5e5e6;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-contact--lower {
    margin-bottom: 0;
    padding: 0.625rem 1.25rem;
    width: 20vw;
    max-width: 15rem;
  }
}

.p-technocenter__modal-contact-title {
  margin-bottom: 0.5rem;
  font-size: 0.90625rem;
  font-weight: bold;
  line-height: 1.55172;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  border-bottom: 2px solid #3c3c50;
}

.p-technocenter__modal-contact-text {
  font-size: 0.84375rem;
  line-height: 1.62963;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.p-technocenter__modal-contact-tel {
  margin-bottom: 0.5rem;
  font-size: 1.375rem;
  font-weight: bold;
  line-height: 1.22727;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.p-technocenter__modal-contact-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0.5rem;
  width: 10.625rem;
}

.p-technocenter__modal-contact-time {
  width: 42%;
  height: 1.25rem;
  text-align: center;
  vertical-align: middle;
  font-size: 0.875rem;
  line-height: 1.39286;
  color: #ffffff;
  background-color: #3c3c3c;
}

.p-technocenter__modal-contact-hour {
  width: 58%;
  height: 1.25rem;
  text-align: center;
  vertical-align: middle;
  font-size: 0.875rem;
  line-height: 1.39286;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.p-technocenter__modal-contact-horiday {
  font-size: 0.875rem;
  line-height: 1.39286;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.p-technocenter__modal-contact-link-box {
  padding-top: 0.75rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-contact-link-box {
    padding-top: 0.25rem;
  }
}

.p-technocenter__modal-contact-link-box .l-container {
  padding: 0;
}

.p-technocenter__modal-contact-link {
  font-weight: bold;
}

.p-technocenter__modal-textbox {
  margin-bottom: 2.5rem;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-textbox {
    margin-bottom: 1.125rem;
  }
}

.p-technocenter__modal-textbox-margin {
  margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-textbox-margin {
    margin-top: 0;
  }
}

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

@media screen and (min-width: 768px) {
  .p-technocenter__modal-textbox-margin03 {
    margin-top: 1.75rem;
  }
}

.p-technocenter__modar-br {
  display: none;
}

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

.p-technocenter__modal-qatable {
  margin-bottom: 2.625rem;
  width: 100%;
}

.p-technocenter__modal-qatable td {
  text-align: left;
  font-size: 0.875rem;
  line-height: 1.92857;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-technocenter__modal-qatable td {
    font-size: 1rem;
    line-height: 2.25;
  }
}

.p-technocenter__modal-qatable td:first-child {
  width: 1.875rem;
}

.p-technocenter__mail {
  margin: 15px 0 -15px;
}

.p-technocenter__mail p > a {
  border-bottom: 1px solid #3c3c3c;
  color: #1e4089;
  font-size: 0.9375rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .p-technocenter__mail p > a {
    font-size: 1.0625rem;
  }
}

.p-solution {
  /* ============================================
	// FV
	// ==========================================*/
  /* ============================================
	// item
	// ==========================================*/
}

.p-solution .sp-block {
  display: block;
}

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

.p-solution .cp-page-fv {
  background-image: url(../images/summary/solution/mv.png);
}

@media screen and (min-width: 768px) {
  .p-solution .cp-page-fv {
    background-image: url(../images/summary/solution/mv-pc.png);
  }
}

.p-solution .cp-page-fv__sub-title {
  width: 29.33333vw;
}

@media screen and (min-width: 768px) {
  .p-solution .cp-page-fv__sub-title {
    width: min(20.4%, 204px);
  }
}

.p-solution .p-solution-item {
  width: 100%;
}

.p-solution .p-solution-item__inner {
  width: 86.66667vw;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .p-solution .p-solution-item__inner {
    width: 1000px;
    margin: 0 auto;
  }
}

.p-solution .p-solution-item__list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (min-width: 768px) {
  .p-solution .p-solution-item__list {
    width: 940px;
    margin: 0 auto 0 auto;
  }
}

.p-solution .p-solution-item__box {
  width: 42vw;
  height: 42vw;
  margin-bottom: 2.66667vw;
  border: solid 1px #D1D1D1;
}

@media screen and (min-width: 768px) {
  .p-solution .p-solution-item__box {
    width: 221px;
    height: 201px;
    margin-bottom: 30px;
  }
}

.p-solution .p-solution-item__box a {
  display: inline-block;
  width: 100%;
  height: 100%;
}

.p-solution .p-solution-item__box:nth-child(32) {
  width: 0;
  height: 0;
  margin-bottom: 0;
  border: none;
}

@media screen and (min-width: 768px) {
  .p-solution .p-solution-item__box:nth-child(32) {
    width: 221px;
    height: 201px;
    margin-bottom: 30px;
  }
}

.p-solution .p-solution-item__dummy-img-container {
  background: #B2B2B2;
}

.p-solution .p-solution-item__img-container {
  width: 38vw;
  height: 24vw;
  margin: 4.26667vw auto 3.33333vw auto;
}

@media screen and (min-width: 768px) {
  .p-solution .p-solution-item__img-container {
    width: 181px;
    height: 116px;
    margin: 20px auto 15px auto;
  }
}

.p-solution .p-solution-item__img-container img {
  width: 38vw;
  height: 24vw;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-solution .p-solution-item__img-container img {
    width: 181px;
    height: 116px;
  }
}

.p-solution .p-solution-item__img-container img.objfit-contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.p-solution .p-solution-item__text-link {
  color: #231815;
  font-size: 2.66667vw;
  font-weight: 500;
  margin-left: 1.33333vw;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-solution .p-solution-item__text-link {
    font-size: 12px;
    line-height: 1.66667;
  }
}

.p-products {
  /* ============================================
	// FV
	// ==========================================*/
  /* ============================================
	// item
	// ==========================================*/
}

.p-products .cp-page-fv {
  background-image: url(../images/summary/products/mv.png);
}

@media screen and (min-width: 768px) {
  .p-products .cp-page-fv {
    background-image: url(../images/summary/products/mv-pc.png);
  }
}

.p-products .cp-page-fv__sub-title {
  width: 19.2vw;
}

@media screen and (min-width: 768px) {
  .p-products .cp-page-fv__sub-title {
    width: min(13.8%, 138px);
  }
}

.p-products .p-products-item {
  width: 100%;
}

.p-products .p-products-item__inner {
  width: 86.66667vw;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .p-products .p-products-item__inner {
    width: 1000px;
    margin: 0 auto;
  }
}

.p-products .p-products-item__list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (min-width: 768px) {
  .p-products .p-products-item__list {
    width: 940px;
    margin: 0 auto 0 auto;
  }
}

.p-products .p-products-item__box {
  width: 42vw;
  height: 42vw;
  margin-bottom: 2.66667vw;
  border: solid 1px #D1D1D1;
}

@media screen and (min-width: 768px) {
  .p-products .p-products-item__box {
    width: 221px;
    height: 201px;
    margin-bottom: 25px;
  }
  .p-products .p-products-item__box:last-child {
    margin-right: auto;
    margin-left: 18.666px;
  }
}

.p-products .p-products-item__box a {
  display: inline-block;
  width: 100%;
  height: 100%;
}

.p-products .p-products-item__dummy-img-container {
  background: #B2B2B2;
}

.p-products .p-products-item__img-container {
  width: 37.86667vw;
  height: 24.13333vw;
  margin: 4.26667vw auto 3.33333vw auto;
}

@media screen and (min-width: 768px) {
  .p-products .p-products-item__img-container {
    width: 181px;
    height: 116px;
    margin: 20px auto 15px auto;
  }
}

.p-products .p-products-item__img-container img {
  width: 37.86667vw;
  height: 24.13333vw;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-products .p-products-item__img-container img {
    width: 181px;
    height: 116px;
  }
}

.p-products .p-products-item__text-link {
  color: #231815;
  font-size: 2.4vw;
  font-weight: 500;
  margin-left: 1.33333vw;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.5;
  letter-spacing: -0.089em;
}

@media screen and (min-width: 768px) {
  .p-products .p-products-item__text-link {
    font-size: 12px;
    line-height: 1.66667;
  }
}

@media screen and (min-width: 768px) {
  .p-products .mb-zero {
    margin-bottom: 0;
  }
}

.p-products .sp_block {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-products .sp_block {
    display: inline;
  }
}

.p-future__top-container {
  background-image: url(/images/future/future-top-sp.png);
}

@media screen and (min-width: 768px) {
  .p-future__top-container {
    background-image: url(/images/future/future-top-pc.png);
  }
}

.p-future__top-sub-title {
  width: 48vw;
}

.p-future__top-sub-title img {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

@media screen and (min-width: 768px) {
  .p-future__top-sub-title {
    width: min(20.8%, 208px);
  }
}

@media screen and (min-width: 768px) {
  .p-future__main-content-title-inner {
    padding: 2.375rem 0;
  }
}

.p-future__main-content-title-text {
  font-size: 1.1875rem;
  letter-spacing: 0.1em;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-future__main-content-title-text {
    font-size: 2.375rem;
  }
}

.p-future__main-content-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0;
}

@media screen and (min-width: 768px) {
  .p-future__main-content-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin: 0 auto;
  }
}

@media screen and (min-width: 768px) {
  .p-future__main-content-image {
    margin-bottom: 7.5rem;
  }
}

.p-future__main-content-text {
  padding: 0 5%;
}

@media screen and (min-width: 768px) {
  .p-future__main-content-text {
    font-size: 1rem;
    line-height: 2.25;
    letter-spacing: 0em;
    margin-left: auto;
    margin-right: auto;
    padding: 0 7%;
  }
}

.p-future__decarbonization {
  padding: 0;
  margin-bottom: 3.125rem;
}

@media screen and (min-width: 768px) {
  .p-future__decarbonization {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4.6875rem;
  }
}

.p-future__decarbonization-title {
  margin-left: 20px;
  margin-right: 20px;
}

@media screen and (min-width: 768px) {
  .p-future__decarbonization-title {
    margin-left: 10%;
    margin-right: 10%;
  }
}

.p-future__decarbonization-text {
  margin-left: 20px;
  margin-right: 20px;
}

@media screen and (min-width: 768px) {
  .p-future__decarbonization-text {
    margin-left: 10%;
    margin-right: 10%;
  }
}

.p-future__hydrogen-equipment {
  position: relative;
}

.p-future__hydrogen-equipment-inner {
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-future__hydrogen-equipment-inner {
    left: -20%;
    background-image: url(../images/future/gray-back-pc.jpg);
    width: 100%;
    height: 13.125rem;
  }
}

@media (min-width: 900px) {
  .p-future__hydrogen-equipment-inner {
    left: -30%;
    width: 100vw;
    max-width: 1920px;
  }
}

@media screen and (min-width: 1280px) {
  .p-future__hydrogen-equipment-inner {
    left: -40%;
  }
}

.p-future__hydrogen-equipment-back {
  width: 100%;
  height: 15.3125rem;
}

.p-future__hydrogen-equipment-box-sp {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 768px) {
  .p-future__hydrogen-equipment-box-sp {
    display: none;
  }
}

.p-future__hydrogen-equipment-box-pc {
  width: 100%;
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 auto;
  position: relative;
  top: -175px;
}

@media (max-width: 767px) {
  .p-future__hydrogen-equipment-box-pc {
    display: none;
  }
}

.p-future__hydrogen-equipment-title {
  color: #ffffff;
  font-weight: bold;
  font-size: 1.625rem;
  letter-spacing: 0.1em;
  background-color: #bc3f3e;
  padding: 0.625rem 1.25rem;
  text-align: center;
  max-width: 14.375rem;
  margin: 0 auto 2.3125rem auto;
}

@media screen and (min-width: 768px) {
  .p-future__hydrogen-equipment-title {
    font-size: 1.5rem;
    margin: 0 10%;
    margin-bottom: 2rem;
  }
}

.p-future__hydrogen-equipment-text {
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 2;
  letter-spacing: 0em;
  padding: 0 1.5625rem;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .p-future__hydrogen-equipment-text {
    font-size: 1rem;
    line-height: 2.25;
    padding: 0;
    margin: 0 10%;
  }
}

.p-future__hydrogen-equipment-image-box {
  padding: 0;
}

.p-future__hydrogen-equipment-image {
  width: 100%;
  max-width: 100%;
}

@media screen and (min-width: 768px) {
  .p-future__hydrogen-equipment-image {
    width: 100%;
    max-width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: -220px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 10%;
  }
}

.p-future__wind-power-equipment {
  padding: 0;
}

@media screen and (min-width: 768px) {
  .p-future__wind-power-equipment {
    margin-left: auto;
    margin-right: auto;
  }
}

.p-future__wind-power-equipment-inner {
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-future__wind-power-equipment-inner {
    left: 30%;
    background-image: url(../images/future/gray-back-pc.jpg);
    width: 100%;
    height: 13.125rem;
  }
}

@media (min-width: 900px) {
  .p-future__wind-power-equipment-inner {
    left: 40%;
    width: 100vw;
    max-width: 1920px;
  }
}

.p-future__wind-power-equipment-back {
  width: 100%;
  height: 15.3125rem;
}

.p-future__wind-power-equipment-box-sp {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 768px) {
  .p-future__wind-power-equipment-box-sp {
    display: none;
  }
}

.p-future__wind-power-equipment-box-pc {
  width: 100%;
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 auto;
  position: relative;
  top: -175px;
  left: 20%;
}

@media (max-width: 767px) {
  .p-future__wind-power-equipment-box-pc {
    display: none;
  }
}

@media (min-width: 900px) {
  .p-future__wind-power-equipment-box-pc {
    left: 30%;
  }
}

.p-future__wind-power-equipment-title {
  color: #ffffff;
  font-weight: bold;
  font-size: 1.625rem;
  letter-spacing: 0.1em;
  background-color: #bc3f3e;
  padding: 0.625rem 1.25rem;
  text-align: center;
  max-width: 14.375rem;
  margin: 0 auto 2.3125rem auto;
}

@media screen and (min-width: 768px) {
  .p-future__wind-power-equipment-title {
    font-size: 1.5rem;
    margin: 0 15%;
    margin-bottom: 2rem;
  }
}

.p-future__wind-power-equipment-text {
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 2;
  letter-spacing: 0em;
  padding: 0 1.5625rem;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .p-future__wind-power-equipment-text {
    font-size: 1rem;
    line-height: 2.25;
    padding: 0;
    margin: 0 15%;
  }
}

@media screen and (min-width: 768px) {
  .p-future__wind-power-equipment-image {
    max-width: 700px;
    width: 58%;
    margin-top: -240px;
    margin-right: 40%;
  }
}

.p-future__digital-promotion1 {
  padding: 0;
}

@media screen and (min-width: 768px) {
  .p-future__digital-promotion1 {
    margin-left: auto;
    margin-right: auto;
  }
}

.p-future__digital-promotion2 {
  padding: 0;
}

@media screen and (min-width: 768px) {
  .p-future__digital-promotion2 {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4.6875rem;
  }
}

.p-future__digital-promotion3 {
  padding: 0;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-future__digital-promotion3 {
    margin-top: -292px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4.6875rem;
  }
}

.p-future__digital-promotion4 {
  position: relative;
  z-index: -1;
}

.p-future__digital-promotion-title {
  margin-left: 20px;
  margin-right: 20px;
}

@media screen and (min-width: 768px) {
  .p-future__digital-promotion-title {
    margin-left: 10%;
    margin-right: 10%;
  }
}

@media screen and (min-width: 768px) {
  .p-future__digital-promotion-image-pc {
    display: block;
    max-width: 721px;
    width: 58%;
    margin-top: -90px;
    margin-left: auto;
  }
}

@media screen and (min-width: 1024px) {
  .p-future__digital-promotion-image-pc {
    margin-top: -110px;
  }
}

.p-future__digital-promotion-back {
  position: relative;
  height: 16.25rem;
}

@media screen and (min-width: 768px) {
  .p-future__digital-promotion-back {
    left: -10%;
    width: 100%;
  }
}

@media (min-width: 900px) {
  .p-future__digital-promotion-back {
    left: -20%;
  }
}

@media (min-width: 1100px) {
  .p-future__digital-promotion-back {
    left: -33%;
  }
}

@media (min-width: 1600px) {
  .p-future__digital-promotion-back {
    left: -36%;
  }
}

.p-future__digital-promotion-text {
  margin-left: 20px;
  margin-right: 20px;
}

@media screen and (min-width: 768px) {
  .p-future__digital-promotion-text {
    font-size: 1rem;
    line-height: 2.25;
    letter-spacing: 0em;
    margin-left: 10%;
    margin-right: 10%;
  }
}

.p-future__overseas-expansion {
  padding: 0;
}

@media screen and (min-width: 768px) {
  .p-future__overseas-expansion {
    margin-left: auto;
    margin-right: auto;
  }
}

.p-future__overseas-expansion-title {
  margin-left: 20px;
  margin-right: 20px;
}

@media screen and (min-width: 768px) {
  .p-future__overseas-expansion-title {
    margin-left: 10%;
    margin-right: 10%;
  }
}

@media screen and (min-width: 768px) {
  .p-future__overseas-expansion-image-pc {
    display: block;
    max-width: 721px;
    width: 58%;
    margin-right: auto;
  }
}

.p-future__overseas-expansion-box {
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-future__overseas-expansion-box {
    margin-top: -10vw;
  }
}

@media screen and (min-width: 1024px) {
  .p-future__overseas-expansion-box {
    margin-top: -330px;
  }
}

.p-future__overseas-expansion-back {
  position: relative;
  height: 13.125rem;
}

@media screen and (min-width: 768px) {
  .p-future__overseas-expansion-back {
    left: 21%;
    width: 100%;
  }
}

@media screen and (min-width: 1024px) {
  .p-future__overseas-expansion-back {
    left: 39%;
  }
}

@media (min-width: 1200px) {
  .p-future__overseas-expansion-back {
    left: 47%;
  }
}

.p-future__overseas-expansion-text {
  margin-left: 20px;
  margin-right: 20px;
}

@media screen and (min-width: 768px) {
  .p-future__overseas-expansion-text {
    position: absolute;
    top: 50px;
    left: 23%;
    font-size: 1rem;
    line-height: 2.25;
    letter-spacing: 0em;
    width: 100%;
  }
}

@media screen and (min-width: 1024px) {
  .p-future__overseas-expansion-text {
    left: 41%;
  }
}

@media (min-width: 1200px) {
  .p-future__overseas-expansion-text {
    left: 49%;
  }
}

#p-future__decarbonization-id {
  margin-top: -50px;
  padding-top: 50px;
}

@media screen and (min-width: 768px) {
  #p-future__decarbonization-id {
    margin-top: -150px;
    padding-top: 150px;
  }
}

#p-sq .cp-page-fv {
  height: 97.07vw;
  margin-bottom: 0;
  background-image: url(/images/sq/mv_bg_sp_01.png);
}

@media screen and (min-width: 768px) {
  #p-sq .cp-page-fv {
    height: 220px;
    background-image: url(/images/sq/mv_bg_pc_01.png);
  }
}

#p-sq .cp-page-fv__sub-title {
  width: 41.26667vw;
}

@media screen and (min-width: 768px) {
  #p-sq .cp-page-fv__sub-title {
    width: min(18.8%, 188px);
  }
}

#p-sq .cp-page-fv__title-text {
  font-size: 6.8vw;
}

@media screen and (min-width: 768px) {
  #p-sq .cp-page-fv__title-text {
    font-size: 2rem;
  }
}

#p-sq .p-sq-leadText {
  padding: 0 0 60px;
  font-size: 0.8125rem;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-leadText {
    padding: 0 0 90px;
    font-size: 1rem;
  }
}

#p-sq .p-sq-tab__panel[aria-hidden="true"] {
  display: none;
  margin: 0;
  padding: 0;
  border: none;
  height: 0;
  visibility: hidden;
}

#p-sq .p-sq-tab__panel[aria-hidden="true"] * {
  opacity: 0;
}

#p-sq .p-sq-tab__buttons {
  width: calc(100% + 10.6vw);
  margin: 0 -5.3vw;
  padding-bottom: 50px;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-tab__buttons {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding-bottom: 213px;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-tab__buttons__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
  }
}

#p-sq .p-sq-tab__button__inner {
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-tab__button__inner {
    max-width: none;
    z-index: 2;
  }
}

#p-sq .p-sq-tab__button {
  width: 93.3334%;
  padding: 23px 25px 35px;
  background: -webkit-gradient(linear, left top, right top, from(#e9e3d6), to(#bfbaa6));
  background: linear-gradient(90deg, #e9e3d6 0%, #bfbaa6 100%);
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-tab__button {
    width: 50%;
    padding: 24px 60px 30px 0;
    background: none;
    position: relative;
  }
}

#p-sq .p-sq-tab__button:hover .p-sq-tab__button__link, #p-sq .p-sq-tab__button:active .p-sq-tab__button__link, #p-sq .p-sq-tab__button:focus .p-sq-tab__button__link {
  background: #3c3c3c;
  color: #fff;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-tab__button::after {
    content: '';
    display: block;
    background: -webkit-gradient(linear, left top, right top, from(#e9e3d6), to(#bfbaa6));
    background: linear-gradient(90deg, #e9e3d6 0%, #bfbaa6 100%);
    width: 100%;
    height: 100%;
    max-width: 960px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
}

#p-sq .p-sq-tab__button .p-sq-cls-1,
#p-sq .p-sq-tab__button .p-sq-cls-2,
#p-sq .p-sq-tab__button .p-sq-cls-3 {
  fill: #a39f8e;
}

#p-sq .p-sq-tab__button:first-child {
  z-index: 2;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-tab__button:first-child {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding-left: 20px;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-tab__button:first-child::after {
    width: 50vw;
    right: 0;
    left: auto;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-tab__button:first-child .p-sq-tab__button__heading svg {
    width: 60px;
  }
}

#p-sq .p-sq-tab__button:last-child {
  margin-left: calc(100% - 93.3334%);
  -webkit-transform: translateY(-12px);
          transform: translateY(-12px);
  z-index: 1;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-tab__button:last-child {
    margin-left: 0;
    margin-right: -24px;
    padding-right: 0;
    padding-left: 110px;
    -webkit-transform: translate(-44px, 103px);
            transform: translate(-44px, 103px);
  }
}

@media screen and (min-width: 1024px) {
  #p-sq .p-sq-tab__button:last-child {
    width: calc(50% + 44px);
    margin-right: -44px;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-tab__button:last-child::after {
    width: calc(50vw + 44px);
    max-width: 1004px;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-tab__button:last-child .p-sq-tab__button__heading svg {
    width: 60px;
  }
}

#p-sq .p-sq-tab__button[aria-selected="true"] {
  background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
  background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-tab__button[aria-selected="true"] {
    background: none;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-tab__button[aria-selected="true"]::after {
    background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
    background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
  }
}

#p-sq .p-sq-tab__button[aria-selected="true"] .p-sq-cls-1,
#p-sq .p-sq-tab__button[aria-selected="true"] .p-sq-cls-2,
#p-sq .p-sq-tab__button[aria-selected="true"] .p-sq-cls-3 {
  fill: #e9e3d6;
}

#p-sq .p-sq-tab__button[aria-selected="true"] .p-sq-tab__button__text {
  color: #fff;
}

#p-sq .p-sq-tab__button__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-tab__button__heading {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

#p-sq .p-sq-tab__button__heading p {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 15px;
  padding: 6px 2px;
  background: #fff;
  font-size: 1.4375rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .4em;
  text-indent: .4em;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-tab__button__heading p {
    margin-left: 40px;
    margin-bottom: 15px;
    padding: 9px;
    font-size: 1.75rem;
  }
}

#p-sq .p-sq-tab__button__text {
  margin-top: 12px;
  font-size: 0.75rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-tab__button__text {
    margin-top: 18px;
    font-size: 0.875rem;
    line-height: 1.6176;
    letter-spacing: .1em;
  }
}

#p-sq .p-sq-tab__button__link__box {
  text-align: right;
}

#p-sq .p-sq-tab__button__link {
  padding: 6px 14px;
  background: #fff;
  font-size: 0.75rem;
  color: #bc3f3e;
  letter-spacing: .01em;
  position: absolute;
  top: 18px;
  right: 0;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-tab__button__link {
    display: inline-block;
    margin-top: 10px;
    padding: 10px 28px;
    font-size: 0.875rem;
    position: relative;
    top: 0;
  }
}

#p-sq .p-sq-tab__panel > *:first-child {
  margin-top: 0;
}

#p-sq .p-sq-tab__panel > *:last-child {
  margin-bottom: 0;
}

#p-sq .p-sq-heading.-level2 {
  margin: 0 -5.3vw 50px;
  padding: 22px 5.3vw;
  background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
  background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
  font-size: 1.4375rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-heading.-level2 {
    max-width: 1920px;
    width: calc(100% + 920px);
    padding: 38px 0;
    margin: 0 -460px 93px;
    font-size: 2.375rem;
  }
}

#p-sq .p-sq-heading.-level5 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 50px;
  margin: 25px 0 15px;
  padding: 4px 1rem;
  border-left: 3px solid #3c3c3c;
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-heading.-level5 {
    border-width: 6px;
    font-size: 1rem;
  }
}

#p-sq .p-sq-heading.-level5 + .p-sq-img {
  margin-top: 0;
}

#p-sq .p-sq-content {
  margin-top: 18px;
  margin-bottom: 50px;
}

#p-sq .p-sq-content > *:first-child {
  margin-top: 0;
}

#p-sq .p-sq-content > *:last-child {
  margin-bottom: 0;
}

#p-sq .p-sq-text {
  margin: 18px 0;
  font-size: 0.875rem;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-text {
    font-size: 1rem;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-grid__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: -40px 0 0 -4%;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-grid__inner .col {
    margin: 40px 0 0 4%;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-grid__inner .col.-w1 {
    width: 34.172%;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-grid__inner .col.-w2 {
    width: 55.277%;
  }
}

#p-sq .p-sq-img {
  margin: 30px 0;
  text-align: center;
}

#p-sq .p-sq-img > img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-img.-auto-width img {
    width: auto;
  }
}

#p-sq .p-sq-media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

#p-sq .p-sq-media > *:first-child {
  margin-top: 0;
}

#p-sq .p-sq-media > *:first-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media.-pc-vertical {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media.-pc-vertical .p-sq-media__img {
    margin-top: 70px;
    margin-left: 4em;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media.-pc-vertical .p-sq-media__img img {
    width: 100%;
  }
}

#p-sq .p-sq-media.-pattern1 .p-sq-media__text {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

#p-sq .p-sq-media.-pattern1 .p-sq-media__text .p-sq-media__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 82px;
  margin-left: 20px;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media.-pattern1 .p-sq-media__img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 305px;
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media.-pattern1 .p-sq-media__img > img {
    width: 125px;
  }
}

#p-sq .p-sq-media.-pattern2 {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media.-pattern2 {
    margin-top: 60px;
  }
}

#p-sq .p-sq-media.-pattern2 .p-sq-media__img {
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media.-pattern2 .p-sq-media__img {
    margin-top: 0;
    margin-left: 70px;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media.-pattern2 .p-sq-media__text {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media.-pattern2 .p-sq-media__text .p-sq-media__img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 305px;
  }
}

#p-sq .p-sq-media.-pattern3 .p-sq-media__desc {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media.-pattern4 {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    margin-top: 60px;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media.-pattern4 .p-sq-media__img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 303px;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media.-pattern5 {
    width: 100%;
    margin-top: 60px;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media.-pattern5 .p-sq-media__img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 303px;
  }
}

#p-sq .p-sq-media__desc {
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media__desc {
    margin-top: 0;
  }
}

#p-sq .p-sq-media__desc > *:first-child {
  margin-top: 0;
}

#p-sq .p-sq-media__desc > *:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media__text {
    font-size: 1rem;
    font-weight: 500;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media__img {
    margin-left: 70px;
  }
}

#p-sq .p-sq-media__img > img {
  width: 100%;
}

#p-sq .p-sq-media__img > img + img {
  margin-top: 25px;
}

#p-sq .p-sq-media__img.-pc-only,
#p-sq .p-sq-media__img .-pc-only {
  display: none;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media__img.-pc-only,
  #p-sq .p-sq-media__img .-pc-only {
    display: block;
  }
}

#p-sq .p-sq-media__img.-sp-only,
#p-sq .p-sq-media__img .-sp-only {
  display: block;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-media__img.-sp-only,
  #p-sq .p-sq-media__img .-sp-only {
    display: none;
  }
}

#p-sq .p-sq-media__img.-sp-vertical {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

#p-sq .p-sq-media__img.-sp-vertical > * + * {
  margin-top: 10px;
}

#p-sq .p-sq-list {
  margin: 20px 0 25px;
  padding-left: 20px;
}

#p-sq .p-sq-list > li {
  font-size: 0.8125rem;
  line-height: 2;
  list-style: disc;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-list > li {
    padding-left: 0;
    font-size: 1rem;
  }
}

#p-sq .p-sq-list > li + li {
  margin-top: 20px;
}

#p-sq .cp-h2 {
  margin-top: 50px;
  margin-bottom: 18px;
  padding: 6px 0 5px 16px;
  border-width: 6px;
}

@media screen and (min-width: 768px) {
  #p-sq .cp-h2 {
    margin-top: 80px;
    margin-bottom: 56px;
    padding: 3px 0 3px 30px;
    border-width: 10px;
    line-height: 1.5;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .cp-h2 .-sp-bl {
    display: none;
  }
}

#p-sq .cp-h5 {
  margin: 15px 0 25px;
}

@media screen and (min-width: 768px) {
  #p-sq .cp-h5 {
    margin: 55px 0 40px;
  }
}

#p-sq .p-sq-media + .cp-h5 {
  margin-top: 30px;
}

#p-sq .cp-h5__text {
  display: inline-block;
  margin-bottom: 0;
  padding: 7px 20px;
  font-size: 0.875rem;
  letter-spacing: .01em;
  text-align: left;
}

@media screen and (min-width: 768px) {
  #p-sq .cp-h5__text {
    padding: 11px 37px;
    font-size: 1.5rem;
  }
}

#p-sq .cp-h5__text .-sp-bl {
  display: block;
}

@media screen and (min-width: 768px) {
  #p-sq .cp-h5__text .-sp-bl {
    display: none;
  }
}

#p-sq .cp-3img {
  margin-top: 50px;
}

#p-sq .cp-3img + .cp-3img {
  margin-top: 30px;
}

#p-sq .cp-3img__item {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  #p-sq .cp-3img__item {
    margin-right: 0;
  }
}

#p-sq .cp-3img__item + .cp-3img__item {
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  #p-sq .cp-3img__item + .cp-3img__item {
    margin-top: 0;
    margin-left: 30px;
  }
}

#p-sq .cp-ol__item + .cp-ol__item {
  margin-top: 30px;
}

#p-sq .-content-pattern1 {
  margin-left: 3em;
}

#p-sq .-content-pattern2 .cp-h5 {
  margin-left: 1em;
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern2 .cp-h5 {
    margin-left: 3em;
  }
}

#p-sq .-content-pattern2 .p-sq-text {
  margin-left: 2.5em;
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern2 .p-sq-text {
    margin-left: 5em;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern2 .p-sq-grid {
    margin-left: 5em;
  }
}

#p-sq .-content-pattern2 .p-sq-heading.-level5 {
  margin-left: 1em;
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern2 .p-sq-heading.-level5 {
    margin-left: 0;
  }
}

#p-sq .-content-pattern2 .p-sq-img img {
  width: calc(100% - 20px);
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern2 .p-sq-img img {
    width: inherit;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern3 {
    margin-left: 3em;
  }
}

#p-sq .-content-pattern3 .p-sq-img img {
  width: calc(100% - 20px);
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern3 .p-sq-img img {
    width: inherit;
  }
}

#p-sq .-content-pattern4 .cp-h5 {
  margin-left: 1.5em;
}

#p-sq .-content-pattern4 .p-sq-media__img {
  text-align: center;
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern4 .p-sq-media__img {
    max-width: 880px;
    margin-left: 4em;
  }
}

#p-sq .-content-pattern4 .p-sq-media__img img {
  width: calc(100% - 20px);
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern4 .p-sq-media__img img {
    width: inherit;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern4 .p-sq-media__img.-vertical {
    max-width: 304px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-left: 60px;
  }
}

#p-sq .-content-pattern4 .p-sq-media__desc {
  margin-top: 30px;
  margin-left: 3em;
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern4 .p-sq-media__desc {
    margin-top: 0;
    margin-left: 4em;
  }
}

#p-sq .-content-pattern5 .cp-h5 {
  margin-left: 1em;
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern5 .cp-h5 {
    margin-left: 3em;
  }
}

#p-sq .-content-pattern5 .p-sq-text {
  margin-left: 2.5em;
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern5 .p-sq-text {
    margin-left: 5em;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern5 .p-sq-img {
    margin-left: 5em;
  }
}

#p-sq .-content-pattern5 .p-sq-img img {
  width: calc(100% - 20px);
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern5 .p-sq-img img {
    width: inherit;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern5 .cp-3img {
    margin-left: 5em;
  }
}

#p-sq .-content-pattern6 .p-sq-media {
  margin-left: 1.5em;
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern6 .p-sq-media {
    margin-left: 3em;
  }
}

#p-sq .-content-pattern6 .p-sq-media__text {
  margin-left: 1.1em;
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern6 .p-sq-media__text {
    margin-left: 2em;
  }
}

#p-sq .-content-pattern6 .p-sq-media.-pattern2 .p-sq-media__img {
  margin-left: calc(-1.5em + 6px);
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern6 .p-sq-media.-pattern2 .p-sq-media__img {
    margin-left: 70px;
  }
}

#p-sq .-content-pattern6 .p-sq-media__img {
  text-align: center;
}

#p-sq .-content-pattern6 .p-sq-media__img img[src*="index_15.jpg"] {
  width: calc(100% - 20px);
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern6 .p-sq-media__img img[src*="index_15.jpg"] {
    width: inherit;
  }
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern7 {
    margin-left: 2em;
  }
}

#p-sq .-content-pattern7 .p-sq-img img {
  width: calc(100% - 20px);
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern7 .p-sq-img img {
    width: inherit;
  }
}

#p-sq .-content-pattern8 .cp-h5 {
  margin-left: 1.5em;
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern8 .cp-h5 {
    margin-left: 2.5em;
  }
}

#p-sq .-content-pattern8 .p-sq-media__img {
  text-align: center;
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern8 .p-sq-media__img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-left: 70px;
  }
}

#p-sq .-content-pattern8 .p-sq-media__img img {
  width: calc(100% - 20px);
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern8 .p-sq-media__img img {
    width: inherit;
  }
}

#p-sq .-content-pattern8 .p-sq-list {
  margin-left: 3em;
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern8 .p-sq-list {
    margin-left: 5em;
  }
}

#p-sq .-content-pattern9 .cp-h5 {
  margin-left: 1.5em;
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern9 .cp-h5 {
    margin-left: 2.5em;
  }
}

#p-sq .-content-pattern9 .p-sq-list {
  margin-left: 3em;
}

@media screen and (min-width: 768px) {
  #p-sq .-content-pattern9 .p-sq-list {
    margin-left: 5em;
  }
}

#p-sq .p-sq-blankImg {
  display: block;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-blankImg {
    pointer-events: none;
  }
}

#p-sq .p-sq-blankImg::after {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  background: url(/images/sq/img_blank_icon_01.svg) center/cover;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

@media screen and (min-width: 768px) {
  #p-sq .p-sq-blankImg::after {
    display: none;
  }
}

/* ============================================
// project p-facility-common
// ==========================================*/
.p-facility-common {
  /*---------------------------
    FV
  ---------------------------*/
  /*---------------------------
    FV下のリード部分
  ---------------------------*/
  /*---------------------------
    タイトルとナビゲーション
  ---------------------------*/
  /*---------------------------
    カテゴリー
  ---------------------------*/
  /*---------------------------
    カテゴリー内の各種コンテンツ
  ---------------------------*/
  /*---------------------------
    コンテンツ内のスライダー
  ---------------------------*/
  /*---------------------------
    コンテンツ内のリスト
  ---------------------------*/
}

@media screen and (min-width: 768px) {
  .p-facility-common__lead-inner {
    padding-right: 50px;
  }
}

@media screen and (min-width: 1041px) {
  .p-facility-common__lead-inner {
    padding-right: 0;
  }
}

.p-facility-common__lead-text {
  font-size: 0.84375rem;
  line-height: 2;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  .p-facility-common__lead-text {
    font-size: 1.3125rem;
    line-height: 1.90476;
  }
}

.p-facility-common__heading .cp-h2 {
  font-size: 2rem;
  line-height: 1.40625;
  letter-spacing: 0.1em;
  margin-bottom: 50px;
}

@media screen and (min-width: 768px) {
  .p-facility-common__heading .cp-h2 {
    font-size: 2.25rem;
    line-height: 1;
    margin-bottom: 40px;
  }
}

.p-facility-common__heading-nav > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.p-facility-common__heading-nav li {
  width: calc(96% / 3);
  margin-bottom: 45px;
}

@media screen and (min-width: 768px) {
  .p-facility-common__heading-nav li {
    width: calc(96% / 6);
  }
}

.p-facility-common__heading-nav li > a {
  display: block;
  height: 35px;
  line-height: 35px;
  background-color: #bc3f3e;
  color: #ffffff;
  text-align: center;
  font-size: 1.0625rem;
  position: relative;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

@media screen and (min-width: 768px) {
  .p-facility-common__heading-nav li > a {
    font-size: 1.3125rem;
  }
}

.p-facility-common__heading-nav li > a::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #e6e6e6;
  background-image: url(/images/common/arrow_down.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 13.5px;
  color: #000;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

@media screen and (min-width: 768px) {
  .p-facility-common__heading-nav li > a::after {
    background-size: 18px;
  }
}

.p-facility-common__heading-nav li > a:hover {
  background-color: #e6e6e6;
  color: #bc3f3e;
  opacity: 1;
}

.p-facility-common__heading-nav li > a:hover::after {
  background-color: #bc3f3e;
  background-image: url(/images/common/arrow_down_white.png);
}

@media screen and (max-width: 767px) {
  .p-facility-common__category .cp-h3 {
    background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
    background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
    position: relative;
  }
}

@media screen and (max-width: 767px) {
  .p-facility-common__category .cp-h3__text {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-facility-common__category .cp-h3__text::before {
    background: unset;
  }
}

.p-facility-common__category .cp-h3__text > a {
  display: inline-block;
  width: 25px;
  position: absolute;
  right: 0px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .p-facility-common__category .cp-h3__text > a {
    width: 30px;
    right: 20px;
  }
}

.p-facility-common__category-top-lead {
  font-size: 0.84375rem;
  line-height: 2;
  letter-spacing: 0;
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .p-facility-common__category-top-lead {
    font-size: 1rem;
  }
}

.p-facility-common__content-box {
  background-color: #e6e6e6;
}

.p-facility-common__content-box-title {
  color: #ffffff;
}

@media screen and (max-width: 767px) {
  .p-facility-common__content-box-title {
    background-color: #3c3c3c;
    position: relative;
  }
}

.p-facility-common__content-box-title-text {
  padding: 0.9375rem 0;
  font-weight: bold;
  font-size: 1.0625rem;
  letter-spacing: 0;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-facility-common__content-box-title-text {
    display: inline-block;
    padding: 0.75rem 6.25rem 0.75rem 0;
    font-size: 1.25rem;
  }
  .p-facility-common__content-box-title-text::before {
    content: "";
    display: block;
    background-color: #3c3c3c;
    width: calc(100% + 460px);
    height: 100%;
    position: absolute;
    top: 0;
    left: 100%;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  .p-facility-common__content-box-title-text > span {
    position: relative;
    z-index: 2;
  }
}

.p-facility-common__content-box-title-text > a {
  display: inline-block;
  width: 25px;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .p-facility-common__content-box-title-text > a {
    width: 25px;
    right: 20px;
  }
}

.p-facility-common__slider {
  margin-bottom: 40px;
}

@media screen and (min-width: 768px) {
  .p-facility-common__slider {
    margin-bottom: 55px;
  }
}

.p-facility-common__slider .l-wide-container {
  padding: 13.33333vw 0;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-facility-common__slider .l-wide-container {
    padding: 30px 0 50px;
    position: static;
  }
}

.p-facility-common__slider-inner {
  width: 70%;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .p-facility-common__slider-inner {
    width: 80%;
    position: relative;
  }
}

.p-facility-common__slider .swiper-slide {
  background-color: #fff;
  aspect-ratio: 300 / 272;
}

@media screen and (min-width: 768px) {
  .p-facility-common__slider .swiper-slide {
    width: min(18vw, 220px);
    height: auto;
    aspect-ratio: 220 / 200;
  }
}

.p-facility-common__slider .swiper-button-prev,
.p-facility-common__slider .swiper-button-next {
  background-color: #3c3c3c;
  width: 40px;
  height: 40px;
  background-image: unset;
}

.p-facility-common__slider .swiper-button-prev::before,
.p-facility-common__slider .swiper-button-next::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.p-facility-common__slider-item {
  padding: 5.33333vw;
}

@media screen and (min-width: 768px) {
  .p-facility-common__slider-item {
    padding: min(1.4vw, 18px);
  }
}

.p-facility-common__slider-item img {
  margin-bottom: 4.66667vw;
  aspect-ratio: 396 / 252;
}

@media screen and (min-width: 768px) {
  .p-facility-common__slider-item img {
    aspect-ratio: 412 / 279;
    margin-bottom: min(1.4vw, 18px);
  }
}

.p-facility-common__slider-item figcaption {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 3.6vw;
  font-weight: bold;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .p-facility-common__slider-item figcaption {
    font-size: 0.75rem;
  }
}

.p-facility-common__slider .js-nonSlider .swiper-wrapper {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-facility-common__slider .js-nonSlider .swiper-slide {
  width: calc(263 / 375 * 100vw);
  aspect-ratio: 263 / 238.898;
}

@media screen and (min-width: 768px) {
  .p-facility-common__slider .js-nonSlider .swiper-slide {
    width: min(18vw, 220px);
    aspect-ratio: 220 / 200;
  }
}

.p-facility-common__slider .js-nonSlider .swiper-slide:not(:first-child) {
  margin-left: 20px;
}

.p-facility-common__slider .js-nonSlider .swiper-button-prev,
.p-facility-common__slider .js-nonSlider .swiper-button-next {
  display: none;
}

.p-facility-common__slider .swiper-button-prev {
  left: 0;
}

@media screen and (min-width: 768px) {
  .p-facility-common__slider .swiper-button-prev {
    left: -50px;
  }
}

.p-facility-common__slider .swiper-button-prev::before {
  background-image: url(/images/common/arrow_prev.png);
}

.p-facility-common__slider .swiper-button-next {
  right: 0;
}

@media screen and (min-width: 768px) {
  .p-facility-common__slider .swiper-button-next {
    right: -50px;
  }
}

.p-facility-common__slider .swiper-button-next::before {
  background-image: url(/images/common/arrow_next.png);
}

.p-facility-common__achievement {
  padding: 30px 0 50px;
  margin-bottom: 50px;
}

@media screen and (min-width: 768px) {
  .p-facility-common__achievement {
    margin-bottom: 70px;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-common__achievement-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 50px;
  }
}

.p-facility-common__achievement-block {
  margin-bottom: 40px;
  font-weight: bold;
}

.p-facility-common__achievement-block:first-child {
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .p-facility-common__achievement-block:first-child {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-common__achievement-block {
    width: 48%;
    padding: 0 20px;
    margin-bottom: 0;
  }
}

.p-facility-common__achievement-title {
  padding: 5px 0;
  background-color: #ffffff;
  text-align: center;
  font-size: 1.03125rem;
  letter-spacing: 0.1em;
  margin-bottom: 18px;
}

@media screen and (min-width: 768px) {
  .p-facility-common__achievement-title {
    font-size: 1.125rem;
  }
}

.p-facility-common__achievement-list {
  padding-left: 20px;
  list-style: disc;
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0;
}

.p-facility-common__achievement .cp-btn-radius {
  text-align: center;
}

/* ============================================
// project p-facility-fire
// ==========================================*/
.p-facility-fire .cp-page-fv {
  background-image: url(/images/summary/facility/fire/fv_bg_sp.png);
}

@media screen and (min-width: 768px) {
  .p-facility-fire .cp-page-fv {
    background-image: url(/images/summary/facility/fire/fv_bg_pc.png);
  }
}

.p-facility-fire .cp-page-fv__sub-title {
  width: 56vw;
}

@media screen and (min-width: 768px) {
  .p-facility-fire .cp-page-fv__sub-title {
    width: min(34.5%, 345px);
  }
}

/* ============================================
// project p-field-common
// ==========================================*/
.p-field-common__field-title {
  padding: 27px 0;
  background-color: #3c3c3c;
  color: #ffffff;
  text-align: center;
  font-size: 1.15625rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin: 0 -5.3vw;
}

@media screen and (min-width: 768px) {
  .p-field-common__field-title {
    font-size: 1.5rem;
    margin: 0;
  }
}

.p-field-common__wrapper {
  padding-top: 50px;
}

@media screen and (min-width: 768px) {
  .p-field-common__wrapper {
    padding-top: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-field-common__item {
  position: relative;
  background-color: #bc3f3e;
}

@media screen and (min-width: 768px) {
  .p-field-common__item {
    width: calc(95% / 5);
    aspect-ratio: 191 / 191;
  }
}

.p-field-common__item:not(:last-child) {
  margin-bottom: 50px;
}

@media screen and (min-width: 768px) {
  .p-field-common__item:not(:last-child) {
    margin-bottom: 0;
  }
}

.p-field-common__item-link {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-field-common__item-link {
    height: 100%;
  }
}

.p-field-common__item-link::before {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.p-field-common__item-link:hover {
  opacity: 1;
}

.p-field-common__item-link:hover::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(188, 63, 62, 0.7);
  position: absolute;
  top: 0;
  left: 0;
}

.p-field-common__item-link:hover .p-field-common__item {
  opacity: 0.2;
}

.p-field-common__item-link:hover .p-field-common__item-title {
  background-color: rgba(255, 255, 255, 0.9);
}

.p-field-common__item-link:hover .p-field-common__item-title-txt {
  color: #bc3f3e;
}

.p-field-common__item-img {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

@media screen and (min-width: 768px) {
  .p-field-common__item-img {
    height: 100%;
  }
}

.p-field-common__item-title {
  background-color: rgba(188, 63, 62, 0.8);
  position: absolute;
  width: 100%;
  height: 34.8%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.p-field-common__item-title-txt {
  color: #ffffff;
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.58333;
  font-weight: bold;
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media screen and (min-width: 768px) {
  .p-field-common__item-title-txt {
    font-size: min(1.3vw, 17px);
    line-height: 1.47059;
  }
}

.p-field-common__item-title-txt > span {
  font-size: 0.875rem;
}

@media screen and (min-width: 768px) {
  .p-field-common__item-title-txt > span {
    font-size: min(0.94vw, 12px);
    letter-spacing: -0.05em;
  }
}

.p-field-common__item-btn {
  display: block;
  width: 25px;
  position: absolute;
  left: 50%;
  bottom: 10%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

/* ============================================
// project p-field-maintenance
// ==========================================*/
.p-field-maintenance .cp-page-fv {
  background-image: url(/images/summary/field/maintenance/fv_bg_sp.png);
}

@media screen and (min-width: 768px) {
  .p-field-maintenance .cp-page-fv {
    background-image: url(/images/summary/field/maintenance/fv_bg_pc.png);
  }
}

.p-field-maintenance .cp-page-fv__sub-title {
  width: 31.46667vw;
}

@media screen and (min-width: 768px) {
  .p-field-maintenance .cp-page-fv__sub-title {
    width: min(20%, 200px);
  }
}

/* ============================================
// project p-field-construction
// ==========================================*/
.p-field-construction .cp-page-fv {
  background-image: url(/images/summary/field/construction/fv_bg_sp.png);
}

@media screen and (min-width: 768px) {
  .p-field-construction .cp-page-fv {
    background-image: url(/images/summary/field/construction/fv_bg_pc.png);
  }
}

.p-field-construction .cp-page-fv__sub-title {
  width: 50.66667vw;
}

@media screen and (min-width: 768px) {
  .p-field-construction .cp-page-fv__sub-title {
    width: min(32.5%, 325px);
  }
}

.p-field-construction .cp-page-fv__desc {
  font-size: 4vw;
}

@media screen and (min-width: 768px) {
  .p-field-construction .cp-page-fv__desc {
    font-size: 0.875rem;
  }
}

/* ============================================
// project p-field-plant
// ==========================================*/
.p-field-plant .cp-page-fv {
  background-image: url(/images/summary/field/plant/fv_bg_sp.png);
}

@media screen and (min-width: 768px) {
  .p-field-plant .cp-page-fv {
    background-image: url(/images/summary/field/plant/fv_bg_pc.png);
  }
}

.p-field-plant .cp-page-fv__sub-title {
  width: 31.46667vw;
}

@media screen and (min-width: 768px) {
  .p-field-plant .cp-page-fv__sub-title {
    width: min(19.5%, 195px);
  }
}

/* ============================================
// project p-field-operation
// ==========================================*/
.p-field-operation .cp-page-fv {
  background-image: url(/images/summary/field/operation/fv_bg_sp.png);
}

@media screen and (min-width: 768px) {
  .p-field-operation .cp-page-fv {
    background-image: url(/images/summary/field/operation/fv_bg_pc.png);
  }
}

.p-field-operation .cp-page-fv__sub-title {
  width: 46vw;
}

@media screen and (min-width: 768px) {
  .p-field-operation .cp-page-fv__sub-title {
    width: min(28.3%, 283px);
  }
}

.p-field-operation .cp-page-fv__desc {
  font-size: 4vw;
}

@media screen and (min-width: 768px) {
  .p-field-operation .cp-page-fv__desc {
    font-size: 0.875rem;
  }
}

/* ============================================
// project p-field-engineer
// ==========================================*/
.p-field-engineer .cp-page-fv {
  background-image: url(/images/summary/field/engineer/fv_bg_sp.png);
}

@media screen and (min-width: 768px) {
  .p-field-engineer .cp-page-fv {
    background-image: url(/images/summary/field/engineer/fv_bg_pc.png);
  }
}

.p-field-engineer .cp-page-fv__sub-title {
  width: 46vw;
}

@media screen and (min-width: 768px) {
  .p-field-engineer .cp-page-fv__sub-title {
    width: min(28%, 280px);
  }
}

.p-field-engineer .cp-page-fv__desc {
  font-size: 3.73333vw;
}

@media screen and (min-width: 768px) {
  .p-field-engineer .cp-page-fv__desc {
    font-size: 0.875rem;
  }
}

/* ============================================
// project p-field-education
// ==========================================*/
.p-field-education .sp-block {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-field-education .sp-block {
    display: inline;
  }
}

.p-field-education .cp-page-fv {
  background-image: url(/images/summary/field/education/fv_bg_sp.png);
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-page-fv {
    background-image: url(/images/summary/field/education/fv_bg_pc.png);
  }
}

.p-field-education .cp-page-fv__sub-title {
  width: 46vw;
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-page-fv__sub-title {
    width: min(35.1%, 351px);
  }
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-h2-s {
    letter-spacing: 0.1em;
    line-height: 1.57692;
  }
}

.p-field-education__heading-img {
  width: 100%;
  margin: 0 auto;
}

.p-field-education__heading-img .education-img-list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.p-field-education__heading-img .education-img-list li {
  width: 47.5%;
}

@media screen and (min-width: 768px) {
  .p-field-education__heading-img .education-img-list li {
    width: 23.7%;
  }
}

.p-field-education__heading-img .education-img-list li > img {
  aspect-ratio: 476 / 356;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-field-education__heading-img .education-img-list li:nth-child(1),
.p-field-education__heading-img .education-img-list li:nth-child(2) {
  margin-bottom: 4.13333vw;
}

@media screen and (min-width: 768px) {
  .p-field-education__heading-img .education-img-list li:nth-child(1),
  .p-field-education__heading-img .education-img-list li:nth-child(2) {
    margin-bottom: 0;
  }
}

.p-field-education .cp-table-d table {
  width: 100%;
  border: none;
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-table-d table {
    width: 812px;
    min-width: 812px;
    margin: 0 auto;
  }
}

.p-field-education .cp-table-d th {
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .p-field-education .cp-table-d th:first-child {
    width: 17.6%;
  }
}

.p-field-education .cp-table-d td {
  line-height: 2;
}

.p-field-education .cp-table-d .u-table-first {
  letter-spacing: -0.01em;
}

.p-field-education .cp-h1__inner {
  padding: 1.23438rem 20px;
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-h1__inner {
    padding: 1.6875rem 0;
  }
}

.p-field-education .cp-h1__text {
  text-align: center;
}

.p-field-education .education-partition {
  width: 100%;
  height: 66.66667vw;
}

@media screen and (min-width: 768px) {
  .p-field-education .education-partition {
    width: 100%;
    height: 1px;
    border-bottom: solid 1px #3c3c3c;
    margin-bottom: 18.375rem;
  }
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-access {
    line-height: 1.75;
  }
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-access__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.p-field-education .cp-access__address {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-access__address {
    margin-bottom: 2.5rem;
    display: block;
  }
}

.p-field-education .cp-access__sp-address {
  margin-bottom: 1.875rem;
  display: block;
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-access__sp-address {
    display: none;
  }
}

.p-field-education .cp-access__transportation {
  padding: 0 0 1.25rem 0;
  background-color: #e6e6e6;
  margin-bottom: 6.66667vw;
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-access__transportation {
    padding: 0 0 1.25rem 0;
    margin-bottom: 1.5625rem;
    font-size: 0.875rem;
    line-height: 1.71429;
  }
}

.p-field-education .cp-access__trans-heading {
  width: 100%;
  height: 10.66667vw;
  padding-left: 6vw;
  font-size: 0.9375rem;
  line-height: 1;
  font-weight: bold;
  margin-bottom: 0.9375rem;
  background-color: #3c3c3c;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-access__trans-heading {
    font-size: 1rem;
    letter-spacing: 0em;
    margin-right: auto;
    margin-left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-left: 0;
  }
}

.p-field-education .cp-access__trans-heading::before {
  content: none;
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-access__trans-heading-01 {
    width: 12.75rem;
    height: 2.125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-access__trans-heading-02 {
    width: 9.75rem;
    height: 2.125rem;
  }
}

.p-field-education .cp-access .access-text-first {
  margin-top: 1.875rem;
}

.p-field-education .cp-access__list {
  list-style: none;
  padding-left: 6vw;
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-access__list {
    padding-left: 25px;
  }
}

.p-field-education .cp-access__list > li {
  font-size: 0.71875rem;
  line-height: 1.82609;
  padding-left: 1em;
  text-indent: -1em;
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-access__list > li {
    font-size: 0.875rem;
    line-height: 1.71429;
  }
}

.p-field-education .cp-access__text-wrapper {
  padding-left: 6vw;
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-access__text-wrapper {
    padding-left: 1.5625rem;
  }
}

.p-field-education .cp-access__text {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-access__text {
    display: block;
    font-size: 0.875rem;
    line-height: 1.71429;
    margin-top: 1.5625rem;
    padding-left: 1em;
    text-indent: -1em;
  }
}

.p-field-education .cp-access__sp-text {
  display: block;
  font-size: 0.71875rem;
  line-height: 1.82609;
  margin-top: 1.5625rem;
  padding-left: 1em;
  text-indent: -1em;
}

@media screen and (min-width: 768px) {
  .p-field-education .cp-access__sp-text {
    display: none;
  }
}

.p-field-education__facility {
  height: 27.5625rem;
}

@media screen and (max-width: 767px) {
  .p-field-education__tecnocenter {
    height: 37.5rem;
  }
}

.p-field-education__tecnocenter-img, .p-field-education__nuclear-img {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-field-education__tecnocenter-img, .p-field-education__nuclear-img {
    display: block;
    width: 56.9%;
    max-width: 683px;
    aspect-ratio: 683 / 441;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.p-field-education__tecnocenter-img-sp {
  display: block;
  width: 86.66667vw;
  height: 77.86667vw;
  aspect-ratio: 650 / 584;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-field-education__tecnocenter-img-sp {
    display: none;
  }
}

.p-field-education__nuclear-img-sp {
  display: block;
  width: 86.66667vw;
  height: 69.2vw;
  aspect-ratio: 650 / 519;
  -o-object-fit: cover;
     object-fit: cover;
  margin-left: auto;
  margin-right: 0;
}

@media screen and (min-width: 768px) {
  .p-field-education__nuclear-img-sp {
    display: none;
  }
}

.p-field-education__facility-title-wrapper {
  position: relative;
}

.p-field-education__tecnocenter-title {
  position: absolute;
  top: 68.13333vw;
  right: 0;
  width: 80vw;
  background: #E6E6E6;
  padding-bottom: 12.53333vw;
}

@media screen and (min-width: 768px) {
  .p-field-education__tecnocenter-title {
    top: 117px;
    right: 0;
    width: 54.8%;
    max-width: 34.25rem;
    padding-left: 4.375rem;
    padding-bottom: 2.5rem;
  }
}

.p-field-education__tecnocenter-title h4 {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-field-education__tecnocenter-title h4 {
    display: block;
    height: 5.625rem;
    border-left: 6px solid #bc3f3e;
    font-size: 1.8125rem;
    font-weight: bold;
    padding-left: 0.9375rem;
    padding-top: 1.5625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-field-education__tecnocenter-title h4 span {
    color: #bc3f3e;
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.55556;
  }
}

.p-field-education__tecnocenter-title .sp-h4 {
  border-left: 10px solid #bc3f3e;
  display: block;
  height: 30.66667vw;
  font-size: 8.13333vw;
  font-weight: bold;
  padding-top: 12.4vw;
  padding-left: 3.33333vw;
  margin-left: 6.66667vw;
}

@media screen and (min-width: 768px) {
  .p-field-education__tecnocenter-title .sp-h4 {
    display: none;
  }
}

.p-field-education__tecnocenter-title .sp-h4 span {
  display: block;
  color: #bc3f3e;
  font-size: 4.8vw;
  font-weight: bold;
  margin-bottom: 4.26667vw;
}

.p-field-education__tecnocenter-title p {
  padding: 4.66667vw 5.33333vw 0 12vw;
  font-size: 3.6vw;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .p-field-education__tecnocenter-title p {
    padding: 0;
    line-height: 1.75;
    font-size: 16px;
    font-weight: bold;
    margin-top: 1.4375rem;
  }
}

.p-field-education__tecnocenter-title .pc-block {
  display: inline;
}

@media screen and (min-width: 768px) {
  .p-field-education__tecnocenter-title .pc-block {
    display: block;
  }
}

.p-field-education__tecnocenter-title .view_more_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff;
  color: #BC3F3E;
  font-weight: 500;
  width: 35.33333vw;
  height: 9.2vw;
  margin-top: 12vw;
  margin-left: 12vw;
}

@media screen and (min-width: 768px) {
  .p-field-education__tecnocenter-title .view_more_btn {
    width: 8.625rem;
    height: 2.25rem;
    margin-top: 1.5625rem;
    margin-left: 0;
  }
}

.p-field-education__tecnocenter-detail {
  margin: 0 auto;
}

.p-field-education__tecnocenter-detail-item {
  display: block;
}

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

.p-field-education__tecnocenter-detail-img {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 13.33333vw;
}

@media screen and (min-width: 768px) {
  .p-field-education__tecnocenter-detail-img {
    width: 22.5rem;
    margin-bottom: 0;
  }
}

.p-field-education__tecnocenter-detail-img img:nth-child(1) {
  aspect-ratio: 431 / 343;
  -o-object-fit: cover;
     object-fit: cover;
  width: 61%;
  height: auto;
}

.p-field-education__tecnocenter-detail-img img:nth-child(2) {
  aspect-ratio: 239 / 343;
  -o-object-fit: cover;
     object-fit: cover;
  width: 34%;
  height: auto;
}

@media screen and (min-width: 768px) {
  .p-field-education__tecnocenter-detail-text {
    font-size: 0.9375rem;
    font-weight: 500;
    padding-left: 1.875rem;
    letter-spacing: -0.1px;
  }
}

.p-field-education__tecnocenter-detail-text .pc-block {
  display: inline;
}

@media screen and (min-width: 768px) {
  .p-field-education__tecnocenter-detail-text .pc-block {
    display: block;
  }
}

.p-field-education__nuclear-img {
  display: block;
  width: 56.9%;
  max-width: 683px;
  aspect-ratio: 683 / 441;
  -o-object-fit: cover;
     object-fit: cover;
  margin: 0 auto;
}

.p-field-education__nuclear-title {
  position: absolute;
  top: -53.33333vw;
  left: 0;
  width: 80vw;
  background: #E6E6E6;
}

@media screen and (min-width: 768px) {
  .p-field-education__nuclear-title {
    top: -11.875rem;
    left: 0;
    width: 54.8%;
    max-width: 34.25rem;
    padding-left: 4.375rem;
    padding-bottom: 2.375rem;
  }
}

.p-field-education__nuclear-title h4 {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-field-education__nuclear-title h4 {
    display: block;
    height: 7.5625rem;
    border-left: 6px solid #bc3f3e;
    font-size: 1.8125rem;
    font-weight: bold;
    padding-left: 0.9375rem;
    padding-top: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-field-education__nuclear-title h4 .text-red {
    display: inline-block;
    color: #bc3f3e;
    height: auto;
    border-left: none;
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.55556;
    margin-bottom: 0.75rem;
  }
}

.p-field-education__nuclear-title .sp-h4 {
  display: block;
  height: 58.13333vw;
  font-size: 8.13333vw;
  font-weight: bold;
  padding-left: 6.66667vw;
}

@media screen and (min-width: 768px) {
  .p-field-education__nuclear-title .sp-h4 {
    display: none;
  }
}

.p-field-education__nuclear-title .sp-h4 .text-red {
  border-left: 10px solid #bc3f3e;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  color: #bc3f3e;
  font-size: 4.8vw;
  font-weight: bold;
  height: 30.66667vw;
  padding-left: 4vw;
}

.p-field-education__nuclear-title .sp-h4 .nuclear-name {
  display: block;
  margin-top: 6.26667vw;
  padding-left: 4.66667vw;
  text-align: left;
}

.p-field-education__nuclear-title p {
  padding: 4vw 6vw 8.66667vw 13.33333vw;
  font-size: 3.6vw;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .p-field-education__nuclear-title p {
    padding: 0;
    line-height: 1.75;
    font-size: 16px;
    font-weight: bold;
    margin-top: 1.4375rem;
  }
}

.p-field-education__nuclear-title p .pc-block {
  display: inline;
}

@media screen and (min-width: 768px) {
  .p-field-education__nuclear-title p .pc-block {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .p-field-education__nuclear-detail-text p {
    width: 68%;
    margin: 0 auto;
    text-align: left;
  }
}

.p-field-education__nuclear-detail-img {
  width: 100%;
  margin: 0 auto;
}

.p-field-education__nuclear-detail-img .nuclear-img-list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.p-field-education__nuclear-detail-img .nuclear-img-list li {
  width: 47.5%;
}

@media screen and (min-width: 768px) {
  .p-field-education__nuclear-detail-img .nuclear-img-list li {
    width: 23.7%;
  }
}

.p-field-education__nuclear-detail-img .nuclear-img-list li > img {
  aspect-ratio: 476 / 356;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-field-education__nuclear-detail-img .nuclear-img-list li:nth-child(1),
.p-field-education__nuclear-detail-img .nuclear-img-list li:nth-child(2) {
  margin-bottom: 4.13333vw;
}

@media screen and (min-width: 768px) {
  .p-field-education__nuclear-detail-img .nuclear-img-list li:nth-child(1),
  .p-field-education__nuclear-detail-img .nuclear-img-list li:nth-child(2) {
    margin-bottom: 0;
  }
}

.p-field-education__map {
  width: 100%;
  height: auto;
  aspect-ratio: 467 / 530;
  overflow: hidden;
  margin-bottom: 12vw;
  /*
    &>iframe {
      margin-top: -150px;
      height: calc(100% + 300px);
    }
    */
}

@media screen and (min-width: 768px) {
  .p-field-education__map {
    width: 467px;
    height: 530px;
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-field-education__map-sp {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .p-field-education__map-pc {
    display: none;
  }
}

.cp-img-l__inner > .p-solution__welder-diagram {
  aspect-ratio: initial;
}

.p-solution__blank-img {
  position: relative;
  display: block;
}

.p-solution__blank-img::after {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  background: url(/images/sq/img_blank_icon_01.svg) center/cover;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

@media screen and (min-width: 768px) {
  .p-solution__blank-img {
    pointer-events: none;
  }
  .p-solution__blank-img::after {
    display: none;
  }
}

.p-solution__welder-plant-view > img {
  aspect-ratio: initial;
}

#p-solutionTop .cp-page-fv {
  height: 97.06667vw;
  background-image: url(/images/solution/mv_bg_sp_01.png);
}

@media screen and (min-width: 768px) {
  #p-solutionTop .cp-page-fv {
    height: 220px;
    background-image: url(/images/solution/mv_bg_pc_01.png);
  }
}

#p-solutionTop .cp-page-fv__inner--text {
  padding-top: 43px;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .cp-page-fv__inner--text {
    padding-top: 40px;
  }
}

#p-solutionTop .cp-page-fv__sub-title {
  width: 41.26667vw;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2.66667vw;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .cp-page-fv__sub-title {
    width: min(25.6%, 256px);
    margin-bottom: 20px;
  }
}

#p-solutionTop .cp-page-fv__sub-title .-icon {
  width: 18%;
}

#p-solutionTop .cp-page-fv__sub-title .-text {
  width: 66%;
  margin-left: 13px;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .cp-page-fv__sub-title .-text {
    width: 72%;
    margin-left: 18px;
  }
}

#p-solutionTop .cp-page-fv__title-text {
  font-size: 4vw;
  line-height: 2;
  letter-spacing: -.01em;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .cp-page-fv__title-text {
    font-size: 0.875rem;
  }
}

#p-solutionTop .cp-breadcrumb li img {
  width: 0.75rem;
  height: auto;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .cp-breadcrumb li img {
    width: 0.875rem;
  }
}

#p-solutionTop .p-solutionTop-lead {
  width: 78.6667vw;
  height: 78.6667vw;
  margin: 55px auto 72px;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-lead {
    max-width: 700px;
    max-height: 700px;
    margin-top: 170px;
    margin-bottom: 243px;
  }
}

#p-solutionTop .p-solutionTop-lead::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  border: 24px solid #e9e3d6;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-lead::before {
    max-width: 910px;
    max-height: 910px;
    border-width: 69px;
  }
}

#p-solutionTop .p-solutionTop-lead__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 34.66667vw;
  height: 34.66667vw;
  background: -webkit-gradient(linear, left top, right top, from(#ff7675), color-stop(40%, #ff7675), to(#bc3f3e));
  background: linear-gradient(90deg, #ff7675 0%, #ff7675 40%, #bc3f3e 100%);
  border-radius: 50vh;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 4;
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-lead__heading {
    max-width: 310px;
    max-height: 310px;
  }
}

#p-solutionTop .p-solutionTop-lead__heading > h2 {
  font-size: 4vw;
  font-weight: 700;
  color: #fff;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-lead__heading > h2 {
    font-size: 2.25rem;
    line-height: 1.6;
  }
}

#p-solutionTop .p-solutionTop-lead ul {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 2;
}

#p-solutionTop .p-solutionTop-lead > ul > li {
  position: absolute;
}

#p-solutionTop .p-solutionTop-lead > ul > li.-list1 {
  top: -4.4vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-lead > ul > li.-list1 {
    top: -95px;
  }
}

#p-solutionTop .p-solutionTop-lead > ul > li.-list1 .p-solutionTop-lead__img > img {
  width: 9.33333vw;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-lead > ul > li.-list1 .p-solutionTop-lead__img > img {
    max-width: 84px;
  }
}

#p-solutionTop .p-solutionTop-lead > ul > li.-list2 {
  top: 12.26667vw;
  right: -7.33333vw;
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-lead > ul > li.-list2 {
    top: 110px;
    right: -50px;
  }
}

#p-solutionTop .p-solutionTop-lead > ul > li.-list2 .p-solutionTop-lead__img > img {
  width: 13.33333vw;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-lead > ul > li.-list2 .p-solutionTop-lead__img > img {
    max-width: 124px;
  }
}

#p-solutionTop .p-solutionTop-lead > ul > li.-list3 {
  right: -7.33333vw;
  bottom: 12.26667vw;
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-lead > ul > li.-list3 {
    right: -50px;
    bottom: 110px;
  }
}

#p-solutionTop .p-solutionTop-lead > ul > li.-list3 .p-solutionTop-lead__img > img {
  width: 12.53333vw;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-lead > ul > li.-list3 .p-solutionTop-lead__img > img {
    max-width: 120px;
  }
}

#p-solutionTop .p-solutionTop-lead > ul > li.-list4 {
  bottom: -4.4vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-lead > ul > li.-list4 {
    bottom: -80px;
  }
}

#p-solutionTop .p-solutionTop-lead > ul > li.-list4 .p-solutionTop-lead__img > img {
  width: 9.6vw;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-lead > ul > li.-list4 .p-solutionTop-lead__img > img {
    max-width: 84px;
  }
}

#p-solutionTop .p-solutionTop-lead > ul > li.-list5 {
  left: -7.33333vw;
  bottom: 12.26667vw;
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-lead > ul > li.-list5 {
    left: -50px;
    bottom: 110px;
  }
}

#p-solutionTop .p-solutionTop-lead > ul > li.-list5 .p-solutionTop-lead__img > img {
  width: 12.26667vw;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-lead > ul > li.-list5 .p-solutionTop-lead__img > img {
    max-width: 108px;
  }
}

#p-solutionTop .p-solutionTop-lead > ul > li.-list6 {
  top: 12.26667vw;
  left: -7.33333vw;
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-lead > ul > li.-list6 {
    top: 110px;
    left: -50px;
  }
}

#p-solutionTop .p-solutionTop-lead > ul > li.-list6 .p-solutionTop-lead__img > img {
  width: 10.26667vw;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-lead > ul > li.-list6 .p-solutionTop-lead__img > img {
    max-width: 90px;
  }
}

#p-solutionTop .p-solutionTop-lead__link {
  display: block;
  width: 26.66667vw;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-lead__link {
    max-width: 234px;
  }
}

#p-solutionTop .p-solutionTop-lead__img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 13.33333vw;
  background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
  background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-lead__img {
    max-height: 132px;
  }
}

#p-solutionTop .p-solutionTop-lead__text {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 5.33333vw;
  background: #3c3c3c;
  font-size: 2.93333vw;
  font-weight: 700;
  color: #fff;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-lead__text {
    font-size: 1.25rem;
    max-height: 34px;
  }
}

#p-solutionTop .p-solutionTop-lead__text::before, #p-solutionTop .p-solutionTop-lead__text::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

#p-solutionTop .p-solutionTop-lead__text::before {
  width: 2.13333vw;
  height: 2.13333vw;
  background: #fff;
  border-radius: 50vh;
  right: 1.33333vw;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-lead__text::before {
    max-width: 19px;
    max-height: 19px;
    right: 11px;
  }
}

#p-solutionTop .p-solutionTop-lead__text::after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.53333vw 0 0.53333vw 0.66667vw;
  border-color: transparent transparent transparent #3c3c3c;
  right: 2.13333vw;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-lead__text::after {
    border-width: 5px 0 5px 7px;
    right: 16px;
  }
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-lead__list__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-lead__list__wrapper > div {
    display: inline-block;
  }
}

#p-solutionTop .p-solutionTop-lead__list {
  display: none;
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-lead__list {
    display: block;
    max-width: 234px;
    margin-top: 12px;
  }
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-lead__list > li {
    padding-left: 13px;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: -.02em;
    position: relative;
  }
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-lead__list > li::before {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    background: #3c3c3c;
    border-radius: 50vh;
    position: absolute;
    top: 6px;
    left: 0;
  }
}

#p-solutionTop .p-solutionTop-content {
  margin-top: 70px;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-content {
    margin-top: 180px;
  }
}

#p-solutionTop .p-solutionTop-content.-pattern1 {
  margin-top: -15px;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-content.-pattern1 {
    margin-top: 160px;
  }
}

#p-solutionTop .p-solutionTop-toggle__item + .p-solutionTop-toggle__item {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__item + .p-solutionTop-toggle__item {
    margin-top: 24px;
  }
}

#p-solutionTop .p-solutionTop-toggle__button > button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  position: relative;
}

#p-solutionTop .p-solutionTop-toggle__button__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 90px;
  min-height: 90px;
  background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
  background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__button__img {
    width: 110px;
    min-height: 110px;
  }
}

#p-solutionTop .p-solutionTop-toggle__button__img::before {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 9px);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__button__img::before {
    top: calc(50% - 10px);
  }
}

#p-solutionTop .p-solutionTop-toggle__button__img.-maintenance::before {
  width: 49px;
  height: 48px;
  background-image: url(/images/solution/maintenance_icon_01.svg);
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__button__img.-maintenance::before {
    aspect-ratio: 75/73;
    width: 55px;
    height: auto;
  }
}

#p-solutionTop .p-solutionTop-toggle__button__img.-plant::before {
  width: 62px;
  height: 58px;
  background-image: url(/images/solution/plant_icon_01.svg);
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__button__img.-plant::before {
    aspect-ratio: 108/91;
    width: 75px;
    height: auto;
  }
}

#p-solutionTop .p-solutionTop-toggle__button__img.-operation::before {
  width: 45px;
  height: 51px;
  background-image: url(/images/solution/operation_icon_01.svg);
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__button__img.-operation::before {
    aspect-ratio: 76/86;
    width: 55px;
    height: auto;
  }
}

#p-solutionTop .p-solutionTop-toggle__button__img.-engineer::before {
  width: 59px;
  height: 45px;
  background-image: url(/images/solution/engineer_icon_01.svg);
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__button__img.-engineer::before {
    aspect-ratio: 97/74;
    width: 75px;
    height: auto;
  }
}

#p-solutionTop .p-solutionTop-toggle__button__img.-education::before {
  width: 48px;
  height: 42px;
  background-image: url(/images/solution/education_icon_01.svg);
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__button__img.-education::before {
    aspect-ratio: 80/70;
    width: 60px;
    height: auto;
  }
}

#p-solutionTop .p-solutionTop-toggle__button__img > p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 18px;
  background: #3c3c3c;
  font-size: 0.625rem;
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__button__img > p {
    height: 21px;
    font-size: 0.8125rem;
  }
}

#p-solutionTop .p-solutionTop-toggle__button__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  min-height: 90px;
  padding-right: 15px;
  padding-left: 15px;
  background: #e9e3d6;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__button__text {
    padding: 0 80px 0 60px;
    min-height: 110px;
  }
}

#p-solutionTop .p-solutionTop-toggle__button__text p {
  font-size: 0.9375rem;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__button__text p {
    font-size: 1.5rem;
  }
}

#p-solutionTop .p-solutionTop-toggle__button__mark {
  position: relative;
  overflow: hidden;
  width: 27px;
  height: 27px;
  margin: auto;
  color: transparent;
  position: absolute;
  top: 0;
  right: 8px;
  bottom: 0;
  -webkit-transition: -webkit-transform .2s ease;
  transition: -webkit-transform .2s ease;
  transition: transform .2s ease;
  transition: transform .2s ease, -webkit-transform .2s ease;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__button__mark {
    width: 38px;
    height: 38px;
    right: 30px;
  }
}

#p-solutionTop .p-solutionTop-toggle__button__mark::before, #p-solutionTop .p-solutionTop-toggle__button__mark::after {
  content: '';
  display: block;
  width: 1px;
  height: 19px;
  background: #3c3c3c;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__button__mark::before, #p-solutionTop .p-solutionTop-toggle__button__mark::after {
    width: 2px;
    height: 38px;
  }
}

#p-solutionTop .p-solutionTop-toggle__button__mark::after {
  top: 4px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__button__mark::after {
    top: 0;
  }
}

#p-solutionTop .p-solutionTop-toggle__button > button[aria-expanded="true"] .p-solutionTop-toggle__button__mark {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

#p-solutionTop .p-solutionTop-toggle__body {
  height: 100%;
  padding: 23px 18px 20px 18px;
  background: #e8ecf4;
  visibility: visible;
  opacity: 1;
  -webkit-transition: opacity .3s ease, visibility .3s ease, padding-top .3s ease, padding-bottom .3s ease;
  transition: opacity .3s ease, visibility .3s ease, padding-top .3s ease, padding-bottom .3s ease;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 40px 32px 40px 120px;
  }
}

#p-solutionTop .p-solutionTop-toggle__body[aria-hidden="true"] {
  visibility: hidden;
  height: 0;
  padding: 0;
  opacity: 0;
}

#p-solutionTop .p-solutionTop-toggle__body[aria-hidden="true"] * {
  opacity: 0;
}

#p-solutionTop .p-solutionTop-toggle__body > p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 36px;
  padding-left: 15px;
  border-left: 3px solid #bc3f3e;
  font-size: 0.6875rem;
  line-height: 1.75;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__body > p {
    padding-left: 30px;
    border-width: 4px;
    min-width: 54px;
    font-size: 1.125rem;
    line-height: 2;
  }
}

#p-solutionTop .p-solutionTop-toggle__body__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__body__link {
    margin-top: 0;
    margin-left: 10px;
  }
}

#p-solutionTop .p-solutionTop-toggle__body__link > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  font-size: 0.6875rem;
  color: #bc3f3e;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__body__link > a {
    font-size: 0.875rem;
  }
}

#p-solutionTop .p-solutionTop-toggle__body__link > a + a {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__body__link > a + a {
    margin-top: 16px;
  }
}

#p-solutionTop .p-solutionTop-toggle__body__link > a::before, #p-solutionTop .p-solutionTop-toggle__body__link > a::after {
  content: '';
  display: block;
}

#p-solutionTop .p-solutionTop-toggle__body__link > a::before {
  width: 25px;
  height: 25px;
  margin-left: 10px;
  background: #bc3f3e;
  border-radius: 50vh;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__body__link > a::before {
    width: 31px;
    height: 31px;
    margin-left: 16px;
  }
}

#p-solutionTop .p-solutionTop-toggle__body__link > a::after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  right: 7px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-toggle__body__link > a::after {
    border-width: 8px 0 8px 10px;
    right: 8px;
  }
}

#p-solutionTop .p-solutionTop-heading.-level2 {
  margin: 70px -5.3vw 50px;
  padding: 22px 5.3vw;
  background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
  background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
  font-size: 1.4375rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  text-align: center;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level2 {
    max-width: 1920px;
    width: calc(100% + 920px);
    padding: 38px 0;
    margin: 180px -460px 93px;
    font-size: 2.375rem;
  }
}

#p-solutionTop .p-solutionTop-content .p-solutionTop-heading.-level2-2 {
  margin: 50px auto 140px;
  margin: 13.33333vw auto 37.33333vw;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-content .p-solutionTop-heading.-level2-2 {
    max-width: 1920px;
    width: calc(100% + 920px);
    margin: 160px -460px 150px;
    background: url(/images/solution/heading_bg_pc_01.png) top center/cover;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    padding: 0 20px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
  }
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__inner {
    max-width: 1000px;
  }
}

#p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 78.66667vw;
  height: 27.46667vw;
  margin-left: -5.3vw;
  padding-left: calc(5.3vw + 22px);
  background: url(/images/solution/heading_bg_sp_01.png) top right/cover;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__text {
    width: 50%;
    height: 207px;
    margin-left: 0;
    padding-left: 0;
    background: none;
  }
}

#p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__text > h2 {
  margin-left: 5.33333vw;
  font-size: 4.8vw;
  font-weight: 700;
  color: #fff;
  line-height: 1.44;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__text > h2 {
    margin-left: 20px;
    font-size: 1.5rem;
  }
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__text > h2 {
    margin-left: 37px;
    font-size: 2.25rem;
  }
}

#p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__text > h2 > span {
  display: block;
}

#p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__text > img {
  width: 10.4vw;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__text > img {
    width: 60px;
  }
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__text > img {
    width: 78px;
  }
}

#p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 68.53333vw;
  height: 27.46667vw;
  background: url(/images/solution/heading_bg_sp_02.png) top left/cover;
  position: absolute;
  top: 23.2vw;
  right: -5.3vw;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__link {
    width: 50%;
    height: auto;
    background: none;
    position: relative;
    top: 0;
    right: 0;
  }
}

#p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__link > a {
  width: 100%;
  padding-right: 5.3vw;
  padding-left: 18.66667vw;
  font-size: 4.8vw;
  font-weight: 700;
  color: #fff;
  line-height: 1.44;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__link > a {
    padding-right: 0;
    padding-left: 16px;
    font-size: 1.5rem;
  }
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__link > a {
    font-size: 2.25rem;
  }
}

#p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__link > a::before, #p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__link > a::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

#p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__link > a::before {
  width: 6.66667vw;
  height: 6.66667vw;
  margin-left: 2.66667vw;
  background: #fff;
  border-radius: 50vh;
  right: 3.46667vw;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__link > a::before {
    width: 31px;
    height: 31px;
    margin-left: 16px;
    right: 0;
  }
}

#p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__link > a::after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.6vw 0 1.6vw 2.13333vw;
  border-color: transparent transparent transparent #3c3c3c;
  right: 5.33333vw;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__link > a::after {
    border-width: 8px 0 8px 10px;
    right: 8px;
  }
}

#p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__link > a > span {
  display: block;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level2-2 .p-solutionTop-heading__link > a > span {
    display: inline;
  }
}

#p-solutionTop .p-solutionTop-heading.-level3 {
  width: calc(100vw - 16px - 5.3vw);
  min-height: 208px;
  margin: 0 auto 24vw;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level3 {
    width: calc(100% + 200px);
    max-width: none;
    min-height: 327px;
    margin: 0 -100px 160px;
  }
}

#p-solutionTop .p-solutionTop-heading.-level3::before, #p-solutionTop .p-solutionTop-heading.-level3::after {
  content: '';
  display: block;
  width: calc(82% + 5.3vw + 8px + (100vw - 320px));
  height: 44vw;
  position: absolute;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level3::before, #p-solutionTop .p-solutionTop-heading.-level3::after {
    height: 297px;
  }
}

#p-solutionTop .p-solutionTop-heading.-level3::before {
  background: #bc3f3e;
  top: 0;
  left: calc(-5.3vw - 8px - (100vw - 320px));
  z-index: 2;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level3::before {
    width: 787px;
    left: -110px;
  }
}

#p-solutionTop .p-solutionTop-heading.-level3::after {
  background: #e5e5e6;
  top: 11.46667vw;
  right: calc(-5.3vw - 8px - (100vw - 320px));
  z-index: 1;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level3::after {
    width: 730px;
    top: 30px;
    right: -110px;
    bottom: inherit;
  }
}

#p-solutionTop .p-solutionTop-heading.-level3 .p-solutionTop-heading__inner {
  height: 55.46667vw;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level3 .p-solutionTop-heading__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: 297px;
    max-width: calc(100% - 200px);
    margin: 0 auto;
  }
}

#p-solutionTop .p-solutionTop-heading.-level3 .p-solutionTop-heading__inner::after {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  border-right: 4px solid #bc3f3e;
  border-bottom: 4px solid #bc3f3e;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
  bottom: -14.93333vw;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level3 .p-solutionTop-heading__inner::after {
    width: 80px;
    height: 80px;
    border-width: 8px;
    bottom: -90px;
  }
}

#p-solutionTop .p-solutionTop-heading.-level3 h3 > span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-bottom: 15px;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level3 h3 > span {
    margin-bottom: 20px;
  }
}

#p-solutionTop .p-solutionTop-heading.-level3 h3 > span > span {
  padding: 0 4.53333vw;
  background: #fff;
  font-size: 3.2vw;
  font-weight: 700;
  color: #bc3f3e;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level3 h3 > span > span {
    padding: 0px 27px;
    font-size: 1.3125rem;
    letter-spacing: .1em;
  }
}

#p-solutionTop .p-solutionTop-heading.-level3 h3 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 29px;
  font-size: 3.46667vw;
  line-height: 1.592592593;
  color: #fff;
  font-weight: 700;
  position: relative;
  z-index: 3;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level3 h3 {
    margin-top: 0;
    font-size: 1.5625rem;
    line-height: 1.56;
    letter-spacing: .05em;
  }
}

#p-solutionTop .p-solutionTop-heading.-level3 img {
  width: 53.33333vw;
  position: absolute;
  right: calc(-5.3vw - 8px + 15px);
  top: 19.46667vw;
  z-index: 3;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level3 img {
    width: 395px;
    right: inherit;
    top: inherit;
    bottom: 0;
    left: 47.3%;
  }
}

#p-solutionTop .p-solutionTop-heading.-level3 img.-pattern2 {
  width: 61.33333vw;
  right: calc(-5.3vw - 8px + 23px);
  top: 18.4vw;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level3 img.-pattern2 {
    width: 420px;
    top: inherit;
    right: inherit;
    left: 39%;
    bottom: -32px;
  }
}

@media screen and (max-width: 767px) {
  #p-solutionTop .p-solutionTop-heading.-level3 .-sp-only {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level3 .-sp-only {
    display: none;
  }
}

#p-solutionTop .p-solutionTop-heading.-level4 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 40px;
  margin: 50px 0 25px;
  padding-left: 21px;
  border-left: 6px solid #bc3f3e;
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 2.368;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-heading.-level4 {
    min-height: 80px;
    margin: 72px 0 33px;
    padding-left: 30px;
    border-width: 10px;
    font-size: 1.625rem;
    line-height: 1.5;
  }
}

#p-solutionTop .p-solutionTop-pointText {
  width: 100%;
  margin: 65px auto 0;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-pointText {
    max-width: 810px;
    margin-top: 150px;
  }
}

#p-solutionTop .p-solutionTop-pointText::before, #p-solutionTop .p-solutionTop-pointText::after {
  content: '';
  display: block;
  width: calc(100% - 30px);
  height: 4px;
  background: #fff;
  position: absolute;
  left: 50%;
  z-index: 2;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-pointText::before, #p-solutionTop .p-solutionTop-pointText::after {
    width: calc(100% - 60px);
    height: 6px;
  }
}

#p-solutionTop .p-solutionTop-pointText::before {
  top: -1px;
}

#p-solutionTop .p-solutionTop-pointText::after {
  bottom: -1px;
}

#p-solutionTop .p-solutionTop-pointText__inner {
  border: 2px solid #3c3c3c;
  padding: 6px 10px;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-pointText__inner {
    padding: 0 10px;
    border-width: 3px;
  }
}

#p-solutionTop .p-solutionTop-pointText p {
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.615384615;
  text-align: center;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-pointText p {
    font-size: 1.5625rem;
    line-height: 1.68;
  }
}

#p-solutionTop .p-solutionTop-contact {
  max-width: 500px;
  margin: 32px auto 0;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact {
    max-width: none;
    margin: 55px auto 0;
  }
}

#p-solutionTop .p-solutionTop-contact__heading {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  min-height: 101px;
  padding: 20px;
  background: #bc3f3e;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact__heading {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 122px;
  }
}

#p-solutionTop .p-solutionTop-contact__heading__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: #fff;
}

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

#p-solutionTop .p-solutionTop-contact__heading__inner > h3 {
  font-size: 1.625rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact__heading__inner > h3 {
    font-size: 3.3125rem;
  }
}

#p-solutionTop .p-solutionTop-contact__heading__inner > a {
  min-width: 132px;
  margin-left: 30px;
  padding: 9px 12px;
  border: 1px solid #fff;
  font-size: 0.75rem;
  line-height: 1.366666667;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact__heading__inner > a {
    min-width: 264px;
    margin-left: 100px;
    padding: 17px 20px;
    font-size: 0.875rem;
  }
}

#p-solutionTop .p-solutionTop-contact__heading__inner > a::after {
  content: '';
  display: block;
  width: 7px;
  height: 7px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  top: 50%;
  right: 11px;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact__heading__inner > a::after {
    width: 13px;
    height: 13px;
    top: 46%;
    right: 15px;
  }
}

#p-solutionTop .p-solutionTop-contact__heading__inner > a > span {
  display: block;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact__heading__inner > a > span {
    display: inline;
  }
}

#p-solutionTop .p-solutionTop-contact__body1 {
  background: #3c3c3c;
  padding: 15px 30px 11px 30px;
  color: #fff;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact__body1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 27px 30px;
  }
}

#p-solutionTop .p-solutionTop-contact__body1__heading {
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact__body1__heading {
    font-size: 1.3125rem;
  }
}

#p-solutionTop .p-solutionTop-contact__body1__desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact__body1__desc {
    margin-left: 40px;
  }
}

#p-solutionTop .p-solutionTop-contact__body1__desc__inner {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact__body1__desc__inner {
    margin-top: 0;
  }
}

#p-solutionTop .p-solutionTop-contact__body1__desc__inner > .-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 34px;
  height: 34px;
  background: #fff;
  color: #000;
  font-size: 0.75rem;
  font-weight: 700;
  text-align: center;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact__body1__desc__inner > .-heading {
    width: inherit;
    height: inherit;
    padding: 7px 14px 4px;
    letter-spacing: .2em;
  }
}

#p-solutionTop .p-solutionTop-contact__body1__desc__inner > .-text {
  font-size: 0.75rem;
  margin-left: 10px;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact__body1__desc__inner > .-text {
    font-size: 0.875rem;
  }
}

#p-solutionTop .p-solutionTop-contact__body2 {
  padding: 16px 10px 12px;
  background: #e6e6e6;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact__body2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 30px 20px;
  }
}

#p-solutionTop .p-solutionTop-contact__body2__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact__body2__item {
    width: inherit;
  }
}

#p-solutionTop .p-solutionTop-contact__body2__item + .p-solutionTop-contact__body2__item {
  margin-top: 15px;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact__body2__item + .p-solutionTop-contact__body2__item {
    margin-top: 0;
    margin-left: 4%;
    padding-left: 4%;
    border-left: 1px solid #3c3c3c;
  }
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-contact__body2__item + .p-solutionTop-contact__body2__item {
    margin-left: 6.8%;
    padding-left: 6.8%;
  }
}

#p-solutionTop .p-solutionTop-contact__body2__item > p {
  margin-bottom: 12px;
  padding: 2px 10px;
  min-width: 237px;
  background: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  text-align: center;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact__body2__item > p {
    min-width: 309px;
    margin-bottom: 20px;
    font-size: 1rem;
  }
}

#p-solutionTop .p-solutionTop-contact__body2__item > span {
  font-size: 1.125rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact__body2__item > span {
    font-size: 1.625rem;
  }
}

#p-solutionTop .p-solutionTop-contact__body2__item > span + span {
  margin-top: 4px;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-contact__body2__item > span + span {
    margin-top: 6px;
  }
}

#p-solutionTop .p-solutionTop__answer {
  margin: 24vw auto 0;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop__answer {
    max-width: none;
    position: relative;
    margin: 90px auto 100px auto;
  }
}

#p-solutionTop .p-solutionTop__answer__heading {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 52.66667vw;
  height: 24.13333vw;
  padding-left: 5.86667vw;
  background: url(/images/solution/heading_bg_02.png) top right/cover;
  position: relative;
  z-index: 2;
  letter-spacing: -.04em;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop__answer__heading {
    width: 395px;
    height: 182px;
    padding-left: 40px;
  }
}

#p-solutionTop .p-solutionTop__answer__heading > p {
  font-size: 4.26667vw;
  font-weight: 700;
  color: #fff;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop__answer__heading > p {
    font-size: 2rem;
    line-height: 1.75;
  }
}

#p-solutionTop .p-solutionTop__answer__text {
  width: 81.06667vw;
  margin-left: auto;
  padding: 6.13333vw 0 4vw 7.46667vw;
  background: #fff;
  border: 1.33333vw solid #bc3f3e;
  font-size: 3.46667vw;
  line-height: 1.56;
  font-weight: 700;
  position: relative;
  z-index: 1;
  -webkit-transform: translateY(-4vw);
          transform: translateY(-4vw);
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop__answer__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 75.9%;
    min-height: 182px;
    padding: 30px 0 25px 160px;
    border-width: 10px;
    font-size: 1.5625rem;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    position: absolute;
    top: 45px;
    right: 0;
    -webkit-transform: translateY(-15px);
            transform: translateY(-15px);
  }
}

@media screen and (min-width: 900px) {
  #p-solutionTop .p-solutionTop__answer__text {
    padding-left: 140px;
  }
}

#p-solutionTop .p-solutionTop-media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  margin-left: 8px;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-media {
    margin-left: 40px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

#p-solutionTop .p-solutionTop-media + .p-solutionTop-media {
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-media.-left-image {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

#p-solutionTop .p-solutionTop-media__desc {
  width: 100%;
  margin-top: 25px;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-media__desc {
    margin-top: 0;
    margin-left: 0;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-media.-left-image .p-solutionTop-media__desc {
    margin-top: 0;
    margin-left: 50px;
  }
}

#p-solutionTop .p-solutionTop-media__desc__heading {
  padding: 4px 15px 2px;
  background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
  background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.63333;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-media__desc__heading {
    padding: 0 20px;
    font-size: 1.375rem;
    line-height: 1.77;
  }
}

#p-solutionTop .p-solutionTop-media__desc__text {
  margin-top: 20px;
  font-size: 0.875rem;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-media__desc__text {
    letter-spacing: -0.07em;
  }
}

#p-solutionTop .p-solutionTop-media__img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-media__img {
    max-width: 428px;
    margin-left: 50px;
  }
}

@media screen and (min-width: 1024px) {
  #p-solutionTop .p-solutionTop-media__img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

#p-solutionTop .p-solutionTop-media__img > img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-media.-left-image .p-solutionTop-media__img {
    margin-left: 0;
  }
}

#p-solutionTop .p-solutionTop-response {
  width: 100%;
  margin: 22.66667vw auto 9.33333vw;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-response {
    max-width: none;
    margin: 200px 0 180px;
  }
}

#p-solutionTop .p-solutionTop-response::after {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  border-right: 4px solid #bc3f3e;
  border-bottom: 4px solid #bc3f3e;
  position: absolute;
  top: -76px;
  top: -18.66667vw;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-response::after {
    width: 80px;
    height: 80px;
    border-width: 8px;
    top: -166px;
  }
}

#p-solutionTop .p-solutionTop-response__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 57.33333vw;
  height: 24.26667vw;
  min-height: 91px;
  background: #bc3f3e;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-response__heading {
    width: 43%;
    height: 182px;
    position: absolute;
    top: -30px;
    left: 0;
  }
}

#p-solutionTop .p-solutionTop-response__heading > p {
  font-size: 3.73333vw;
  font-weight: 700;
  line-height: 1.39;
  color: #fff;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-response__heading > p {
    font-size: 1.5625rem;
    line-height: 1.56;
  }
}

#p-solutionTop .p-solutionTop-response__heading > img {
  width: 16.13333vw;
  height: 16.13333vw;
  margin-left: 25px;
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-response__heading > img {
    width: 97px;
    height: 97px;
    margin-left: 60px;
  }
}

#p-solutionTop .p-solutionTop-response__text {
  width: 77.33333vw;
  margin-left: auto;
  padding: 8.8vw 4vw 5.33333vw 9.33333vw;
  background: #e5e5e6;
  font-size: 3.46667vw;
  font-weight: 700;
  line-height: 1.53;
  letter-spacing: -.05em;
  position: relative;
  z-index: 1;
  -webkit-transform: translateY(-15px);
          transform: translateY(-15px);
}

@media screen and (min-width: 768px) {
  #p-solutionTop .p-solutionTop-response__text {
    width: 63.4%;
    padding: 40px 15px 30px 130px;
    font-size: 1.5625rem;
    line-height: 1.56;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

#p-solutionTop .l-container > *:first-child {
  margin-top: 0;
}

#p-solutionTop .l-container > *:last-child {
  margin-bottom: 0;
}

#p-solutionTop br.-sp-only {
  display: block;
}

@media screen and (min-width: 768px) {
  #p-solutionTop br.-sp-only {
    display: none;
  }
}

#p-solutionTop br.-pc-only {
  display: none;
}

@media screen and (min-width: 768px) {
  #p-solutionTop br.-pc-only {
    display: block;
  }
}

#p-solutionEx .cp-page-fv {
  height: 123.2vw;
  background-image: url(/images/solution/exampla_mv_bg_sp.png);
}

@media screen and (min-width: 768px) {
  #p-solutionEx .cp-page-fv {
    height: 220px;
    background-image: url(/images/solution/exampla_mv_bg_pc.png);
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .cp-page-fv__inner {
    padding: 40px 0 0;
  }
}

#p-solutionEx .cp-page-fv__sub-title {
  width: 31.46667vw;
  margin-bottom: 6.66667vw;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .cp-page-fv__sub-title {
    width: min(20%, 200px);
    margin-bottom: 20px;
  }
}

#p-solutionEx .cp-page-fv__sub-title > img {
  width: 100%;
}

#p-solutionEx .cp-page-fv__title-block {
  margin-bottom: 8vw;
  padding: 2.13333vw 4.26667vw;
  letter-spacing: 0;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .cp-page-fv__title-block {
    padding: 9px 25px;
    margin-bottom: 15px;
  }
}

#p-solutionEx .cp-page-fv__desc {
  letter-spacing: -.1em;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .cp-page-fv__desc {
    letter-spacing: 0;
  }
}

#p-solutionEx .cp-breadcrumb li img {
  width: 0.75rem;
  height: auto;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .cp-breadcrumb li img {
    width: 0.875rem;
  }
}

#p-solutionEx .p-solutionEx-heading.-level2 {
  margin: 0 -5.3vw 50px;
  padding: 22px 5.3vw;
  background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
  background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
  font-size: 1.4375rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-heading.-level2 {
    max-width: 1920px;
    width: calc(100% + 920px);
    padding: 38px 0;
    margin: 0 -460px 93px;
    font-size: 2.375rem;
  }
}

#p-solutionEx .p-solutionEx-heading.-level2 > img {
  width: 190px;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-heading.-level2 > img {
    width: 258px;
  }
}

#p-solutionEx .p-solutionEx-heading.-level4 {
  min-width: 34px;
  margin: 100px 0 50px;
  padding-left: 20px;
  border-left: 5px solid #bc3f3e;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.61;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-heading.-level4 {
    min-width: 87px;
    margin: 0 0 40px;
    border-width: 10px;
    font-size: 1.875rem;
    line-height: 2.067;
  }
}

#p-solutionEx .p-solutionEx-bg {
  width: calc(100% + 10.6vw);
  margin: 160px -5.3vw;
  padding-bottom: 100px;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-bg {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding-bottom: 40px;
  }
}

#p-solutionEx .p-solutionEx-bg.-gray {
  background: #e6e6e6;
}

@media screen and (max-width: 767px) {
  #p-solutionEx .p-solutionEx-bg-pc {
    display: none;
  }
}

#p-solutionEx .solution-arrow {
  max-width: 300px;
  height: auto;
}

#p-solutionEx .p-solutionEx-mainMedia {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}

#p-solutionEx .p-solutionEx-mainMedia__img {
  display: block;
  width: calc(100vw + 10.6vw);
  margin: 0 -5.3vw;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-mainMedia__img {
    width: calc(140%);
    margin: 0 0 0 -200px;
  }
}

#p-solutionEx .p-solutionEx-mainMedia__desc {
  margin-bottom: -138px;
  position: relative;
  z-index: 2;
  top: -138px;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-mainMedia__desc {
    top: -302px;
    margin-bottom: -302px;
  }
}

#p-solutionEx .p-solutionEx-mainMedia__desc > dl {
  font-size: 0.9375rem;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-mainMedia__desc > dl {
    font-size: 1rem;
  }
}

#p-solutionEx .p-solutionEx-mainMedia__desc > dl > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#p-solutionEx .p-solutionEx-mainMedia__desc > dl > div + div {
  margin-top: 7px;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-mainMedia__desc > dl > div + div {
    margin-top: 22px;
  }
}

#p-solutionEx .p-solutionEx-mainMedia__desc > dl > div > dt,
#p-solutionEx .p-solutionEx-mainMedia__desc > dl > div > dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 9px 4px;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-mainMedia__desc > dl > div > dt,
  #p-solutionEx .p-solutionEx-mainMedia__desc > dl > div > dd {
    padding: 10px 19px;
  }
}

#p-solutionEx .p-solutionEx-mainMedia__desc > dl > div > dt {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-width: 100px;
  background: #3c3c3c;
  color: #fff;
  letter-spacing: -.1em;
  text-align: center;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-mainMedia__desc > dl > div > dt {
    width: 135px;
  }
}

#p-solutionEx .p-solutionEx-mainMedia__desc > dl > div > dt .-spacing {
  display: block;
  letter-spacing: 1em;
  text-indent: 1em;
}

#p-solutionEx .p-solutionEx-mainMedia__desc > dl > div > dd {
  min-width: 140px;
  padding: 8px 10px;
  background: #fff;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-mainMedia__desc > dl > div > dd {
    min-width: 155px;
  }
}

#p-solutionEx .p-solutionEx-mainMedia__summary {
  margin-top: 25px;
  padding: 33px 25px;
  background: #fff;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-mainMedia__summary {
    margin-top: 64px;
    padding: 50px 45px;
  }
}

#p-solutionEx .p-solutionEx-mainMedia__summary .p-solutionEx-text {
  margin-top: 35px;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-mainMedia__summary .p-solutionEx-text {
    margin-top: 0;
    margin-left: 70px;
    font-size: 0.875rem;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-mainMedia__summary__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

#p-solutionEx .p-solutionEx-mainMedia__summary__heading {
  font-size: 1.375rem;
  line-height: 1.318;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-mainMedia__summary__heading {
    font-size: 2rem;
  }
}

#p-solutionEx .p-solutionEx-mainMedia__summary__heading > span {
  display: block;
  letter-spacing: .1em;
}

#p-solutionEx .p-solutionEx-mainMedia__summary__heading > .-sub {
  margin-top: 4px;
  padding: 6px 10px;
  display: inline-block;
  min-width: 115px;
  background: #3c3c3c;
  font-size: 0.8125rem;
  text-align: center;
  color: #fff;
  letter-spacing: 1em;
  text-indent: 1em;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-mainMedia__summary__heading > .-sub {
    display: block;
    margin-top: 16px;
    padding: 8px 10px;
    font-size: 1rem;
  }
}

#p-solutionEx .p-solutionEx-mainMedia__summary__pointText {
  margin: 85px -25px 0;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-mainMedia__summary__pointText {
    margin: 50px auto 0;
    text-align: center;
  }
}

#p-solutionEx .p-solutionEx-mainMedia__summary__pointText > p {
  padding: 11px 20px 15px;
  font-size: 1.1875rem;
  font-weight: 700;
  text-align: center;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-mainMedia__summary__pointText > p {
    display: inline-block;
    min-width: 600px;
    padding: 20px 62px;
    font-size: 1.5rem;
    line-height: 1.667;
  }
}

#p-solutionEx .p-solutionEx-mainMedia__summary__pointText > p::before, #p-solutionEx .p-solutionEx-mainMedia__summary__pointText > p::after {
  content: '';
  display: block;
  width: 45px;
  height: 45px;
  position: absolute;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-mainMedia__summary__pointText > p::before, #p-solutionEx .p-solutionEx-mainMedia__summary__pointText > p::after {
    width: 90px;
    height: 90px;
  }
}

#p-solutionEx .p-solutionEx-mainMedia__summary__pointText > p::before {
  border-top: 7px solid #bc3f3e;
  border-left: 7px solid #bc3f3e;
  top: 0;
  left: 0;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-mainMedia__summary__pointText > p::before {
    border-width: 14px;
  }
}

#p-solutionEx .p-solutionEx-mainMedia__summary__pointText > p::after {
  border-right: 7px solid #bc3f3e;
  border-bottom: 7px solid #bc3f3e;
  right: 0;
  bottom: 0;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-mainMedia__summary__pointText > p::after {
    border-width: 14px;
  }
}

#p-solutionEx .p-solutionEx-text {
  font-size: 0.875rem;
  line-height: 2;
  letter-spacing: -.02em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-text {
    font-size: 0.875rem;
    letter-spacing: 0;
  }
}

#p-solutionEx .p-solutionEx-media1 {
  margin: 75px 0 150px;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media1 {
    width: 100%;
    margin: 50px 0 300px;
  }
}

#p-solutionEx .p-solutionEx-media1__inner {
  max-width: 600px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media1__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 1440px;
    padding: 0 20px;
    position: relative;
  }
}

#p-solutionEx .p-solutionEx-media1__desc {
  width: 90.67%;
  padding: 40px 20px 50px;
  background: -webkit-gradient(linear, left top, right top, from(#e9e3d6), to(#bfbaa6));
  background: linear-gradient(90deg, #e9e3d6 0%, #bfbaa6 100%);
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media1__desc {
    width: 55%;
    min-width: 570px;
    padding: 55px 70px 45px 0;
    background: none;
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
  }
}

@media screen and (min-width: 1200px) {
  #p-solutionEx .p-solutionEx-media1__desc {
    min-width: none;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media1__desc::before {
    content: '';
    display: block;
    width: 1063px;
    height: 100%;
    background: -webkit-gradient(linear, left top, right top, from(#e9e3d6), to(#bfbaa6));
    background: linear-gradient(90deg, #e9e3d6 0%, #bfbaa6 100%);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
  }
}

#p-solutionEx .p-solutionEx-media1__desc .p-solutionEx-text {
  margin-top: 25px;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media1__desc .p-solutionEx-text {
    margin-top: 23px;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media1__desc__inner {
    width: 100%;
    max-width: 600px;
    margin-left: auto;
    position: relative;
    z-index: 2;
  }
}

#p-solutionEx .p-solutionEx-media1__heading > h4 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.61;
  letter-spacing: .05em;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media1__heading > h4 {
    font-size: 1.3125rem;
  }
}

#p-solutionEx .p-solutionEx-media1__heading > h4 > .-sub {
  display: inline-block;
  margin-bottom: 20px;
  padding: 6px 18px;
  background: #3c3c3c;
  font-size: 0.9375rem;
  color: #fff;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media1__heading > h4 > .-sub {
    min-width: 256px;
    margin-bottom: 25px;
    font-size: 1.5rem;
    text-align: center;
    letter-spacing: .1em;
  }
}

#p-solutionEx .p-solutionEx-media1__img {
  width: calc(100% - 5.3vw);
  -webkit-transform: translate(5.3vw, -12px);
          transform: translate(5.3vw, -12px);
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media1__img {
    width: 100%;
    max-width: 722px;
    -webkit-transform: translate(0);
            transform: translate(0);
    position: absolute;
    right: 0;
    bottom: -200px;
    z-index: 1;
  }
}

@media screen and (min-width: 769px) {
  #p-solutionEx .p-solutionEx-media1__img {
    bottom: -117px;
  }
}

#p-solutionEx .p-solutionEx-caption-01 {
  font-size: 3.2vw;
  font-weight: 500;
  padding-left: 5.33333vw;
  margin-top: -1.33333vw;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-caption-01 {
    font-size: 1rem;
    font-weight: 500;
    position: absolute;
    bottom: -160px;
    right: 0;
  }
}

#p-solutionEx .p-solutionEx-caption-03 {
  font-size: 3.2vw;
  font-weight: 500;
  padding-left: 5.33333vw;
  margin-top: -1.33333vw;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-caption-03 {
    font-size: 1rem;
    font-weight: 500;
    position: absolute;
    bottom: -130px;
    right: 0;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media1.-left-img .p-solutionEx-media1__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media1.-left-img .p-solutionEx-media1__desc {
    padding: 55px 0 45px 70px;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media1.-left-img .p-solutionEx-media1__desc::before {
    right: inherit;
    left: 0;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media1.-left-img .p-solutionEx-media1__desc__inner {
    margin-right: auto;
    margin-left: inherit;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media1.-left-img .p-solutionEx-media1__img {
    right: inherit;
    left: 0;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2 {
    width: 100%;
    margin-bottom: 90px;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .-level4-margin {
    margin-bottom: 0;
  }
}

#p-solutionEx .p-solutionEx-media2__inner {
  max-width: 600px;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 1440px;
    padding: 0 20px;
    position: relative;
  }
}

#p-solutionEx .p-solutionEx-media2__desc {
  width: 90.67%;
  padding: 40px 20px 50px;
  background: #fff;
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2__desc {
    width: 55%;
    min-width: 570px;
    padding: 55px 70px 45px 0;
    background: none;
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
  }
}

@media screen and (min-width: 1200px) {
  #p-solutionEx .p-solutionEx-media2__desc {
    min-width: none;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2__desc::before {
    content: '';
    display: block;
    width: 1063px;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
  }
}

#p-solutionEx .p-solutionEx-media2__desc .p-solutionEx-text {
  margin-top: 25px;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2__desc .p-solutionEx-text {
    margin-top: 14px;
  }
}

#p-solutionEx .-level4-bg {
  width: 100%;
  background: #e6e6e6;
  padding: 40px 5.3vw 0 5.3vw;
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .-level4-bg {
    padding: 100px 20px 45px 0;
    width: 40%;
  }
}

#p-solutionEx .-level4-bg::before {
  background: #e6e6e6;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2__desc__inner {
    width: 100%;
    max-width: 600px;
    margin-left: auto;
    position: relative;
    z-index: 2;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .-level4-bg-inner {
    max-width: 465px;
  }
}

#p-solutionEx .p-solutionEx-media2__heading > h4 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.61;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2__heading > h4 {
    font-size: 1.3125rem;
  }
}

#p-solutionEx .p-solutionEx-media2__heading > h4 > .-sub {
  display: inline-block;
  margin-bottom: 20px;
  padding: 6px 18px;
  background: #3c3c3c;
  font-size: 0.9375rem;
  color: #fff;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2__heading > h4 > .-sub {
    min-width: 256px;
    margin-bottom: 30px;
    font-size: 1.875rem;
    text-align: center;
    letter-spacing: .1em;
  }
}

#p-solutionEx .p-solutionEx-media2__img {
  width: calc(100% - 5.3vw);
  -webkit-transform: translate(5.3vw, -12px);
          transform: translate(5.3vw, -12px);
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2__img {
    width: 100%;
    max-width: 722px;
    -webkit-transform: translate(0);
            transform: translate(0);
    position: absolute;
    right: 0;
    bottom: -200px;
    z-index: 1;
  }
}

@media screen and (min-width: 769px) {
  #p-solutionEx .p-solutionEx-media2__img {
    bottom: -90px;
  }
}

#p-solutionEx .p-solutionEx-caption-02 {
  width: calc(100% - 5.3vw);
  font-size: 3.2vw;
  font-weight: 500;
  text-align: right;
  margin-bottom: -1.33333vw;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-caption-02 {
    width: auto;
    font-size: 1rem;
    font-weight: 500;
    position: absolute;
    bottom: 15px;
    left: 0;
    margin-bottom: 0;
  }
}

@media screen and (min-width: 769px) and (max-width: 1470px) {
  #p-solutionEx .p-solutionEx-caption-02 {
    left: 20px;
  }
}

@media screen and (min-width: 1580px) and (max-width: 1790px) {
  #p-solutionEx .p-solutionEx-caption-02 {
    left: 20px;
  }
}

@media screen and (max-width: 767px) {
  #p-solutionEx .p-solutionEx-media2.-sp-top-img .p-solutionEx-media2__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  #p-solutionEx .p-solutionEx-media2.-sp-top-img .-level4-colum {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #p-solutionEx .p-solutionEx-media2.-sp-top-img .p-solutionEx-media2__desc {
    margin-left: auto;
  }
  #p-solutionEx .p-solutionEx-media2.-sp-top-img .-level4-bg {
    margin-left: 0;
  }
  #p-solutionEx .p-solutionEx-media2.-sp-top-img .p-solutionEx-media2__img {
    -webkit-transform: translate(0, 12px);
            transform: translate(0, 12px);
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2.-pc-left-top-img .p-solutionEx-media2__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2.-pc-left-top-img .p-solutionEx-media2__desc {
    padding: 55px 0 45px 70px;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2.-pc-left-top-img .p-solutionEx-media2__desc::before {
    right: inherit;
    left: 0;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2.-pc-left-top-img .p-solutionEx-media2__desc__inner {
    margin-right: auto;
    margin-left: inherit;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2.-pc-left-top-img .p-solutionEx-media2__img {
    top: -90px;
    right: inherit;
    bottom: inherit;
    left: 0;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2.-pc-left-bottom-img .p-solutionEx-media2__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2.-pc-left-bottom-img .p-solutionEx-media2__desc {
    padding: 55px 0 45px 70px;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2.-pc-left-bottom-img .p-solutionEx-media2__desc::before {
    right: inherit;
    left: 0;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2.-pc-left-bottom-img .p-solutionEx-media2__desc__inner {
    margin-right: auto;
    margin-left: inherit;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2.-pc-left-bottom-img .p-solutionEx-media2__img {
    right: inherit;
    left: 0;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-media2.-pc-right-top-img .p-solutionEx-media2__img {
    top: -90px;
    bottom: inherit;
  }
  #p-solutionEx .p-solutionEx-media2.-pc-right-top-img .-level4-img {
    top: -280px;
  }
}

#p-solutionEx .p-solutionEx-desc > dt {
  width: 78%;
  margin: 0 auto;
  -webkit-transform: translateY(-34%);
          transform: translateY(-34%);
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-desc > dt {
    width: 380px;
    margin-bottom: -70px;
  }
}

#p-solutionEx .p-solutionEx-desc > dt > span {
  position: absolute;
  top: -9999px;
  left: -9999px;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-desc > dd {
    margin-top: 140px;
  }
}

#p-solutionEx .p-solutionEx-desc > dd + dd {
  margin-top: 100px;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx-desc > dd + dd {
    margin-top: 60px;
  }
}

#p-solutionEx .p-solutionEx__panelLink {
  width: calc(100% + 10.6vw);
  margin: 100px -5.3vw 0;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink {
    width: 100%;
    max-width: 840px;
    margin: 150px auto 0;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .-top-panel-mt {
    margin: 70px auto 0;
  }
}

#p-solutionEx .p-solutionEx__panelLink__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#p-solutionEx .p-solutionEx__panelLink__list > li {
  color: #fff;
  overflow: hidden;
  width: 48%;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink__list > li {
    width: 100%;
    max-width: 405px;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink__list > li + li {
    margin-top: 0;
    margin-left: 30px;
  }
}

#p-solutionEx .p-solutionEx__panelLink__list__inner {
  background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
  background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink__list__inner {
    height: 100%;
  }
}

#p-solutionEx .p-solutionEx__panelLink__list > li > a {
  display: block;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#e9e3d6), to(#bfbaa6));
  background: linear-gradient(90deg, #e9e3d6 0%, #bfbaa6 100%);
  color: #000;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink__list > li > a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

#p-solutionEx .p-solutionEx__panelLink__list > li > a:hover, #p-solutionEx .p-solutionEx__panelLink__list > li > a:active, #p-solutionEx .p-solutionEx__panelLink__list > li > a:focus {
  opacity: .7;
}

#p-solutionEx .p-solutionEx__panelLink__list > li > a svg path {
  fill: #3c3c3c;
}

#p-solutionEx .p-solutionEx__panelLink__list > li > a .p-solutionEx__panelLink__heading::after {
  background: #3c3c3c;
}

#p-solutionEx .p-solutionEx__panelLink__list__inner {
  min-height: 115px;
  padding: 25px 3vw 20px 5.3vw;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink__list__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: inherit;
    padding: 25px 30px 25px 50px;
  }
}

#p-solutionEx .p-solutionEx__panelLink__heading {
  display: inline-block;
  padding-bottom: 4px;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink__heading {
    max-width: 210px;
    padding-bottom: 8px;
  }
}

#p-solutionEx .p-solutionEx__panelLink__heading::after {
  content: '';
  display: block;
  width: calc(100% + 5.3vw);
  height: 5px;
  background: #fff;
  position: absolute;
  bottom: 0;
  right: 0;
}

#p-solutionEx .p-solutionEx__panelLink__heading > svg {
  width: 100px;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink__heading > svg {
    width: 100%;
    max-width: 201px;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink__heading > svg.-sp-only {
    display: none;
  }
}

#p-solutionEx .p-solutionEx__panelLink__heading > svg.-pc-only {
  display: none;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink__heading > svg.-pc-only {
    display: block;
  }
}

#p-solutionEx .p-solutionEx__panelLink__text {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink__text {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 23px;
  }
}

#p-solutionEx .p-solutionEx__panelLink__text > p {
  font-size: 0.6875rem;
  line-height: 1.529;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink__text > p {
    font-size: 1rem;
  }
}

#p-solutionEx .p-solutionEx__panelLink__text .-sub {
  display: inline-block;
  font-size: 0.6875rem;
  line-height: 2.086;
  font-weight: 400;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink__text.-pc-small p,
  #p-solutionEx .p-solutionEx__panelLink__text.-pc-small .-sub {
    font-size: 0.875rem;
    font-weight: 700;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    line-height: 1.714;
  }
}

@media screen and (max-width: 767px) {
  #p-solutionEx .p-solutionEx__panelLink__text.-sp-mt-35 {
    margin-top: 35px;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .-top-panel-margin {
    margin-top: 5px;
  }
}

#p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__list {
  display: block;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

#p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__list > li {
  color: #fff;
  overflow: hidden;
  width: 100%;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__list > li {
    width: 100%;
    max-width: 405px;
  }
}

#p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__list > li + li {
  margin-top: 35px;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__list > li + li {
    margin-top: 0;
    margin-left: 30px;
  }
}

#p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__list__inner {
  min-height: 190px;
  padding: 25px 5.3vw 20px;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__list__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 215px;
    padding: 25px 30px 25px 50px;
  }
}

#p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__heading > svg {
  width: 185px;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__heading > svg {
    width: 100%;
    max-width: 201px;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__heading > svg.-sp-only {
    display: none;
  }
}

#p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__heading > svg.-pc-only {
  display: none;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__heading > svg.-pc-only {
    display: block;
  }
}

#p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__text {
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__text {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 23px;
  }
}

#p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__text > p {
  font-size: 1.0625rem;
  line-height: 1.529;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__text > p {
    font-size: 1rem;
  }
}

#p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__text .-sub {
  display: inline-block;
  font-size: 0.6875rem;
  line-height: 2.086;
  font-weight: 400;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  #p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__text.-pc-small p,
  #p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__text.-pc-small .-sub {
    font-size: 0.875rem;
    font-weight: 700;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    line-height: 1.714;
  }
}

@media screen and (max-width: 767px) {
  #p-solutionEx .p-solutionEx__panelLink-bottom .p-solutionEx__panelLink__text.-sp-mt-35 {
    margin-top: 35px;
  }
}

#p-solutionEx .cp-h2 {
  margin: 60px 0 70px;
  line-height: 1.45;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .cp-h2 {
    margin: 95px 0 80px;
    font-size: 2.5rem;
    letter-spacing: -.04em;
  }
}

#p-solutionEx .cp-h2 > span {
  display: block;
  font-size: 0.8125rem;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .cp-h2 > span {
    font-size: 1.625rem;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .cp-h2_fs32 {
    font-size: 2rem;
    line-height: 2;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx .cp-h2_fs32 span {
    font-size: 1.3125rem;
    line-height: 1.5;
  }
}

#p-solutionEx .cp-contact-area {
  margin: 100px 0 0;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .cp-contact-area {
    margin: 140px 0 0;
  }
}

#p-solutionEx .cp-contact-area + .cp-contact-area {
  margin: 50px 0 0;
}

@media screen and (min-width: 768px) {
  #p-solutionEx .cp-contact-area + .cp-contact-area {
    margin: 60px 0 0;
  }
}

@media screen and (min-width: 768px) {
  #p-solutionEx br.-sp-only {
    display: none;
  }
}

#p-solutionEx br.-tab-only {
  display: none;
}

@media screen and (min-width: 768px) {
  #p-solutionEx br.-tab-only {
    display: block;
  }
}

@media screen and (min-width: 1024px) {
  #p-solutionEx br.-tab-only {
    display: none;
  }
}

#p-solutionEx br.-pc-only {
  display: none;
}

@media screen and (min-width: 768px) {
  #p-solutionEx br.-pc-only {
    display: block;
  }
}

.p-tank-cleaning .flow-box-wrapper {
  overflow-x: auto;
  overflow-y: hidden;
  height: 69.33333vw;
  padding-top: 25px;
}

@media screen and (min-width: 768px) {
  .p-tank-cleaning .flow-box-wrapper {
    overflow-x: visible;
    overflow-y: visible;
    height: auto;
    padding-top: 10px;
  }
}

.p-tank-cleaning .flow-box-wrapper .flow-box-area {
  width: 200%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px) {
  .p-tank-cleaning .flow-box-wrapper .flow-box-area {
    width: auto;
  }
}

.p-tank-cleaning .flow-box-wrapper .flow-box-area__item {
  height: 58.93333vw;
  margin-right: 13.33333vw;
  border: solid 4px #769BC7;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (min-width: 768px) {
  .p-tank-cleaning .flow-box-wrapper .flow-box-area__item {
    height: 242px;
    margin-right: 60px;
  }
}

.p-tank-cleaning .flow-box-wrapper .flow-box-area__item::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  width: 4vw;
  height: 8vw;
  right: -10vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(/images/summary/solution/tank-cleaning/arrow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media screen and (min-width: 768px) {
  .p-tank-cleaning .flow-box-wrapper .flow-box-area__item::after {
    width: 15px;
    height: 29px;
    right: -43px;
  }
}

.p-tank-cleaning .flow-box-wrapper .flow-box-area__item-01 {
  width: 45.33333vw;
}

@media screen and (min-width: 768px) {
  .p-tank-cleaning .flow-box-wrapper .flow-box-area__item-01 {
    width: 240px;
  }
}

.p-tank-cleaning .flow-box-wrapper .flow-box-area__item-02 {
  width: 90.66667vw;
}

@media screen and (min-width: 768px) {
  .p-tank-cleaning .flow-box-wrapper .flow-box-area__item-02 {
    width: 486px;
  }
}

.p-tank-cleaning .flow-box-wrapper .flow-box-area__item-03 {
  width: 10.66667vw;
  height: 58.93333vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 768px) {
  .p-tank-cleaning .flow-box-wrapper .flow-box-area__item-03 {
    width: 43px;
    height: 242px;
  }
}

.p-tank-cleaning .flow-box-wrapper .flow-box-area__item-03 ul {
  width: 100%;
  height: 40vw;
}

@media screen and (min-width: 768px) {
  .p-tank-cleaning .flow-box-wrapper .flow-box-area__item-03 ul {
    height: 170px;
  }
}

.p-tank-cleaning .flow-box-wrapper .flow-box-area__item-03 ul li {
  width: 100%;
  height: 100%;
  background: #769BC7;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

.p-tank-cleaning .flow-box-wrapper .flow-box-area__title {
  width: 35.73333vw;
  height: 8.8vw;
  background: #769BC7;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: -5.33333vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media screen and (min-width: 768px) {
  .p-tank-cleaning .flow-box-wrapper .flow-box-area__title {
    width: 168px;
    height: 26px;
  }
}

@media screen and (min-width: 768px) {
  .p-tank-cleaning .flow-box-wrapper .flow-box-area__title {
    top: -14px;
  }
}

.p-tank-cleaning .flow-box-wrapper .flow-box-area__item-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.p-tank-cleaning .flow-box-wrapper .flow-box-area__item-list li {
  width: 10.66667vw;
  height: 40vw;
  background: #E8ECF4;
  position: relative;
  font-size: 14px;
  font-weight: 600;
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

@media screen and (min-width: 768px) {
  .p-tank-cleaning .flow-box-wrapper .flow-box-area__item-list li {
    width: 43px;
    height: 170px;
  }
}

.p-tank-cleaning .flow-box-wrapper .flow-box-area__item-list li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 4vw;
  height: 8vw;
  right: -5.73333vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(/images/summary/solution/tank-cleaning/arrow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media screen and (min-width: 768px) {
  .p-tank-cleaning .flow-box-wrapper .flow-box-area__item-list li:not(:last-child)::after {
    width: 15px;
    height: 29px;
    right: -28px;
  }
}

.p-tank-cleaning .flow-box-wrapper .flow-box-area__item-list-01 {
  width: 28vw;
}

@media screen and (min-width: 768px) {
  .p-tank-cleaning .flow-box-wrapper .flow-box-area__item-list-01 {
    width: 130px;
  }
}

.p-tank-cleaning .flow-box-wrapper .flow-box-area__item-list-02 {
  width: 80vw;
}

@media screen and (min-width: 768px) {
  .p-tank-cleaning .flow-box-wrapper .flow-box-area__item-list-02 {
    width: 390px;
  }
}

.p-tank-cleaning .flow-box-wrapper .flow-box-area__item-list-02 li {
  background: #CED7E8;
}

/* ============================================
// project inquiry
// ==========================================*/
.p-contact__title {
  color: #000;
}

.p-contact__link {
  text-decoration: underline;
}

.p-contact__btn-wrap {
  text-align: right;
}

.p-contact__btn-wrap .cp-btn-radius-src {
  display: inline-block;
}

.p-contact .cp-h5__text {
  font-size: 1.3rem;
}

.p-contact .cp-table-b th,
.p-contact .cp-table-b td {
  font-size: 0.875rem !important;
}

.p-contact__business-table th {
  padding: 1rem 1.25rem;
}

.p-contact__business-table td {
  padding: 0.6rem 1.25rem;
}

.p-contact__business-table tr th:nth-child(1),
.p-contact__business-table tr th:nth-child(2) {
  width: 30%;
}

.p-contact__business-table tr th:nth-child(3),
.p-contact__business-table tr th:nth-child(4) {
  width: 20%;
}

.p-contact__business-table tr td:nth-child(1),
.p-contact__business-table tr td:nth-child(2) {
  width: 30%;
}

.p-contact__business-table tr td:nth-child(3),
.p-contact__business-table tr td:nth-child(4) {
  width: 20%;
}

.p-contact__technology-table tr th {
  padding: 1rem 1.25rem;
}

.p-contact__technology-table tr td {
  padding: 0.6rem 0.75rem;
}

.p-contact__business-table tr:nth-child(even) td, .p-contact__technology-table tr:nth-child(even) td {
  background-color: #CED7E8;
}

.p-contact__business-table tr td, .p-contact__technology-table tr td {
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
}

.p-contact__business-table tr td.p-contact__text-left, .p-contact__technology-table tr td.p-contact__text-left {
  text-align: left;
}

.p-contact__business-table tr td.p-contact__bg-more-light, .p-contact__technology-table tr td.p-contact__bg-more-light {
  background-color: #E8ECF4;
}

.p-contact__business-table tr td.p-contact__bg-light, .p-contact__technology-table tr td.p-contact__bg-light {
  background-color: #CED7E8;
}

.p-contact__business-table tr td a, .p-contact__technology-table tr td a {
  text-decoration: underline;
}

.p-contact__business-table .cp-ul a, .p-contact__technology-table .cp-ul a {
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .p-contact__business-table .cp-ul a:hover, .p-contact__technology-table .cp-ul a:hover {
    color: #bc3f3e;
    text-decoration: none;
    opacity: 1;
  }
}

.p-contact__business-table th,
.p-contact__business-table td {
  width: 25%;
}

.p-contact__technology-table th {
  width: 15%;
}

.p-contact__technology-table th:first-child {
  width: 20%;
}

.p-contact__technology-table th:nth-child(2) {
  width: 35%;
}

.p-contact__column-number {
  display: inline-block;
}

.p-contact__column-number--mr {
  margin-right: 1em;
}

.p-contact__btn-number::before {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}

.p-contact__input-select {
  background-color: #ffffff;
  border: 1px solid #ddd;
  padding: 4px 8px;
  width: 480px;
  max-width: 100%;
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}

.p-contact__input-4 {
  width: 70px;
}

.p-contact__input-2 {
  width: 35px;
}

.p-contact__input-max {
  width: 85%;
}

.p-contact__contact-table td {
  padding-top: 5px;
  padding-bottom: 5px;
}

.p-contact__contact-table .cp-label-red {
  margin-left: .5em;
}

.p-contact__contact-table input,
.p-contact__contact-table textarea,
.p-contact__contact-table select {
  background-color: #ffffff;
  border: 1px solid #ddd;
  margin: 8px;
  padding: 2px 6px;
}

.p-contact__techno-table th {
  width: 36%;
}

@media screen and (min-width: 768px) {
  .p-contact__techno-table th {
    width: 27%;
  }
}

.p-contact__flow-image {
  text-align: center;
}

.p-contact__submit-wrap, .p-contact__reset-wrap {
  text-align: center;
}

.p-contact__reset-btn {
  background-color: #ddd;
  border-radius: 3px;
  color: #666;
  font-weight: bold;
  border: none;
  padding: 10px 20px;
  cursor: pointer;
}

.p-contact__techno-select select {
  width: 100%;
  border: 1px solid #9e9e9e;
}

.p-contact__techno-msg textarea {
  display: block;
  width: 100%;
  padding: 10px;
  border: 1px solid #9e9e9e;
}

.p-contact__techno-msg p {
  margin-left: 8px;
}

.p-contact__posR {
  position: relative;
}

.p-contact__posA {
  position: absolute;
  bottom: -38%;
}

.p-contact .cp-img-c__inner {
  padding: 0;
  text-align: center;
}

.p-contact .cp-img-c__inner > img {
  aspect-ratio: unset;
}

@media screen and (min-width: 768px) {
  .p-contact .cp-img-c__inner > img {
    aspect-ratio: unset;
  }
}

.p-welding .no-padding {
  padding: 0;
}

@media screen and (min-width: 768px) {
  .p-welding .no-padding {
    padding: 0 5.3vw;
  }
}

.p-welding .cp-table-d td:nth-child(1) {
  width: 12%;
}

.p-welding .cp-table-e th {
  width: 50%;
}

@media screen and (min-width: 768px) {
  .p-welding .cp-table-e th {
    width: 28.8%;
  }
}

.p-safety-management__img-container img {
  width: 100%;
}

.p-safety-management .p-sq-blankImg {
  display: block;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-safety-management .p-sq-blankImg {
    pointer-events: none;
  }
}

.p-safety-management .p-sq-blankImg::after {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  background: url(/images/sq/img_blank_icon_01.svg) center/cover;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

@media screen and (min-width: 768px) {
  .p-safety-management .p-sq-blankImg::after {
    display: none;
  }
}

.p-safety-management .no-padding {
  padding: 0;
}

@media screen and (min-width: 768px) {
  .p-safety-management .no-padding {
    padding: 0 5.3vw;
  }
}

@media screen and (min-width: 768px) {
  .p-safety-management .cp-contact-area__desc {
    letter-spacing: 0.05em;
  }
}

.p-safety-management__table .cp-table-d td {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .p-safety-management__img-02 img {
    width: 450px;
    height: auto;
    aspect-ratio: 624 / 380;
  }
}

.p-maintenance__heading-text span {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-maintenance .cp-table-d {
    width: 95%;
  }
}

@media screen and (min-width: 768px) {
  .p-maintenance .cp-table-d table {
    width: 100%;
    min-width: 750px;
  }
}

.p-maintenance .cp-table-d table th:nth-child(2) {
  width: 17%;
}

.p-maintenance .cp-table-d table th:nth-child(3) {
  width: 35.4%;
}

.p-maintenance .cp-table-d table th:nth-child(4) {
  width: 15.1%;
}

.p-maintenance .cp-table-d table th:nth-child(5) {
  width: 15.1%;
}

.p-maintenance .no-padding {
  padding: 0;
}

@media screen and (min-width: 768px) {
  .p-maintenance .no-padding {
    padding: 0 5.3vw;
  }
}

@media screen and (min-width: 768px) {
  .p-maintenance__img-02 img {
    width: 450px;
    height: auto;
    aspect-ratio: 624 / 380;
  }
}

@media screen and (min-width: 768px) {
  .p-piping-design .cp-table-c {
    width: 100%;
    margin: 0 auto;
  }
}

@media screen and (min-width: 768px) {
  .p-piping-design .cp-table-c table {
    width: 100%;
  }
  .p-piping-design .cp-table-c table th:nth-child(1) {
    width: 14.8%;
  }
  .p-piping-design .cp-table-c table th {
    font-size: 0.875rem;
  }
  .p-piping-design .cp-table-c table td {
    font-size: 0.875rem;
    padding: 1.25rem 0.625rem;
  }
}

.p-piping-design__img-02 .cp-3img__item:not(:last-child) {
  margin-bottom: 2.6875rem;
}

@media screen and (min-width: 768px) {
  .p-piping-design__img-02 .cp-3img__item:not(:last-child) {
    margin-bottom: 2.1875rem;
    margin-right: 0;
  }
}

.p-piping-design__img-02 .cp-3img__item img {
  border: solid 1px #000;
}

@media screen and (min-width: 768px) {
  .p-piping-design__img-02 .cp-3img__item:last-child img {
    height: 208px;
    width: auto;
    aspect-ratio: 624 / 380;
  }
}

.p-piping-design__img-03 .cp-3img__item > figcaption {
  margin-top: 0.3125rem;
  font-size: 0.75rem;
  line-height: 2.41667;
}

@media screen and (min-width: 768px) {
  .p-piping-design__img-03 .cp-3img__item > figcaption {
    margin-top: 0.8125rem;
    font-size: 1rem;
    line-height: 1;
    letter-spacing: -0.1em;
  }
}

.p-piping-design .no-padding {
  padding: 0;
}

@media screen and (min-width: 768px) {
  .p-piping-design .no-padding {
    padding: 0 5.3vw;
  }
}

@media screen and (min-width: 768px) {
  .p-piping-design .cp-contact-area__desc {
    letter-spacing: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-recruit .cp-table-d {
    width: 100%;
    margin: 0 auto;
  }
}

@media screen and (min-width: 768px) {
  .p-recruit .cp-table-d table {
    width: 100%;
    min-width: 750px;
  }
}

.p-recruit .cp-table-d table th:nth-child(2) {
  width: 28.5%;
}

.p-recruit .cp-table-d table th:nth-child(3) {
  width: 54%;
}

.p-recruit .cp-table-d .scroll-hint-icon {
  top: calc(50% - 40px);
}

.p-recruit .cp-imgL2-p__img {
  margin-bottom: 3rem;
  padding: 0 0.5625rem;
}

@media screen and (min-width: 768px) {
  .p-recruit .cp-imgL2-p__img {
    padding: 0;
    margin-bottom: 0;
  }
  .p-recruit .cp-imgL2-p__img:not(:last-child) {
    margin-bottom: 2.5rem;
  }
}

.p-recruit .cp-imgL2-p__img > img {
  aspect-ratio: 308 / 187;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-recruit .cp-imgL2-p__img > img {
    aspect-ratio: 478 / 300;
  }
}

.p-recruit .cp-imgL2-p__img > figcaption {
  margin-top: 0.3125rem;
  font-size: 0.75rem;
  line-height: 2.41667;
}

@media screen and (min-width: 768px) {
  .p-recruit .cp-imgL2-p__img > figcaption {
    margin-top: 0.8125rem;
    font-size: 1rem;
    line-height: 1;
  }
}

.p-recruit .cp-imgL2-p__desc .mb-midashi-s {
  margin-bottom: 10px !important;
}

@media screen and (min-width: 768px) {
  .p-recruit .cp-imgL2-p__desc .mb-midashi-s {
    margin-bottom: 20px !important;
  }
}

@media screen and (min-width: 768px) {
  .p-recruit .cp-contact-area__desc {
    letter-spacing: 0;
  }
}

.p-recruit .no-padding {
  padding: 0;
}

@media screen and (min-width: 768px) {
  .p-recruit .no-padding {
    padding: 0 5.3vw;
  }
}

.p-epc .no-padding {
  padding: 0;
}

@media screen and (min-width: 768px) {
  .p-epc .no-padding {
    padding: 0 5.3vw;
  }
}

.p-epc .letter-spacing-minus {
  letter-spacing: -0.01em;
}

.p-epc .cp-img-box figcaption {
  line-height: 1.33333;
}

.p-boiler-cleaning .no-padding {
  padding: 0;
}

@media screen and (min-width: 768px) {
  .p-boiler-cleaning .no-padding {
    padding: 0 5.3vw;
  }
}

.p-boiler-cleaning .flow-box-wrapper {
  overflow-x: auto;
  overflow-y: hidden;
  height: 73.33333vw;
  padding-top: 6.66667vw;
}

@media screen and (min-width: 768px) {
  .p-boiler-cleaning .flow-box-wrapper {
    overflow-x: visible;
    overflow-y: visible;
    height: auto;
    padding-top: 10px;
  }
}

.p-boiler-cleaning .flow-box-wrapper .flow-box-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-boiler-cleaning .flow-box-wrapper .flow-box-area__item {
  width: 400px;
  height: 242px;
  margin-right: 60px;
  border: solid 4px #769BC7;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-boiler-cleaning .flow-box-wrapper .flow-box-area__item:not(:last-child)::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  width: 4vw;
  height: 8vw;
  right: -10.66667vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(/images/summary/solution/boiler-cleaning/arrow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media screen and (min-width: 768px) {
  .p-boiler-cleaning .flow-box-wrapper .flow-box-area__item:not(:last-child)::after {
    width: 15px;
    height: 29px;
    right: -43px;
  }
}

.p-boiler-cleaning .flow-box-wrapper .flow-box-area__title {
  width: 35.73333vw;
  height: 8.8vw;
  background: #769BC7;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: -5.33333vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media screen and (min-width: 768px) {
  .p-boiler-cleaning .flow-box-wrapper .flow-box-area__title {
    width: 168px;
    height: 26px;
  }
}

@media screen and (min-width: 768px) {
  .p-boiler-cleaning .flow-box-wrapper .flow-box-area__title {
    top: -14px;
  }
}

.p-boiler-cleaning .flow-box-wrapper .flow-box-area__item-list {
  width: 300px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 4vw;
}

@media screen and (min-width: 768px) {
  .p-boiler-cleaning .flow-box-wrapper .flow-box-area__item-list {
    padding: 0 0;
  }
}

.p-boiler-cleaning .flow-box-wrapper .flow-box-area__item-list li {
  width: 43px;
  height: 170px;
  background: #E8ECF4;
  position: relative;
  font-size: 14px;
  font-weight: 600;
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

.p-boiler-cleaning .flow-box-wrapper .flow-box-area__item-list li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 4vw;
  height: 8vw;
  right: -6.66667vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(/images/summary/solution/boiler-cleaning/arrow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media screen and (min-width: 768px) {
  .p-boiler-cleaning .flow-box-wrapper .flow-box-area__item-list li:not(:last-child)::after {
    width: 15px;
    height: 29px;
    right: -28px;
  }
}

.p-boiler-cleaning .flow-box-wrapper .flow-box-area__item-list-02 li {
  background: #CED7E8;
}

@media screen and (min-width: 768px) {
  .p-boiler-cleaning .cp-table-d {
    width: 100%;
    margin: 0 auto;
  }
  .p-boiler-cleaning .cp-table-d__td-padding-none {
    padding: 12px 0;
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .p-boiler-cleaning .cp-table-d table {
    width: 100%;
    min-width: 750px;
  }
}

/* ============================================
// project inspection_outsourcing
// ==========================================*/
.p-inspection-outsourcing__cp-img-l-inner img {
  aspect-ratio: auto;
}

/* ============================================
// project mechanical_engineer
// ==========================================*/
.p-mechanical-engineer__table-wrap {
  overflow-x: auto;
  margin: 0 auto 0;
}

.p-mechanical-engineer__table {
  width: 930px;
  font-size: 0.875rem;
  line-height: 1.5;
}

.p-mechanical-engineer__table th, .p-mechanical-engineer__table td {
  height: 33.3%;
  text-align: center;
  vertical-align: middle;
  border: 2.45px solid #ffffff;
  border-collapse: collapse;
}

.p-mechanical-engineer__table th {
  color: #ffffff;
  background-color: #769BC7;
}

.p-mechanical-engineer__table th:nth-child(1), .p-mechanical-engineer__table th:nth-child(2), .p-mechanical-engineer__table th:nth-child(3) {
  padding: 1.1875rem 0 0.375rem 0;
}

.p-mechanical-engineer__table td:nth-child(1), .p-mechanical-engineer__table td:nth-child(2) {
  width: 14%;
}

.p-mechanical-engineer__table td:nth-child(3) {
  width: 38%;
  padding: 0.75rem 1.5625rem;
}

.p-mechanical-engineer__table td:nth-child(4), .p-mechanical-engineer__table td:nth-child(5) {
  width: 17%;
}

.p-mechanical-engineer__table tr:nth-child(2) td {
  font-weight: bold;
  color: #ffffff;
  background-color: #769BC7;
}

.p-mechanical-engineer__table tr:nth-child(3) td {
  background-color: #E8ECF4;
}

.p-mechanical-engineer__table tr:nth-child(4) td {
  background-color: #CED7E8;
}

@media screen and (min-width: 768px) {
  .p-mechanical-engineer__cp-3img-item {
    margin-top: 0.9375rem;
  }
}

/* ============================================
// project piping_vertical
// ==========================================*/
.p-piping-vertical {
  /*--------------------
  &__content {
    padding: 0 5.3vw;

    @include mq(md) {
      padding: 0;
      margin: 0 unquote('max(20px, 2%)');
    }
  }
  ----------------------*/
}

.p-piping-vertical__cp-p {
  margin-bottom: 8.75rem;
}

@media screen and (min-width: 768px) {
  .p-piping-vertical__cp-3img-item01 {
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .p-piping-vertical__cp-3img-item02 {
    margin-top: 0.8125rem;
  }
}

.p-piping-vertical .no-padding {
  padding: 0;
}

@media screen and (min-width: 768px) {
  .p-piping-vertical .no-padding {
    padding: 0 5.3vw;
  }
}

/* ============================================
// project ehc
// ==========================================*/
.p-ehc {
  /*----------------------------
  &__content {
    padding: 0 5.3vw;

    @include mq(md) {
      padding: 0;
      margin: 0 unquote('max(20px, 2%)');
    }
  }
-----------------------------*/
}

.p-ehc__cp-ol, .p-ehc__cp-ul {
  margin-left: 1.25rem;
}

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

/* ============================================
// project edc
// ==========================================*/
.p-edc {
  /*----------------------------------
  &__content {
    padding: 0 5.3vw;

    @include mq(md) {
      padding: 0;
      margin: 0 unquote('max(20px, 2%)');
    }
  }
----------------------------------*/
}

.p-edc__content-cp-p {
  margin-left: 1.25rem;
}

.p-edc__cp-ol {
  margin-left: 1.25rem;
}

@media screen and (min-width: 768px) {
  .p-edc__cp-ol {
    padding-left: 2.5rem;
  }
}

.p-edc__cp-ul {
  margin-left: 1.25rem;
}

@media screen and (min-width: 768px) {
  .p-edc__cp-ul {
    padding-left: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-edc__cp-3img-item {
    text-align: right;
  }
}

@media screen and (min-width: 768px) {
  .p-edc__cp-content-area {
    margin-bottom: 18.125rem;
  }
}

.p-solution__edc-achievement-image {
  padding-top: 0.3125rem;
}

@media screen and (min-width: 768px) {
  .p-solution__edc-achievement-image {
    padding-top: 0.9375rem;
  }
}

@media screen and (min-width: 768px) {
  .p-solution__edc-top-sub-title-lead-text .cp-p {
    margin-left: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-solution__edc-points .cp-ol {
    margin-left: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-solution__edc-achievement-image .cp-img-c__inner {
    text-align: left;
  }
}

.p-solution__edc-achievement-image .cp-img-c__inner span {
  padding: 0.75rem 6rem;
}

@media screen and (min-width: 768px) {
  .p-solution__edc-achievement-image .cp-img-c__inner img {
    width: 300px;
  }
}

@media screen and (min-width: 768px) {
  .p-solution__edc-points .cp-ol {
    padding-left: 2.5rem;
  }
}

/* ============================================
// project rakuchin
// ==========================================*/
.p-rakuchin {
  /*---------------------------------
  &__content {
    padding: 0 5.3vw;

    @include mq(md) {
      padding: 0;
      margin: 0 unquote('max(20px, 2%)');
    }
  }
------------------------------------*/
}

.p-rakuchin__cp-ol {
  margin-left: 1.25rem;
}

.p-rakuchin__cp-ul-white {
  margin-bottom: 0;
  margin-left: 0.625rem;
}

@media screen and (min-width: 768px) {
  .p-rakuchin__cp-3img {
    padding-left: 3.125rem;
  }
}

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

@media screen and (min-width: 768px) {
  .p-rakuchin__content .cp-p {
    padding-left: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-rakuchin__content .cp-ol {
    padding-left: 2.5rem;
  }
}

.p-solution__plant-diagnose-list-table th:first-child {
  width: 12%;
}

.p-solution__plant-diagnose-list-table td {
  text-align: left;
  line-height: 1.3;
}

.p-solution__plant-diagnose-image-box img {
  width: 350px;
  height: 262px;
}

.p-solution__pc-block {
  display: inline;
}

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

.p-solution__energy-diagnosis-text span {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.p-solution__energy-diagnosis-chart-box .cp-img-l {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media screen and (min-width: 768px) {
  .p-solution__energy-diagnosis-chart-box .cp-img-l {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-solution__energy-diagnosis-chart-box .cp-img-l__inner > .p-solution__energy-diagnosis-chart-images {
  aspect-ratio: initial;
  max-width: 60%;
}

@media screen and (min-width: 768px) {
  .p-solution__energy-diagnosis-chart-box .cp-img-l__inner > .p-solution__energy-diagnosis-chart-images {
    max-width: 95%;
  }
}

.p-solution__energy-diagnosis-chart-box .cp-img-l__inner > .p-solution__energy-diagnosis-heat-example-images {
  aspect-ratio: initial;
  max-width: 60%;
}

@media screen and (min-width: 768px) {
  .p-solution__energy-diagnosis-chart-box .cp-img-l__inner > .p-solution__energy-diagnosis-heat-example-images {
    max-width: 95%;
  }
}

@media screen and (min-width: 768px) {
  .p-solution__energy-diagnosis-chart-box .p-solution__energy-diagnosis-heat-chart-box {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.p-solution__energy-diagnosis-heat-chart-box-img {
  aspect-ratio: initial;
  max-width: 60%;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .p-solution__energy-diagnosis-heat-chart-box-img {
    max-width: 95%;
  }
}

.heat-images4-margin {
  margin-top: 1.875rem;
}

.arrow-rotate90 {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

@media screen and (min-width: 768px) {
  .arrow-rotate90 {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}

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

.p-solution__energy-diagnosis-achievement-list-table th:nth-child(2) {
  width: 10%;
}

.p-solution__energy-diagnosis-achievement-list-table th:nth-child(3) {
  width: 25%;
}

.cp-2img__item > .p-solution__seismic-resistance-images {
  aspect-ratio: initial;
}

.p-solution__seismic-resistance-sub-top-text .cp-p {
  margin-left: 1.25rem;
}

@media screen and (min-width: 768px) {
  .p-solution__seismic-resistance-detail .cp-ul {
    padding-left: 2.5rem;
  }
}

.p-solution__3d-youtube iframe {
  width: 100%;
  aspect-ratio: 16/9;
  max-width: 700px;
}

/* ============================================
// project rotational-vibration
// ==========================================*/
.p-rotational-vibration__cp-ol {
  margin-left: 1.25rem;
}

.p-rotational-vibration__cp-ul {
  margin-left: 0.625rem;
}

.p-rotational-vibration__cp-3img img {
  aspect-ratio: auto;
}

@media screen and (min-width: 768px) {
  .p-rotational-vibration__cp-3img {
    text-align: center;
  }
}

/* ============================================
// project b-map
// ==========================================*/
.p-b-map__cp-p {
  margin-left: 1.25rem;
}

.p-b-map__cp-ol {
  margin-left: 1.25rem;
}

.p-b-map__cp-2img-item img {
  aspect-ratio: auto;
}

@media screen and (min-width: 768px) {
  .p-b-map .p-b-map__content .cp-ol {
    padding-left: 2.5rem;
  }
}

/* ============================================
// project l-map
// ==========================================*/
.p-l-map__content .cp-p {
  margin-left: 1.25rem;
}

.p-l-map__cp-ol {
  margin-left: 1.25rem;
}

@media screen and (min-width: 768px) {
  .p-l-map__cp-ol {
    padding-left: 2.5rem;
  }
}

.p-l-map__cp-img-l-inner img {
  aspect-ratio: auto;
}

.p-safety-management-system__flow-list {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-safety-management-system__flow-list {
    width: 40.625rem;
  }
}

.p-safety-management-system__flow-list li {
  width: 100%;
  list-style: none;
  position: relative;
  margin-bottom: 2.5rem;
}

.p-safety-management-system__flow-list li .list-item {
  width: 100%;
  height: 29.33333vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (min-width: 768px) {
  .p-safety-management-system__flow-list li .list-item {
    height: 4.375rem;
  }
}

.p-safety-management-system__flow-list li .list-item .item-left {
  width: 15%;
  height: 100%;
  background: #769BC7;
  border-right: solid 3px #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-safety-management-system__flow-list li .list-item .item-left span {
  display: inline-block;
  padding-left: 3px;
  padding-right: 3px;
  letter-spacing: 0;
  font-size: 0.875rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
}

.p-safety-management-system__flow-list li .list-item .item-right {
  width: 85%;
  height: 100%;
  background: #CED7E8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 0.3125rem;
}

.p-safety-management-system__flow-list li .list-item .item-right span {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 400;
  color: #000;
  padding-left: 1em;
  padding-right: 1em;
  text-indent: -1em;
}

.p-safety-management-system__flow-list li:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: -1.875rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.25rem 1.25rem 0 1.25rem;
  border-color: #769BC7 transparent transparent transparent;
}

.p-safety-management-system__table {
  width: 100%;
  margin: 0 auto;
  font-size: 0.875rem;
}

.p-safety-management-system__table .table-wrapper {
  overflow-x: auto;
}

.p-safety-management-system__table .table-wrapper table {
  width: 155%;
  border: none;
}

@media screen and (min-width: 768px) {
  .p-safety-management-system__table .table-wrapper table {
    width: 100%;
    min-width: 964px;
  }
}

.p-safety-management-system__table .table-wrapper table th {
  text-align: center;
  vertical-align: middle;
  background-color: #769BC7;
  color: #ffffff;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  padding: 0.375rem 0 0.375rem 0;
}

.p-safety-management-system__table .table-wrapper table th:nth-child(1) {
  width: 7%;
}

.p-safety-management-system__table .table-wrapper table th:nth-child(2) {
  width: 5%;
}

.p-safety-management-system__table .table-wrapper table th:nth-child(3) {
  width: 18%;
}

.p-safety-management-system__table .table-wrapper table th:nth-child(4), .p-safety-management-system__table .table-wrapper table th:nth-child(5) {
  width: 12%;
}

.p-safety-management-system__table .table-wrapper table th:nth-child(6) {
  width: 46%;
}

.p-safety-management-system__table .table-wrapper table td {
  border: 2px solid #ffffff;
  text-align: center;
  vertical-align: middle;
  background-color: #E8ECF4;
  padding: 0.5rem 0;
}

.p-safety-management-system__table .table-wrapper table .skyblue-light {
  background-color: #CED7E8;
}

.p-safety-management-system__table .table-wrapper table .th-td {
  width: 9%;
  background-color: #769BC7;
  color: #ffffff;
  font-weight: 700;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  padding: 0.375rem 0 0.375rem 0;
}

.p-safety-management-system__table .table-wrapper table .text-red {
  color: #ff0000;
}

.p-safety-management-system__table .table-wrapper table .text-bold {
  font-weight: 700;
}

.p-safety-management-system__table .table-wrapper table .text-underline {
  text-decoration: underline;
}

.p-safety-management-system .no-padding {
  padding: 0;
}

@media screen and (min-width: 768px) {
  .p-safety-management-system .no-padding {
    padding: 0 5.3vw;
  }
}

@media screen and (min-width: 768px) {
  .p-safety-management-system .cp-contact-area__desc {
    width: 17.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-safety-management-system__img img {
    width: 450px;
    height: auto;
    aspect-ratio: 624 / 380;
  }
}

#p-cooperatingProcurement .cp-page-fv {
  height: 97.06667vw;
  background-image: url(/images/cooperating/procurement/mv_bg_sp_01.png);
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-page-fv {
    height: 220px;
    background-image: url(/images/cooperating/procurement/mv_bg_pc_01.png);
  }
}

#p-cooperatingProcurement .cp-page-fv__sub-title {
  width: 53.86667vw;
  margin-bottom: 5.33333vw;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-page-fv__sub-title {
    width: min(26.2%, 262px);
    margin-bottom: 20px;
  }
}

#p-cooperatingProcurement .cp-page-fv__sub-title > img {
  width: 100%;
}

#p-cooperatingProcurement .cp-page-fv__title-text {
  font-size: 6.26667vw;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-page-fv__title-text {
    font-size: 2rem;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-heading.-level2 {
  margin: 0 -5.3vw 50px;
  padding: 22px 5.3vw;
  background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
  background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
  font-size: 1.4375rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: .1em;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-heading.-level2 {
    max-width: 1920px;
    width: calc(100% + 920px);
    padding: 38px 0;
    margin: 0 -460px 93px;
    font-size: 2.375rem;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-heading.-level4 {
  margin: 20px 0 15px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-heading.-level4 {
    margin: 50px 0 40px 2em;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-heading.-level4 > h4 {
  display: inline-block;
  padding: 7px 13px 5px;
  background: #e6e6e6;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #000;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-heading.-level4 > h4 {
    padding: 12px 9px 10px;
    font-size: 1.5rem;
    letter-spacing: .5em;
    text-indent: .5em;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-heading.-table {
  margin-bottom: 15px;
  font-size: 0.9375rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-heading.-table {
    max-width: 820px;
    margin: 0 auto 15px;
    font-size: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-table-c + .p-cooperatingProcurement-heading.-table {
    margin-top: 45px;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  margin-left: 10px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-media {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-left: 0;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-media__desc {
  margin-top: 25px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-media__desc {
    width: calc(50% - 30px);
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-media__img {
    width: 50%;
    margin-left: 30px;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-media__img > img {
  width: 100%;
}

#p-cooperatingProcurement .p-cooperatingProcurement-toggle__button {
  margin-top: 50px;
}

#p-cooperatingProcurement .p-cooperatingProcurement-toggle__button > button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 270px;
  min-height: 47px;
  margin: 0 auto;
  background: -webkit-gradient(linear, left top, right top, from(#ff7675), to(#bc3f3e));
  background: linear-gradient(90deg, #ff7675 0%, #bc3f3e 100%);
  font-size: 1.1875rem;
  font-weight: 700;
  color: #fff;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-toggle__button > button {
    min-width: 341px;
    min-height: 59px;
    font-size: 1.5625rem;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-toggle__button__mark {
  position: relative;
  overflow: hidden;
  width: 15px;
  height: 15px;
  margin: auto;
  color: transparent;
  position: absolute;
  top: 0;
  right: 15px;
  bottom: 0;
  -webkit-transition: -webkit-transform .2s ease;
  transition: -webkit-transform .2s ease;
  transition: transform .2s ease;
  transition: transform .2s ease, -webkit-transform .2s ease;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-toggle__button__mark {
    width: 20px;
    height: 20px;
    right: 17px;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-toggle__button__mark::before, #p-cooperatingProcurement .p-cooperatingProcurement-toggle__button__mark::after {
  content: '';
  display: block;
  width: 1px;
  height: 15px;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-toggle__button__mark::before, #p-cooperatingProcurement .p-cooperatingProcurement-toggle__button__mark::after {
    width: 2px;
    height: 20px;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-toggle__button__mark::after {
  top: 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

#p-cooperatingProcurement .p-cooperatingProcurement-toggle__button > button[aria-expanded="true"] .p-cooperatingProcurement-toggle__button__mark {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

#p-cooperatingProcurement .p-cooperatingProcurement-toggle__body {
  height: 100%;
  padding: 25px 0;
  visibility: visible;
  opacity: 1;
  -webkit-transition: opacity .3s ease, visibility .3s ease, padding-top .3s ease, padding-bottom .3s ease;
  transition: opacity .3s ease, visibility .3s ease, padding-top .3s ease, padding-bottom .3s ease;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-toggle__body {
    padding: 40px 32px 40px 120px;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-toggle__body.-bg-gray {
  margin-top: 25px;
  padding: 50px 20px 50px 10px;
  background: #e6e6e6;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-toggle__body.-bg-gray {
    padding: 68px 52px 110px;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-toggle__body[aria-hidden="true"] {
  visibility: hidden;
  height: 0;
  padding: 0;
  opacity: 0;
}

#p-cooperatingProcurement .p-cooperatingProcurement-toggle__body[aria-hidden="true"] * {
  opacity: 0;
}

#p-cooperatingProcurement .p-cooperatingProcurement-desc > div + div {
  margin-top: 25px;
}

#p-cooperatingProcurement .p-cooperatingProcurement-desc > div > dt {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 2.567;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-desc > div > dt {
    font-size: 1.25rem;
    line-height: 2;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-desc > div > dd {
  font-size: 0.8125rem;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-desc > div > dd {
    margin-top: 6px;
    font-size: 16px;
    line-height: 1.875;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-desc.-indent > div > dd {
  padding-left: 1.5em;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-desc.-indent > div > dd {
    padding-left: 2.5em;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-news > li {
  padding: 30px 0 25px;
  border-bottom: 1px solid #3c3c3c;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-news > li {
    padding: 45px;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-news > li > *:first-child {
  margin-top: 0;
}

#p-cooperatingProcurement .p-cooperatingProcurement-news > li > *:last-child {
  margin-bottom: 0;
}

#p-cooperatingProcurement .p-cooperatingProcurement-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 90px;
  margin: 30px 0 50px;
  padding: 20px;
  background: #e6e6e6;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-info {
    margin: 50px auto 120px;
    max-width: 820px;
    min-height: 126px;
    padding: 20px 40px;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-info > p {
  font-size: 0.875rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-info > p {
    font-size: 1.25rem;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-info > p > a {
  padding: 0 5px 5px;
  border-bottom: 1px solid #3c3c3c;
  color: #1e4089;
  font-size: 0.8125rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-info > p > a {
    font-size: 1.125rem;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-img.-x-fixed {
  overflow-x: auto;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-img.-x-fixed {
    max-width: 820px;
    margin: 0 auto;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-img.-x-fixed > img {
  min-width: 516px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-img.-x-fixed > img {
    min-width: inherit;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-text {
  margin: 25px 0 20px 10px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-text {
    margin: 50px 0 20px;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-text > p {
  font-size: 0.8125rem;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-text > p {
    font-size: 1rem;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-text__note {
  margin-top: 25px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-text__note {
    margin-top: 10px;
  }
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-text__note.-max-820 {
    max-width: 820px;
    margin: 10px auto 0;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-text__note > p {
  font-size: 0.625rem;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-text__note > p {
    font-size: 0.875rem;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-panelButton__wrap {
  margin: 35px 0 0;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-panelButton__wrap {
    margin: 80px 0 0;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-panelButton {
  margin-top: 20px;
  padding: 30px 15px 25px;
  background: #bc3f3e;
  color: #fff;
  text-align: center;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-panelButton {
    max-width: 456px;
    margin: 20px auto 0;
    padding: 35px 20px 28px;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-panelButton > p {
  font-size: 0.9375rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-panelButton > p {
    font-size: 1.3125rem;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-panelButton > span {
  display: block;
  margin-top: 10px;
  text-align: center;
  font-size: 0.8125rem;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-panelButton > span {
    margin-top: 15px;
    font-size: 1rem;
  }
}

#p-cooperatingProcurement .p-cooperatingProcurement-panelButton > a {
  display: inline-block;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 22px auto 0;
  padding: 10px 22px 7px;
  background: #fff;
  font-size: 0.75rem;
  color: #bc3f3e;
}

#p-cooperatingProcurement .p-cooperatingProcurement-panelButton > a:hover, #p-cooperatingProcurement .p-cooperatingProcurement-panelButton > a:active, #p-cooperatingProcurement .p-cooperatingProcurement-panelButton > a:focus {
  background: #3c3c3c;
  color: #fff;
  opacity: 1;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .p-cooperatingProcurement-panelButton > a {
    padding: 11px 29px 9px;
    font-size: 0.875rem;
  }
}

#p-cooperatingProcurement .cp-h2-s {
  margin: 50px 0 20px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-h2-s {
    margin: 120px 0 40px;
    font-size: 2.25rem;
  }
}

#p-cooperatingProcurement .cp-h2-s_wrap {
  margin: 50px 0 20px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-h2-s_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 120px 0 40px;
  }
}

#p-cooperatingProcurement .cp-h2-s_wrap .cp-h2-s {
  margin: 0;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-h2-s_wrap .cp-h2-s {
    margin: 0;
  }
}

#p-cooperatingProcurement .cp-h2-s_sub {
  margin-top: 4px;
  padding-left: 21px;
  font-size: 0.8125rem;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-h2-s_sub {
    margin-top: 1em;
    margin-left: 30px;
    padding-left: 0;
    font-size: 1rem;
  }
}

#p-cooperatingProcurement .cp-pdf-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 0;
  border: none;
}

#p-cooperatingProcurement .cp-pdf-area__btn {
  width: 100%;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-pdf-area__btn {
    width: auto;
  }
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-table-c {
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
  }
}

#p-cooperatingProcurement .cp-table-c + .cp-table-c {
  margin-top: 70px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-table-c + .cp-table-c {
    margin-top: 45px;
  }
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-table-c table {
    min-width: inherit;
  }
}

#p-cooperatingProcurement .cp-table-c th {
  width: 27.905%;
  border-bottom: 3px solid #fff;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-table-c th {
    width: 25.244%;
    font-size: 1rem;
  }
}

#p-cooperatingProcurement .cp-table-c td {
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
}

#p-cooperatingProcurement .cp-table-c__link {
  margin-top: 10px;
}

#p-cooperatingProcurement .cp-table-c__link > a {
  display: inline-block;
  padding: 1px 30px 1px 10px;
  background: #bc3f3e;
  color: #fff;
  border-radius: 50vh;
  font-size: 0.6875rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-table-c__link > a {
    padding: 6px 27px 4px 10px;
    font-size: 0.875rem;
    line-height: 1;
  }
}

#p-cooperatingProcurement .cp-table-c__link > a::before, #p-cooperatingProcurement .cp-table-c__link > a::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

#p-cooperatingProcurement .cp-table-c__link > a::before {
  width: 13px;
  height: 13px;
  background: #fff;
  border-radius: 50vh;
  right: 5px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-table-c__link > a::before {
    width: 14px;
    height: 14px;
  }
}

#p-cooperatingProcurement .cp-table-c__link > a::after {
  width: 5px;
  height: 5px;
  border-top: 1px solid #bc3f3e;
  border-right: 1px solid #bc3f3e;
  right: 10px;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

#p-cooperatingProcurement .cp-table-d {
  max-width: 820px;
  margin: 0 auto;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-table-d table {
    min-width: inherit;
  }
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-table-d td {
    padding: 11px 16px 10px;
    font-size: 1.125rem;
  }
}

#p-cooperatingProcurement .cp-table-d tr:nth-child(odd) {
  background: #ced7e8;
}

#p-cooperatingProcurement .cp-table-d tr:nth-child(even) {
  background: #e8ecf4;
}

#p-cooperatingProcurement .cp-table-d .-ex {
  display: none;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement .cp-table-d .-ex {
    width: 100%;
    display: inline-block;
    margin-top: 14px;
    font-size: 1.125rem;
    text-align: right;
  }
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement br.-sp-only {
    display: none;
  }
}

#p-cooperatingProcurement br.-pc-only {
  display: none;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurement br.-pc-only {
    display: block;
  }
}

#p-cooperatingProcurementExclusive .cp-btn-belt__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 40px;
  padding-top: 10px;
  padding-bottom: 10px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-btn-belt__inner {
    min-height: 87px;
  }
}

#p-cooperatingProcurementExclusive .cp-btn-belt__inner img {
  height: 13px;
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-btn-belt__inner img {
    height: 19px;
  }
}

#p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-heading.-table {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.9;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-heading.-table {
    margin-bottom: 6px;
    font-size: 1.375rem;
    line-height: 1.863;
  }
}

#p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news {
  max-height: 400px;
  margin: 30px 0 55px;
  overflow-y: auto;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news {
    max-width: 680px;
    max-height: 300px;
    margin: 50px auto 120px;
  }
}

#p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-right: 10px;
}

#p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news > ul > li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-bottom: 20px;
  border-bottom: 1px solid #3c3c3c;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news > ul > li {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-bottom: 16px;
  }
}

#p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news > ul > li + li {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news > ul > li + li {
    margin-top: 16px;
  }
}

#p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news__time {
  font-size: 0.8125rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news__time {
    width: 110px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    font-size: 0.875rem;
  }
}

#p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news__textLink {
  margin-top: 10px;
  margin-right: 10px;
  color: #1e4089;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news__textLink {
    margin-top: 0;
    margin-left: 5px;
    font-size: 0.875rem;
  }
}

#p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news__link {
  margin-top: 8px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news__link {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-top: 0;
    margin-left: auto;
  }
}

#p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news__link > a {
  display: inline-block;
  padding: 2px 30px 0 10px;
  background: #bc3f3e;
  color: #fff;
  border-radius: 50vh;
  font-size: 0.6875rem;
  line-height: 1.727;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news__link > a {
    padding: 6px 27px 4px 10px;
    font-size: 0.875rem;
    line-height: 1;
  }
}

#p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news__link > a::before, #p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news__link > a::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

#p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news__link > a::before {
  width: 13px;
  height: 13px;
  background: #fff;
  border-radius: 50vh;
  right: 5px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news__link > a::before {
    width: 14px;
    height: 14px;
  }
}

#p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-news__link > a::after {
  width: 5px;
  height: 5px;
  border-top: 1px solid #bc3f3e;
  border-right: 1px solid #bc3f3e;
  right: 10px;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

#p-cooperatingProcurementExclusive .cp-h2-s {
  margin: 0 0 20px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-h2-s {
    margin: 0 0 40px;
  }
}

@media screen and (max-width: 767px) {
  #p-cooperatingProcurementExclusive .cp-h2-s > span {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-table-d.-col3 colgroup > col:first-of-type {
    min-width: 715px;
  }
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-table-d.-col3 colgroup > col:nth-of-type(2) {
    min-width: 124px;
  }
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-table-d.-col3 colgroup > col:last-of-type {
    min-width: 158px;
  }
}

#p-cooperatingProcurementExclusive .cp-table-d.-col3 {
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

@media screen and (max-width: 767px) {
  #p-cooperatingProcurementExclusive .cp-table-d.-col3 th:first-child {
    width: 55%;
  }
}

@media screen and (max-width: 767px) {
  #p-cooperatingProcurementExclusive .cp-table-d.-col3 th:nth-child(2) {
    width: 18%;
  }
}

@media screen and (max-width: 767px) {
  #p-cooperatingProcurementExclusive .cp-table-d.-col3 th:nth-child(3) {
    width: 27%;
  }
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-table-d.-col4 colgroup > col:first-of-type {
    min-width: 168px;
  }
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-table-d.-col4 colgroup > col:nth-of-type(2) {
    min-width: 547px;
  }
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-table-d.-col4 colgroup > col:nth-of-type(3) {
    min-width: 104px;
  }
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-table-d.-col4 colgroup > col:last-of-type {
    min-width: 158px;
  }
}

@media screen and (max-width: 767px) {
  #p-cooperatingProcurementExclusive .cp-table-d.-col4 th:first-child {
    width: 20%;
  }
}

@media screen and (max-width: 767px) {
  #p-cooperatingProcurementExclusive .cp-table-d.-col4 th:nth-child(2) {
    width: 35%;
  }
}

@media screen and (max-width: 767px) {
  #p-cooperatingProcurementExclusive .cp-table-d.-col4 th:nth-child(3) {
    width: 18%;
  }
}

@media screen and (max-width: 767px) {
  #p-cooperatingProcurementExclusive .cp-table-d.-col4 th:nth-child(4) {
    width: 27%;
  }
}

#p-cooperatingProcurementExclusive .cp-table-d th {
  padding: 7px;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-table-d th {
    padding: 10px 5px 9px;
  }
}

#p-cooperatingProcurementExclusive .cp-table-d td {
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  #p-cooperatingProcurementExclusive .cp-table-d td {
    padding: 7px 15px;
  }
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-table-d.-col3 td:first-of-type {
    padding: 12px 30px;
  }
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-table-d.-col4 td:nth-of-type(2) {
    padding: 12px 30px;
  }
}

#p-cooperatingProcurementExclusive .cp-table-d td .-downloadLink {
  display: inline-block;
  margin: -5px 0;
  padding: 7px 27px 6px 10px;
  background: #bc3f3e;
  color: #fff;
  border-radius: 50vh;
  font-size: 0.6875rem;
  line-height: 1.727;
  letter-spacing: .04em;
  text-indent: .04em;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-table-d td .-downloadLink {
    padding: 7px 27px 7px 10px;
    font-size: 0.875rem;
    line-height: 1;
  }
}

#p-cooperatingProcurementExclusive .cp-table-d td .-downloadLink::before, #p-cooperatingProcurementExclusive .cp-table-d td .-downloadLink::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

#p-cooperatingProcurementExclusive .cp-table-d td .-downloadLink::before {
  width: 13px;
  height: 13px;
  background: #fff;
  border-radius: 50vh;
  right: 5px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-table-d td .-downloadLink::before {
    width: 14px;
    height: 14px;
  }
}

#p-cooperatingProcurementExclusive .cp-table-d td .-downloadLink::after {
  width: 5px;
  height: 5px;
  border-top: 1px solid #bc3f3e;
  border-right: 1px solid #bc3f3e;
  right: 10px;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

#p-cooperatingProcurementExclusive .cp-table-d td .-downloadLink > span {
  display: block;
  width: 71px;
  height: 8px;
  background: url(/images/cooperating/procurement/exclusive/button_download_text_01.svg) top left/cover;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-table-d td .-downloadLink > span {
    width: 53px;
    height: 6px;
  }
}

#p-cooperatingProcurementExclusive .cp-table-d td .-downloadLink .-text {
  position: absolute;
  top: -9999px;
  left: -9999px;
}

#p-cooperatingProcurementExclusive .cp-table-d td .-textLink {
  display: inline-block;
  padding: 0 25px 0 0;
  font-size: 0.75rem;
  position: relative;
}

#p-cooperatingProcurementExclusive .cp-table-d td .-textLink:not(:last-child) {
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-table-d td .-textLink {
    font-size: 0.875rem;
  }
}

#p-cooperatingProcurementExclusive .cp-table-d td .-textLink::before, #p-cooperatingProcurementExclusive .cp-table-d td .-textLink::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

#p-cooperatingProcurementExclusive .cp-table-d td .-textLink::before {
  width: 13px;
  height: 13px;
  background: #bc3f3e;
  border-radius: 50vh;
  right: 5px;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .cp-table-d td .-textLink::before {
    width: 14px;
    height: 14px;
  }
}

#p-cooperatingProcurementExclusive .cp-table-d td .-textLink::after {
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  right: 10px;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive br.-sp-only {
    display: none;
  }
}

#p-cooperatingProcurementExclusive br.-pc-only {
  display: none;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive br.-pc-only {
    display: block;
  }
}

#p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 90px;
  margin: 30px 0 50px;
  padding: 20px;
  background: #e6e6e6;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-info {
    margin: 50px auto 120px;
    max-width: 820px;
    min-height: 126px;
    padding: 20px 40px;
  }
}

#p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-info > p {
  font-size: 0.875rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #p-cooperatingProcurementExclusive .p-cooperatingProcurementExclusive-info > p {
    font-size: 1.25rem;
  }
}

#p-plant .cp-btn-belt__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 40px;
  padding-top: 10px;
  padding-bottom: 10px;
}

@media screen and (min-width: 768px) {
  #p-plant .cp-btn-belt__inner {
    min-height: 87px;
  }
}

#p-plant .cp-btn-belt__inner img {
  height: 13px;
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  #p-plant .cp-btn-belt__inner img {
    height: 19px;
  }
}

#p-plant .p-plant-news {
  max-height: 400px;
  margin: 30px 0 55px;
  overflow-y: auto;
}

@media screen and (min-width: 768px) {
  #p-plant .p-plant-news {
    max-width: 680px;
    max-height: 300px;
    margin: 50px auto 120px;
  }
}

#p-plant .p-plant-news > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-right: 10px;
}

#p-plant .p-plant-news > ul > li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-bottom: 20px;
  border-bottom: 1px solid #3c3c3c;
}

@media screen and (min-width: 768px) {
  #p-plant .p-plant-news > ul > li {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-bottom: 16px;
  }
}

#p-plant .p-plant-news > ul > li + li {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  #p-plant .p-plant-news > ul > li + li {
    margin-top: 16px;
  }
}

#p-plant .p-plant-news__time {
  font-size: 0.8125rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #p-plant .p-plant-news__time {
    width: 110px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    font-size: 0.875rem;
  }
}

#p-plant .p-plant-news__textLink {
  margin-top: 10px;
  margin-right: 10px;
  color: #1e4089;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  #p-plant .p-plant-news__textLink {
    margin-top: 0;
    margin-left: 5px;
    font-size: 0.875rem;
  }
}

#p-plant .p-plant-news__link {
  margin-top: 8px;
}

@media screen and (min-width: 768px) {
  #p-plant .p-plant-news__link {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-top: 0;
    margin-left: auto;
  }
}

#p-plant .p-plant-news__link > a {
  display: inline-block;
  padding: 2px 30px 0 10px;
  background: #bc3f3e;
  color: #fff;
  border-radius: 50vh;
  font-size: 0.6875rem;
  line-height: 1.727;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-plant .p-plant-news__link > a {
    padding: 6px 27px 4px 10px;
    font-size: 0.875rem;
    line-height: 1;
  }
}

#p-plant .p-plant-news__link > a::before, #p-plant .p-plant-news__link > a::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

#p-plant .p-plant-news__link > a::before {
  width: 13px;
  height: 13px;
  background: #fff;
  border-radius: 50vh;
  right: 5px;
}

@media screen and (min-width: 768px) {
  #p-plant .p-plant-news__link > a::before {
    width: 14px;
    height: 14px;
  }
}

#p-plant .p-plant-news__link > a::after {
  width: 5px;
  height: 5px;
  border-top: 1px solid #bc3f3e;
  border-right: 1px solid #bc3f3e;
  right: 10px;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

#p-plant .p-plant-doc .u-indentback {
  text-indent: -1em;
  padding-left: 2em;
}

@media screen and (max-width: 767px) {
  #p-plant .p-plant-doc .u-indentback {
    padding-right: 10px;
    padding-top: 20px;
  }
}

#p-plant .cp-h2-s {
  margin: 0 0 20px;
}

@media screen and (min-width: 768px) {
  #p-plant .cp-h2-s {
    margin: 0 0 40px;
  }
}

#p-plant .cp-pdf-area {
  padding: 0;
  border: none;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

@media screen and (max-width: 767px) {
  #p-plant .cp-pdf-area {
    border-bottom: 1px solid #000;
    padding-bottom: 25px;
  }
}

#p-plant .cp-table-d caption {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.9;
}

@media screen and (min-width: 768px) {
  #p-plant .cp-table-d caption {
    margin-bottom: 6px;
    font-size: 1.375rem;
    line-height: 1.863;
  }
}

@media screen and (max-width: 767px) {
  #p-plant .cp-table-d table {
    width: 200%;
  }
}

#p-plant .cp-table-d table tr:nth-child(odd) {
  background-color: #CED7E8;
}

#p-plant .cp-table-d table tr:nth-child(even) {
  background-color: #E8ECF4;
}

#p-plant .cp-table-d table td {
  line-height: 1.7;
  padding-top: 5px;
  padding-bottom: 5px;
}

#p-plant .cp-table-d colgroup > col:first-of-type {
  width: 20%;
}

#p-plant .cp-table-d colgroup > col:nth-of-type(2) {
  width: 40%;
}

#p-plant .cp-table-d colgroup > col:nth-of-type(3) {
  width: 15%;
}

#p-plant .cp-table-d colgroup > col:last-of-type {
  width: 15%;
}

#p-plant .cp-table-d.p-plant-contact {
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

@media screen and (min-width: 768px) {
  #p-plant .cp-table-d.p-plant-contact table {
    width: 70%;
  }
}

#p-plant .cp-table-d.p-plant-contact table colgroup > col:first-of-type {
  width: 25%;
}

@media screen and (min-width: 768px) {
  #p-plant .cp-table-d.p-plant-contact table colgroup > col:first-of-type {
    width: 30%;
  }
}

#p-plant .cp-table-d.p-plant-contact table colgroup > col:nth-of-type(2) {
  width: 47%;
}

@media screen and (min-width: 768px) {
  #p-plant .cp-table-d.p-plant-contact table colgroup > col:nth-of-type(2) {
    width: 40%;
  }
}

#p-plant .cp-table-d.p-plant-contact table colgroup > col:last-of-type {
  width: 28%;
}

@media screen and (min-width: 768px) {
  #p-plant .cp-table-d.p-plant-contact table colgroup > col:last-of-type {
    width: 30%;
  }
}

@media screen and (min-width: 768px) {
  #p-plant .cp-table-d.p-plant-contact table td:nth-of-type(2) {
    padding-left: 30px;
  }
}

#p-plant .cp-table-d.p-plant-contact table td:nth-of-type(2) a {
  text-decoration: underline;
  color: #1E4089;
}

@media screen and (max-width: 767px) {
  #p-plant .cp-table-d.p-plant-contact table td:nth-of-type(3) {
    padding-left: 2px;
    padding-right: 2px;
  }
}

#p-plant .cp-table-d th {
  padding: 7px;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #p-plant .cp-table-d th {
    padding: 10px 5px 9px;
  }
}

#p-plant .cp-table-d td {
  vertical-align: middle;
}

#p-plant .cp-table-d td .-downloadLink {
  display: inline-block;
  margin: -5px 0;
  padding: 7px 27px 6px 10px;
  background: #bc3f3e;
  color: #fff;
  border-radius: 50vh;
  font-size: 0.6875rem;
  line-height: 1.727;
  letter-spacing: .04em;
  text-indent: .04em;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-plant .cp-table-d td .-downloadLink {
    padding: 7px 27px 7px 10px;
    font-size: 0.875rem;
    line-height: 1;
  }
}

#p-plant .cp-table-d td .-downloadLink::before, #p-plant .cp-table-d td .-downloadLink::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

#p-plant .cp-table-d td .-downloadLink::before {
  width: 13px;
  height: 13px;
  background: #fff;
  border-radius: 50vh;
  right: 5px;
}

@media screen and (min-width: 768px) {
  #p-plant .cp-table-d td .-downloadLink::before {
    width: 14px;
    height: 14px;
  }
}

#p-plant .cp-table-d td .-downloadLink::after {
  width: 5px;
  height: 5px;
  border-top: 1px solid #bc3f3e;
  border-right: 1px solid #bc3f3e;
  right: 10px;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

#p-plant .cp-table-d td .-downloadLink > span {
  display: block;
  width: 71px;
  height: 8px;
  background: url(/images/plant/button_download_text_01.svg) top left/cover;
}

@media screen and (min-width: 768px) {
  #p-plant .cp-table-d td .-downloadLink > span {
    width: 53px;
    height: 6px;
  }
}

#p-plant .cp-table-d td .-downloadLink .-text {
  position: absolute;
  top: -9999px;
  left: -9999px;
}

#p-plant .cp-table-d td .-textLink {
  padding-right: 25px;
  font-size: 0.75rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-plant .cp-table-d td .-textLink {
    font-size: 0.875rem;
  }
}

#p-plant .cp-table-d td .-textLink::before, #p-plant .cp-table-d td .-textLink::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

#p-plant .cp-table-d td .-textLink::before {
  width: 13px;
  height: 13px;
  background: #bc3f3e;
  border-radius: 50vh;
  right: 5px;
}

@media screen and (min-width: 768px) {
  #p-plant .cp-table-d td .-textLink::before {
    width: 14px;
    height: 14px;
  }
}

#p-plant .cp-table-d td .-textLink::after {
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  right: 10px;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

@media screen and (min-width: 768px) {
  #p-plant br.-sp-only {
    display: none;
  }
}

#p-plant br.-pc-only {
  display: none;
}

@media screen and (min-width: 768px) {
  #p-plant br.-pc-only {
    display: block;
  }
}

#p-plant .p-plante-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 90px;
  margin: 30px 0 50px;
  padding: 20px;
  background: #e6e6e6;
}

@media screen and (min-width: 768px) {
  #p-plant .p-plante-info {
    margin: 50px auto 120px;
    max-width: 820px;
    min-height: 126px;
    padding: 20px 40px;
  }
}

#p-plant .p-plante-info > p {
  font-size: 0.875rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  #p-plant .p-plante-info > p {
    font-size: 1.25rem;
  }
}

#p-sustainability .cp-page-fv {
  height: 123.2vw;
  background-image: url(/images/sustainability/mv_bg_sp_01.png);
}

@media screen and (min-width: 768px) {
  #p-sustainability .cp-page-fv {
    height: 220px;
    background-image: url(/images/sustainability/mv_bg_pc_01.png);
  }
}

#p-sustainability .cp-page-fv__sub-title {
  width: 32.93333vw;
}

@media screen and (min-width: 768px) {
  #p-sustainability .cp-page-fv__sub-title {
    width: min(15.7%, 157px);
  }
}

#p-sustainability .p-sustainability-tab__buttons {
  margin: 0 -5.3vw;
  border-bottom: 2px solid #bc3f3e;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-tab__buttons {
    margin: 0;
    border-width: 4px;
  }
}

#p-sustainability .p-sustainability-tab__buttons__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 5.3vw;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-tab__buttons__inner {
    padding: 0;
  }
}

#p-sustainability .p-sustainability-tab__button {
  width: 50%;
  height: 100px;
  padding: 0 5px;
  background: #e5e5e4;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.44;
  text-align: center;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-tab__button {
    max-width: 453px;
    font-size: 1.5rem;
  }
}

#p-sustainability .p-sustainability-tab__button[aria-selected="true"] {
  background: #bc3f3e;
  color: #fff;
}

#p-sustainability .p-sustainability-tab__body {
  padding: 100px 0 0;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-tab__body {
    padding: 60px 0 0;
  }
}

#p-sustainability .p-sustainability-tab__body > *:first-child {
  margin-top: 0;
}

#p-sustainability .p-sustainability-tab__body > *:last-child {
  margin-bottom: 0;
}

#p-sustainability .p-sustainability-tab__body[aria-hidden="true"] {
  display: none;
  margin: 0;
  padding: 0;
  border: none;
  height: 0;
  visibility: hidden;
}

#p-sustainability .p-sustainability-tab__body[aria-hidden="true"] * {
  opacity: 0;
}

#p-sustainability .p-sustainability-text {
  margin-top: 25px;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-text {
    margin-top: 30px;
  }
}

#p-sustainability .p-sustainability-text > p {
  font-size: 0.8125rem;
  line-height: 2;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-text > p {
    font-size: 1rem;
    line-height: 2.25;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-text > p > b {
    font-size: 1.125rem;
    line-height: 1.8;
  }
}

#p-sustainability .p-sustainability-img {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-img {
    margin-top: 30px;
  }
}

#p-sustainability .p-sustainability-img > picture {
  display: block;
  text-align: center;
}

#p-sustainability .p-sustainability-img img {
  zoom: 0.5;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-img img {
    height: auto;
    zoom: 1;
  }
}

#p-sustainability .cp-2img__item > img {
  aspect-ratio: 443 / 332;
}

#p-sustainability .p-sustainability-list > li {
  padding-left: 14px;
  font-size: 0.8125rem;
  line-height: 1.8;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-list > li {
    font-size: 1rem;
    line-height: 2.25;
  }
}

#p-sustainability .p-sustainability-list > li::before {
  content: '・';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

#p-sustainability .p-sustainability-panelLink > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-right: 1px solid #a6a6a6;
}

#p-sustainability .p-sustainability-panelLink > ul > li {
  width: calc(100% / 3);
  min-height: 88px;
  border-left: 1px solid #a6a6a6;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-panelLink > ul > li {
    min-height: 148px;
  }
}

#p-sustainability .p-sustainability-panelLink > ul > li > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  padding-bottom: 20px;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.52;
  text-align: center;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-panelLink > ul > li > a {
    padding-bottom: 40px;
    font-size: 1.3125rem;
    font-weight: 400;
    line-height: 1.714;
  }
}

#p-sustainability .p-sustainability-panelLink > ul > li > a::after {
  content: '';
  display: block;
  width: 9px;
  height: 9px;
  border-right: 1px solid #bc3f3e;
  border-bottom: 1px solid #bc3f3e;
  position: absolute;
  left: 50%;
  bottom: 10px;
  -webkit-transform: rotate(45deg) translateX(-50%);
          transform: rotate(45deg) translateX(-50%);
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-panelLink > ul > li > a::after {
    width: 18px;
    height: 18px;
    border-width: 2px;
  }
}

#p-sustainability .p-sustainability-box {
  margin: 40px -5.3vw 0;
  padding: 40px 5.3vw;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-box {
    margin: 50px 0 0;
    padding: 40px;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-box .cp-h4 {
    margin-right: -40px;
    padding-right: 40px;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-box .cp-h5 {
    margin-top: 30px;
    margin-bottom: 20px;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-box .p-sustainability-text {
    margin-top: 20px;
  }
}

#p-sustainability .p-sustainability-box.-bg-gray {
  background: #e6e6e6;
}

#p-sustainability .p-sustainability-box.-bg-gray .cp-h5__text {
  background: #fff;
}

@media screen and (max-width: 767px) {
  #p-sustainability .p-sustainability-box.-bg-gray .cp-h5__text {
    line-height: 1.4;
  }
}

#p-sustainability .p-sustainability-box__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  margin-top: 10px;
}

#p-sustainability .p-sustainability-box__text::before {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 12px;
  background: #3c3c3c;
}

#p-sustainability .p-sustainability-box__text > p {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: 15px;
  font-size: 0.8125rem;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-box__text > p {
    margin-top: 12px;
    margin-left: 30px;
    font-size: 1rem;
  }
}

#p-sustainability .p-sustainability-media {
  margin-top: 75px;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media {
    margin-top: 100px;
  }
}

#p-sustainability .p-sustainability-media.-bg-gray,
#p-sustainability .p-sustainability-media.-pc-bg-gray {
  margin-right: -5.3vw;
  margin-left: -5.3vw;
  padding: 25px 5.3vw;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media.-bg-gray,
  #p-sustainability .p-sustainability-media.-pc-bg-gray {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: max-content 1fr;
        grid-template-rows: -webkit-max-content 1fr;
        grid-template-rows: max-content 1fr;
    -ms-grid-columns: 1fr minmax(1fr, 472px);
        grid-template-columns: 1fr minmax(1fr, 472px);
    margin-right: 0;
    margin-left: 0;
    padding: 40px;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media.-bg-gray.-image-left .p-sustainability-media__heading,
  #p-sustainability .p-sustainability-media.-bg-gray.-image-left .p-sustainability-media__text,
  #p-sustainability .p-sustainability-media.-pc-bg-gray.-image-left .p-sustainability-media__heading,
  #p-sustainability .p-sustainability-media.-pc-bg-gray.-image-left .p-sustainability-media__text {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2 / 3;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media.-bg-gray.-image-left .p-sustainability-media__heading,
  #p-sustainability .p-sustainability-media.-pc-bg-gray.-image-left .p-sustainability-media__heading {
    margin-left: 0;
    margin-right: -40px;
    padding-left: 30px;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media.-bg-gray.-image-left .p-sustainability-media__img,
  #p-sustainability .p-sustainability-media.-pc-bg-gray.-image-left .p-sustainability-media__img {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1 / 2;
    margin-right: 60px;
    margin-left: 0;
  }
}

#p-sustainability .p-sustainability-media.-bg-gray {
  background: #e6e6e6;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media.-pc-bg-gray {
    background: #e6e6e6;
  }
}

#p-sustainability .p-sustainability-media__heading {
  padding: 10px 20px 8px;
  background: #3c3c3c;
  font-size: 1.1875rem;
  color: #fff;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media__heading {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1 / 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1 / 2;
    max-width: 472px;
    margin-left: -40px;
    padding: 9px 30px 8px 40px;
    font-size: 1.1875rem;
    text-align: left;
  }
}

#p-sustainability .p-sustainability-media__img {
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media__img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1 / 3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2 / 3;
    margin-top: 0;
    margin-left: 60px;
  }
}

#p-sustainability .p-sustainability-media__text + .p-sustainability-media__img {
  margin-top: 25px;
}

#p-sustainability .p-sustainability-media__img.-sp-width-max {
  margin-right: -5.3vw;
  margin-left: -5.3vw;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media__img.-sp-width-max {
    margin-right: 0;
    margin-left: 60px;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media__img.-pc-over-top_bottom {
    margin-top: -80px;
    margin-bottom: -70px;
  }
}

#p-sustainability .p-sustainability-media__img > img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media__img > img {
    width: inherit;
  }
}

#p-sustainability .p-sustainability-media__text {
  margin-top: 25px;
  font-size: 0.8125rem;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media__text {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2 / 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1 / 2;
    max-width: 432px;
    margin-top: 40px;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media2 {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: max-content 1fr;
        grid-template-rows: -webkit-max-content 1fr;
        grid-template-rows: max-content 1fr;
    -ms-grid-columns: 1fr auto;
        grid-template-columns: 1fr auto;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media2.-image-left {
    -ms-grid-columns: auto 1fr;
        grid-template-columns: auto 1fr;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media2.-image-left .p-sustainability-media2__text,
  #p-sustainability .p-sustainability-media2.-image-left .p-sustainability-media2__text:last-of-type {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2 / 3;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media2.-image-left .p-sustainability-media2__img {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1 / 2;
    margin-right: 50px;
    margin-left: 0;
  }
}

#p-sustainability .p-sustainability-media2__text {
  font-size: 0.8125rem;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media2__text {
    font-size: 1rem;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1 / 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1 / 2;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media2__text:last-of-type {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2 / 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1 / 2;
  }
}

#p-sustainability .p-sustainability-media2__text__item + .p-sustainability-media2__text__item {
  margin-top: 20px;
}

#p-sustainability .p-sustainability-media2__text b {
  display: block;
  font-size: 1.0625rem;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media2__text b {
    font-size: 1.25rem;
  }
}

#p-sustainability .p-sustainability-media2__img + .p-sustainability-media2__text {
  margin-top: 50px;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media2__img + .p-sustainability-media2__text {
    margin-top: 40px;
  }
}

#p-sustainability .p-sustainability-media2__img {
  margin: 50px -5.3vw 0;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media2__img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1 / 3;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2 / 3;
    margin: 0 0 0 50px;
  }
}

#p-sustainability .p-sustainability-media2__img > img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media2__img > img {
    width: inherit;
  }
}

#p-sustainability .p-sustainability-media2__list {
  margin-top: 50px;
  position: relative;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media2__list {
    margin-top: 60px;
  }
}

#p-sustainability .p-sustainability-media2__list::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 11px 10px 0 10px;
  border-color: #bc3f3e transparent transparent transparent;
  position: absolute;
  top: -32px;
  left: 0;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media2__list::before {
    border-width: 13px 12px 0 12px;
    top: -40px;
  }
}

#p-sustainability .p-sustainability-media2__list > li {
  font-size: 0.8125rem;
  line-height: 1.8;
}

@media screen and (min-width: 768px) {
  #p-sustainability .p-sustainability-media2__list > li {
    font-size: 1rem;
  }
}

#p-sustainability .p-sustainability-media2__list > li::before {
  content: '・';
  display: inline-block;
}

#p-sustainability .p-sustainability-media2__list > li + li {
  margin-top: 10px;
}

#p-sustainability .cp-h2 {
  margin: 100px 0 50px;
}

@media screen and (min-width: 768px) {
  #p-sustainability .cp-h2 {
    margin: 70px 0 30px;
  }
}

@media screen and (max-width: 767px) {
  #p-sustainability .cp-h2.-sp-narrow {
    letter-spacing: -.005em;
  }
}

#p-sustainability .cp-h4 {
  padding: 0 0 0 5px;
}

#p-sustainability .cp-h5 {
  margin: 30px 0 25px;
}

@media screen and (min-width: 768px) {
  #p-sustainability .cp-h5 {
    margin: 60px 0 30px;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .cp-h5__margin-add {
    margin: 60px 0 50px 0;
  }
}

#p-sustainability .cp-h5__text {
  margin: 0;
}

@media screen and (min-width: 768px) {
  #p-sustainability .cp-h5__text {
    display: inline;
  }
}

@media screen and (max-width: 767px) {
  #p-sustainability .cp-h5__text.-pattern1 {
    padding-right: 20px;
    padding-left: 20px;
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  #p-sustainability .cp-h5__text.-pattern1 > span {
    display: block;
    margin-top: 3px;
    text-indent: 1.5em;
  }
}

@media screen and (max-width: 767px) {
  #p-sustainability .cp-h5__text.-pattern2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: left;
    letter-spacing: 0;
  }
}

@media screen and (max-width: 767px) {
  #p-sustainability .cp-h5__text.-pattern2 .-indent {
    display: block;
    margin-top: 3px;
    text-indent: 2.2em;
  }
}

#p-sustainability .cp-h5__text.-narrow {
  letter-spacing: -.01em;
}

@media screen and (min-width: 768px) {
  #p-sustainability .cp-h5__text.-narrow {
    letter-spacing: 0;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability br.-sp-only {
    display: none;
  }
}

#p-sustainability br.-pc-only {
  display: none;
}

@media screen and (min-width: 768px) {
  #p-sustainability br.-pc-only {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability b.-sp-only {
    font-weight: 400;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .-pc-indent-5 {
    margin-left: 0.5em;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .-pc-indent-10 {
    margin-left: 1em;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .-pc-indent-15 {
    margin-left: 1.5em;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .-pc-indent-20 {
    margin-left: 2em;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .-pc-indent-25 {
    margin-left: 2.5em;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .-pc-indent-30 {
    margin-left: 3em;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .-pc-indent-35 {
    margin-left: 3.5em;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .-pc-indent-40 {
    margin-left: 4em;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .-pc-indent-45 {
    margin-left: 4.5em;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .-pc-indent-50 {
    margin-left: 5em;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .-pc-indent-55 {
    margin-left: 5.5em;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .-pc-indent-60 {
    margin-left: 6em;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .-pc-indent-65 {
    margin-left: 6.5em;
  }
}

@media screen and (min-width: 768px) {
  #p-sustainability .-pc-indent-70 {
    margin-left: 7em;
  }
}

#p-sustainability .off {
  display: none;
}

/* ============================================
// project kp1
// ==========================================*/
.p-kp1__cp-ol {
  margin-left: 1.25rem;
}

.p-kp1__cp-ul {
  margin-left: 1.25rem;
}

.p-kp1__cp-2img {
  text-align: center;
}

/* ============================================
// project video
// ==========================================*/
.p-video__cp-ol {
  margin-left: 1.25rem;
}

.p-video__cp-ul-white-inner {
  margin: 0 0 0 1.625rem;
}

.p-video__cp-ul-white {
  margin-left: 1.625rem;
}

.p-video__content .pc_block {
  display: inline;
}

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

.p-video .cp-3img__item > img {
  aspect-ratio: 624 / 380;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ============================================
// project scope
// ==========================================*/
.p-scope__cp-ol {
  margin-left: 1.25rem;
}

.p-scope__cp-ol-inner {
  margin: 0 0 0 1.25rem;
}

.p-scope__cp-ul-white {
  margin: 0 0 0 1.25rem;
}

.p-scope__cp-ul {
  margin: 0 0 0 1.25rem;
}

.p-scope__cp-img-c-inner {
  text-align: left;
}

.p-scope__cp-img-c-inner iframe {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-scope__cp-img-c-inner iframe {
    width: 64%;
  }
}

.p-scope__cp-img-c-inner img {
  margin-bottom: 0.75rem;
}

.p-scope__cp-img-c-inner figcaption > span {
  padding: 0.75rem 3.4375rem;
  background-color: #ffffff;
}

.p-nut .cp-2img__before-after img {
  aspect-ratio: 464 / 185;
}

@media screen and (min-width: 768px) {
  .p-bolt .cp-2img {
    display: block;
    margin-bottom: 2.1875rem;
  }
}

.p-bolt .cp-2img__before-after img {
  aspect-ratio: 464 / 190;
}

.p-penetration .cp-ul__item-text-1 {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-penetration .cp-ul__item-text-1 {
    display: inline-block;
    width: 25%;
  }
}

.p-penetration .cp-ul__item-text-2 {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-penetration .cp-ul__item-text-2 {
    display: inline-block;
    width: 75%;
  }
}

.p-penetration__img-01 .cp-2img__item > img {
  aspect-ratio: 406 / 560;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-penetration__img-01 .cp-2img__item > img {
    aspect-ratio: 308 / 187;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

/* ============================================
// project p-company-common
// ==========================================*/
.p-company-common .cp-catch {
  text-align: center;
}

.p-company-common .cp-img-c img {
  aspect-ratio: unset;
}

.p-company-common .cp-c2__col {
  margin-bottom: 0;
}

.p-company-common .cp-tab {
  margin-bottom: 40px;
}

.p-company-common .cp-tab__menu-link {
  padding: 0;
}

.p-company-common .cp-tab__menu-link > a {
  display: block;
  padding: 1.75rem 0;
}

@media screen and (min-width: 768px) {
  .p-company-common .cp-tab__menu-link > a {
    padding: 2.375rem 0;
  }
}

/* ============================================
// project p-company-outline
// ==========================================*/
.p-company-outline .cp-table-e table {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-company-outline .cp-table-e th {
    width: 20%;
    padding-bottom: 0.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-company-outline .cp-table-e td {
    padding-bottom: 0.5rem;
  }
}

.p-company-outline .cp-table-e span {
  display: block;
  margin-left: 20px;
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  .p-company-outline .cp-table-e span {
    margin-left: 40px;
  }
}

.p-company-outline .cp-table-e span > a {
  display: inline-block;
  text-decoration: underline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-company-outline .cp-table-e span > a::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  margin-right: 10px;
  background-image: url(/images/common/arrow_red.png);
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
}

.p-company-outline .cp-table-e span > a:hover {
  color: #bc3f3e;
}

.p-company-outline__executive .cp-table-e th {
  width: 45%;
}

@media screen and (min-width: 768px) {
  .p-company-outline__executive .cp-table-e th {
    width: 20%;
  }
}

.p-company-outline__executive .cp-table-e th, .p-company-outline__executive .cp-table-e td {
  font-size: 0.96875rem;
}

@media screen and (min-width: 768px) {
  .p-company-outline__executive .cp-table-e th, .p-company-outline__executive .cp-table-e td {
    font-size: 1.125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-company-outline__pdf {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (min-width: 768px) {
  .p-company-outline__pdf-left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-company-outline__pdf-btn {
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .p-company-outline__pdf-btn {
    margin-bottom: 0;
    margin-right: 20px;
  }
}

.p-company-outline__pdf .cp-font-s {
  line-height: 1.5;
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .p-company-outline__pdf .cp-font-s {
    margin-bottom: 0;
  }
}

.p-company-outline__pdf .cp-font-s a {
  text-decoration: underline;
}

.p-company-outline__permit a {
  text-decoration: underline;
}

.p-company-outline__qualifications .cp-table-b table {
  width: 45%;
  min-width: 434px;
}

@media screen and (min-width: 768px) {
  .p-company-outline__qualifications .cp-table-b table {
    width: 60%;
    min-width: 578px;
  }
}

.p-company-outline__qualifications .cp-table-b th, .p-company-outline__qualifications .cp-table-b td {
  padding: 0.625rem 0.9375rem;
}

@media screen and (min-width: 768px) {
  .p-company-outline__qualifications .cp-table-b th, .p-company-outline__qualifications .cp-table-b td {
    padding: 0.625rem 1.25rem;
  }
}

.p-company-outline__qualifications .cp-table-b td {
  text-align: center;
}

.p-company-outline__qualifications .cp-table-b td:last-child {
  text-align: right;
}

/* ============================================
// project p-company-topmessage
// ==========================================*/
.p-company-topmessage .cp-page-fv {
  position: relative;
  height: 123.16187vw;
  background-image: url(/images/company/topmessage_bg_sp.png);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  .p-company-topmessage .cp-page-fv {
    height: 330px;
    background-image: url(/images/company/topmessage_bg_pc.png);
  }
}

.p-company-topmessage__message-sp {
  position: absolute;
  top: 50px;
  width: 66.1%;
}

.p-company-topmessage__message-pc {
  position: absolute;
  top: 125px;
  left: 47%;
  width: 45.5vw;
  min-width: 400px;
  max-width: 546px;
}

.p-company-topmessage__president-sp {
  position: absolute;
  overflow-x: hidden;
  bottom: 0;
  right: 0;
  width: 60.7%;
}

.p-company-topmessage__president-pc {
  position: absolute;
  overflow-x: hidden;
  bottom: 0;
  right: 54%;
  width: 360px;
}

.p-company-topmessage__name {
  text-align: right;
}

.p-company-topmessage__name .cp-p {
  text-align: right;
  margin-bottom: 10px;
}

.p-company-topmessage__name > img {
  width: 161px;
}

@media screen and (min-width: 768px) {
  .p-company-topmessage__name > img {
    width: 300px;
  }
}

/* ============================================
// project p-company-history
// ==========================================*/
.p-company-history .cp-table-b table {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .p-company-history .cp-table-b table {
    width: 85%;
    min-width: 819px;
  }
}

.p-company-history .cp-table-b th, .p-company-history .cp-table-b td {
  padding: 0.625rem 0.9375rem;
}

@media screen and (min-width: 768px) {
  .p-company-history .cp-table-b th, .p-company-history .cp-table-b td {
    padding: 0.625rem 1.25rem;
  }
}

.p-company-history .cp-table-b th > span {
  font-size: 0.75em;
  margin-left: 20px;
}

/* ============================================
// project p-company-office
// ==========================================*/
@media screen and (min-width: 768px) {
  .p-company-office__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.p-company-office .cp-h6 {
  margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .p-company-office__item {
    width: 47%;
  }
}

.p-company-office__info {
  padding-bottom: 35px;
  font-size: 0.84375rem;
  position: relative;
  margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .p-company-office__info {
    font-size: 1rem;
    padding-bottom: 0;
    margin-bottom: 35px;
  }
}

.p-company-office__info--nopb {
  padding-bottom: 0;
}

.p-company-office__btn {
  padding: 7px 28px 7px 9px;
  background-color: #bc3f3e;
  color: #ffffff;
  border-radius: 5px;
  font-weight: bold;
  position: absolute;
  bottom: 0;
  right: 0;
}

@media screen and (min-width: 768px) {
  .p-company-office__btn {
    font-size: 0.875rem;
    padding: 5px 34px 5px 12px;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}

@media screen and (min-width: 910px) {
  .p-company-office__btn {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.p-company-office__btn::after {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  background-image: url(/images/common/arrow_down_white.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 9px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .p-company-office__btn::after {
    width: 14px;
    height: 14px;
  }
}

.p-company-office__btn.js-isShown::after {
  -webkit-transform: rotate(180deg) translateY(50%);
          transform: rotate(180deg) translateY(50%);
}

.p-company-office__accordion {
  display: none;
  padding-bottom: 20px;
}

@media screen and (min-width: 768px) {
  .p-company-office__accordion {
    padding-bottom: 50px;
  }
}

.p-company-office .cp-access__transportation {
  margin-bottom: 15px;
}

@media screen and (min-width: 768px) {
  .p-company-office .cp-access__transportation {
    margin-bottom: 30px;
  }
}

.p-company-office__map {
  width: 100%;
  height: auto;
  aspect-ratio: 880 / 700;
}

.p-company-office__map > iframe {
  height: calc(100% + 300px);
}

.p-company-office__map.-osaka > iframe {
  height: calc(100% + 500px);
}

@media screen and (min-width: 768px) {
  .p-company-office__map-sp {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .p-company-office__map-pc {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .p-company-office .pc-only {
    display: none;
  }
}

/* ============================================
// project p-company-attestation
// ==========================================*/
.p-company-attestation .cp-table-e table {
  width: 100%;
  min-width: 0;
}

.p-company-attestation .cp-table-e th, .p-company-attestation .cp-table-e td {
  line-height: 1.5;
}

.p-company-attestation .cp-table-e th {
  width: 30%;
}

@media screen and (min-width: 768px) {
  .p-company-attestation .cp-table-e th {
    width: 20%;
  }
}

.p-company-attestation .cp-table-e td > span {
  display: block;
  margin-bottom: 10px;
}

.p-company-attestation .cp-table-e ol li {
  list-style-type: none;
  counter-increment: cnt;
  margin-bottom: 5px;
}

.p-company-attestation .cp-table-e ol li::before {
  content: "(" counter(cnt) ") ";
}

.p-company-attestation .cp-table-e ol li span {
  display: block;
  padding-left: 20px;
}

@media screen and (min-width: 768px) {
  .p-company-attestation .cp-table-e ol li span {
    padding-left: 30px;
  }
}

/* ============================================
// project products-rakuchin
// ==========================================*/
.p-solution__rakuchin-top-sub-title-lead-text .cp-p {
  margin-left: 1.25rem;
}

.p-solution__rakuchin-points .cp-ol {
  margin-left: 1.25rem;
}

@media screen and (min-width: 768px) {
  .p-solution__rakuchin-points .cp-ol {
    padding-left: 2.5rem;
  }
}

.p-solution__rakuchin-spec .cp-midashi-s {
  margin-left: 1.25rem;
}

.p-solution__rakuchin-spec-detail .cp-ol {
  margin-left: 1.25rem;
}

@media screen and (min-width: 768px) {
  .p-solution__rakuchin-spec-detail .cp-ol {
    padding-left: 2.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-solution__rakuchin-achievement-image-adjust {
    max-height: 14.375rem;
  }
}

.p-privacy .cp-img-c__inner {
  padding: 0;
}

.p-privacy .cp-img-c__inner > img {
  aspect-ratio: 883 / 98;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-privacy .p-sq-blankImg {
  display: block;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-privacy .p-sq-blankImg {
    pointer-events: none;
  }
}

.p-privacy .p-sq-blankImg::after {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  background: url(/images/sq/img_blank_icon_01.svg) center/cover;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

@media screen and (min-width: 768px) {
  .p-privacy .p-sq-blankImg::after {
    display: none;
  }
}

.p-privacy-policy .cp-ul-white {
  margin-bottom: 0;
}

/* ============================================
// project products-rakuchin
// ==========================================*/
.p-solution__rakuchin-top-sub-title-lead-text .cp-p {
  margin-left: 1.25rem;
}

.p-solution__rakuchin-points .cp-ol {
  margin-left: 1.25rem;
}

@media screen and (min-width: 768px) {
  .p-solution__rakuchin-points .cp-ol {
    padding-left: 2.5rem;
  }
}

.p-solution__rakuchin-spec .cp-midashi-s {
  margin-left: 1.25rem;
}

.p-solution__rakuchin-spec-detail .cp-ol {
  margin-left: 1.25rem;
}

@media screen and (min-width: 768px) {
  .p-solution__rakuchin-spec-detail .cp-ol {
    padding-left: 2.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-solution__rakuchin-achievement-image-adjust {
    max-height: 14.375rem;
  }
}

/* ============================================
// project plumbing_robot
// ==========================================*/
.p-plumbing-robot__cp-ol {
  margin-left: 0.9375rem;
}

.p-plumbing-robot__cp-2img {
  text-align: center;
}

/* ============================================
// project p-facility-water
// ==========================================*/
.p-facility-water .cp-page-fv {
  background-image: url(/images/summary/facility/water/fv_bg_sp.png);
}

@media screen and (min-width: 768px) {
  .p-facility-water .cp-page-fv {
    background-image: url(/images/summary/facility/water/fv_bg_pc.png);
  }
}

.p-facility-water .cp-page-fv__title-block {
  font-size: 6.66667vw;
}

@media screen and (min-width: 768px) {
  .p-facility-water .cp-page-fv__title-block {
    font-size: 1.25rem;
  }
  .p-facility-water .cp-page-fv__title-block > span {
    letter-spacing: -0.3em;
  }
}

.p-facility-water .cp-page-fv__sub-title {
  width: 68.8vw;
}

@media screen and (min-width: 768px) {
  .p-facility-water .cp-page-fv__sub-title {
    width: min(31.3%, 313px);
  }
}

.p-facility-water .cp-rnav__title {
  font-size: 0.75rem;
}

.p-facility-water .p-facility-common__slider .js-nonSlider .swiper-slide {
  width: min(100%);
}

@media screen and (min-width: 768px) {
  .p-facility-water .p-facility-common__slider .js-nonSlider .swiper-slide {
    width: min(18vw, 220px);
  }
}

.p-facility-water .p-facility-common__achievement-list .none-dot {
  list-style: none;
}

.p-facility-water .p-facility-common__achievement-list .font-size-s {
  font-size: 0.875rem;
}

.p-facility-water .p-facility-common__achievement-lead-text {
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 1.25rem;
}

.p-facility-water .p-facility-common__achievement-list-title {
  letter-spacing: 0;
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .p-facility-water .p-facility-common__achievement-list-title {
    line-height: normal;
  }
}

.p-facility-water .p-facility-common__achievement-list-box {
  margin-bottom: 1.25rem;
}

@media screen and (min-width: 768px) {
  .p-facility-water .cp-img-box-left-2images {
    width: 50%;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-water .cp-img-box-right-2images {
    width: 50%;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-water .cp-img-box-right-2images figure {
    height: 100%;
  }
}

.p-facility-water .cp-img-box .figcaption-3line {
  height: 80px;
}

@media screen and (min-width: 768px) {
  .p-facility-water .p-facility-common__category-top-lead {
    font-size: 0.9375rem;
  }
}

/* ============================================
// project p-facility-nuclear
// ==========================================*/
.p-facility-nuclear .cp-page-fv {
  background-image: url(/images/summary/facility/nuclear/fv_bg_sp.png);
}

@media screen and (min-width: 768px) {
  .p-facility-nuclear .cp-page-fv {
    background-image: url(/images/summary/facility/nuclear/fv_bg_pc.png);
  }
}

@media screen and (min-width: 768px) {
  .p-facility-nuclear .cp-page-fv__inner {
    padding: 40px 0 0;
  }
}

.p-facility-nuclear .cp-page-fv__sub-title {
  width: 54.66667vw;
}

@media screen and (min-width: 768px) {
  .p-facility-nuclear .cp-page-fv__sub-title {
    width: min(35%, 350px);
  }
}

.p-facility-nuclear .p-facility-common__small-heading {
  margin-bottom: 3.125rem;
}

@media screen and (min-width: 768px) {
  .p-facility-nuclear .p-facility-common__heading-nav > ul {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-nuclear .p-facility-common__heading-nav li {
    margin-right: 15px;
  }
}

.p-facility-nuclear .p-facility-common__slider .js-nonSlider .swiper-slide {
  width: min(100%);
}

@media screen and (min-width: 768px) {
  .p-facility-nuclear .p-facility-common__slider .js-nonSlider .swiper-slide {
    width: min(18vw, 220px);
  }
}

.p-facility-nuclear .p-facility-common__category-top .font-size-s {
  font-size: 0.8125rem;
}

@media screen and (min-width: 768px) {
  .p-facility-nuclear .p-facility-common__category-top .font-size-s {
    font-size: 1rem;
  }
}

.p-facility-nuclear .p-facility-common__category-top .p-facility-nuclear__img-4box {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .p-facility-nuclear .p-facility-common__category-top .p-facility-nuclear__img-box-even {
    width: 50%;
  }
}

.p-facility-nuclear .p-facility-common__achievement-block {
  width: 100%;
}

/* ============================================
// project p-facility-manufacturing
// ==========================================*/
.p-facility-manufacturing .cp-page-fv {
  background-image: url(/images/summary/facility/manufacturing/fv_bg_sp.png);
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing .cp-page-fv {
    background-image: url(/images/summary/facility/manufacturing/fv_bg_pc.png);
  }
}

.p-facility-manufacturing .cp-page-fv__inner {
  padding: 12vw 6.66667vw 0;
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing .cp-page-fv__inner {
    padding: 40px 0 0;
  }
}

.p-facility-manufacturing .cp-page-fv__sub-title {
  width: 34.66667vw;
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing .cp-page-fv__sub-title {
    width: min(20%, 200px);
  }
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing__cp-rnav-title {
    font-size: 0.8375rem;
  }
}

.p-facility-manufacturing__fv-small {
  font-size: 4.4vw;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing__fv-small {
    font-size: 0.875rem;
    margin-left: 5px;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing__menu-small {
    font-size: 0.71875rem;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}

.p-facility-manufacturing__title-small {
  font-size: 4.4vw;
  vertical-align: super;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing__title-small {
    font-size: 1.5rem;
    vertical-align: baseline;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing__img-box-even {
    width: 50%;
  }
}

.p-facility-manufacturing__img-box-even figure {
  height: 100%;
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing__img-box-even figure {
    aspect-ratio: 500 / 292;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing__achievement-inner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing__img-box-left-01 {
    width: 75.65%;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing__img-box-left-01 figure img {
    aspect-ratio: 750 / 438;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing__img-box-right-01 {
    width: 25.35%;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing__img-box-right-01 figure img {
    aspect-ratio: 251 / 219;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing__img-box-left-02 {
    width: 59.1%;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing__img-box-left-02 figure img {
    aspect-ratio: 591 / 440;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing__img-box-right-02 {
    width: 40.9%;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing__img-box-right-02 figure img {
    aspect-ratio: 409 / 220;
  }
}

.p-facility-manufacturing__achievement-list {
  font-size: 0.8125rem;
}

@media screen and (min-width: 768px) {
  .p-facility-manufacturing__achievement-list {
    font-size: 0.9375rem;
  }
}

/* ============================================
// project p-facility-newenergy
// ==========================================*/
.p-facility-newenergy .cp-page-fv {
  background-image: url(/images/summary/facility/newenergy/fv_bg_sp.png);
}

@media screen and (min-width: 768px) {
  .p-facility-newenergy .cp-page-fv {
    background-image: url(/images/summary/facility/newenergy/fv_bg_pc.png);
  }
}

@media screen and (min-width: 768px) {
  .p-facility-newenergy .cp-page-fv__inner {
    padding: 40px 0 0;
  }
}

.p-facility-newenergy .cp-page-fv__sub-title {
  width: 44vw;
}

@media screen and (min-width: 768px) {
  .p-facility-newenergy .cp-page-fv__sub-title {
    width: min(28.7%, 287px);
  }
}

.p-facility-newenergy .cp-page-fv__title-block {
  letter-spacing: -0.01em;
  font-size: 6.13333vw;
}

@media screen and (min-width: 768px) {
  .p-facility-newenergy .cp-page-fv__title-block {
    letter-spacing: 0.1em;
    font-size: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-newenergy__img-box-even {
    width: 50%;
  }
}

.p-facility-newenergy__img-box-even figure {
  height: 100%;
}

@media screen and (min-width: 768px) {
  .p-facility-newenergy__img-box-even figure {
    aspect-ratio: 500 / 292;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-newenergy__achievement-inner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-newenergy__achievement-block-01 {
    width: 65%;
  }
}

@media screen and (min-width: 768px) {
  .p-facility-newenergy__achievement-block-02 {
    width: 50%;
  }
}

/* ============================================
// project p-takasago
// ==========================================*/
@media screen and (min-width: 768px) {
  .p-takasago .cp-h2-s {
    font-size: 1.5rem;
    letter-spacing: 0;
  }
}

.p-takasago .cp-2img__item > img {
  aspect-ratio: 931 / 627;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-takasago .cp-2img__item > img {
    width: 29.0625rem;
  }
}

/* ============================================
// project p-company-common
// ==========================================*/
.p-organization-blankImg {
  display: block;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-organization-blankImg {
    pointer-events: none;
  }
}

.p-organization-blankImg::after {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  background: url(/images/company/organization_img_blank_icon_01.svg) center/cover;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

@media screen and (min-width: 768px) {
  .p-organization-blankImg::after {
    display: none;
  }
}

.p-organization-p {
  text-align: right;
}

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

@media screen and (min-width: 768px) {
  .p-organization-p-note-box {
    text-align: right;
  }
}

.p-organization-p-note-sp-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-organization-p-note {
  font-size: 0.6875rem;
  text-align: left;
}

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

/* ============================================
// project sitemap
// ==========================================*/
.p-sitemap .cp-column-parts__title {
  /*----------------------
      border-bottom: 1px solid $c-base-text;
      ----------------------*/
}

.p-sitemap .cp-column-parts__title .sitemap-logo-symbol {
  -webkit-filter: brightness(0) invert(0);
          filter: brightness(0) invert(0);
  width: 1.125rem;
  margin-right: 1%;
}

@media screen and (min-width: 768px) {
  .p-sitemap .cp-column-parts__title .sitemap-logo-symbol {
    width: 1.5625rem;
    margin-right: 3%;
  }
}

.p-sitemap .cp-column-parts__list--arrow {
  /*--------------------
        &>li {
          &::before{
            border-top: 2px solid $c-base-text;
            border-right: 2px solid $c-base-text;
          }
        }
        ---------------------*/
}

.p-sitemap .cp-column-parts__list--arrow .list-sub-title {
  padding-left: 0;
  line-height: 1;
}

.p-sitemap .cp-column-parts__list--arrow .list-sub-title::before {
  content: none;
}

.p-sitemap .cp-column-parts__list--arrow .list-margin-plus {
  margin-left: 10px;
}

@media screen and (min-width: 768px) {
  .p-sitemap .cp-column-parts__list--arrow .list-margin-plus {
    margin-left: 20px;
  }
}

@media screen and (min-width: 768px) {
  .p-sitemap .letter-spacing-minus {
    letter-spacing: -0.05em;
  }
}

.p-policy__blank-img {
  position: relative;
  display: block;
}

.p-policy__blank-img::after {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  background: url(/images/sq/img_blank_icon_01.svg) center/cover;
  position: absolute;
  right: 0px;
  bottom: 0px;
}

@media screen and (min-width: 768px) {
  .p-policy__blank-img {
    pointer-events: none;
  }
  .p-policy__blank-img::after {
    display: none;
  }
}

/*==================
.p-company-history{
  .cp-table-b {  
    & table {
      width: 100%;
  
      @include mq(md) {
        width: 100%;
        min-width: initial;
      }
    }
  }
}
====================*/
/* ============================================
// project edc
// ==========================================*/
.p-architect {
  /*----------------------------------
  &__content {
    padding: 0 5.3vw;

    @include mq(md) {
      padding: 0;
      margin: 0 unquote('max(20px, 2%)');
    }
  }
----------------------------------*/
}

.p-architect__content .cp-2img__item > img {
  aspect-ratio: 485/294;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-architect__blankImg {
  display: block;
  position: relative;
}

@media screen and (min-width: 768px) {
  .p-architect__blankImg {
    pointer-events: none;
  }
}

.p-architect__blankImg::after {
  content: '';
  display: block;
  width: 40px;
  height: 40px;
  background: url(/images/sq/img_blank_icon_01.svg) center/cover;
  position: absolute;
  right: 10px;
  bottom: 10px;
}

@media screen and (min-width: 768px) {
  .p-architect__blankImg::after {
    display: none;
  }
}

/* ============================================
// project lokring
// ==========================================*/
@media screen and (min-width: 768px) {
  .p-solution__lokring .cp-2img {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

@media screen and (min-width: 768px) {
  .p-solution__lokring .cp-2img__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
  }
}

@media screen and (min-width: 768px) {
  .p-solution__lokring-img--left {
    margin-right: 0 !important;
  }
}

.p-solution__lokring-img--right {
  text-align: left;
}

/* ============================================
// project solution_video
// ==========================================*/
.p-solution__video-img-item > img {
  -o-object-fit: contain;
     object-fit: contain;
}

.p-solution__video-achievement-list .cp-ul {
  padding-left: 0;
}

.p-solution__video-achievement-list .cp-ul__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 1.25rem;
}

@media screen and (min-width: 768px) {
  .p-solution__video-achievement-list .cp-ul__item {
    margin-left: 0;
  }
}

.p-solution__video-achievement-list .cp-ul__item-lead {
  padding-left: 0;
}

.p-solution__video-achievement-list-number {
  display: inline-block;
  width: 4.625rem;
}

@media screen and (min-width: 768px) {
  .p-solution__video-achievement-list-number {
    padding-left: 1.25rem;
    width: 7.25rem;
  }
}

.p-solution__video-achievement-list-number-lead {
  width: 1.25rem;
}

@media screen and (min-width: 768px) {
  .p-solution__video-achievement-list-number-lead {
    width: 2.5rem;
  }
}

.p-solution__video-achievement-list-text {
  display: inline-block;
  width: calc(100% - 74px);
  text-align: left;
}

.p-solution__video-achievement-list-text-lead {
  width: calc(100% - 20px);
}

/* ============================================
// project news
// ==========================================*/
.p-news .cp-img-l__inner > img {
  width: 100vw;
  aspect-ratio: auto;
}

.p-news__cp-center {
  text-align: center;
}

.p-news__table.cp-table-e table {
  width: 280px;
  min-width: 0;
}

.p-news__table.cp-table-e table th {
  font-weight: normal;
}

.p-news__table.cp-table-e table td {
  width: 28%;
}

.p-news__table.cp-table-e table th, .p-news__table.cp-table-e table td {
  padding: 0.625rem;
  border: 0.5px solid #808080;
}

@media screen and (min-width: 768px) {
  .p-news__table.cp-table-e table {
    width: 400px;
    min-width: 0;
  }
  .p-news__table.cp-table-e table th {
    font-weight: normal;
  }
  .p-news__table.cp-table-e table td {
    width: 10%;
  }
}

@media screen and (min-width: 768px) {
  .p-news__pdf {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (min-width: 768px) {
  .p-news__pdf-left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-news__pdf-btn {
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .p-news__pdf-btn {
    margin-bottom: 0;
    margin-right: 20px;
  }
}

.p-news__pdf .cp-font-s {
  line-height: 1.5;
  margin-bottom: 10px;
}

@media screen and (min-width: 768px) {
  .p-news__pdf .cp-font-s {
    margin-bottom: 0;
  }
}

.p-news__pdf .cp-font-s a {
  text-decoration: underline;
}

.p-news__kerning {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

/* ============================================
// utility
// ==========================================*/
@media screen and (min-width: 768px) {
  .u-sp-only-block {
    display: none;
  }
}

.u-pc-only-block {
  display: none;
}

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

.u-color-primary {
  color: #bc3f3e !important;
}

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

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

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

.u-mb-1 {
  margin-bottom: 80px !important;
}

@media screen and (min-width: 768px) {
  .u-mb-1 {
    margin-bottom: 140px !important;
  }
}

.u-mb-2 {
  margin-bottom: 70px !important;
}

@media screen and (min-width: 768px) {
  .u-mb-2 {
    margin-bottom: 110px !important;
  }
}

.u-mb-3 {
  margin-bottom: 50px !important;
}

@media screen and (min-width: 768px) {
  .u-mb-3 {
    margin-bottom: 85px !important;
  }
}

.u-mb-4 {
  margin-bottom: 25px !important;
}

@media screen and (min-width: 768px) {
  .u-mb-4 {
    margin-bottom: 45px !important;
  }
}

.u-mb-5 {
  margin-bottom: 25px !important;
}

@media screen and (min-width: 768px) {
  .u-mb-5 {
    margin-bottom: 30px !important;
  }
}

.u-mb-6 {
  margin-bottom: 20px !important;
}

@media screen and (min-width: 768px) {
  .u-mb-6 {
    margin-bottom: 35px !important;
  }
}

.u-mb-7 {
  margin-bottom: 70px !important;
}

@media screen and (min-width: 768px) {
  .u-mb-7 {
    margin-bottom: 200px !important;
  }
}

.u-mb-7-wide {
  margin-bottom: 70px !important;
}

@media screen and (min-width: 768px) {
  .u-mb-7-wide {
    margin-bottom: 300px !important;
  }
}

.u-mb-8 {
  margin-bottom: 20px !important;
}

@media screen and (min-width: 768px) {
  .u-mb-8 {
    margin-bottom: 25px !important;
  }
}

.u-mt-7 {
  margin-top: 70px !important;
}

@media screen and (min-width: 768px) {
  .u-mt-7 {
    margin-top: 200px !important;
  }
}

.u-border-top-none {
  border-top: none !important;
}

.u-border-bottom-none {
  border-bottom: none !important;
}

.u-border-left-none {
  border-left: none !important;
}

.u-border-right-none {
  border-right: none !important;
}

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

.u-text-center {
  text-align: center !important;
}

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

.u-vertical-middle {
  vertical-align: middle !important;
}

.u-table-first {
  text-align: center;
  vertical-align: middle;
  border-left: none !important;
}
/*# sourceMappingURL=style.css.map */