@charset "UTF-8";
@-webkit-keyframes arrow01Dash {
  0% {
    background-position-x: 0;
  }
  50% {
    background-position-x: 50px;
  }
  50.1% {
    background-position-x: -50px;
  }
  100% {
    background-position-x: 0;
  }
}
@keyframes arrow01Dash {
  0% {
    background-position-x: 0;
  }
  50% {
    background-position-x: 50px;
  }
  50.1% {
    background-position-x: -50px;
  }
  100% {
    background-position-x: 0;
  }
}
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, a, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

html {
  font-size: 62.5%;
  word-break: break-all;
}

body {
  -webkit-text-size-adjust: 100%;
}

article, aside, details, figcaption, figure,
main, footer, header, menu, nav, section {
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  word-break: break-word;
  line-break: strict;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

ul:not([class]),
ol:not([class]) {
  padding-left: 1.25em;
}

ul[class],
ol[class] {
  list-style: none;
}

span {
  font-weight: inherit;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  color: inherit;
}
@media all and (min-width: 768px) {
  a:hover {
    text-decoration: none;
  }
}

a[class] {
  text-decoration: none;
}

ins {
  background-color: #ff9;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  font-weight: 500;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

address {
  font-style: normal;
}

sup {
  vertical-align: text-top;
  font-size: 0.75em;
}

sub {
  vertical-align: text-bottom;
  font-size: 0.75em;
}

table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #e0e1dd;
  margin: 1em 0;
  padding: 0;
}

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

iframe {
  max-width: 100%;
}

/* form
================================================== */
input[type=text], input[type=email], input[type=tel], textarea, button, select, option {
  display: block;
  width: 100%;
  max-width: 100%;
  font-family: inherit;
  outline: none;
  border: 1px solid;
  border-radius: 0;
  background: none;
}
@media all and (max-width: 767px) {
  input[type=text], input[type=email], input[type=tel], textarea, button, select, option {
    font-size: 1.6rem;
  }
}

input[type=text], input[type=email], input[type=tel], textarea, button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
}

input[type=radio], input[type=checkbox] {
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

select {
  color: inherit;
}

textarea {
  resize: vertical;
}

button {
  color: inherit;
  font-weight: normal;
  cursor: pointer;
}

/* 02_base
================================================ */
body {
  min-width: 320px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  color: #4b5158;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 400;
  background: linear-gradient(90deg, #f2f2f1 0%, #fcfcfc 100%) no-repeat fixed;
}
@media all and (max-width: 767px) {
  body.is-for-nav-open {
    overflow: hidden;
    height: 100%;
  }
}
@media all and (min-width: 768px) {
  body {
    min-width: 1220px;
    font-size: 1.7rem;
  }
}

.l-wrapper {
  position: relative;
  transition: background-color 0.6s ease;
}
.l-wrapper.is-loading {
  overflow: hidden;
}
.l-wrapper.is-bg-red {
  background-color: #ec4e4e;
}
.l-wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-size: auto auto;
  background-color: transparent;
  background-image: repeating-linear-gradient(90deg, transparent, transparent 17.6%, #efefee 17.6%, #efefee calc(17.6% + 1px), transparent calc(17.6% + 1px), transparent 49.8666666667%, #efefee 49.8666666667%, #efefee calc(49.8666666667% + 1px), transparent calc(49.8666666667% + 1px), transparent 82.1333333333%, #efefee 82.1333333333%, #efefee calc(82.1333333333% + 1px));
  z-index: -1;
}
@media all and (max-width: 767px) {
  .l-wrapper.is-for-nav-open {
    overflow: hidden;
    height: 100%;
    padding-top: 74px;
    box-sizing: border-box;
  }
}
@media all and (min-width: 768px) {
  .l-wrapper::before {
    background-image: repeating-linear-gradient(90deg, transparent, transparent 18.6458333333%, #efefee 18.6458333333%, #efefee calc(18.6458333333% + 1px), transparent calc(18.6458333333% + 1px), transparent 39.53125%, #efefee 39.53125%, #efefee calc(39.53125% + 1px), transparent calc(39.53125% + 1px), transparent 60.4166666667%, #efefee 60.4166666667%, #efefee calc(60.4166666667% + 1px), transparent calc(60.4166666667% + 1px), transparent 81.3020833333%, #efefee 81.3020833333%, #efefee calc(81.3020833333% + 1px));
  }
}

.l-container {
  position: relative;
}
.l-container.has-padding-bottom {
  padding-bottom: 60px;
}
.l-container.is-col2 {
  position: relative;
}
.l-container.is-col2::before {
  position: absolute;
  content: "";
  width: 144.5333333333%;
  padding-top: 194.6666666667%;
  max-width: 100%;
  height: 0;
  top: 277px;
  left: 0;
  pointer-events: none;
  background: url(../img/common/bg_soft01.png) no-repeat left top/cover;
  z-index: -1;
}
@media all and (min-width: 768px) {
  .l-container.has-padding-bottom {
    padding-bottom: 150px;
  }
  .l-container.is-col2 {
    display: flex;
    justify-content: center;
    margin: 0 auto;
  }
  .l-container.is-col2::before {
    width: 81.4583333333%;
    padding-top: 113.4895833333%;
    top: 43px;
    background-position: right bottom;
  }
  .l-container.is-col2 .l-contents {
    width: 800px;
    margin-right: 60px;
  }
  .l-container.is-col2 .l-contents .u-inner {
    padding-right: 0;
    padding-left: 0;
  }
  .l-container.is-col2 .l-sidebar {
    width: 240px;
  }
}

/* sp <--> tb <--> pc
-------------------------------------- */
.u-media-query {
  display: none;
  font-family: "sp";
}
@media all and (min-width: 768px) {
  .u-media-query {
    font-family: "tb";
  }
}
@media all and (min-width: 1220px) {
  .u-media-query {
    font-family: "pc";
  }
}

@media all and (max-width: 1219px) {
  .u-view-pc {
    display: none !important;
  }
}

@media all and (max-width: 1339px ) {
  .u-view-large-pc {
    display: none !important;
  }
}

@media all and (min-width: 1340px ) {
  .u-view-under-pc {
    display: none !important;
  }
}

@media all and (max-width: 767px) {
  .u-view-tb {
    display: none !important;
  }
}
@media all and (min-width: 1220px) {
  .u-view-tb {
    display: none !important;
  }
}

@media all and (min-width: 768px) {
  .u-view-sp {
    display: none !important;
  }
}

@media all and (min-width: 1220px) {
  .u-view-under-tb {
    display: none !important;
  }
}

@media all and (max-width: 767px) {
  .u-view-upper-tb {
    display: none !important;
  }
}

/* overflow
-------------------------------------- */
.u-overflow-wrap {
  overflow: auto;
}
.u-overflow-wrap .u-overflow-sec {
  overflow: hidden;
}
@media all and (min-width: 768px) {
  .u-overflow-wrap .u-overflow-sec {
    min-width: 1220px;
  }
}

/* text
-------------------------------------- */
.u-uppercase {
  text-transform: uppercase;
}

.u-capitalize {
  text-transform: capitalize;
}

/* font
-------------------------------------- */
.u-en {
  font-family: "Overpass", sans-serif;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
}

/* weight
--------------------------------------- */
.u-medium {
  font-weight: 500;
}

.u-bold {
  font-weight: 700;
}

/* link
-------------------------------------- */
a.u-alpha {
  display: block;
  text-decoration: none;
}
@media all and (min-width: 768px) {
  a.u-alpha {
    transition: all 0.3s ease;
  }
  a.u-alpha:hover {
    opacity: 0.7;
  }
}

a.u-zoom {
  display: block;
  text-decoration: none;
}
a.u-zoom .u-zoom__img {
  display: block;
}
a.u-zoom .u-zoom__img-wrap {
  display: block;
  overflow: hidden;
}
@media all and (min-width: 768px) {
  a.u-zoom .u-zoom__img {
    transition: -webkit-transform 1s cubic-bezier(0.17, 0.84, 0.44, 1);
    transition: transform 1s cubic-bezier(0.17, 0.84, 0.44, 1);
    transition: transform 1s cubic-bezier(0.17, 0.84, 0.44, 1), -webkit-transform 1s cubic-bezier(0.17, 0.84, 0.44, 1);
  }
  a.u-zoom:hover .u-zoom__img {
    -webkit-transform: scale(1.1) rotate(0.01deg);
    transform: scale(1.1) rotate(0.01deg);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}

a.u-underline {
  text-decoration: underline;
}
@media all and (min-width: 768px) {
  a.u-underline {
    transition: all 0.3s ease;
  }
  a.u-underline:hover {
    opacity: 0.7;
    color: #ec4e4e;
  }
}

a.u-external {
  position: relative;
}
a.u-external::after {
  display: inline-block;
  width: 11px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2011%2011%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22M0%2011V3h1v7h7v1Zm7-1V8H3V4H1V3h2V0h8v8H8v2Zm3-3V1H4v6Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
  margin: -2px 0 0 5px;
}
@media all and (min-width: 768px) {
  a.u-external {
    transition: all 0.3s ease;
  }
  a.u-external::after {
    margin: -4px 0 0 7px;
  }
  a.u-external:hover {
    color: #ec4e4e;
  }
  a.u-external:hover::after {
    display: inline-block;
    width: 11px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2011%2011%22%3E%3Cpath%20fill%3D%22%23ec4e4e%22%20d%3D%22M0%2011V3h1v7h7v1Zm7-1V8H3V4H1V3h2V0h8v8H8v2Zm3-3V1H4v6Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
  }
}

/* layout
-------------------------------------- */
.u-inner {
  box-sizing: border-box;
  padding-left: 20px;
  padding-right: 20px;
}
@media all and (min-width: 768px) {
  .u-inner {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-left: 60px;
    padding-right: 60px;
    max-width: 1220px;
  }
  .u-inner.is-wide-pc {
    max-width: 1470px;
  }
}

/* .c-archive01
================================================== */
.c-archive01__item {
  border-top: 1px solid #e0e1dd;
}
.c-archive01__item:last-child {
  border-bottom: 1px solid #e0e1dd;
}
.c-archive01__item:nth-of-type(1) {
  transition-delay: 0.4s;
}
.c-archive01__item:nth-of-type(2) {
  transition-delay: 0.6s;
}
.c-archive01__item:nth-of-type(3) {
  transition-delay: 0.8s;
}
.c-archive01__item:nth-of-type(4) {
  transition-delay: 1s;
}
.c-archive01__item:nth-of-type(5) {
  transition-delay: 1.2s;
}
.c-archive01__item:nth-of-type(6) {
  transition-delay: 1.4s;
}
.c-archive01__item:nth-of-type(7) {
  transition-delay: 1.6s;
}
.c-archive01__item:nth-of-type(8) {
  transition-delay: 1.8s;
}
.c-archive01__item:nth-of-type(9) {
  transition-delay: 2s;
}
.c-archive01__item:nth-of-type(10) {
  transition-delay: 2.2s;
}
.c-archive01__item-in {
  display: block;
  padding: 20px 0;
}
.c-archive01__item-meta {
  display: flex;
  flex-wrap: wrap;
  line-height: 1.5;
  padding-bottom: 8px;
}
.c-archive01__item-date {
  margin: 0 10px 0 0;
}
.c-archive01__item-cat {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 0 -5px -5px 0;
  font-size: 1.2rem;
  font-weight: 500;
}
.c-archive01__item-cat-item {
  margin: 0 5px 5px 0;
  padding-top: 2px;
  color: #ec4e4e;
}
.c-archive01__item-head {
  overflow: hidden;
  display: -webkit-box;
  max-height: 3em;
  line-height: 1.5;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  font-weight: 500;
}
@media all and (min-width: 768px) {
  .c-archive01__item-in {
    padding: 35px 0;
  }
  .c-archive01__item-meta {
    padding-bottom: 10px;
  }
  .c-archive01__item-date {
    margin-right: 20px;
  }
  .c-archive01__item-cat {
    font-size: 1.3rem;
  }
  .c-archive01__item-cat-item {
    padding-top: 3px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-archive01__item a {
    transition: color 0.6s ease;
  }
  .c-archive01__item a:hover {
    color: #ec4e4e;
  }
}

/* .c-archive02
================================================== */
.c-archive02__item {
  margin-bottom: 40px;
}
.c-archive02__item:nth-of-type(1) .c-archive02__item-img[data-anime]::after {
  transition-delay: 0.2s;
}
.c-archive02__item:nth-of-type(2) .c-archive02__item-img[data-anime]::after {
  transition-delay: 0.6s;
}
.c-archive02__item:nth-of-type(3) .c-archive02__item-img[data-anime]::after {
  transition-delay: 1s;
}
.c-archive02__item:nth-of-type(4) .c-archive02__item-img[data-anime]::after {
  transition-delay: 1.4s;
}
.c-archive02__item:nth-of-type(5) .c-archive02__item-img[data-anime]::after {
  transition-delay: 1.8s;
}
.c-archive02__item-link {
  display: block;
}
.c-archive02__item-img {
  position: relative;
  display: block;
  overflow: hidden;
}
.c-archive02__item-img::before {
  display: block;
  content: "";
  width: 100%;
  padding-top: 66.6666666667%;
}
.c-archive02__item-img img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-archive02__item-txt {
  display: block;
  margin-top: 15px;
  font-size: 1.3rem;
  line-height: 1.5;
  font-weight: 500;
}
.c-archive02__item-name {
  display: block;
  margin-top: 10px;
  font-size: 1.2rem;
  line-height: 1.5;
  color: #909598;
}
@media all and (min-width: 768px) {
  .c-archive02 {
    display: flex;
    flex-wrap: wrap;
    margin-left: -20px;
    margin-right: -20px;
  }
  .c-archive02__item {
    flex-basis: calc(33.3333333333% - 40px);
    max-width: calc(33.3333333333% - 40px);
    margin: 0 20px 60px;
  }
  .c-archive02__item-txt {
    margin-top: 20px;
    font-size: 1.8rem;
  }
  .c-archive02__item-name {
    margin-top: 10px;
    font-size: 1.5rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-archive02__item a {
    transition: color 0.6s ease;
  }
  .c-archive02__item a:hover {
    color: #ec4e4e;
  }
}

.c-archive02.is-slider .c-archive02__item {
  margin: 0 20px 0 0;
}
.c-archive02.is-slider .c-archive02__item-link {
  width: 240px;
}
.c-archive02.is-slider .slick-slide:nth-of-type(1) .c-archive02__item-img[data-anime]::after {
  transition-delay: 0.4s;
}
.c-archive02.is-slider .slick-slide:nth-of-type(2) .c-archive02__item-img[data-anime]::after {
  transition-delay: 0.8s;
}
.c-archive02.is-slider .slick-slide:nth-of-type(3) .c-archive02__item-img[data-anime]::after {
  transition-delay: 1.2s;
}
.c-archive02.is-slider .slick-slide:nth-of-type(4) .c-archive02__item-img[data-anime]::after {
  transition-delay: 1.6s;
}
.c-archive02.is-slider .slick-slide:nth-of-type(5) .c-archive02__item-img[data-anime]::after {
  transition-delay: 2s;
}
@media all and (min-width: 768px) {
  .c-archive02.is-slider {
    margin-left: 0;
    margin-right: 0;
  }
  .c-archive02.is-slider .c-archive02__item {
    width: 100%;
    max-width: unset;
    margin: 0 50px 0 0;
  }
  .c-archive02.is-slider .c-archive02__item-link {
    width: 45vh;
    width: calc(var(--vh, 1vh) * 45);
    min-width: 300px;
    max-width: 520px;
  }
}

.c-archive02.is-small .c-archive02__item-txt {
  font-size: 1.2rem;
}
@media all and (max-width: 767px) {
  .c-archive02.is-small .c-archive02__item {
    margin-bottom: 20px;
  }
  .c-archive02.is-small .c-archive02__item-link {
    display: flex;
    align-items: flex-start;
  }
  .c-archive02.is-small .c-archive02__item-img {
    flex-basis: 130px;
    max-width: 130px;
  }
  .c-archive02.is-small .c-archive02__item-area-txt {
    -ms-grid-row-align: center;
    align-self: center;
    flex-basis: calc(100% - 130px);
    max-width: calc(100% - 130px);
    padding-left: 12px;
  }
  .c-archive02.is-small .c-archive02__item-txt {
    margin: 0;
  }
  .c-archive02.is-small .c-archive02__item-name {
    margin-top: 5px;
  }
}
@media all and (min-width: 768px) {
  .c-archive02.is-small {
    margin-left: -18px;
    margin-right: -18px;
  }
  .c-archive02.is-small .c-archive02__item {
    flex-basis: calc(33.3333333333% - 38px);
    margin: 0 18px 40px;
  }
  .c-archive02.is-small .c-archive02__item-img {
    margin-bottom: 14px;
  }
  .c-archive02.is-small .c-archive02__item-txt {
    margin-top: 10px;
    font-size: 1.7rem;
  }
  .c-archive02.is-small .c-archive02__item-name {
    font-size: 1.4rem;
  }
}

/* .c-archive03
================================================== */
.c-archive03 {
  margin-bottom: -40px;
}
.c-archive03__item {
  margin-bottom: 40px;
  line-height: 1.5;
}
.c-archive03__item-link {
  display: block;
}
.c-archive03__item-img {
  position: relative;
  display: block;
  overflow: hidden;
  height: 0;
  padding-top: 66.6666666667%;
}
.c-archive03__item-img::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 10px;
  right: 10px;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background: #fff;
  z-index: 2;
}
.c-archive03__item-img::after {
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
  position: absolute;
  bottom: 25px;
  right: 21px;
  z-index: 3;
}
.c-archive03__item-img img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-archive03__item-txt {
  display: block;
  margin-top: 20px;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 500;
}
.c-archive03__item-name {
  display: block;
  margin-top: 15px;
  color: #909598;
}
.c-archive03__item-pos {
  display: block;
  margin-top: 5px;
  font-size: 1.2rem;
  color: #909598;
}
@media all and (min-width: 768px) {
  .c-archive03 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -38px -60px 0;
  }
  .c-archive03__item {
    flex-basis: 341px;
    max-width: 341px;
    margin: 0 38px 60px 0;
  }
  .c-archive03__item-link {
    width: 341px;
  }
  .c-archive03__item-img::before {
    width: 54px;
    height: 54px;
  }
  .c-archive03__item-img::after {
    bottom: 32px;
    right: 28px;
  }
  .c-archive03__item-txt {
    margin-top: 20px;
    font-size: 1.8rem;
  }
  .c-archive03__item-pos {
    font-size: 1.4rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-archive03__item-img::before {
    transition: background 0.6s ease;
  }
  .c-archive03__item a {
    transition: color 0.6s ease;
  }
  .c-archive03__item a:hover {
    color: #ec4e4e;
  }
  .c-archive03__item a:hover .c-archive03__item-img::before {
    background: #ec4e4e;
  }
  .c-archive03__item a:hover .c-archive03__item-img::after {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
}

/* .c-bg01
================================================== */
.c-bg01 {
  background: linear-gradient(90deg, #f2f2f1 0%, #fcfcfc 100%) no-repeat fixed;
}

/* .c-bg-color01
================================================== */
.c-bg-color01 {
  background: #f2f2f1;
}

/* .c-bg-soft01
================================================== */
.c-bg-soft01 {
  position: relative;
}
.c-bg-soft01::before {
  position: absolute;
  content: "";
  width: 144.5333333333%;
  padding-top: 194.6666666667%;
  max-width: 100%;
  height: 0;
  top: 277px;
  left: 0;
  pointer-events: none;
  background: url(../img/common/bg_soft01.png) no-repeat left top/cover;
  z-index: -1;
}
@media all and (min-width: 768px) {
  .c-bg-soft01::before {
    width: 81.4583333333%;
    padding-top: 113.4895833333%;
    top: 43px;
    background-position: right bottom;
  }
}

/* .c-bg-soft04
================================================== */
.c-bg-soft04 {
  position: relative;
}
.c-bg-soft04::before {
  position: absolute;
  content: "";
  width: 100%;
  padding-top: 221.0666666667%;
  height: 0;
  top: -168px;
  right: 0;
  pointer-events: none;
  background: url(../img/common/bg_soft04.png) no-repeat right top/cover;
  z-index: -1;
}
@media all and (min-width: 768px) {
  .c-bg-soft04::before {
    width: 51.71875%;
    padding-top: 96.09375%;
    top: -464px;
    background-position: left top;
  }
}

/* .c-bg-soft07
================================================== */
.c-bg-soft07 {
  position: relative;
}
.c-bg-soft07::before {
  position: absolute;
  content: "";
  width: 75.2%;
  padding-top: 152.8%;
  max-width: 100%;
  height: 0;
  top: -156px;
  right: 0;
  pointer-events: none;
  background: url(../img/common/bg_soft07.png) no-repeat left top/cover;
  z-index: -1;
}
@media all and (min-width: 768px) {
  .c-bg-soft07::before {
    width: 60.2604166667%;
    padding-top: 122.5%;
    top: -309px;
  }
}

/* .c-bg-box01
================================================== */
.c-bg-box01 {
  margin: 0 20px;
  background: #fff;
  position: relative;
}
.c-bg-box01.has-deco::before, .c-bg-box01.has-deco::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  background: linear-gradient(45deg, #ec4e4e 50%, #fbdcd1 110%, rgba(251, 220, 209, 0) 200%);
}
.c-bg-box01.has-deco::before {
  width: 70px;
  height: 70px;
  top: -20px;
  left: -20px;
}
.c-bg-box01.has-deco::after {
  width: 50px;
  height: 50px;
  bottom: -20px;
  right: -20px;
}
.c-bg-box01.has-obi {
  margin-bottom: 60px;
}
.c-bg-box01.has-obi::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  background: linear-gradient(45deg, #ec4e4e 50%, #fbdcd1 110%, rgba(251, 220, 209, 0) 200%);
  bottom: -60px;
  left: -20px;
  right: -20px;
}
@media all and (max-width: 767px) {
  .c-bg-box01__inner {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .c-bg-box01.has-deco .c-bg-box01__inner {
    padding-left: 25px;
    padding-right: 25px;
  }
  .c-bg-box01.has-obi::before {
    top: 100px;
  }
  .c-bg-box01.has-obi .c-bg-box01__inner {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
@media all and (min-width: 768px) {
  .c-bg-box01 {
    margin: 0 60px;
  }
  .c-bg-box01__inner {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .c-bg-box01.has-deco::before {
    width: 110px;
    height: 110px;
    top: -30px;
    left: -30px;
  }
  .c-bg-box01.has-deco::after {
    width: 70px;
    height: 70px;
  }
  .c-bg-box01.has-deco .c-bg-box01__inner {
    padding-bottom: 120px;
  }
  .c-bg-box01.has-obi {
    margin-bottom: 150px;
  }
  .c-bg-box01.has-obi::before {
    height: 414px;
    bottom: -150px;
    left: -60px;
    right: -60px;
  }
}
@media all and (min-width: 1470px) {
  .c-bg-box01 {
    margin: 0 160px;
  }
  .c-bg-box01.has-obi::before {
    left: -160px;
    right: -160px;
  }
}
@media (min-width: 1920px) {
  .c-bg-box01 {
    margin: 0 auto;
    max-width: 1600px;
  }
}

/*  .c-btn01
================================================== */
.c-btn01 {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  width: auto;
  max-width: 100%;
  margin-top: 30px;
  font-size: 1.5rem;
  line-height: 1.5;
}
.c-btn01__link {
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  min-height: 60px;
  padding: 10px 52px 10px 20px;
  border: 1px solid;
}
.c-btn01__link::after {
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
  position: absolute;
  top: 50%;
  right: 28px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.c-btn01__link[href*="#"]::after {
  -webkit-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
  margin-top: -2px;
}
.c-btn01__txt {
  position: relative;
  z-index: 1;
  padding-bottom: 0.1em;
}
.c-btn01:not(.is-back) .c-btn01__link[target=_blank]::after {
  right: 18px;
  display: inline-block;
  width: 11px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2011%2011%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22M0%2011V3h1v7h7v1Zm7-1V8H3V4H1V3h2V0h8v8H8v2Zm3-3V1H4v6Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
}
.c-btn01.is-small {
  width: 190px;
  margin-top: 20px;
  font-size: 1.4rem;
}
.c-btn01.is-small .c-btn01__link {
  min-height: 50px;
  padding-right: 45px;
}
.c-btn01.is-small .c-btn01__link::after {
  right: 20px;
}
.c-btn01.is-white {
  color: #fff;
}
.c-btn01.is-white .c-btn01__link::after {
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
}
.c-btn01.is-white .c-btn01__link[target=_blank]::after {
  display: inline-block;
  width: 11px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2011%2011%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%2011V3h1v7h7v1Zm7-1V8H3V4H1V3h2V0h8v8H8v2Zm3-3V1H4v6Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
}
.c-btn01.is-back .c-btn01__link {
  padding-left: 52px;
  padding-right: 52px;
  justify-content: center;
}
.c-btn01.is-back .c-btn01__link::after {
  right: auto;
  left: 28px;
  -webkit-transform: translateY(-50%) rotate(-180deg);
  transform: translateY(-50%) rotate(-180deg);
}
.c-btn01.is-center {
  margin-right: auto;
  margin-left: auto;
}
@media all and (min-width: 768px) {
  .c-btn01 {
    width: 400px;
    margin-top: 60px;
    font-size: 1.8rem;
  }
  .c-btn01__link {
    min-height: 90px;
    padding-left: 40px;
    transition: all 0.3s ease;
  }
  .c-btn01__link::after {
    right: 40px;
    transition: all 0.3s ease;
  }
  .c-btn01.is-center-pc {
    margin-left: auto;
    margin-right: auto;
  }
  .c-btn01:not(.is-back) .c-btn01__link[target=_blank]::after {
    right: 16px;
    display: inline-block;
    width: 12px;
    height: 12px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2011%2011%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22M0%2011V3h1v7h7v1Zm7-1V8H3V4H1V3h2V0h8v8H8v2Zm3-3V1H4v6Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
  }
  .c-btn01.is-white .c-btn01__link[target=_blank]::after {
    display: inline-block;
    width: 12px;
    height: 12px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2011%2011%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%2011V3h1v7h7v1Zm7-1V8H3V4H1V3h2V0h8v8H8v2Zm3-3V1H4v6Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
  }
  .c-btn01.is-small {
    width: 220px;
    margin-top: 40px;
    font-size: 1.6rem;
  }
  .c-btn01.is-small .c-btn01__link {
    min-height: 70px;
    padding-left: 30px;
    padding-right: 50px;
  }
  .c-btn01.is-small .c-btn01__link::after {
    right: 24px;
  }
  .c-btn01.is-auto-pc {
    width: auto;
  }
  .c-btn01.is-back .c-btn01__link {
    padding-left: 40px;
    padding-right: 40px;
  }
  .c-btn01.is-back .c-btn01__link::after {
    left: 40px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-btn01__link:hover {
    background: #ec4e4e;
    border-color: #ec4e4e;
    color: #fff;
  }
  .c-btn01__link:hover::before {
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
  }
  .c-btn01__link:hover:not([target=_blank])::after {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
  .c-btn01:not(.is-back) .c-btn01__link[target=_blank]:hover::after {
    display: inline-block;
    width: 12px;
    height: 12px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2011%2011%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%2011V3h1v7h7v1Zm7-1V8H3V4H1V3h2V0h8v8H8v2Zm3-3V1H4v6Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
  }
  .c-btn01.is-white .c-btn01__link:hover {
    background: #fff;
    border-color: #fff;
    color: #ec4e4e;
  }
  .c-btn01.is-white .c-btn01__link:hover::after {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23ec4e4e%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
  }
  .c-btn01.is-white .c-btn01__link[target=_blank]:hover::after {
    display: inline-block;
    width: 12px;
    height: 12px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2011%2011%22%3E%3Cpath%20fill%3D%22%23ec4e4e%22%20d%3D%22M0%2011V3h1v7h7v1Zm7-1V8H3V4H1V3h2V0h8v8H8v2Zm3-3V1H4v6Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
  }
}

/*  .c-btn02 テキスト＋電話番号のボタン。SPのみリンク有効
================================================== */
.c-btn02 {
  width: 100%;
  max-width: 360px;
  margin: 15px auto 0;
  font-weight: 500;
}
.c-btn02__in {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 70px;
  padding: 5px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #4b5158;
}
.c-btn02__txt {
  display: block;
  line-height: 1.5;
  font-size: 1.4rem;
}
.c-btn02__txt-num {
  font-size: 1.6rem;
}
@media all and (max-width: 767px) {
  .c-btn02-list .c-btn02 + .c-btn02 {
    margin-top: 10px;
  }
}
@media all and (min-width: 768px) {
  .c-btn02 {
    margin-top: 25px;
  }
  .c-btn02-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0 -5px -10px;
  }
  .c-btn02-list .c-btn02 {
    width: 33.3%;
    margin: 0 5px 10px;
  }
  .c-btn02__in {
    min-height: 80px;
    border: none;
    pointer-events: none;
  }
  .c-btn02__txt {
    font-size: 1.7rem;
  }
  .c-btn02__txt-num {
    font-size: 2rem;
  }
}

/* .c-color-black
================================================== */
.c-color-black {
  color: #4b5158;
}

/* .c-color-blue
================================================== */
.c-color-blue {
  color: blue;
}

/* .c-color-gray
================================================== */
.c-color-gray {
  color: #909598;
}

/* .c-color-red
================================================== */
.c-color-red {
  color: #ec4e4e;
}

/* .c-cv-entry01
================================================ */
.c-cv-entry01 {
  position: relative;
  z-index: 2;
  background: linear-gradient(45deg, #ec4e4e 50%, #fbdcd1 110%, rgba(251, 220, 209, 0) 200%);
}
.c-cv-entry01::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: url(../img/common/bg_soft06.png) no-repeat left -100px bottom/auto 340px;
}
.c-cv-entry01__inner {
  position: relative;
  padding-top: 53px;
  padding-bottom: 60px;
}
.c-cv-entry01__area-txt {
  color: #fff;
}
.c-cv-entry01__lead {
  margin-top: 30px;
  font-size: 1.8rem;
  line-height: 1.5;
}
.c-cv-entry01-list {
  margin-top: 40px;
  line-height: 1.5;
  font-weight: 500;
}
.c-cv-entry01-list__link {
  position: relative;
  box-shadow: 0px 5px 25px rgba(0, 0, 0, 0.16);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  background: #fff;
  padding: 28px 70px 25px 30px;
}
.c-cv-entry01-list__link::before, .c-cv-entry01-list__link::after {
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.c-cv-entry01-list__link::before {
  content: "";
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background: #f2f2f1;
}
.c-cv-entry01-list__link::after {
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
  margin-right: 11px;
}
.c-cv-entry01-list__num {
  display: block;
  height: 30px;
  flex-basis: 59px;
  max-width: 59px;
}
.c-cv-entry01-list__num img {
  height: 100%;
  width: auto;
  max-width: unset;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.c-cv-entry01-list__txt {
  display: block;
  flex-basis: calc(100% - 59px);
  max-width: calc(100% - 59px);
  font-size: 1.5rem;
}
@media all and (max-width: 767px) {
  .c-cv-entry01-list__item + .c-cv-entry01-list__item {
    margin-top: 15px;
  }
}
@media all and (min-width: 768px) {
  .c-cv-entry01__inner {
    position: relative;
    padding-top: 105px;
    padding-bottom: 112px;
  }
  .c-cv-entry01__area-txt {
    display: flex;
    justify-content: space-between;
  }
  .c-cv-entry01__head {
    max-width: 40%;
  }
  .c-cv-entry01__lead {
    max-width: 60%;
    margin-top: 3px;
    font-size: 2.8rem;
  }
  .c-cv-entry01-list {
    display: flex;
    justify-content: center;
    margin: -20px -15px 0;
  }
  .c-cv-entry01-list__item {
    flex-basis: calc(50% - 30px);
    max-width: calc(50% - 30px);
    display: flex;
    margin: 20px 15px 0;
  }
  .c-cv-entry01-list__link {
    box-shadow: 0 10px 50px rgba(0, 0, 0, 0.16);
    padding: 10px 110px 10px 50px;
    height: 180px;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
  }
  .c-cv-entry01-list__link::before, .c-cv-entry01-list__link::after {
    right: 50px;
  }
  .c-cv-entry01-list__link::before {
    width: 54px;
    height: 54px;
  }
  .c-cv-entry01-list__link::after {
    margin-right: 18px;
  }
  .c-cv-entry01-list__num {
    height: 47px;
    flex-basis: 69px;
    max-width: 69px;
  }
  .c-cv-entry01-list__txt {
    flex-basis: calc(100% - 69px - 32px);
    max-width: calc(100% - 69px - 32px);
    font-size: 2rem;
    margin-left: 32px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-cv-entry01-list__link {
    transition: color 0.6s ease;
  }
  .c-cv-entry01-list__link::before {
    transition: background 0.6s ease;
  }
  .c-cv-entry01-list__link:hover {
    color: #ec4e4e;
  }
  .c-cv-entry01-list__link:hover::before {
    background: #ec4e4e;
  }
  .c-cv-entry01-list__link:hover::after {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
}

/* .c-cv01
================================================== */
.c-cv01 {
  text-align: center;
  line-height: 1.5;
}
.c-cv01-tel__link {
  display: block;
  border: 1px solid;
  padding: 15px 15px 12px;
}
.c-cv01-tel__main {
  font-size: 1.6rem;
}
.c-cv01-tel__main-num {
  font-size: 2.6rem;
}
.c-cv01-tel__sub {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
}
.c-cv01-tel__sub-tit {
  font-size: 1.3rem;
  padding-right: 5px;
}
.c-cv01-tel__sub-note {
  font-size: 1.3rem;
}
.c-cv01-contact {
  margin-top: 15px;
  font-size: 1.5rem;
  font-weight: 500;
}
.c-cv01-contact__link {
  position: relative;
  color: #fff;
  display: block;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  z-index: 1;
}
.c-cv01-contact__link::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -100%;
  right: 0;
  background: linear-gradient(45deg, #f6c9c0 0, #ec4e4e 30%, #ec4e4e 70%, #fbdcd1 110%);
  z-index: -1;
}
.c-cv01-contact__link::after {
  position: absolute;
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
  top: 50%;
  right: 25px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media all and (min-width: 768px) {
  .c-cv01-tel__main {
    font-size: 2.4rem;
  }
  .c-cv01-tel__main-num {
    font-size: 3.6rem;
  }
  .c-cv01-tel__sub {
    margin-top: 5px;
    font-size: 1.8rem;
  }
  .c-cv01-tel__sub-tit, .c-cv01-tel__sub-note {
    font-size: 1.6rem;
  }
  .c-cv01-tel__sub-txt {
    padding-bottom: 1px;
  }
  .c-cv01-tel__sub-note {
    margin-right: -0.5em;
  }
  .c-cv01-contact {
    font-size: 2rem;
  }
  .c-cv01-contact__link {
    height: 100px;
  }
  .c-cv01-contact__link::after {
    right: 7.6923076923%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-cv01-contact__link::before {
    transition: -webkit-transform 0.6s ease;
    transition: transform 0.6s ease;
    transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  }
  .c-cv01-contact__link:hover::before {
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
  }
  .c-cv01-contact__link:hover::after {
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
}

@media all and (min-width: 768px) {
  .l-footer-cv .c-cv01-tel__link {
    border: none;
  }
}
/* .c-form
================================================== */
.c-form01 ::-webkit-input-placeholder {
  color: #b0b4b7;
}
.c-form01 ::-moz-placeholder {
  color: #b0b4b7;
}
.c-form01 :-ms-input-placeholder {
  color: #b0b4b7;
}
.c-form01 ::-ms-input-placeholder {
  color: #b0b4b7;
}
.c-form01 ::placeholder {
  color: #b0b4b7;
}
.c-form01 input.c-form01-parts, .c-form01 select.c-form01-parts, .c-form01 textarea.c-form01-parts, .c-form01 button.c-form01-parts {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 46px;
  padding: 10px 12px;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  font-size: 1.6rem;
}
.c-form01 input[type=text], .c-form01 input[type=email] {
  background: #f2f2f1;
}
.c-form01 input:-webkit-autofill,
.c-form01 input:-webkit-autofill:hover,
.c-form01 input:-webkit-autofill:focus,
.c-form01 input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px white inset !important;
}
.c-form01 textarea.c-form01-parts {
  height: 138px;
  resize: vertical;
  background: #f2f2f1;
}
.c-form01 select.c-form01-parts {
  max-width: 440px;
  padding-right: 30px;
  border-width: 3px;
  background: #f2f2f1 no-repeat right 18px top 50%/10px 8px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010%208%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22M5%208%200%200h10Z%22%2F%3E%3C%2Fsvg%3E");
}
@media all and (min-width: 768px) {
  .c-form01 input.c-form01-parts, .c-form01 select.c-form01-parts, .c-form01 textarea.c-form01-parts, .c-form01 button.c-form01-parts {
    height: 54px;
    padding: 14px 20px;
    font-size: 1.7rem;
  }
  .c-form01 input.c-form01-parts.is-small-pc, .c-form01 select.c-form01-parts.is-small-pc, .c-form01 textarea.c-form01-parts.is-small-pc, .c-form01 button.c-form01-parts.is-small-pc {
    max-width: 440px;
  }
  .c-form01 select.c-form01-parts {
    padding-right: 40px;
    background-position: right 22px top 50%;
  }
  .c-form01 textarea.c-form01-parts {
    height: 162px;
  }
}

/* .c-form.is-default
================================================== */
.c-form01.is-default .c-form01__wrap {
  margin-top: 28px;
  padding: 30px 20px;
  background: #fff;
}
.c-form01.is-default table, .c-form01.is-default thead, .c-form01.is-default tbody, .c-form01.is-default tr, .c-form01.is-default th, .c-form01.is-default td {
  display: block;
}
.c-form01.is-default th, .c-form01.is-default td {
  position: relative;
  line-height: 1.5;
}
.c-form01.is-default th {
  position: relative;
  padding-right: 50px;
  font-weight: 500;
  font-size: 1.6rem;
  text-align: left;
}
.c-form01.is-default td {
  margin-bottom: 20px;
  padding: 15px 0 25px;
  border-bottom: 1px solid #e0e1dd;
}
.c-form01.is-default tr:last-of-type td {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
@media all and (min-width: 768px) {
  .c-form01.is-default th {
    font-size: 1.8rem;
  }
  .c-form01.is-default td {
    margin-bottom: 30px;
    padding: 19px 0 35px;
  }
  .c-form01.is-default .c-form01__wrap {
    margin-top: 50px;
    padding: 60px;
  }
}

/* .c-form01-label
================================================== */
.c-form01-label {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 40px;
  height: 20px;
  margin-left: 10px;
  box-sizing: border-box;
  border: 1px solid #b0b4b7;
  color: #909598;
  font-weight: 500;
  font-size: 1.1rem;
}
.c-form01-label.is-required {
  background: #ec4e4e;
  border: none;
  color: #fff;
}
@media all and (max-width: 767px) {
  .c-form01-label {
    position: absolute;
    top: 3px;
    right: 0;
  }
}
@media all and (min-width: 768px) {
  .c-form01-label {
    margin-left: 15px;
    width: 50px;
    height: 24px;
    font-size: 1.4rem;
  }
}

/* .c-form01-agreement
================================================== */
.c-form01-agreement {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 36px;
  text-align: center;
}
.c-form01-agreement-check {
  display: inline-block;
  margin-top: 15px;
  text-align: left;
}
@media all and (min-width: 768px) {
  .c-form01-agreement {
    margin-top: 56px;
  }
  .c-form01-agreement-check {
    margin-top: 21px;
  }
  .c-form01-agreement-check .mwform-checkbox-field {
    width: auto;
    padding-right: 0;
    margin-bottom: 0;
  }
}

.mw_wp_form_confirm .c-form01-agreement {
  display: none;
}

/* c-form01-submit
=========================================== */
.c-form01-submit {
  margin-top: 26px;
}
.c-form01-submit__btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  padding: 5px 35px;
  margin: 0 auto;
  width: 100%;
  max-width: 335px;
  height: 70px;
  box-sizing: border-box;
  color: #fff;
  font-weight: 500;
  font-size: 1.5rem;
  border: none;
  overflow: hidden;
  transition: all 0.3s ease;
}
.c-form01-submit__btn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -100%;
  right: 0;
  background: linear-gradient(45deg, #f6c9c0 0, #ec4e4e 30%, #ec4e4e 70%, #fbdcd1 110%);
  z-index: -1;
}
.c-form01-submit__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 25px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
}
.c-form01-submit__btn.is-disabled {
  background: #e0e1dd;
  color: #909598;
  pointer-events: none;
}
.c-form01-submit__btn.is-disabled::after {
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23909598%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
}
.c-form01-submit__btn.is-back {
  margin-top: 20px;
  max-width: 240px;
  background: #b0b4b7;
  height: 50px;
}
.c-form01-submit__btn.is-back::after {
  right: auto;
  left: 25px;
  -webkit-transform: rotate(180deg) translateY(50%);
  transform: rotate(180deg) translateY(50%);
}
@media all and (min-width: 768px) {
  .c-form01-submit {
    margin-top: 36px;
  }
  .c-form01-submit__btn {
    max-width: 520px;
    height: 100px;
    padding: 5px 60px;
    font-size: 2rem;
  }
  .c-form01-submit__btn::before {
    transition: -webkit-transform 0.6s ease;
    transition: transform 0.6s ease;
    transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  }
  .c-form01-submit__btn::after {
    right: 40px;
  }
  .c-form01-submit__btn:hover::before {
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
  }
  .c-form01-submit__btn.is-back {
    margin-top: 36px;
    max-width: 280px;
    height: 70px;
  }
  .c-form01-submit__btn.is-back::after {
    left: 40px;
  }
}

/* c-form01-checkbox-list
============================================== */
@media all and (min-width: 768px) {
  .c-form01-checkbox.is-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -20px;
  }
  .c-form01-checkbox.is-list .mwform-checkbox-field,
.c-form01-checkbox.is-list .c-checkbox {
    width: 25%;
    margin-bottom: 20px;
    padding-right: 10px;
    box-sizing: border-box;
  }
  .c-form01-checkbox.is-list .mwform-checkbox-field + .mwform-checkbox-field,
.c-form01-checkbox.is-list .mwform-checkbox-field + .c-checkbox,
.c-form01-checkbox.is-list .c-checkbox + .mwform-checkbox-field,
.c-form01-checkbox.is-list .c-checkbox + .c-checkbox {
    margin-top: 0;
  }
  .c-form01-checkbox.is-list .mwform-checkbox-field:nth-of-type(4n+1),
.c-form01-checkbox.is-list .c-checkbox:nth-of-type(4n+1) {
    width: 235px;
  }
  .c-form01-checkbox.is-list .mwform-checkbox-field:nth-of-type(4n+2),
.c-form01-checkbox.is-list .c-checkbox:nth-of-type(4n+2) {
    width: 225px;
  }
  .c-form01-checkbox.is-list .mwform-checkbox-field:nth-of-type(4n+3),
.c-form01-checkbox.is-list .c-checkbox:nth-of-type(4n+3) {
    width: 180px;
  }
  .c-form01-checkbox.is-list .mwform-checkbox-field:nth-of-type(4n+4),
.c-form01-checkbox.is-list .c-checkbox:nth-of-type(4n+4) {
    width: 200px;
    padding-right: 0;
  }
}

/* .c-form01 .mwform-checkbox-field
================================================ */
.c-form01 .mwform-checkbox-field,
.c-form01 .c-checkbox {
  display: block;
}
.c-form01 .mwform-checkbox-field + .mwform-checkbox-field,
.c-form01 .mwform-checkbox-field + .c-checkbox,
.c-form01 .c-checkbox + .mwform-checkbox-field,
.c-form01 .c-checkbox + .c-checkbox {
  margin-top: 15px;
  font-size: 0;
}
.c-form01 .mwform-checkbox-field label,
.c-form01 .c-checkbox label {
  display: inline-block;
  cursor: pointer;
}
.c-form01 .mwform-checkbox-field input,
.c-form01 .c-checkbox input {
  display: none;
}
.c-form01 .mwform-checkbox-field .mwform-checkbox-field-text,
.c-form01 .mwform-checkbox-field .c-checkbox__text,
.c-form01 .c-checkbox .mwform-checkbox-field-text,
.c-form01 .c-checkbox .c-checkbox__text {
  position: relative;
  display: block;
  vertical-align: top;
  padding: 1px 0 1px 29px;
  line-height: 1.5;
  font-size: 1.4rem;
}
.c-form01 .mwform-checkbox-field .mwform-checkbox-field-text::before,
.c-form01 .mwform-checkbox-field .c-checkbox__text::before,
.c-form01 .c-checkbox .mwform-checkbox-field-text::before,
.c-form01 .c-checkbox .c-checkbox__text::before {
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  border: 1px solid #b0b4b7;
}
.c-form01 .mwform-checkbox-field input:checked + .mwform-checkbox-field-text::after,
.c-form01 .mwform-checkbox-field input:checked + .c-checkbox__text::after,
.c-form01 .c-checkbox input:checked + .mwform-checkbox-field-text::after,
.c-form01 .c-checkbox input:checked + .c-checkbox__text::after {
  position: absolute;
  top: 6px;
  left: 5px;
  content: "";
  display: block;
  width: 11px;
  height: 6px;
  border-style: solid;
  border-width: 3px 3px 0 0;
  border-color: #ec4e4e;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
@media all and (min-width: 768px) {
  .c-form01 .mwform-checkbox-field .mwform-checkbox-field-text,
.c-form01 .mwform-checkbox-field .c-checkbox__text,
.c-form01 .c-checkbox .mwform-checkbox-field-text,
.c-form01 .c-checkbox .c-checkbox__text {
    padding-left: 34px;
    font-size: 1.7rem;
  }
  .c-form01 .mwform-checkbox-field .mwform-checkbox-field-text::before,
.c-form01 .mwform-checkbox-field .c-checkbox__text::before,
.c-form01 .c-checkbox .mwform-checkbox-field-text::before,
.c-form01 .c-checkbox .c-checkbox__text::before {
    top: 1px;
    width: 26px;
    height: 26px;
  }
  .c-form01 .mwform-checkbox-field input:checked + .mwform-checkbox-field-text::after,
.c-form01 .mwform-checkbox-field input:checked + .c-checkbox__text::after,
.c-form01 .c-checkbox input:checked + .mwform-checkbox-field-text::after,
.c-form01 .c-checkbox input:checked + .c-checkbox__text::after {
    top: 8px;
    left: 6px;
  }
}

/* .mw_wp_form リセット
================================================ */
.mw_wp_form .c-form01 .horizontal-item + .horizontal-item {
  margin-left: 0;
}

/* .c-form01-thanks
================================================ */
.c-form01-thanks__txt {
  margin-bottom: 10px;
}

/* .c-head01
================================================== */
.c-head01 {
  margin-bottom: 20px;
  text-align: left;
}
.c-head01__en {
  font-size: 5.4rem;
}
.c-head01__ja {
  margin-top: 3px;
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 500;
  color: #ec4e4e;
}
.c-head01.is-small .c-head01__en {
  font-size: 3.4rem;
}
.c-head01.is-small .c-head01__ja {
  font-size: 1.4rem;
}
.c-head01.is-large .c-head01__en {
  font-size: 7rem;
  line-height: 0.8;
}
.c-head01.is-white {
  color: #fff;
}
.c-head01.is-white .c-head01__ja {
  color: #fff;
}
@media all and (min-width: 768px) {
  .c-head01 {
    margin-bottom: 60px;
  }
  .c-head01__en {
    font-size: 11.2rem;
    line-height: 0.85;
  }
  .c-head01__ja {
    font-size: 2rem;
  }
  .c-head01.is-small {
    margin-bottom: 40px;
  }
  .c-head01.is-small .c-head01__en {
    font-size: 7rem;
  }
  .c-head01.is-small .c-head01__ja {
    font-size: 1.8rem;
  }
  .c-head01.is-large .c-head01__en {
    font-size: 17.6rem;
    line-height: 0.75;
    margin-left: -0.08em;
  }
}

/* .c-head02
================================================== */
.c-head02 {
  margin-bottom: 30px;
}
.c-head02__sub {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 15px;
}
.c-head02__sub-en {
  font-size: 1.6rem;
  padding-top: 3px;
}
.c-head02__sub-ja {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  color: #ec4e4e;
  line-height: 1.5;
}
.c-head02__sub-en + .c-head02__sub-ja::before {
  margin: 0 15px;
  display: block;
  content: "";
  width: 20px;
  height: 1px;
  background: #4b5158;
}
.c-head02__main {
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 500;
}
@media all and (min-width: 768px) {
  .c-head02 {
    margin-bottom: 50px;
  }
  .c-head02__sub {
    margin-bottom: 45px;
  }
  .c-head02__sub-en {
    font-size: 2.2rem;
    padding-top: 6px;
  }
  .c-head02__sub-ja {
    font-size: 1.8rem;
  }
  .c-head02__sub-en + .c-head02__sub-ja::before {
    width: 40px;
  }
  .c-head02__main {
    font-size: 4.2rem;
  }
}
@media all and (min-width: 1340px ) {
  .c-head02__main {
    font-size: 5.2rem;
  }
}

/* .c-head03
================================================== */
.c-head03 {
  margin-bottom: 25px;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  box-sizing: border-box;
}
.c-head03::after {
  display: block;
  content: "";
  width: 40px;
  height: 0;
  border-top: 1px solid #ec4e4e;
  margin-top: 15px;
}
@media all and (min-width: 768px) {
  .c-head03 {
    margin-bottom: 30px;
    font-size: 2.4rem;
  }
  .c-head03::after {
    width: 50px;
    margin-top: 18px;
  }
}

/* .c-head04
================================================== */
.c-head04 {
  margin-bottom: 30px;
  text-align: center;
}
.c-head04__sub {
  font-size: 1.3rem;
  margin-bottom: 8px;
  color: #ec4e4e;
}
.c-head04__sub.is-ja {
  font-weight: 500;
}
.c-head04__main {
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.c-head04.is-left {
  text-align: left;
}
@media all and (max-width: 767px) {
  .c-head04.is-left-sp {
    text-align: left;
  }
  .c-head04__sub.is-ja {
    font-size: 1.2rem;
  }
}
@media (max-width: 374px) {
  .c-head04__main {
    font-size: 2.2rem;
  }
}
@media all and (min-width: 768px) {
  .c-head04 {
    margin-bottom: 60px;
  }
  .c-head04__sub {
    font-size: 1.6rem;
    margin-bottom: 6px;
  }
  .c-head04__main {
    font-size: 3.4rem;
  }
  .c-head04__main.is-50-pc {
    margin-top: 15px;
    font-size: 5rem;
  }
}

/* .c-head05 背景グレー・左に縦線つき
================================================== */
.c-head05 {
  margin-bottom: 15px;
  padding: 13px 15px;
  background: #f2f2f1;
  border-left: 3px solid #e0e1dd;
  line-height: 1.5;
  font-weight: 500;
  font-size: 1.6rem;
}
@media all and (min-width: 768px) {
  .c-head05 {
    margin-bottom: 25px;
    border-left: 5px solid #e0e1dd;
    padding: 16px 20px;
    font-size: 2rem;
  }
}

/* c-head06 幅いっぱいの下線付き
================================== */
.c-head06 {
  margin-bottom: 1em;
  padding-bottom: 12px;
  line-height: 1.5;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #b0b4b7;
}
@media all and (min-width: 768px) {
  .c-head06 {
    padding-bottom: 15px;
    font-size: 2rem;
  }
}

/* c-head07 テキスト幅の下線つき
=================================== */
.c-head07 {
  margin-bottom: 25px;
  text-align: center;
}
.c-head07__main {
  padding-bottom: 5px;
  border-bottom: 1px solid #4b5158;
  line-height: 1.5;
  font-size: 1.6rem;
}
@media all and (min-width: 768px) {
  .c-head07 {
    margin-bottom: 37px;
  }
  .c-head07__main {
    font-size: 2rem;
  }
}

/* c-head08 ピンクの背景画像つき
=================================== */
.c-head08 {
  margin-bottom: 20px;
  padding: 6px 10px;
  background: #f8e7e0 url(../img/common/head08/bg_head01_sp.jpg) no-repeat center/cover;
  line-height: 1.5;
  font-size: 1.8rem;
  text-align: center;
}
@media all and (min-width: 768px) {
  .c-head08 {
    margin-bottom: 30px;
    padding: 4px 10px;
    background: #f8e7e0 url(../img/common/head08/bg_head01_pc.jpg) no-repeat center/cover;
    font-size: 2.2rem;
  }
  .c-head08__sup {
    font-size: 0.6em;
  }
}

/* c-head09 左に赤縦棒、幅いっぱいの下線つき
============================================ */
.c-head09 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 15px;
  padding: 0 0 10px 15px;
  border-left: 2px solid #ec4e4e;
  border-bottom: 1px solid #b0b4b7;
}
.c-head09__sub {
  line-height: 1.5;
  font-size: 1.4rem;
}
.c-head09__main {
  margin-top: 3px;
  line-height: 1.5;
  font-size: 1.7rem;
  letter-spacing: 0.1em;
}
@media all and (min-width: 768px) {
  .c-head09 {
    margin-bottom: 20px;
  }
  .c-head09__sub {
    font-size: 1.5rem;
  }
  .c-head09__main {
    font-size: 2.4rem;
  }
}

/* c-history01
======================================== */
.c-history01 {
  position: relative;
  padding-bottom: 30px;
}
.c-history01::before {
  content: "";
  position: absolute;
  top: 0;
  left: 7px;
  width: 2px;
  height: 100%;
  background: #b0b4b7;
}
.c-history01__item {
  position: relative;
  padding-bottom: 15px;
}
.c-history01__item::before {
  content: "";
  position: absolute;
  top: -7px;
  left: 0;
  z-index: 1;
  width: 16px;
  height: 16px;
  background: #ec4e4e;
  border-radius: 50%;
}
.c-history01__item-area-txt {
  position: relative;
  padding: 18px 0 18px 40px;
}
.c-history01__item-area-txt::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #e0e1dd;
}
.c-history01__item-year {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.c-history01__item-year-txt {
  min-width: 4em;
  line-height: 1.5;
  font-size: 1.6rem;
}
.c-history01__item-year-num {
  flex-grow: 1;
  text-align: right;
  line-height: 1;
  color: #f2f2f1;
  font-size: 5.6rem;
}
.c-history01__item-head {
  margin-bottom: 5px;
  line-height: 1.5;
}
.c-history01__item-txt {
  line-height: 1.5;
}
.c-history01__item-txt + .c-history01__item-head {
  margin-top: 10px;
}
.c-history01__item-img {
  padding: 15px 0 15px 40px;
}
@media all and (min-width: 768px) {
  .c-history01 {
    padding-bottom: 120px;
  }
  .c-history01::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .c-history01__item {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
  }
  .c-history01__item::before {
    top: -9px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 20px;
    height: 20px;
  }
  .c-history01__item:nth-of-type(odd) .c-history01__item-area-txt {
    padding-left: 60px;
  }
  .c-history01__item:nth-of-type(odd) .c-history01__item-img {
    padding-right: 40px;
    padding-left: 50px;
  }
  .c-history01__item:nth-of-type(even) {
    flex-direction: row-reverse;
  }
  .c-history01__item:nth-of-type(even) .c-history01__item-year {
    margin-right: -20px;
  }
  .c-history01__item-area-txt {
    box-sizing: border-box;
    width: 50%;
    min-height: 200px;
    padding: 30px 50px 20px;
  }
  .c-history01__item-year-txt {
    font-size: 2rem;
  }
  .c-history01__item-year-num {
    font-size: 8rem;
  }
  .c-history01__item-head {
    font-size: 1.8rem;
  }
  .c-history01__item-txt {
    line-height: 2;
  }
  .c-history01__item-txt + .c-history01__item-head {
    margin-top: 6px;
  }
  .c-history01__item-txt.has-pb-pc {
    padding-bottom: 20px;
  }
  .c-history01__item-img {
    position: relative;
    box-sizing: border-box;
    width: 50%;
    padding: 30px 50px 30px 40px;
  }
  .c-history01__item-img::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #e0e1dd;
  }
}

/* c-history01.is-pb-none
--------------------------------- */
.c-history01.is-pb-none {
  padding-bottom: 0;
}

/*  .c-list01
================================================== */
.c-list01__item {
  position: relative;
  padding-left: 11px;
  box-sizing: border-box;
}
.c-list01__item + .c-list01__item {
  margin-top: 0.5em;
}
.c-list01__item::before {
  display: block;
  content: "";
  position: absolute;
  top: 0.65em;
  left: 0;
  background: #b0b4b7;
  width: 5px;
  height: 5px;
  border-radius: 50%;
}
@media all and (max-width: 767px) {
  .c-list01 {
    line-height: 1.7;
  }
}
@media all and (min-width: 768px) {
  .c-list01__item {
    padding-left: 13px;
  }
  .c-list01__item + .c-list01__item {
    margin-top: 0.3em;
  }
  .c-list01__item::before {
    top: 0.85em;
  }
}

/* c-list02 番号付きリスト
======================================= */
.c-list02 {
  counter-reset: number 0;
}
.c-list02__item {
  padding-left: 1.1em;
  text-indent: -0.5em;
  list-style-type: none;
  counter-increment: number 1;
  font-weight: 500;
  word-break: normal;
}
.c-list02__item::before {
  content: counter(number) ".";
  display: inline-block;
  color: #ec4e4e;
}

/* c-list03 括弧番号付きリスト
======================================= */
.c-list03 {
  counter-reset: number 0;
}
.c-list03__item {
  padding-left: 2.5em;
  text-indent: -1.3em;
  list-style-type: none;
  counter-increment: number 1;
  word-break: normal;
}
.c-list03__item::before {
  content: "（" counter(number) "）";
  display: inline-block;
}

/* c-list04
======================================= */
.c-list04 {
  margin-bottom: -15px;
  line-height: 1.5;
}
.c-list04__wrap {
  background: #fff;
  padding: 25px 20px;
}
.c-list04__item {
  padding-bottom: 15px;
  border-bottom: 1px solid #e0e1dd;
  margin-bottom: 15px;
}
@media all and (min-width: 768px) {
  .c-list04 {
    margin-bottom: -20px;
  }
  .c-list04__wrap {
    padding: 40px 60px;
  }
  .c-list04__item {
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
  .c-list04.is-flex4-pc {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px -20px;
  }
  .c-list04.is-flex4-pc .c-list04__item {
    flex-basis: calc(25% - 40px);
    max-width: calc(25% - 40px);
    margin: 0 20px 20px;
  }
  .c-list04.is-flex3-pc {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px -20px;
  }
  .c-list04.is-flex3-pc .c-list04__item {
    flex-basis: calc(33.3333333333% - 40px);
    max-width: calc(33.3333333333% - 40px);
    margin: 0 20px 20px;
  }
  .c-list04.is-flex2-pc {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -14px -20px;
  }
  .c-list04.is-flex2-pc .c-list04__item {
    flex-basis: calc(50% - 28px);
    max-width: calc(50% - 28px);
    margin: 0 14px 20px;
  }
  .c-list04.is-column2-pc {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 28px;
    -moz-column-gap: 28px;
    column-gap: 28px;
  }
  .c-list04.is-column2-pc .c-list04__item {
    display: inline-block;
    width: 100%;
    page-break-inside: avoid;
    -webkit-column-break-inside: avoid;
    -moz-column-break-inside: avoid;
    break-inside: avoid;
  }
  .c-list04.is-column2-pc .c-list04__item.is-h3em-pc {
    min-height: 3em;
  }
}

/* c-note01
===================================== */
.c-note01 {
  line-height: 1.5;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}
@media all and (min-width: 768px) {
  .c-note01 {
    font-size: 1.4rem;
  }
}

/* .c-note01.has-mt
---------------------------------- */
.c-note01.has-mt {
  margin-top: 1em;
}

/* .c-note01.has-mb
---------------------------------- */
.c-note01.has-mb {
  margin-bottom: 0.9em;
}
@media all and (min-width: 768px) {
  .c-note01.has-mb {
    margin-bottom: 0.7em;
  }
}

/* c-note01.is-right
----------------------------------- */
.c-note01.is-right {
  text-align: right;
}

/* c-note01.is-left
----------------------------------- */
.c-note01.is-left {
  text-align: left;
}

/* .c-pager01
================================================== */
.c-pager01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 30px -4px -4px;
  overflow: hidden;
  text-align: center;
  font-family: "Overpass", sans-serif;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
}
.c-pager01 li {
  width: 38px;
  height: 38px;
  margin: 0 4px 4px;
  overflow: hidden;
  border-radius: 50%;
  box-sizing: border-box;
  background-color: #fff;
}
.c-pager01 li.current {
  background-color: #ec4e4e;
  color: #fff;
}
.c-pager01 li.previous a, .c-pager01 li.next a {
  position: relative;
  overflow: hidden;
  text-indent: 45px;
  white-space: nowrap;
  font-size: 0;
  color: transparent;
}
.c-pager01 li.previous a::before, .c-pager01 li.next a::before {
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.c-pager01 li.previous a::before {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
.c-pager01 li a,
.c-pager01 li span {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  text-decoration: none;
  padding-top: 2px;
  box-sizing: border-box;
}
@media all and (min-width: 768px) {
  .c-pager01 {
    margin-top: 50px;
  }
  .c-pager01 li {
    position: relative;
    width: 54px;
    height: 54px;
    transition: all 0.3s ease;
  }
  .c-pager01 li.previous a:hover::before, .c-pager01 li.next a:hover::before {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
  .c-pager01 li.previous {
    margin-right: 24px;
  }
  .c-pager01 li.next {
    margin-left: 24px;
  }
  .c-pager01 li a {
    transition: all 0.3s ease;
  }
  .c-pager01 li a:hover {
    background-color: #ec4e4e;
    color: #fff;
  }
}

/* .c-pager02
================================================== */
.c-pager02 {
  position: relative;
  overflow: hidden;
  line-height: 1;
  font-size: 1.5rem;
}
.c-pager02__prev, .c-pager02__next {
  margin: 20px 0;
  max-width: calc(50% - 10px);
}
.c-pager02__prev a, .c-pager02__next a {
  position: relative;
  text-decoration: none;
  height: 38px;
  display: flex;
  align-items: center;
}
.c-pager02__prev a::before, .c-pager02__next a::before {
  display: block;
  content: "";
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  top: 0;
}
.c-pager02__prev a::after, .c-pager02__next a::after {
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
  position: absolute;
  top: 50%;
  margin-top: -5px;
}
.c-pager02__prev a {
  justify-content: flex-start;
  padding-left: 53px;
}
.c-pager02__prev a::before {
  left: 0;
}
.c-pager02__prev a::after {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  left: 10px;
}
.c-pager02__next {
  text-align: right;
}
.c-pager02__next a {
  justify-content: flex-end;
  padding-right: 53px;
}
.c-pager02__next a::before {
  right: 0;
}
.c-pager02__next a::after {
  right: 10px;
}
.c-pager02__all {
  clear: both;
}
@media all and (max-width: 767px) {
  .c-pager02__prev {
    float: left;
  }
  .c-pager02__next {
    float: right;
  }
}
@media all and (max-width: 767px) {
  .c-pager02__all {
    margin-top: 20px;
  }
}
@media all and (min-width: 768px) {
  .c-pager02 {
    font-size: 1.8rem;
  }
  .c-pager02__prev, .c-pager02__next {
    position: absolute;
    top: 0;
    margin: 77px 0 0;
  }
  .c-pager02__prev a, .c-pager02__next a {
    height: 54px;
    transition: all 0.3s ease;
  }
  .c-pager02__prev a::before, .c-pager02__next a::before {
    width: 54px;
    height: 54px;
    transition: background 0.3s ease;
  }
  .c-pager02__prev a::after, .c-pager02__next a::after {
    margin-top: -5px;
  }
  .c-pager02__prev a:hover, .c-pager02__next a:hover {
    color: #ec4e4e;
  }
  .c-pager02__prev a:hover::before, .c-pager02__next a:hover::before {
    background: #ec4e4e;
  }
  .c-pager02__prev a:hover::after, .c-pager02__next a:hover::after {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
  .c-pager02__prev {
    left: 0;
  }
  .c-pager02__prev a {
    padding-left: 74px;
  }
  .c-pager02__prev a::after {
    left: 18px;
  }
  .c-pager02__next {
    right: 0;
  }
  .c-pager02__next a {
    padding-right: 74px;
  }
  .c-pager02__next a::after {
    right: 18px;
  }
}

/* c-relation01
======================================= */
.c-relation01 {
  padding-bottom: 60px;
}
.c-relation01__head {
  position: relative;
  font-weight: 500;
  font-size: 1.6rem;
  margin-bottom: 30px;
  text-align: center;
}
.c-relation01__head::after {
  display: block;
  content: "";
  width: 0;
  height: 40px;
  border-left: 1px solid;
  position: absolute;
  bottom: -50px;
  left: 50%;
}
.c-relation01__content {
  background: #f2f2f1 url(../img/common/bg_relate01.png) no-repeat left -182px top -16px/752px auto;
}
.c-relation01__content-inner {
  padding-top: 40px;
  padding-bottom: 40px;
}
.c-relation01-list {
  margin-bottom: -10px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
}
.c-relation01-list__item {
  margin-bottom: 10px;
}
.c-relation01-list__item-in, .c-relation01-list__item-link {
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  min-height: 70px;
  padding: 10px 52px 10px 20px;
}
.c-relation01-list__item-in {
  background: rgba(255, 255, 255, 0.5);
  color: #909598;
}
.c-relation01-list__item-link {
  background: #fff;
}
.c-relation01-list__item-link::after {
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
  position: absolute;
  top: 50%;
  right: 28px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.c-relation01-list__item-txt {
  overflow-wrap: break-word;
  word-break: keep-all;
}
@media all and (max-width: 767px) {
  .c-relation01__btn {
    margin: 40px 20px 0;
  }
}
@media all and (min-width: 768px) {
  .c-relation01 {
    padding-bottom: 150px;
  }
  .c-relation01__head {
    font-size: 2rem;
    margin-bottom: 48px;
  }
  .c-relation01__head::after {
    height: 60px;
    bottom: -80px;
  }
  .c-relation01__content {
    background-position: left top;
    background-size: auto auto;
  }
  .c-relation01__content-inner {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .c-relation01-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -8px -16px;
    font-size: 1.8rem;
  }
  .c-relation01-list__item {
    flex-basis: calc(25% - 16px);
    max-width: calc(25% - 16px);
    margin: 0 8px 16px;
  }
  .c-relation01-list__item-in, .c-relation01-list__item-link {
    min-height: 100px;
    padding-left: 30px;
    padding-right: 46px;
  }
  .c-relation01-list__item-link::after {
    right: 20px;
  }
  .c-relation01-list.is-flex3-pc .c-relation01-list__item {
    flex-basis: calc(33.3333333333% - 16px);
    max-width: calc(33.3333333333% - 16px);
  }
  .c-relation01__btn {
    margin-top: 80px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-relation01-list__item-link {
    transition: all 0.3s ease;
  }
  .c-relation01-list__item-link:hover {
    background: #ec4e4e;
    color: #fff;
  }
  .c-relation01-list__item-link:hover::after {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
}

/* c-relation02
======================================= */
.c-relation02__head {
  position: relative;
  font-weight: 500;
  font-size: 1.6rem;
  margin-bottom: 30px;
  text-align: center;
}
.c-relation02__head::after {
  display: block;
  content: "";
  width: 0;
  height: 40px;
  border-left: 1px solid;
  position: absolute;
  bottom: -50px;
  left: 50%;
}
.c-relation02__content {
  position: relative;
  padding: 40px 20px;
  width: 100%;
  height: 240px;
  box-sizing: border-box;
}
.c-relation02__link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  max-width: 1100px;
  height: 160px;
  margin: 0 auto;
  border: 1px solid #fff;
  color: #fff;
}
.c-relation02__txt {
  line-height: 1.5;
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
.c-relation02__arrow {
  position: relative;
  width: 38px;
  height: 38px;
  margin-top: 20px;
  background: #fff;
  border-radius: 50%;
}
.c-relation02__arrow::before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
}
.c-relation02__img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.c-relation02__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media all and (min-width: 768px) {
  .c-relation02__head {
    font-size: 2rem;
    margin-bottom: 48px;
  }
  .c-relation02__head::after {
    height: 60px;
    bottom: -80px;
  }
  .c-relation02__content {
    height: 416px;
    padding: 60px 0;
    overflow: hidden;
  }
  .c-relation02__link {
    height: 296px;
  }
  .c-relation02__txt {
    font-size: 2.8rem;
  }
  .c-relation02__arrow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 54px;
    -webkit-transform: translate(445px, -50%);
    transform: translate(445px, -50%);
    height: 54px;
    margin: 0;
    transition: background 0.3s ease;
  }
  .c-relation02__img {
    transition: -webkit-transform 1s cubic-bezier(0.17, 0.84, 0.44, 1);
    transition: transform 1s cubic-bezier(0.17, 0.84, 0.44, 1);
    transition: transform 1s cubic-bezier(0.17, 0.84, 0.44, 1), -webkit-transform 1s cubic-bezier(0.17, 0.84, 0.44, 1);
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-relation02__link:hover .c-relation02__img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  .c-relation02__link:hover .c-relation02__arrow {
    background: #ec4e4e;
  }
  .c-relation02__link:hover .c-relation02__arrow::before {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
}

/* .c-sec-sustainability01 サステナビリティ子ページのセクション
===================================================== */
.c-sec-sustainability01 {
  background: #f2f2f1;
}
.c-sec-sustainability01__inner {
  padding-top: 50px;
}
.c-sec-sustainability01 + .c-sec-sustainability01 .c-sec-sustainability01__inner {
  padding-top: 55px;
}
.c-sec-sustainability01:last-of-type .c-sec-sustainability01__inner {
  padding-bottom: 60px;
}
@media all and (min-width: 768px) {
  .c-sec-sustainability01__inner {
    padding-top: 150px;
  }
  .c-sec-sustainability01 + .c-sec-sustainability01 .c-sec-sustainability01__inner {
    padding-top: 73px;
  }
  .c-sec-sustainability01:last-of-type .c-sec-sustainability01__inner {
    padding-bottom: 145px;
  }
}

/* .c-sec01 セクション間余白調整用。企業情報子ページのセクション
===================================================== */
.c-sec01 + .c-sec01 {
  margin-top: 33px;
}
@media all and (max-width: 767px) {
  .c-sec01.is-top .c-sec01__inner {
    padding-top: 20px;
  }
}
@media all and (min-width: 768px) {
  .c-sec01 + .c-sec01 {
    margin-top: 73px;
  }
}

/* .c-set-intro01
================================================== */
.c-set-intro01__head {
  margin-bottom: 30px;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
}
.c-set-intro01__lead {
  margin-bottom: 60px;
}
.c-set-intro01__img {
  position: relative;
  z-index: 2;
  height: 320px;
}
.c-set-intro01__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media (max-width: 374px) {
  .c-set-intro01__head {
    font-size: 2.2rem;
  }
}
@media all and (min-width: 768px) {
  .c-set-intro01__head {
    margin-bottom: 40px;
    font-size: 5rem;
  }
  .c-set-intro01__lead {
    margin-bottom: 100px;
  }
  .c-set-intro01__img {
    height: 600px;
  }
}

/* .c-set-intro02
================================================== */
.c-set-intro02::before {
  top: 300px;
}
.c-set-intro02__img {
  position: relative;
  z-index: 2;
  height: 320px;
}
.c-set-intro02__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-set-intro02__inner {
  padding-top: 50px;
  padding-bottom: 60px;
}
.c-set-intro02__head {
  margin-bottom: 20px;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.c-set-intro02__txt {
  word-break: normal;
}
@media all and (min-width: 768px) {
  .c-set-intro02::before {
    top: 428px;
  }
  .c-set-intro02__img {
    height: 600px;
  }
  .c-set-intro02__inner {
    padding-top: 122px;
    padding-bottom: 200px;
    display: flex;
    justify-content: space-between;
  }
  .c-set-intro02__head {
    font-size: 5rem;
    flex-basis: calc(100% - 500px);
    max-width: calc(100% - 500px);
  }
  .c-set-intro02__txt {
    flex-basis: 454px;
    max-width: 454px;
    font-size: 1.8rem;
  }
}

/* c-set-intro02.has-square
--------------------------------------- */
.c-set-intro02.has-square .c-set-intro02__img {
  position: relative;
}
.c-set-intro02.has-square .c-set-intro02__img::before {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 0;
  width: 50px;
  height: 50px;
  background: linear-gradient(45deg, #ec4e4e 50%, #fbdcd1 110%, rgba(251, 220, 209, 0) 200%);
}
@media all and (min-width: 768px) {
  .c-set-intro02.has-square .c-set-intro02__img::before {
    left: 50%;
    bottom: -90px;
    width: 180px;
    height: 180px;
    -webkit-transform: translateX(-800px);
    transform: translateX(-800px);
  }
}

/* .c-set01
================================================== */
.c-set01 {
  margin-bottom: -50px;
}
.c-set01__item {
  margin-bottom: 50px;
}
.c-set01__link {
  position: relative;
}
.c-set01__link-txt {
  position: absolute;
  top: 50%;
  left: 30px;
  right: 20px;
  color: #fff;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 1.5;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1;
}
.c-set01__link-txt::before {
  display: block;
  content: "";
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background: #fff;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.c-set01__link-txt::after {
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
  position: absolute;
  top: 50%;
  right: 11px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.c-set01__link-txt-palt {
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}
.c-set01__img {
  width: 100%;
  height: 224px;
}
.c-set01__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-set01__head {
  margin-top: 20px;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.5;
}
.c-set01__txt {
  margin-top: 15px;
}
.c-set01-detail {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e0e1dd;
}
.c-set01-detail.is-flex {
  display: flex;
  align-items: flex-start;
}
.c-set01-detail.is-flex .c-set01-detail__head {
  flex-basis: 115px;
  max-width: 115px;
}
.c-set01-detail.is-flex .c-set01-detail__list {
  flex-basis: calc(100% - 115px);
  max-width: calc(100% - 115px);
}
.c-set01-detail__head {
  margin-bottom: 15px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
}
.c-set01-detail__head.has-mt {
  margin-top: 22px;
}
.c-set01-detail__list-item + .c-set01-detail__list-item {
  margin-top: 14px;
}
.c-set01-detail__list-item-link {
  display: inline-block;
}
.c-set01-detail__list-item-link::after {
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
  margin: -2px 0 0 8px;
}
@media all and (min-width: 768px) {
  .c-set01 {
    margin: 0 -20px -80px;
    display: flex;
    flex-wrap: wrap;
  }
  .c-set01__item {
    flex-basis: calc(50% - 40px);
    max-width: calc(50% - 40px);
    margin: 0 20px 80px;
  }
  .c-set01__link-txt {
    left: 50px;
    right: 40px;
    font-size: 3.4rem;
  }
  .c-set01__link-txt::before {
    width: 54px;
    height: 54px;
  }
  .c-set01__link-txt::after {
    right: 18px;
  }
  .c-set01__img {
    height: 354px;
  }
  .c-set01__head {
    margin-top: 30px;
    font-size: 2.6rem;
  }
  .c-set01-detail {
    margin-top: 35px;
    padding-top: 35px;
  }
  .c-set01-detail.is-flex .c-set01-detail__head {
    flex-basis: 145px;
    max-width: 145px;
  }
  .c-set01-detail.is-flex .c-set01-detail__list {
    flex-basis: calc(100% - 145px);
    max-width: calc(100% - 145px);
  }
  .c-set01-detail__head {
    margin-bottom: 10px;
    font-size: 2rem;
  }
  .c-set01-detail__head.has-mt {
    margin-top: 35px;
  }
  .c-set01-detail__list-item + .c-set01-detail__list-item {
    margin-top: 10px;
  }
  .c-set01-detail__list-item-link::after {
    margin-top: -4px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-set01__link-txt::before {
    transition: background 0.6s ease;
  }
  .c-set01__link:hover .c-set01__link-txt::before {
    background: #ec4e4e;
  }
  .c-set01__link:hover .c-set01__link-txt::after {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
  .c-set01-detail__list-item-link {
    transition: color 0.3s ease;
  }
  .c-set01-detail__list-item-link:hover {
    color: #ec4e4e;
  }
  .c-set01-detail__list-item-link:hover::after {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23ec4e4e%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
}

/* .c-set02
================================================== */
.c-set02 {
  margin-bottom: -50px;
}
.c-set02__item {
  margin-bottom: 50px;
}
.c-set02__img {
  box-sizing: border-box;
  text-align: center;
}
.c-set02__head {
  position: relative;
}
.c-set02__head-num {
  position: absolute;
  top: -20px;
  font-size: 10rem;
  color: #fff;
}
.c-set02__head-main {
  position: relative;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.c-set02__txt {
  position: relative;
  margin-top: 15px;
  word-break: normal;
}
@media all and (max-width: 767px) {
  .c-set02__head {
    margin-top: 30px;
  }
  .c-set02__head-num {
    right: 0;
  }
}
@media all and (min-width: 768px) {
  .c-set02 {
    margin-bottom: -80px;
  }
  .c-set02__item {
    margin-bottom: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .c-set02__item:nth-of-type(odd) .c-set02__head-num {
    right: 0;
  }
  .c-set02__item:nth-of-type(even) {
    flex-direction: row-reverse;
  }
  .c-set02__item:nth-of-type(even) .c-set02__head-num {
    left: 0;
  }
  .c-set02__img {
    align-self: flex-start;
    flex-basis: calc(100% - 490px - 95px);
    max-width: calc(100% - 490px - 95px);
  }
  .c-set02__area-txt {
    flex-basis: 490px;
    max-width: 490px;
  }
  .c-set02__head-num {
    top: -45px;
    font-size: 16rem;
  }
  .c-set02__head-main {
    font-size: 2.8rem;
  }
  .c-set02__txt {
    margin-top: 30px;
  }
}
@media all and (min-width: 1470px) {
  .c-set02 {
    margin-left: -125px;
    margin-right: -125px;
  }
  .c-set02__item:nth-of-type(odd) {
    padding-right: 125px;
  }
  .c-set02__item:nth-of-type(even) {
    padding-left: 125px;
  }
}

/* .c-set03
================================================== */
.c-set03 {
  margin-bottom: -50px;
}
.c-set03__item {
  position: relative;
  margin-bottom: 50px;
}
.c-set03__head {
  display: flex;
  align-items: flex-start;
  margin-bottom: 15px;
}
.c-set03__head-num {
  margin: 0.2em 10px 0 0;
  font-size: 2.4rem;
  color: #ec4e4e;
  white-space: nowrap;
}
.c-set03__head-main {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
.c-set03__copy {
  margin-top: 20px;
}
@media all and (max-width: 767px) {
  .c-set03 .c-set03__btn {
    width: 240px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media all and (min-width: 768px) {
  .c-set03 {
    margin-bottom: -80px;
  }
  .c-set03__item {
    margin-bottom: 80px;
    padding-left: 430px;
  }
  .c-set03__head {
    margin-bottom: 20px;
  }
  .c-set03__head-num {
    margin-top: 0.37em;
    font-size: 3rem;
  }
  .c-set03__head-main {
    font-size: 2.8rem;
  }
  .c-set03__img {
    position: absolute;
    width: 380px;
    top: 0;
    left: 0;
  }
  .c-set03 .c-set03__btn {
    margin-top: 30px;
    max-width: 280px;
  }
}

/* .c-set04 トグル
=========================== */
.c-set04 + .c-set04 {
  margin-top: 20px;
}
.c-set04__head {
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  min-height: 60px;
  padding: 15px 20px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  word-break: normal;
  background: url(../img/common/set04/bg_set04_sp.jpg) no-repeat center/cover;
  font-weight: 500;
  font-size: 1.8rem;
}
.c-set04__head[class*=toggle] {
  position: relative;
  padding-right: 70px;
  transition: all 0.3s ease;
}
.c-set04__head[class*=toggle] .c-set04__ico {
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  transition: all 0.3s ease;
}
.c-set04__head[class*=toggle] .c-set04__ico::before, .c-set04__head[class*=toggle] .c-set04__ico::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 1px);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 3;
  width: 14px;
  height: 2px;
  background: #4b5158;
  transition: all 0.3s ease;
}
.c-set04__head[class*=toggle] .c-set04__ico::before {
  -webkit-transform: translate(-50%, -50%) rotate(-90deg);
  transform: translate(-50%, -50%) rotate(-90deg);
}
.c-set04__head.is-active .c-set04__ico::before {
  -webkit-transform: translate(-50%, -50%) rotate(0);
  transform: translate(-50%, -50%) rotate(0);
}
.c-set04__area-txt {
  margin-top: 20px;
  background: #fff;
}
@media all and (min-width: 768px) {
  .c-set04 {
    max-width: 1100px;
    margin: 0 auto;
  }
  .c-set04 + .c-set04 {
    margin-top: 60px;
  }
  .c-set04__head {
    min-height: 70px;
    padding: 10px 30px;
    background: url(../img/common/set04/bg_set04_pc.jpg) no-repeat center/cover;
    font-size: 2.2rem;
  }
  .c-set04__head[class*=toggle] .c-set04__ico {
    right: 10px;
    width: 50px;
    height: 50px;
  }
  .c-set04__head[class*=toggle] .c-set04__ico::before, .c-set04__head[class*=toggle] .c-set04__ico::after {
    width: 16px;
  }
  .c-set04__area-txt {
    margin-top: 25px;
  }
}

/* c-set05 丸アイコン＋見出し＋テキストのリンク
========================================== */
.c-set05 {
  margin-bottom: -10px;
}
.c-set05__item {
  margin-bottom: 10px;
}
.c-set05__item-in {
  position: relative;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  padding: 20px 20px 32px 90px;
  border: 1px solid #e0e1dd;
}
.c-set05__item-ico {
  position: absolute;
  top: 20px;
  left: 15px;
  width: 60px;
  height: 60px;
}
.c-set05__item-head {
  line-height: 1.5;
  font-size: 1.5rem;
}
.c-set05__item-txt {
  margin-top: 5px;
  word-break: normal;
}
.c-set05__item-arrow {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 28px;
  height: 28px;
  background: #f2f2f1;
  border-radius: 50%;
}
.c-set05__item-arrow::before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
}
@media all and (min-width: 768px) {
  .c-set05 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px -30px;
  }
  .c-set05__item {
    width: calc(50% - 20px);
    margin: 0 10px 30px;
  }
  .c-set05__item-in {
    height: 100%;
    padding: 40px 20px 42px 170px;
    transition: all 0.3s ease;
  }
  .c-set05__item-ico {
    top: 40px;
    left: 30px;
    width: 115px;
    height: 115px;
  }
  .c-set05__item-head {
    font-size: 2rem;
  }
  .c-set05__item-txt {
    margin-top: 15px;
  }
  .c-set05__item-arrow {
    right: 12px;
    bottom: 12px;
    width: 35px;
    height: 35px;
    transition: background 0.3s ease;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-set05__item-in:hover {
    background: rgba(236, 78, 78, 0.05);
    border-color: rgba(236, 78, 78, 0.02);
  }
  .c-set05__item-in:hover .c-set05__item-arrow {
    background: #ec4e4e;
  }
  .c-set05__item-in:hover .c-set05__item-arrow::before {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
}

/* c-set06 見出し＋テキスト中央揃え。背景bg_soft06.png
=========================================== */
.c-set06 {
  margin-bottom: -10px;
}
.c-set06__item {
  position: relative;
  margin-bottom: 10px;
  padding: 25px 20px 30px;
  text-align: center;
  background: #fff;
}
.c-set06__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 80.6%;
  height: 0;
  padding-top: 27.5%;
  background: url(../img/common/bg_soft06.png) no-repeat 0 0/cover;
  opacity: 0.4;
  -webkit-transform: scale(1, -1);
  transform: scale(1, -1);
}
.c-set06__item-head {
  position: relative;
  margin-bottom: 20px;
  padding-bottom: 10px;
  line-height: 1.5;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
.c-set06__item-head::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 39px;
  height: 1px;
  background: #ec4e4e;
}
.c-set06__item-txt {
  line-height: 1.5;
  font-size: 1.8rem;
}
@media all and (min-width: 768px) {
  .c-set06 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px -20px;
  }
  .c-set06__item {
    box-sizing: border-box;
    width: calc(50% - 20px);
    margin: 0 10px 20px;
    padding: 40px 20px;
  }
  .c-set06__item-head {
    margin-bottom: 25px;
    font-size: 2.8rem;
  }
  .c-set06__item-head::before {
    width: 60px;
    height: 2px;
  }
  .c-set06__item-txt {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 110px;
    font-size: 2.6rem;
  }
}

/*  .c-single-content
================================================== */
.c-single-content {
  overflow: hidden;
}
.c-single-content *:first-child {
  margin-top: 0;
}
.c-single-content *:last-child {
  margin-bottom: 0;
}
.c-single-content h2, .c-single-content h3, .c-single-content h4, .c-single-content h5, .c-single-content h6 {
  font-weight: 500;
  line-height: 1.5;
  box-sizing: border-box;
  margin-top: 65px;
}
.c-single-content h2 {
  margin-bottom: 25px;
  font-size: 1.8rem;
}
.c-single-content h2::after {
  display: block;
  content: "";
  width: 40px;
  height: 0;
  border-top: 1px solid #ec4e4e;
  margin-top: 15px;
}
.c-single-content h3 {
  margin-bottom: 15px;
  font-size: 1.6rem;
  padding: 12px 15px;
  border-left: 3px solid #e0e1dd;
  background: #f2f2f1;
}
.c-single-content h4 {
  margin-bottom: 20px;
  font-size: 1.6rem;
  padding-bottom: 12px;
  border-bottom: 1px solid #b0b4b7;
}
.c-single-content ul, .c-single-content ol {
  margin: 40px 0;
  list-style: none;
  padding-left: 0;
  font-weight: 500;
  line-height: 1.5;
}
.c-single-content ul li, .c-single-content ol li {
  position: relative;
  border-bottom: 1px solid #e0e1dd;
  padding-bottom: 15px;
  box-sizing: border-box;
  margin-top: 15px;
}
.c-single-content ul li ul, .c-single-content ul li ol, .c-single-content ol li ul, .c-single-content ol li ol {
  padding-top: 15px;
}
.c-single-content ul li ul::before, .c-single-content ul li ol::before, .c-single-content ol li ul::before, .c-single-content ol li ol::before {
  display: block;
  content: "";
  height: 0;
  margin-bottom: 15px;
  border-top: 1px solid #e0e1dd;
}
.c-single-content ol {
  counter-reset: ol;
}
.c-single-content ol li {
  padding-left: 25px;
}
.c-single-content ol li::before {
  display: block;
  counter-increment: ol;
  content: counter(ol, decimal-leading-zero);
  position: absolute;
  top: 0.35em;
  left: 0;
  color: #ec4e4e;
  font-family: "Overpass", sans-serif;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;
}
.c-single-content ul li {
  padding-left: 11px;
}
.c-single-content ul li::before {
  display: block;
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  background: #b0b4b7;
  width: 5px;
  height: 5px;
  border-radius: 50%;
}
.c-single-content p {
  margin: 1.5em 0;
}
.c-single-content b, .c-single-content strong {
  font-weight: 500;
}
.c-single-content a {
  text-decoration: underline;
  color: #ec4e4e;
}
.c-single-content a[target]::after {
  content: "";
  display: inline-block;
  width: 11px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2011%2011%22%3E%3Cpath%20fill%3D%22%23ec4e4e%22%20d%3D%22M0%2011V3h1v7h7v1Zm7-1V8H3V4H1V3h2V0h8v8H8v2Zm3-3V1H4v6Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
  margin: 0 5px;
}
.c-single-content img {
  display: block;
}
@media all and (min-width: 768px) {
  .c-single-content h2, .c-single-content h3, .c-single-content h4, .c-single-content h5, .c-single-content h6 {
    margin-top: 80px;
  }
  .c-single-content h2 {
    margin-bottom: 30px;
    font-size: 2.4rem;
  }
  .c-single-content h2::after {
    width: 50px;
    margin-top: 18px;
  }
  .c-single-content h3 {
    margin-bottom: 25px;
    font-size: 2rem;
    padding: 15px 25px;
    border-left-width: 5px;
  }
  .c-single-content h4 {
    margin-bottom: 25px;
    font-size: 2rem;
    padding-bottom: 15px;
  }
  .c-single-content .alignleft {
    float: left;
    margin-top: 0;
    margin-right: 40px;
  }
  .c-single-content .alignright {
    float: right;
    margin-top: 0;
    margin-left: 40px;
  }
  .c-single-content .aligncenter {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .c-single-content ul li, .c-single-content ol li {
    padding-bottom: 20px;
    margin-top: 18px;
  }
  .c-single-content ul li ul, .c-single-content ul li ol, .c-single-content ol li ul, .c-single-content ol li ol {
    padding-top: 20px;
  }
  .c-single-content ul li ul::before, .c-single-content ul li ol::before, .c-single-content ol li ul::before, .c-single-content ol li ol::before {
    margin-bottom: 20px;
  }
  .c-single-content ol li {
    padding-left: 31px;
  }
  .c-single-content ol li::before {
    top: 0.45em;
    font-size: 1.6rem;
  }
  .c-single-content ul li {
    padding-left: 13px;
  }
  .c-single-content ul li::before {
    top: 0.62em;
  }
  .c-single-content a:hover {
    text-decoration: none;
  }
}

/* .c-single01
================================================== */
.c-single01__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}
.c-single01__head {
  border-bottom: 1px solid #b0b4b7;
  padding-bottom: 30px;
  margin-bottom: 40px;
}
.c-single01__head-meta {
  display: flex;
  flex-wrap: wrap;
  line-height: 1.5;
  padding-bottom: 8px;
}
.c-single01__head h1 {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
}
.c-single01__date {
  margin: 0 10px 0 0;
}
.c-single01__cat {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 0 -5px -5px 0;
  font-size: 1.2rem;
  font-weight: 500;
}
.c-single01__cat-item {
  margin: 0 5px 5px 0;
  padding-top: 2px;
  color: #ec4e4e;
}
@media all and (min-width: 768px) {
  .c-single01__inner {
    padding-top: 130px;
    padding-bottom: 100px;
  }
  .c-single01__head {
    padding-bottom: 60px;
    margin-bottom: 80px;
  }
  .c-single01__head h1 {
    font-size: 3.4rem;
  }
  .c-single01__date {
    margin-right: 15px;
  }
  .c-single01__cat {
    font-size: 1.3rem;
  }
  .c-single01__cat-item {
    padding-top: 3px;
  }
}

@media all and (max-width: 767px) {
  .c-single01-foot {
    border-top: 1px solid #b0b4b7;
  }
  .c-single01-foot__inner {
    padding-top: 40px;
  }
}
@media all and (min-width: 768px) {
  .c-single01-foot__inner::before {
    display: block;
    content: "";
    width: 100%;
    height: 0;
    border-top: 1px solid #b0b4b7;
  }
}

/* .c-single02
================================================== */
.c-single02__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}
.c-single02__head {
  margin-bottom: 40px;
}
.c-single02__head-meta {
  display: flex;
  flex-wrap: wrap;
  line-height: 1.5;
  padding-bottom: 8px;
}
.c-single02__head h1 {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
}
.c-single02__cat {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 0 -5px -5px 0;
  font-size: 1.2rem;
  font-weight: 500;
}
.c-single02__cat-item {
  margin: 0 5px 5px 0;
  padding-top: 2px;
  color: #ec4e4e;
}
.c-single02__mv {
  margin-bottom: 30px;
}
.c-single02-data__main, .c-single02-data__sub {
  margin-top: 40px;
}
.c-single02-data__main-box, .c-single02-data__sub-box {
  background: #fff;
  padding: 20px;
}
.c-single02-data__sub-box {
  padding-top: 25px;
  padding-bottom: 25px;
}
.c-single02-gallery {
  margin-top: 40px;
}
.c-single02-gallery__item {
  display: block !important;
  margin-right: 20px;
}
.c-single02-gallery__item-img {
  width: 240px;
}
@media all and (max-width: 767px) {
  .c-single02-data__sub-box {
    font-size: 1.3rem;
  }
}
@media all and (min-width: 768px) {
  .c-single02__inner {
    padding-top: 130px;
    padding-bottom: 140px;
  }
  .c-single02__head {
    margin-bottom: 60px;
  }
  .c-single02__head h1 {
    font-size: 3.4rem;
  }
  .c-single02__cat {
    font-size: 1.6rem;
  }
  .c-single02__mv {
    margin-bottom: 60px;
    text-align: center;
  }
  .c-single02-data__main, .c-single02-data__sub {
    margin-top: 80px;
  }
  .c-single02-data__main-box {
    padding: 35px 60px;
  }
  .c-single02-data__sub-box {
    padding: 40px;
  }
  .c-single02-data.is-flex-pc {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .c-single02-data.is-flex-pc .c-single02-data__main {
    flex-basis: calc(100% - 375px);
    max-width: calc(100% - 375px);
  }
  .c-single02-data.is-flex-pc .c-single02-data__sub {
    flex-basis: 335px;
    max-width: 335px;
  }
  .c-single02-gallery {
    margin-top: 80px;
  }
  .c-single02-gallery__item {
    margin-right: 50px;
  }
  .c-single02-gallery__item-img {
    width: 45vh;
    width: calc(var(--vh, 1vh) * 45);
    min-width: 300px;
    max-width: 520px;
  }
}

.c-single02-other {
  background: #f2f2f1;
  overflow: hidden;
}
.c-single02-other__inner {
  padding-top: 60px;
  padding-bottom: 20px;
}
@media all and (min-width: 768px) {
  .c-single02-other__inner {
    padding-top: 140px;
    padding-bottom: 124px;
  }
}

.c-single02-foot__inner {
  padding-top: 40px;
}
@media all and (min-width: 768px) {
  .c-single02-foot__inner {
    padding-top: 20px;
  }
}

/* .c-single03
================================================== */
.c-single03 {
  position: relative;
  z-index: 1;
}
.c-single03::before {
  content: "";
  display: block;
  position: absolute;
  top: -74px;
  left: 0;
  right: 0;
  height: 666px;
  z-index: -1;
  background: url(../img/recruit/bg_mv01.png) no-repeat left -911px top 0px/cover;
}
@media all and (min-width: 768px) {
  .c-single03::before {
    top: -140px;
    background-position: center top;
  }
}

.c-single03-mv {
  position: relative;
  overflow: hidden;
  line-height: 1.5;
}
.c-single03-mv__inner {
  position: relative;
  padding-bottom: 60px;
}
.c-single03-mv__img {
  position: relative;
  z-index: 1;
}
.c-single03-mv__img::before {
  content: "";
  position: absolute;
  top: 10px;
  bottom: -10px;
  left: 10px;
  right: -10px;
  z-index: -1;
  background: linear-gradient(180deg, #ec4e4e 0%, #fbdcd1 100%, rgba(251, 220, 209, 0) 200%);
  opacity: 0.3;
}
.c-single03-mv__img::after {
  display: block;
  content: "";
  position: absolute;
  right: -14px;
  bottom: -20px;
  width: 140px;
  height: 74px;
  background: url(../img/recruit/txt_interview01.png) no-repeat center center/contain;
}
.c-single03-mv__area-txt {
  position: relative;
  box-sizing: border-box;
}
.c-single03-mv__label {
  display: inline-block;
  background: #ec4e4e;
  color: #fff;
  font-weight: 500;
  padding: 2px 10px;
  min-width: 90px;
  text-align: center;
  box-sizing: border-box;
  margin-bottom: 15px;
}
.c-single03-mv__txt {
  margin-bottom: 20px;
  font-weight: 500;
  font-size: 2.2rem;
}
.c-single03-mv__name {
  font-weight: 500;
  font-size: 1.6rem;
}
.c-single03-mv__pos {
  margin-top: 5px;
  font-size: 1.2rem;
  color: #909598;
}
@media all and (max-width: 767px) {
  .c-single03-mv__img {
    margin: 0 10px 50px 0;
  }
}
@media all and (min-width: 768px) {
  .c-single03-mv__inner {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-direction: row-reverse;
    padding-top: 25px;
    padding-bottom: 200px;
    min-height: 580px;
  }
  .c-single03-mv__inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: -152px;
    width: 439px;
    height: 239px;
    background: url(../img/recruit/bg_mv02.png) no-repeat center center/contain;
  }
  .c-single03-mv__img {
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .c-single03-mv__img::before {
    top: 20px;
    bottom: -20px;
    left: 20px;
    right: -20px;
  }
  .c-single03-mv__img::after {
    right: -63px;
    bottom: -42px;
    width: 333px;
    height: 176px;
  }
  .c-single03-mv__area-txt {
    flex-basis: calc(33.3333333333% - 40px);
    max-width: calc(33.3333333333% - 40px);
  }
  .c-single03-mv__label {
    padding: 4px 15px;
    min-width: 120px;
    margin-bottom: 20px;
    font-size: 1.8rem;
  }
  .c-single03-mv__txt {
    margin-bottom: 40px;
    font-size: 2.6rem;
  }
  .c-single03-mv__name {
    font-size: 2.2rem;
  }
  .c-single03-mv__pos {
    margin-top: 10px;
    font-size: 1.6rem;
  }
}
@media all and (min-width: 1470px) {
  .c-single03-mv__img {
    margin-right: -125px;
  }
  .c-single03-mv__area-txt {
    flex-basis: calc(33.3333333333% - 40px + 125px);
    max-width: calc(33.3333333333% - 40px + 125px);
  }
  .c-single03-mv__txt {
    margin-bottom: 50px;
    font-size: 3.8rem;
  }
}

.c-single03-content {
  position: relative;
  z-index: 2;
}
.c-single03-content::before {
  position: absolute;
  content: "";
  width: 55.4666666667%;
  padding-top: 128%;
  max-width: 100%;
  height: 0;
  bottom: -182px;
  left: 0;
  pointer-events: none;
  background: url(../img/common/bg_soft05.png) no-repeat right bottom/cover;
  z-index: -1;
  opacity: 0.5;
}
.c-single03-content__sec-inner {
  padding-top: 50px;
  padding-bottom: 50px;
}
.c-single03-content__img {
  position: relative;
  z-index: 1;
}
.c-single03-content__img::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -12px;
  right: -15px;
  width: 55px;
  height: 55px;
  z-index: -1;
  background: linear-gradient(45deg, #ec4e4e 50%, #fbdcd1 110%, rgba(251, 220, 209, 0) 200%);
}
.c-single03-content__copy {
  margin-bottom: 20px;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 1.5;
}
@media all and (max-width: 767px) {
  .c-single03-content__sec {
    background: #fff;
  }
  .c-single03-content__sec + .c-single03-content__sec {
    margin-top: 30px;
  }
  .c-single03-content__img {
    max-width: 225px;
    margin: 0 auto 42px;
  }
}
@media all and (min-width: 768px) {
  .c-single03-content::before {
    width: 40.8854166667%;
    padding-top: 74.21875%;
    bottom: -940px;
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
  }
  .c-single03-content::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    z-index: -1;
  }
  .c-single03-content__sec-inner {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .c-single03-content__sec-inner.is-flex-pc {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .c-single03-content__sec-inner.is-flex-pc .c-single03-content__img {
    flex-basis: 450px;
    max-width: 450px;
    order: 3;
  }
  .c-single03-content__sec-inner.is-flex-pc .c-single03-content__area-txt {
    margin-right: 70px;
    flex-basis: 550px;
    max-width: 550px;
    order: 2;
  }
  .c-single03-content__sec + .c-single03-content__sec .c-single03-content__sec-inner {
    padding-top: 30px;
  }
  .c-single03-content__head {
    flex-basis: 100%;
  }
  .c-single03-content__img::before {
    bottom: -25px;
    right: -30px;
    width: 110px;
    height: 110px;
  }
  .c-single03-content__copy {
    margin-bottom: 30px;
    font-size: 2.8rem;
  }
}
@media all and (min-width: 1470px) {
  .c-single03-content::after {
    right: 8.3333333333%;
  }
}

.c-single03-other {
  position: relative;
  overflow: hidden;
  z-index: 2;
}
.c-single03-other__inner {
  padding-top: 60px;
}
@media all and (min-width: 768px) {
  .c-single03-other__inner {
    padding-top: 150px;
    padding-bottom: 20px;
  }
}

.c-single03-foot {
  position: relative;
  z-index: 1;
}
.c-single03-foot__inner {
  padding-top: 40px;
  padding-bottom: 60px;
}
@media all and (min-width: 768px) {
  .c-single03-foot::before {
    position: absolute;
    content: "";
    width: 51.71875%;
    padding-top: 96.09375%;
    height: 0;
    bottom: -380px;
    right: 0;
    pointer-events: none;
    background: url(../img/common/bg_soft04.png) no-repeat left top/cover;
    z-index: -1;
    opacity: 0.5;
  }
  .c-single03-foot__inner {
    padding-top: 20px;
    padding-bottom: 150px;
  }
}

/* .c-single04
================================================== */
/* .c-single04-strength
================================================ */
.c-single04-strength__inner {
  padding-top: 20px;
  padding-bottom: 60px;
}
@media all and (min-width: 768px) {
  .c-single04-strength__inner {
    padding-top: 0;
    padding-bottom: 150px;
  }
}

/* .c-single04-index
================================================ */
.c-single04-index__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media all and (min-width: 768px) {
  .c-single04-index__inner {
    padding-top: 150px;
    padding-bottom: 150px;
  }
}

/* .c-single04-intro
================================================ */
.c-single04-intro::before {
  top: 300px;
}
.c-single04-intro__inner {
  padding-bottom: 60px;
}
.c-single04-intro__img {
  position: relative;
  margin: 0 auto 50px;
  padding: 0 18px;
  text-align: center;
  max-width: 606px;
  box-sizing: border-box;
}
.c-single04-intro__img::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  background: linear-gradient(-45deg, #ec4e4e 50%, #fbdcd1 110%, rgba(251, 220, 209, 0) 200%);
  width: 66px;
  height: 66px;
  bottom: -20px;
  left: 0;
}
.c-single04-intro__head {
  margin-bottom: 20px;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.c-single04-intro__txt {
  word-break: normal;
}
@media all and (max-width: 374px) {
  .c-single04-intro {
    font-size: 1.9rem;
  }
}
@media all and (min-width: 768px) {
  .c-single04-intro::before {
    top: 324px;
  }
  .c-single04-intro__inner {
    padding-bottom: 150px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .c-single04-intro__img {
    flex-basis: 490px;
    max-width: 490px;
    margin: 0 0 33px 0;
    padding: 0;
  }
  .c-single04-intro__img::before {
    width: 110px;
    height: 110px;
    bottom: -33px;
    left: -30px;
  }
  .c-single04-intro__area-txt {
    flex-basis: calc(100% - 490px - 90px);
    max-width: calc(100% - 490px - 90px);
  }
  .c-single04-intro__head {
    margin-bottom: 40px;
    font-size: 3.2rem;
  }
  .c-single04-intro__txt {
    font-size: 1.8rem;
  }
}
@media all and (min-width: 1470px) {
  .c-single04-intro__img {
    margin-left: -95px;
  }
  .c-single04-intro__area-txt {
    flex-basis: calc(100% - 490px - 90px + 95px);
    max-width: calc(100% - 490px - 90px + 95px);
  }
}

/* .c-single04-effort
================================================ */
.c-single04-effort {
  padding-bottom: 60px;
}
.c-single04-effort__detail {
  margin-top: 30px;
  padding: 20px;
  background: #fafaf9;
}
.c-single04-effort__sec + .c-single04-effort__sec {
  margin-top: 40px;
}
@media all and (max-width: 767px) {
  .c-single04-effort {
    margin: 0 -20px;
  }
}
@media all and (min-width: 768px) {
  .c-single04-effort {
    padding-bottom: 150px;
  }
  .c-single04-effort__detail {
    margin-top: 40px;
    padding: 12px 60px;
  }
  .c-single04-effort__sec + .c-single04-effort__sec {
    margin-top: 60px;
  }
}

/* .c-single04-for
================================================ */
.c-single04-for__inner {
  padding-bottom: 60px;
}
@media all and (min-width: 768px) {
  .c-single04-for__inner {
    padding-bottom: 150px;
  }
}

/* .c-single04-service
================================================ */
.c-single04-service__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}
.c-single04-service__sec {
  padding-top: 60px;
}
@media all and (min-width: 768px) {
  .c-single04-service__inner {
    padding-top: 150px;
    padding-bottom: 150px;
  }
  .c-single04-service__sec {
    padding-top: 150px;
  }
}

/* .c-single04-info
================================================ */
.c-single04-info {
  margin-top: 80px;
}
.c-single04-info-row + .c-single04-info-row {
  margin-top: 30px;
}
@media all and (max-width: 767px) {
  .c-single04-info-row__img {
    margin-bottom: 20px;
    text-align: center;
  }
}
@media all and (min-width: 768px) {
  .c-single04-info {
    margin-top: 180px;
  }
  .c-single04-info-row {
    display: flex;
    justify-content: space-between;
  }
  .c-single04-info-row__img {
    flex-basis: 380px;
    max-width: 380px;
  }
  .c-single04-info-row__area-txt {
    flex-basis: calc(100% - 380px - 50px);
    max-width: calc(100% - 380px - 50px);
  }
  .c-single04-info-row + .c-single04-info-row {
    margin-top: 50px;
  }
}

/* .c-single04-case
================================================ */
.c-single04-case {
  overflow: hidden;
}
.c-single04-case__inner {
  padding-top: 80px;
}
@media all and (min-width: 768px) {
  .c-single04-case__inner {
    padding-top: 150px;
  }
}

/* .c-slider-marquee01
================================================== */
.c-slider-marquee01 {
  height: 320px;
  overflow: hidden;
}
.c-slider-marquee01__item {
  display: block !important;
}
.c-slider-marquee01__item img {
  width: auto;
  height: 320px;
}
@media all and (min-width: 768px) {
  .c-slider-marquee01 {
    height: 600px;
  }
  .c-slider-marquee01__item img {
    height: 600px;
  }
}

/* .c-slider01
================================================== */
.c-slider01-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.c-slider01-nav__counter {
  padding-top: 4px;
}
.c-slider01-nav__counter .slick-count {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 58px;
}
.c-slider01-nav__counter .slick-count-total {
  position: relative;
  padding-left: 15px;
}
.c-slider01-nav__counter .slick-count-total::before {
  display: block;
  position: absolute;
  top: 0.3em;
  left: 0;
  content: "";
  width: 8px;
  height: 0;
  border-top: 1px solid;
}
.c-slider01-nav__arrows {
  display: flex;
  align-items: center;
}
.c-slider01-nav__arrows .slick-arrow {
  position: relative;
  font-size: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: transparent;
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background: #fff;
  overflow: hidden;
  padding: 0;
  margin: 0 0 0 20px;
  text-indent: -200px;
}
.c-slider01-nav__arrows .slick-arrow::before {
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.c-slider01-nav__arrows .slick-arrow.slick-prev::before {
  -webkit-transform: translate(-50%, -50%) scaleX(-1);
  transform: translate(-50%, -50%) scaleX(-1);
}
@media all and (max-width: 767px) {
  .c-slider01:not(.is-slide-upper-tb) {
    margin-right: -20px;
  }
  .c-slider01-nav {
    margin: 30px 20px 0 0;
  }
}
@media all and (min-width: 768px) {
  .c-slider01 {
    position: relative;
    margin-right: -60px;
  }
  .c-slider01-nav {
    position: absolute;
    top: -114px;
    right: 60px;
  }
  .c-slider01-nav__counter {
    padding-top: 4px;
  }
  .c-slider01-nav__counter .slick-count {
    width: 69px;
    margin-right: 20px;
  }
  .c-slider01-nav__counter .slick-count-total {
    padding-left: 20px;
  }
  .c-slider01-nav__counter .slick-count-total::before {
    top: 0.35em;
    width: 10px;
  }
  .c-slider01-nav__arrows .slick-arrow {
    width: 54px;
    height: 54px;
    margin-left: 10px;
  }
}
@media all and (min-width: 1220px) {
  .c-slider01 {
    margin-right: calc(550px - 50vw);
    margin-right: calc(550px - var(--vw, 1vw) * 50);
  }
  .c-slider01-nav {
    right: calc(50vw - 550px);
    right: calc(var(--vw, 1vw) * 50 - 550px);
  }
}
@media all and (min-width: 1470px) {
  .c-slider01.is-wide-pc {
    margin-right: calc(675px - 50vw);
    margin-right: calc(675px - var(--vw, 1vw) * 50);
  }
  .c-slider01.is-wide-pc .c-slider01-nav {
    right: calc(50vw - 675px);
    right: calc(var(--vw, 1vw) * 50 - 675px);
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-slider01-nav__arrows .slick-arrow {
    transition: background 0.6s ease;
  }
  .c-slider01-nav__arrows .slick-arrow:hover {
    background: #ec4e4e;
  }
  .c-slider01-nav__arrows .slick-arrow:hover::before {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
}

/*  .c-tab01
================================================== */
.c-tab01 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin: 0 -22px;
}
.c-tab01__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(33.3% - 4px);
  margin: 0 2px;
  box-sizing: border-box;
  padding: 10px;
  background: #ececec;
  transition: background 0.3s ease;
}
.c-tab01__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: #e0e1dd;
  transition: all 0.3s ease;
}
.c-tab01__item.is-active {
  background: #fff;
}
.c-tab01__item.is-active::before {
  background: linear-gradient(45deg, #ec4e4e 50%, #fbdcd1 110%, rgba(251, 220, 209, 0) 200%);
}
.c-tab01__item-txt {
  display: block;
  line-height: 1.5;
  font-weight: 500;
  font-size: 1.8rem;
}
.c-tab01__item-small {
  display: block;
  line-height: 1.5;
  font-size: 1rem;
}
@media all and (min-width: 768px) {
  .c-tab01 {
    margin: 0 -3px;
  }
  .c-tab01__item {
    width: calc(33.3% - 6px);
    margin: 0 3px;
    padding: 16px 20px;
  }
  .c-tab01__item::before {
    height: 4px;
  }
  .c-tab01__item-txt {
    font-size: 2.8rem;
  }
  .c-tab01__item-small {
    font-size: 1.7rem;
  }
}

/*  .c-table01
================================================== */
.c-table01 {
  line-height: 1.5;
  text-align: left;
}
.c-table01 th, .c-table01 td {
  box-sizing: border-box;
}
.c-table01 th {
  font-size: 1.5rem;
  font-weight: 500;
  padding: 20px 0 7px;
}
.c-table01 td {
  border-bottom: 1px solid #e0e1dd;
  padding: 7px 0 20px;
}
.c-table01 tr:last-of-type th, .c-table01 tr:last-of-type td {
  border: none;
}
@media all and (max-width: 767px) {
  .c-table01 table, .c-table01 thead, .c-table01 tbody, .c-table01 tr, .c-table01 th, .c-table01 td {
    display: block;
  }
  .c-table01 td {
    font-size: 1.3rem;
  }
}
@media all and (min-width: 768px) {
  .c-table01 th {
    font-size: 1.8rem;
    border-bottom: 1px solid #e0e1dd;
    width: 188px;
  }
  .c-table01 th, .c-table01 td {
    padding: 28px 0 30px;
  }
  .c-table01.has-wide-th th {
    width: 267px;
  }
}

/* .c-txt01 禁則処理
=========================== */
.c-txt01 {
  word-break: normal;
}

/* c-txt01.is-center-pc PCで中央寄せ
---------------------------------------- */
@media all and (min-width: 768px) {
  .c-txt01.is-center-pc {
    text-align: center;
  }
}

/* c-txt01.is-center-sp SPで中央寄せ
---------------------------------------- */
@media all and (max-width: 767px) {
  .c-txt01.is-center-sp {
    text-align: center;
  }
}

/* .c-txt01.has-mb
-------------------------------- */
.c-txt01.has-mb {
  margin-bottom: 0.8em;
}
@media all and (min-width: 768px) {
  .c-txt01.has-mb {
    margin-bottom: 1em;
  }
}

/* .c-txt01.has-mt
-------------------------------- */
.c-txt01.has-mt {
  margin-top: 0.8em;
}
@media all and (min-width: 768px) {
  .c-txt01.has-mt {
    margin-top: 1em;
  }
}

/* .l-breadcrumb
================================================ */
.l-breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  padding-top: 15px;
  padding-bottom: 15px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  color: #4b5158;
}
.l-breadcrumb-list__item {
  position: relative;
  display: block;
  vertical-align: top;
}
.l-breadcrumb-list__item + .l-breadcrumb-list__item {
  margin-left: 8px;
  padding-left: 16px;
}
.l-breadcrumb-list__item + .l-breadcrumb-list__item:before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  content: "";
  width: 8px;
  flex-basis: 8px;
  height: 0;
  border-top: 1px solid #909598;
}
.l-breadcrumb-list__item a {
  color: #909598;
}
@media all and (max-width: 767px) {
  .l-breadcrumb-list {
    white-space: nowrap;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    overflow: auto;
  }
  .l-breadcrumb-list::-webkit-scrollbar {
    display: none;
  }
}
@media all and (min-width: 768px) {
  .l-breadcrumb-list {
    padding-top: 25px;
    padding-bottom: 25px;
    font-size: 1.4rem;
  }
  .l-breadcrumb-list__item a {
    transition: color 0.3s ease;
  }
  .l-breadcrumb-list__item a:hover {
    color: #ec4e4e;
  }
}

@-webkit-keyframes cookieSlideIn {
  from {
    -webkit-transform: translateY(150%);
    transform: translateY(150%);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes cookieSlideIn {
  from {
    -webkit-transform: translateY(150%);
    transform: translateY(150%);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes cookieSlideOut {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
  to {
    -webkit-transform: translateY(150%);
    transform: translateY(150%);
    opacity: 0;
  }
}
@keyframes cookieSlideOut {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
  to {
    -webkit-transform: translateY(150%);
    transform: translateY(150%);
    opacity: 0;
  }
}
/*! 通知バー */
.l-cookie {
  -webkit-animation-duration: 0.6s;
  animation-duration: 0.6s;
  -webkit-animation-name: cookieSlideIn;
  animation-name: cookieSlideIn;
  background-color: rgba(255, 255, 255, 0.9);
  box-sizing: border-box;
  line-height: 1.5;
  font-size: 1.3rem;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 9000;
}
.l-cookie__inner {
  padding-top: 20px;
  padding-bottom: 25px;
}
.l-cookie.state-remove {
  -webkit-animation-duration: 0.6s;
  animation-duration: 0.6s;
  -webkit-animation-name: cookieSlideOut;
  animation-name: cookieSlideOut;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  pointer-events: none;
}
.l-cookie__txt a {
  color: #ec4e4e;
}
.l-cookie__accept {
  font-size: 1.6rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  display: block;
  margin: 15px auto 0;
  padding: 0 0 2px;
  border: 1px solid;
  border-radius: 0;
  box-shadow: none;
  font-size: 1.5rem;
  cursor: pointer;
  transition: all 0.3s ease;
  width: 180px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-cookie__accept:hover {
  color: #ec4e4e;
}
.l-cookie__deny {
  position: absolute;
  top: -29px;
  right: 0;
  background: #000;
  width: 29px;
  height: 29px;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: none;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  overflow: hidden;
  text-indent: 200px;
  white-space: nowrap;
  transition: all 0.3s ease;
}
.l-cookie__deny::before, .l-cookie__deny::after {
  position: absolute;
  top: 14px;
  left: 5px;
  display: block;
  content: "";
  width: 19px;
  height: 2px;
  background: #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.l-cookie__deny::before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.l-cookie__deny:hover {
  background: #ec4e4e;
}
@media all and (min-width: 768px) {
  .l-cookie__inner {
    padding-bottom: 20px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
  .l-cookie__txt {
    flex-basis: calc(100% - 181px);
    max-width: calc(100% - 181px);
    padding-right: 53px;
    box-sizing: border-box;
    font-size: 1.6rem;
  }
  .l-cookie__accept {
    margin: 0;
    flex-basis: 180px;
    max-width: 180px;
  }
}

/* .l-footer
================================================ */
.l-footer {
  position: relative;
  background: #fff;
}
.l-footer__inner {
  position: relative;
  padding-top: 60px;
  padding-bottom: 35px;
}
@media all and (max-width: 767px) {
  .l-footer {
    text-align: center;
  }
}
@media all and (min-width: 768px) {
  .l-footer__inner {
    padding-top: 150px;
    padding-bottom: 120px;
  }
}

/* .l-footer-cv
================================================ */
.l-footer-cv {
  text-align: left;
}
.l-footer-cv__area-txt {
  text-align: left;
}
@media all and (max-width: 767px) {
  .l-footer-cv__area-btn {
    padding-top: 30px;
  }
}
@media all and (min-width: 768px) {
  .l-footer-cv {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 150px;
  }
  .l-footer-cv__area-txt {
    flex-basis: 61.4814814815%;
    max-width: 61.4814814815%;
    flex-shrink: 2;
    box-sizing: border-box;
  }
  .l-footer-cv__area-btn {
    flex-basis: 38.5185185185%;
    max-width: 38.5185185185%;
    min-width: 350px;
  }
}

/* .l-footer-info
================================================ */
.l-footer-info {
  padding-top: 60px;
  padding-bottom: 28px;
}
.l-footer-info__logo {
  width: 176px;
  margin: 0 auto;
}
.l-footer-info__logo img {
  display: block;
}
.l-footer-info__address {
  line-height: 1.5;
  font-size: 1.2rem;
}
.l-footer-info__address-tit {
  font-weight: 500;
}
@media all and (max-width: 767px) {
  .l-footer-info__address {
    margin-top: 20px;
  }
  .l-footer-info__address-tit {
    display: block;
  }
  .l-footer-info__address-txt {
    display: block;
  }
}
@media all and (min-width: 768px) {
  .l-footer-info {
    padding-top: 0;
    padding-bottom: 60px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  .l-footer-info__logo {
    width: 229px;
    margin: 0 40px 0 0;
  }
  .l-footer-info__address {
    font-size: 1.4rem;
  }
}

/* .l-footer-nav
================================================ */
.l-footer-nav {
  font-size: 1.5rem;
  line-height: 1.5;
  text-align: left;
}
.l-footer-nav__item-tit {
  padding-bottom: 15px;
  border-bottom: 1px solid #e0e1dd;
  font-weight: 500;
}
.l-footer-nav__item-tit-link {
  position: relative;
  display: block;
}
.l-footer-nav__child {
  font-size: 1.3rem;
}
.l-footer-nav__child-wrap {
  padding-top: 12px;
  padding-bottom: 10px;
}
.l-footer-nav__child-item {
  margin-top: 12px;
}
.l-footer-nav__child-item-link {
  position: relative;
  display: block;
  padding-left: 14px;
}
.l-footer-nav__child-item-link::before {
  content: "";
  width: 6px;
  height: 0;
  border-top: 1px solid;
  position: absolute;
  top: 0.68em;
  left: 0;
}
.l-footer-nav__child-item-link-txt {
  font-weight: 500;
}
.l-footer-nav__grandchild {
  font-size: 1.2rem;
  padding: 3px 0 10px;
  color: #909598;
}
.l-footer-nav__grandchild-item {
  margin-top: 12px;
}
.l-footer-nav__grandchild-item-link {
  display: block;
  padding-left: 14px;
}
@media all and (max-width: 767px) {
  .l-footer-nav__item {
    margin-top: 22px;
  }
  .l-footer-nav__item-tit {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
  }
  .l-footer-nav__item-tit-txt {
    flex-basis: 100%;
    max-width: 100%;
  }
  .l-footer-nav__item-tit-link {
    flex-basis: calc(100% - 20px);
    max-width: calc(100% - 20px);
  }
  .l-footer-nav__item-tit-link.has-arrow {
    flex-basis: 100%;
    max-width: 100%;
    padding-right: 25px;
  }
  .l-footer-nav__item-tit-link.has-arrow::after {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
  }
  .l-footer-nav__item-tit-btn {
    position: relative;
    flex-basis: 15px;
    max-width: 15px;
    height: 15px;
    cursor: pointer;
  }
  .l-footer-nav__item-tit-btn::before, .l-footer-nav__item-tit-btn::after {
    position: absolute;
    content: "";
    display: block;
    width: 15px;
    height: 1px;
    top: 50%;
    left: 0;
    background: #4b5158;
  }
  .l-footer-nav__item-tit-btn::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }
  .l-footer-nav__item-tit-btn.is-active::after {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
@media all and (min-width: 768px) {
  .l-footer-nav {
    font-size: 1.6rem;
    flex-basis: 17.037037037%;
    max-width: 17.037037037%;
  }
  .l-footer-nav__wrap {
    display: flex;
    justify-content: space-between;
  }
  .l-footer-nav__item + .l-footer-nav__item {
    margin-top: 40px;
  }
  .l-footer-nav__item-tit-link {
    position: relative;
    display: block;
    padding-right: 25px;
  }
  .l-footer-nav__item-tit-link::after {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
  }
  .l-footer-nav__child {
    font-size: 1.4rem;
  }
  .l-footer-nav__child-wrap {
    display: block !important;
  }
  .l-footer-nav__grandchild {
    padding: 3px 0 10px;
    font-size: 1.4rem;
  }
  .l-footer-nav__grandchild-item {
    margin-top: 2px;
  }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .l-footer-nav__item-tit-link:hover::after {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23ec4e4e%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer-nav a {
    transition: color 0.6s ease;
  }
  .l-footer-nav a:hover {
    color: #ec4e4e;
  }
}

/* .l-footer-sub
================================================ */
.l-footer-sub {
  padding-top: 10px;
}
.l-footer-sub-nav {
  font-size: 1.2rem;
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.l-footer-sub-nav__item {
  margin: 15px 12px 0;
}
.l-footer-sub-marks {
  padding-top: 10px;
  display: flex;
  justify-content: center;
}
.l-footer-sub-marks__item {
  flex-basis: 60px;
  max-width: 60px;
  margin: 18px 7px 0;
}
.l-footer-sub__cr {
  margin-top: 18px;
  color: #b0b4b7;
  font-size: 1.1rem;
}
@media all and (min-width: 768px) {
  .l-footer-sub {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  .l-footer-sub-nav {
    font-size: 1.3rem;
    justify-content: flex-start;
  }
  .l-footer-sub-nav__item {
    margin: 15px 30px 0 0;
  }
  .l-footer-sub-marks {
    padding-top: 0;
    justify-content: flex-end;
  }
  .l-footer-sub-marks__item {
    flex-basis: 80px;
    max-width: 80px;
    margin: 0 0 0 15px;
  }
  .l-footer-sub__cr {
    font-size: 1.2rem;
    text-align: right;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer-sub a {
    transition: color 0.6s ease;
  }
  .l-footer-sub a:hover {
    color: #ec4e4e;
  }
}

/* .l-footer-pagetop
================================================ */
@-webkit-keyframes pagetopLineDash {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
  }
  50% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left top;
    transform-origin: left top;
  }
  50.1% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
}
@keyframes pagetopLineDash {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
  }
  50% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left top;
    transform-origin: left top;
  }
  50.1% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
}
.l-footer-pagetop {
  position: absolute;
  top: 0;
  right: 20px;
  font-size: 1.3rem;
  overflow: visible;
}
.l-footer-pagetop__link {
  display: block;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  white-space: nowrap;
  margin-left: 100%;
}
.l-footer-pagetop__link::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 0;
  border-top: 1px solid;
  margin-top: -5px;
  vertical-align: middle;
  margin: 1px 10px 0 0;
}
.l-footer-pagetop__link-txt {
  display: inline-block;
}
@media all and (min-width: 768px) {
  .l-footer-pagetop {
    top: -40px;
    right: 40px;
    font-size: 1.5rem;
  }
  .l-footer-pagetop__link::before {
    width: 80px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer-pagetop__link:hover::before {
    -webkit-animation: pagetopLineDash 1.2s cubic-bezier(1, 0, 0, 1) 1;
    animation: pagetopLineDash 1.2s cubic-bezier(1, 0, 0, 1) 1;
  }
}

/* .l-header
================================================ */
.l-header {
  position: relative;
  width: 100%;
  min-width: 320px;
  z-index: 2000;
  transition: background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
.l-header.is-loading * {
  transition: none !important;
}
.l-header.is-active {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  opacity: 0;
  transition: background-color 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease, opacity 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}
@supports not (position: sticky) {
  .l-header.is-active {
    position: -webkit-sticky;
  }
}
.l-header.is-active.is-shown {
  top: 0;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
  transition: background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease;
  transition: background-color 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
.l-header.is-open {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: #fff;
}
@media all and (min-width: 768px) {
  .l-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
  }
  .l-header.is-active .l-header-info {
    height: 100px;
  }
  .l-header.is-active .l-nav-list__child-wrap {
    top: 60px;
  }
}

/* .l-header-info
================================================== */
.l-header-info {
  position: relative;
  z-index: 3;
  height: 74px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  transition: height 0.3s ease;
}
.l-header-info__logo {
  width: 141px;
  margin-left: 20px;
}
.l-header-info__logo img {
  display: block;
}
@media all and (min-width: 768px) {
  .l-header-info {
    height: 140px;
  }
  .l-header-info__logo {
    width: 180px;
    margin-left: 40px;
  }
}
@media all and (min-width: 1340px ) {
  .l-header-info__logo {
    width: 229px;
    margin-left: 60px;
  }
}

/* .l-nav-btn
================================================== */
.l-nav-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 54px;
  height: 54px;
  cursor: pointer;
  border-radius: 0;
  border: none;
  background: none;
}
.l-nav-btn__line {
  position: absolute;
  left: 10px;
  width: 34px;
  height: 2px;
  content: "";
  background: #4b5158;
  transition: all 0.3s ease;
}
.l-nav-btn__line:nth-child(1) {
  top: 18px;
}
.l-nav-btn__line:nth-child(2) {
  top: 26px;
}
.l-nav-btn__line:nth-child(3) {
  top: 34px;
}
.l-nav-btn.is-open .l-nav-btn__line:nth-child(1) {
  top: 26px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.l-nav-btn.is-open .l-nav-btn__line:nth-child(2) {
  opacity: 0;
}
.l-nav-btn.is-open .l-nav-btn__line:nth-child(3) {
  top: 26px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media all and (min-width: 768px) {
  .l-nav-btn {
    display: none;
  }
}

/* .l-nav
================================================ */
.l-nav {
  z-index: 2;
  min-width: 320px;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
}
@media all and (max-width: 767px) {
  .l-nav {
    position: absolute;
    top: 74px;
    left: 0;
    height: calc(100vh - 74px);
    height: calc(var(--vh, 1vh) * 100 - 74px);
    width: 100%;
    padding: 0 20px 60px;
    overflow: auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #fff;
    opacity: 0;
    pointer-events: none;
    transition: all 0.6s ease;
  }
  .l-nav::-webkit-scrollbar {
    display: none;
  }
  .l-nav.is-open {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
}
@media all and (min-width: 768px) {
  .l-nav {
    position: static;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-width: auto;
    padding-right: 40px;
    flex-basis: calc(100% - 220px - 40px);
    max-width: calc(100% - 220px - 40px);
  }
}
@media all and (min-width: 1340px ) {
  .l-nav {
    padding-right: 60px;
    flex-basis: calc(100% - 289px - 60px);
    max-width: calc(100% - 289px - 60px);
  }
}

/* .l-nav-list
================================================== */
.l-nav-list {
  line-height: 1.5;
}
.l-nav-list__item-tit-link {
  position: relative;
  display: block;
}
.l-nav-list__child-item-link {
  position: relative;
  display: block;
}
.l-nav-list__grandchild {
  color: #909598;
}
.l-nav-list__grandchild-item-link {
  position: relative;
  display: block;
}
@media all and (max-width: 767px) {
  .l-nav-list {
    font-size: 1.6rem;
    padding-bottom: 30px;
  }
  .l-nav-list__item + .l-nav-list__item {
    margin-top: 22px;
  }
  .l-nav-list__item-tit {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    font-size: 1.8rem;
    padding-bottom: 18px;
    border-bottom: 1px solid #e0e1dd;
  }
  .l-nav-list__item-tit-txt {
    flex-basis: 100%;
    max-width: 100%;
  }
  .l-nav-list__item-tit-link {
    flex-basis: calc(100% - 20px);
    max-width: calc(100% - 20px);
  }
  .l-nav-list__item-tit-link.has-arrow {
    flex-basis: 100%;
    max-width: 100%;
    padding-right: 25px;
  }
  .l-nav-list__item-tit-link.has-arrow::after {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23ec4e4e%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
  }
  .l-nav-list__item-tit-btn {
    position: relative;
    flex-basis: 15px;
    max-width: 15px;
    height: 15px;
    cursor: pointer;
  }
  .l-nav-list__item-tit-btn::before, .l-nav-list__item-tit-btn::after {
    position: absolute;
    content: "";
    display: block;
    width: 15px;
    height: 1px;
    top: 50%;
    left: 0;
    background: #ec4e4e;
  }
  .l-nav-list__item-tit-btn::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }
  .l-nav-list__item-tit-btn.is-active::after {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  .l-nav-list__child-wrap {
    padding-bottom: 18px;
  }
  .l-nav-list__child-item {
    margin-top: 20px;
  }
  .l-nav-list__child-item-link {
    padding-left: 14px;
  }
  .l-nav-list__child-item-link::before {
    content: "";
    width: 6px;
    height: 1px;
    background: #b0b4b7;
    position: absolute;
    top: 0.75em;
    left: 0;
  }
  .l-nav-list__grandchild {
    font-size: 1.5rem;
    padding: 3px 0 10px;
  }
  .l-nav-list__grandchild-item {
    margin-top: 12px;
  }
  .l-nav-list__grandchild-item-link {
    padding-left: 14px;
  }
}
@media all and (min-width: 768px) {
  .l-nav-list {
    position: static;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    box-sizing: border-box;
    flex-basis: calc(100% - 161px);
    max-width: 700px;
    padding-right: 35px;
    font-size: 1.6rem;
  }
  .l-nav-list__item {
    padding-top: 3px;
    cursor: pointer;
  }
  .l-nav-list__item::after {
    display: block;
    content: "";
    margin-top: 3px;
    height: 1px;
    width: 100%;
    background: #ec4e4e;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right top;
    transform-origin: right top;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }
  .l-nav-list__item-tit-txt, .l-nav-list__item-tit-link {
    transition: color 0.6s ease;
  }
  .l-nav-list__child {
    display: flex;
    flex-wrap: wrap;
    flex-basis: calc(100% - 260px);
    max-width: 840px;
  }
  .l-nav-list__child-wrap {
    display: flex !important;
    justify-content: center;
    box-sizing: border-box;
    position: absolute;
    top: 80px;
    right: 0;
    left: 0;
    width: 100%;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    padding: 60px;
    z-index: 1;
    cursor: auto;
    transition: all 0.3s ease;
  }
  .l-nav-list__child-wrap::before {
    content: "";
    position: absolute;
    top: 40px;
    left: 30px;
    right: 30px;
    bottom: 0;
    box-shadow: 0 10px 50px rgba(0, 0, 0, 0.16);
    background: #fff;
    z-index: -1;
  }
  .l-nav-list__child-head {
    flex-basis: 260px;
    max-width: 260px;
    margin-top: 40px;
  }
  .l-nav-list__child-head-link {
    display: inline-block;
  }
  .l-nav-list__child-head-en {
    font-size: 4rem;
  }
  .l-nav-list__child-head-ja {
    margin-top: 10px;
    display: inline-block;
  }
  .l-nav-list__child-head-link .l-nav-list__child-head-ja::after {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    margin: 0 0 4px 10px;
  }
  .l-nav-list__child-item {
    flex-basis: calc(25% - 40px);
    max-width: calc(25% - 40px);
    margin: 40px 0 0 40px;
  }
  .l-nav-list__child-item-link-txt {
    margin-top: 10px;
    display: block;
  }
  .l-nav-list__child.is-about .l-nav-list__child-item {
    flex-basis: calc(50% - 40px);
    max-width: calc(50% - 40px);
    display: flex;
  }
  .l-nav-list__child.is-bussiness .l-nav-list__child-item {
    position: relative;
    flex-basis: calc(50% - 40px);
    max-width: calc(50% - 40px);
    box-sizing: border-box;
    padding-left: calc(25% - 20px);
    min-height: 170px;
  }
  .l-nav-list__child.is-bussiness .l-nav-list__child-item:last-of-type .l-nav-list__child-item-link-txt {
    max-width: 10em;
  }
  .l-nav-list__child.is-bussiness .l-nav-list__child-item-img {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(50% - 20px);
  }
  .l-nav-list__child.is-bussiness .l-nav-list__child-item-link {
    position: relative;
  }
  .l-nav-list__child.is-bussiness .l-nav-list__child-item-link-txt {
    margin: 0 0 12px 0;
  }
  .l-nav-list__child.is-bussiness .l-nav-list__grandchild {
    font-size: 1.5rem;
  }
  .l-nav-list__child.is-bussiness .l-nav-list__grandchild-item {
    margin-top: 8px;
  }
  .l-nav-list__item:hover::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
  }
  .l-nav-list__item:hover .l-nav-list__item-tit {
    color: #ec4e4e;
  }
  .l-nav-list__item:hover .l-nav-list__child-wrap {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
@media all and (min-width: 1340px ) {
  .l-nav-list {
    flex-basis: calc(100% - 181px);
    max-width: 780px;
    padding-right: 50px;
  }
}
@media all and (min-width: 1470px) {
  .l-nav-list__child-wrap::before {
    left: 60px;
    right: 60px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-nav-list__child a {
    transition: color 0.6s ease;
  }
  .l-nav-list__child a:hover {
    color: #ec4e4e;
  }
  .l-nav-list__child-head-link {
    transition: color 0.6s ease;
  }
  .l-nav-list__child-head-link:hover {
    color: #ec4e4e;
  }
  .l-nav-list__child-head-link:hover .l-nav-list__child-head-ja::after {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23ec4e4e%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
}

/* .l-nav-contact
================================================== */
.l-nav-contact {
  flex-basis: 160px;
  max-width: 160px;
}
.l-nav-contact__link {
  position: relative;
  color: #fff;
  display: block;
  height: 56px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  z-index: 1;
}
.l-nav-contact__link::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -100%;
  right: 0;
  background: linear-gradient(45deg, #f6c9c0 0, #ec4e4e 30%, #ec4e4e 70%, #fbdcd1 110%);
  z-index: -1;
}
@media all and (min-width: 768px) {
  .l-nav-contact {
    font-size: 1.6rem;
  }
}
@media all and (min-width: 1340px ) {
  .l-nav-contact {
    flex-basis: 180px;
    max-width: 180px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-nav-contact__link::before {
    transition: -webkit-transform 0.6s ease;
    transition: transform 0.6s ease;
    transition: transform 0.6s ease, -webkit-transform 0.6s ease;
  }
  .l-nav-contact__link:hover::before {
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
  }
}

/* .l-nav-overlay
================================================ */
.l-nav-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.25);
  z-index: 1000;
}
@media all and (min-width: 768px) {
  .l-nav-overlay {
    display: none !important;
  }
}

/* .l-ie-attention
================================================ */
.l-ie-attention {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 9999;
  font-weight: 700;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  box-sizing: border-box;
}
.l-ie-attention__txt {
  font-size: 3rem;
  margin-bottom: 18px;
}
.l-ie-attention__note {
  color: #989898;
}
.l-ie-attention__note .l-ie-attention__note-link {
  display: inline-block;
}
.l-ie-attention__note-link {
  font-size: 1.8rem;
  border-bottom: 1px solid;
  position: relative;
  margin-right: 25px;
  display: inline-block;
}
.l-ie-attention__note-link::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 13px;
  width: 11px;
  height: 11px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%20%3Cg%20id%3D%22link%22%20transform%3D%22translate(0.5%200.5)%22%3E%20%3Crect%20id%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2_23829%22%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%2023829%22%20width%3D%228%22%20height%3D%228%22%20transform%3D%22translate(3)%22%20fill%3D%22none%22%20stroke%3D%22%23989898%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_4323%22%20data-name%3D%22%E3%83%91%E3%82%B9%204323%22%20d%3D%22M688%2C718.025h-6v-6%22%20transform%3D%22translate(-682%20-707.025)%22%20fill%3D%22none%22%20stroke%3D%22%23989898%22%20stroke-width%3D%221%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center/100%;
}

/* .l-loading
================================================ */
@-webkit-keyframes loadingMask {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes loadingMask {
  to {
    stroke-dashoffset: 0;
  }
}
.l-loading {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 1.8s ease;
  transition-delay: 1.8s;
}
.l-loading__logo {
  width: 110px;
  transition: opacity 0.6s ease;
  transition-delay: 1.2s;
}
.l-loading__logo-mark, .l-loading__logo-txt {
  opacity: 0;
  transition: all 0.8s ease;
}
.l-loading__logo-txt {
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  transition-delay: 0.2s;
}
.l-loading__logo-mask {
  pointer-events: none;
}
.l-loading__logo-mask-s {
  stroke-dashoffset: 200px;
  stroke-dasharray: 200px;
}
.l-loading.is-active {
  opacity: 0;
  pointer-events: none;
}
.l-loading.is-active .l-loading__logo {
  opacity: 0;
}
.l-loading.is-active .l-loading__logo-mark, .l-loading.is-active .l-loading__logo-txt {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.l-loading.is-active .l-loading__logo-mask-s {
  -webkit-animation: loadingMask 1s cubic-bezier(0.77, 0, 0.175, 1) 1 both;
  animation: loadingMask 1s cubic-bezier(0.77, 0, 0.175, 1) 1 both;
}
@media all and (min-width: 768px) {
  .l-loading__logo {
    width: 180px;
  }
}

/* .l-main-img HOME
================================================ */
.l-main-img {
  position: relative;
  height: calc(100vh - 74px);
  height: calc(var(--vh, 1vh) * 100 - 74px);
  max-height: 1000px;
  min-height: 400px;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  color: #fff;
  z-index: 1;
}
.l-main-img::before {
  position: absolute;
  content: "";
  width: 80.2666666667%;
  padding-top: 59.4666666667%;
  height: 0;
  top: -74px;
  right: 0;
  pointer-events: none;
  background: url(../img/common/bg_soft03.png) no-repeat left bottom/113.2890365449% auto;
}
.l-main-img.is-active .l-main-img-txt__main, .l-main-img.is-active .l-main-img-txt__sub {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.l-main-img__inner {
  position: relative;
  box-sizing: border-box;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  flex-wrap: wrap;
}
.l-main-img-bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
.l-main-img-bg .slick-slider {
  height: 100%;
}
.l-main-img-bg .slick-slider div {
  height: 100%;
}
.l-main-img-bg__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center top;
  object-position: center top;
}
.l-main-img-txt {
  position: relative;
}
.l-main-img-txt__main {
  line-height: 1;
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  transition: opacity 0.8s ease 1s, -webkit-transform 0.8s ease 1s;
  transition: opacity 0.8s ease 1s, transform 0.8s ease 1s;
  transition: opacity 0.8s ease 1s, transform 0.8s ease 1s, -webkit-transform 0.8s ease 1s;
}
.l-main-img-txt__main-word {
  width: 169px;
}
.l-main-img-txt__main-word.is-word01 {
  width: 167px;
}
.l-main-img-txt__main-word.is-word01 svg {
  display: block;
}
.l-main-img-txt__sub {
  position: relative;
  margin-top: 25px;
  padding-left: 16px;
  opacity: 0;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  transition: opacity 0.8s ease 1.2s, -webkit-transform 0.8s ease 1.2s;
  transition: opacity 0.8s ease 1.2s, transform 0.8s ease 1.2s;
  transition: opacity 0.8s ease 1.2s, transform 0.8s ease 1.2s, -webkit-transform 0.8s ease 1.2s;
}
.l-main-img-txt__sub::before {
  content: "";
  position: absolute;
  top: 0.5em;
  bottom: 0.25em;
  left: 0;
  width: 0;
  border-left: 1px solid;
}
@media all and (max-width: 767px) {
  .l-main-img-txt {
    padding: 0 10px 30px;
  }
}
@media all and (max-width: 767px) and (orientation: portrait) {
  .l-main-img-txt__main-word + .l-main-img-txt__main-word {
    margin-top: 24px;
  }
}
@media all and (max-width: 767px) and (orientation: landscape) {
  .l-main-img-txt {
    padding-bottom: 25px;
  }
  .l-main-img-txt__main {
    display: flex;
  }
  .l-main-img-txt__main-word {
    width: 135.2px;
  }
  .l-main-img-txt__main-word.is-word01 {
    width: 133.6px;
  }
  .l-main-img-txt__main-word + .l-main-img-txt__main-word {
    margin-left: 30px;
  }
}
@media all and (max-width: 374px) {
  .l-main-img-txt__sub {
    font-size: 1.3rem;
  }
}
@media all and (min-width: 768px) {
  .l-main-img {
    height: calc(100vh - 140px + 20px);
    height: calc(var(--vh, 1vh) * 100 - 140px + 20px);
  }
  .l-main-img::before {
    top: -140px;
    width: 65.3645833333%;
    padding-top: 38.8541666667%;
    background-size: 100% auto;
  }
  .l-main-img-txt {
    padding-bottom: 175px;
  }
  .l-main-img-txt__main {
    display: flex;
    align-items: flex-start;
  }
  .l-main-img-txt__main-word {
    width: 219.7px;
  }
  .l-main-img-txt__main-word.is-word01 {
    width: 217.1px;
  }
  .l-main-img-txt__main-word + .l-main-img-txt__main-word {
    margin-left: 60px;
  }
  .l-main-img-txt__sub {
    font-size: 1.8rem;
    margin-top: 50px;
    padding-left: 31px;
  }
  .l-main-img-txt__sub::before {
    top: 0.5em;
    bottom: 0.25em;
  }
}
@media all and (min-width: 1340px ) {
  .l-main-img-txt__main-word {
    width: 248.43px;
  }
  .l-main-img-txt__main-word.is-word01 {
    width: 245.49px;
  }
}

/* .l-recruit-img
================================================ */
.l-recruit-img {
  position: relative;
}
.l-recruit-img::before {
  content: "";
  display: block;
  position: absolute;
  top: -74px;
  left: 0;
  right: 0;
  height: 666px;
  z-index: -1;
  background: url(../img/recruit/bg_mv01.png) no-repeat left -911px top 0px/cover;
}
.l-recruit-img__inner {
  position: relative;
  height: calc(100vh - 74px);
  height: calc(var(--vh, 1vh) * 100 - 74px);
  position: relative;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  text-align: center;
}
.l-recruit-img__inner::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 15px;
  left: 20px;
  width: 103px;
  height: 82px;
  background: url(../img/recruit/txt_mv03.png) no-repeat center center/contain;
}
.l-recruit-img__head-main {
  width: 260px;
  margin-bottom: 70px;
}
.l-recruit-img__head-main-ja {
  color: #fff;
  font-weight: 500;
  width: 220px;
  margin: 17px auto 0;
  background: #ec4e4e;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.l-recruit-img__head-main-ja::before, .l-recruit-img__head-main-ja::after {
  content: "";
  height: 9px;
  width: 46px;
  margin-top: 3px;
  background-size: auto auto;
  background-color: rgba(255, 255, 255, 0);
  background-image: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 2px, #fff 2px, #fff 3px);
}
.l-recruit-img__head-sub {
  width: 70px;
  position: absolute;
  top: 20px;
  right: 20px;
}
@media all and (max-width: 767px) {
  .l-recruit-img__inner {
    max-height: 662px;
  }
  .l-recruit-img::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url(../img/recruit/mv01_sp.png) no-repeat center top/cover;
  }
}
@media (min-height: 735px) and (orientation: portrait) {
  .l-recruit-img::after {
    height: 662px;
    width: 419px;
  }
  .l-recruit-img__inner::after {
    left: 10%;
  }
  .l-recruit-img__head-sub {
    right: 15%;
  }
}
@media (orientation: landscape) and (max-width: 767px) {
  .l-recruit-img::after {
    max-width: 100vw;
    height: 43vw;
    background-image: url(../img/recruit/mv01_pc.png);
  }
  .l-recruit-img__inner {
    height: 330px;
  }
  .l-recruit-img__head-main {
    margin-bottom: 0;
  }
}
@media all and (min-width: 768px) {
  .l-recruit-img {
    background: url(../img/recruit/mv01_pc.png) no-repeat center top/cover;
  }
  .l-recruit-img::before {
    top: -140px;
    background-position: center top;
  }
  .l-recruit-img__inner {
    height: 770px;
  }
  .l-recruit-img__inner::after {
    bottom: 98px;
    width: 186px;
    height: 148px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .l-recruit-img__head-main {
    width: 447px;
  }
  .l-recruit-img__head-main-ja {
    width: 380px;
    height: 48px;
    margin-top: 30px;
    font-size: 2rem;
  }
  .l-recruit-img__head-main-ja::before, .l-recruit-img__head-main-ja::after {
    content: "";
    height: 12px;
    width: 80px;
    margin-top: 5px;
    background-image: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 3px, #fff 3px, #fff 4px);
  }
  .l-recruit-img__head-sub {
    width: 112px;
    top: 110px;
    right: 166px;
  }
}
@media all and (min-width: 1470px) {
  .l-recruit-img__inner::after {
    left: -77px;
  }
}

/* .l-sub-img
================================================ */
.l-sub-img__inner {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  height: 216px;
}
.l-sub-img__head {
  margin-bottom: 15px;
  line-height: 1;
}
.l-sub-img__head-sub {
  font-size: 5.4rem;
}
.l-sub-img__head-main {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #ec4e4e;
}
@media all and (min-width: 768px) {
  .l-sub-img__inner {
    height: 477px;
  }
  .l-sub-img__head {
    margin-bottom: 100px;
  }
  .l-sub-img__head-sub {
    font-size: 11.2rem;
  }
  .l-sub-img__head-main {
    font-size: 2rem;
  }
}

.l-sub-img.is-main-large .l-sub-img__inner {
  height: 194px;
}
.l-sub-img.is-main-large .l-sub-img__head {
  margin-bottom: 0;
}
.l-sub-img.is-main-large .l-sub-img__head-sub {
  font-size: 1.5rem;
  margin-bottom: 18px;
  vertical-align: middle;
}
.l-sub-img.is-main-large .l-sub-img__head-sub-ja {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  color: #ec4e4e;
}
.l-sub-img.is-main-large .l-sub-img__head-sub-ja::before {
  display: inline-block;
  content: "";
  width: 20px;
  height: 0;
  margin: 0 10px 4px;
  border-top: 1px solid #4b5158;
}
.l-sub-img.is-main-large .l-sub-img__head-main {
  font-size: 3rem;
  color: #4b5158;
}
@media (max-width: 374px) {
  .l-sub-img.is-main-large .l-sub-img__head-main {
    font-size: 2.5rem;
  }
}
@media all and (min-width: 768px) {
  .l-sub-img.is-main-large .l-sub-img__inner {
    height: 477px;
  }
  .l-sub-img.is-main-large .l-sub-img__head {
    margin-bottom: 40px;
  }
  .l-sub-img.is-main-large .l-sub-img__head-sub {
    font-size: 2rem;
    margin-bottom: 15px;
  }
  .l-sub-img.is-main-large .l-sub-img__head-sub-ja {
    font-size: 1.6rem;
  }
  .l-sub-img.is-main-large .l-sub-img__head-sub-ja::before {
    width: 40px;
    margin: 0 15px 6px;
  }
  .l-sub-img.is-main-large .l-sub-img__head-main {
    font-size: 5.8rem;
  }
}

.l-sub-img.is-no-height .l-sub-img__inner {
  padding-top: 60px;
  padding-bottom: 50px;
  height: auto;
}
@media all and (min-width: 768px) {
  .l-sub-img.is-no-height .l-sub-img__inner {
    padding-top: 150px;
    padding-bottom: 58px;
  }
}

/* .l-sidebar
================================================== */
@media all and (min-width: 768px) {
  .l-sidebar.is-shown .l-sidebar-wrap {
    top: 140px;
  }
}

/* l-sidebar-list
----------------------------------- */
.l-sidebar-list__item {
  border-top: 1px solid #707070;
}
.l-sidebar-list__item:last-of-type {
  border-bottom: 1px solid #707070;
}
.l-sidebar-list__item-link {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  min-height: 60px;
  padding: 10px 30px 10px 0;
  font-size: 1.5rem;
  transition: color 0.3s ease;
}
.l-sidebar-list__item-link:hover {
  color: #ec4e4e;
}
.l-sidebar-list__item-link::before {
  position: absolute;
  top: 50%;
  right: 6px;
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
  -webkit-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
}

/* .l-sidebar-wrap
---------------------------------- */
@media all and (min-width: 768px) {
  .l-sidebar-wrap {
    position: sticky;
    top: 20px;
    right: 0;
    transition: all 0.3s ease;
  }
  @supports not (position: sticky) {
    .l-sidebar-wrap {
      position: -webkit-sticky;
    }
  }
}

.js-c-anime-elem[data-anime-parent] [data-anime=fadein-up], .js-c-anime-elem[data-anime=fadein-up] {
  opacity: 0;
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  transition-property: all;
  transition-duration: 0.8s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.js-c-anime-elem.is-animated[data-anime-parent] [data-anime=fadein-up], .js-c-anime-elem.is-animated[data-anime=fadein-up] {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.js-c-anime-elem[data-anime-parent] [data-anime=fadein-text], .js-c-anime-elem[data-anime=fadein-text] {
  opacity: 0;
  -webkit-transform: rotateY(90deg);
  transform: rotateY(90deg);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  transition-property: all;
  transition-duration: 0.8s;
  transition-timing-function: ease;
}
.js-c-anime-elem.is-animated[data-anime-parent] [data-anime=fadein-text], .js-c-anime-elem.is-animated[data-anime=fadein-text] {
  opacity: 1;
  -webkit-transform: rotateY(0);
  transform: rotateY(0);
}

[data-anime=cover] {
  position: relative;
}

.js-c-anime-elem[data-anime-parent] [data-anime=cover], .js-c-anime-elem[data-anime=cover] {
  overflow: hidden;
}
.js-c-anime-elem[data-anime-parent] [data-anime=cover]::after, .js-c-anime-elem[data-anime=cover]::after {
  content: "";
  position: absolute;
  top: -1px;
  bottom: -1px;
  left: -1px;
  right: -1px;
  background: #fff;
  -webkit-transform-origin: right top;
  transform-origin: right top;
  transition-property: all;
  transition-duration: 0.8s;
  transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}
.js-c-anime-elem.is-animated[data-anime-parent] [data-anime=cover]::after, .js-c-anime-elem.is-animated[data-anime=cover]::after {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
}

.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.1"], .js-c-anime-elem[data-anime-delay="0.1"] {
  transition-delay: 0.1s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.1"]::after, .js-c-anime-elem[data-anime-delay="0.1"]::after {
  transition-delay: 0.1s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.2"], .js-c-anime-elem[data-anime-delay="0.2"] {
  transition-delay: 0.2s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.2"]::after, .js-c-anime-elem[data-anime-delay="0.2"]::after {
  transition-delay: 0.2s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.3"], .js-c-anime-elem[data-anime-delay="0.3"] {
  transition-delay: 0.3s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.3"]::after, .js-c-anime-elem[data-anime-delay="0.3"]::after {
  transition-delay: 0.3s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.4"], .js-c-anime-elem[data-anime-delay="0.4"] {
  transition-delay: 0.4s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.4"]::after, .js-c-anime-elem[data-anime-delay="0.4"]::after {
  transition-delay: 0.4s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.5"], .js-c-anime-elem[data-anime-delay="0.5"] {
  transition-delay: 0.5s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.5"]::after, .js-c-anime-elem[data-anime-delay="0.5"]::after {
  transition-delay: 0.5s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.6"], .js-c-anime-elem[data-anime-delay="0.6"] {
  transition-delay: 0.6s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.6"]::after, .js-c-anime-elem[data-anime-delay="0.6"]::after {
  transition-delay: 0.6s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.7"], .js-c-anime-elem[data-anime-delay="0.7"] {
  transition-delay: 0.7s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.7"]::after, .js-c-anime-elem[data-anime-delay="0.7"]::after {
  transition-delay: 0.7s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.8"], .js-c-anime-elem[data-anime-delay="0.8"] {
  transition-delay: 0.8s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.8"]::after, .js-c-anime-elem[data-anime-delay="0.8"]::after {
  transition-delay: 0.8s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.9"], .js-c-anime-elem[data-anime-delay="0.9"] {
  transition-delay: 0.9s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="0.9"]::after, .js-c-anime-elem[data-anime-delay="0.9"]::after {
  transition-delay: 0.9s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1"], .js-c-anime-elem[data-anime-delay="1"] {
  transition-delay: 1s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1"]::after, .js-c-anime-elem[data-anime-delay="1"]::after {
  transition-delay: 1s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.1"], .js-c-anime-elem[data-anime-delay="1.1"] {
  transition-delay: 1.1s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.1"]::after, .js-c-anime-elem[data-anime-delay="1.1"]::after {
  transition-delay: 1.1s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.2"], .js-c-anime-elem[data-anime-delay="1.2"] {
  transition-delay: 1.2s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.2"]::after, .js-c-anime-elem[data-anime-delay="1.2"]::after {
  transition-delay: 1.2s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.3"], .js-c-anime-elem[data-anime-delay="1.3"] {
  transition-delay: 1.3s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.3"]::after, .js-c-anime-elem[data-anime-delay="1.3"]::after {
  transition-delay: 1.3s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.4"], .js-c-anime-elem[data-anime-delay="1.4"] {
  transition-delay: 1.4s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.4"]::after, .js-c-anime-elem[data-anime-delay="1.4"]::after {
  transition-delay: 1.4s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.5"], .js-c-anime-elem[data-anime-delay="1.5"] {
  transition-delay: 1.5s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.5"]::after, .js-c-anime-elem[data-anime-delay="1.5"]::after {
  transition-delay: 1.5s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.6"], .js-c-anime-elem[data-anime-delay="1.6"] {
  transition-delay: 1.6s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.6"]::after, .js-c-anime-elem[data-anime-delay="1.6"]::after {
  transition-delay: 1.6s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.7"], .js-c-anime-elem[data-anime-delay="1.7"] {
  transition-delay: 1.7s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.7"]::after, .js-c-anime-elem[data-anime-delay="1.7"]::after {
  transition-delay: 1.7s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.8"], .js-c-anime-elem[data-anime-delay="1.8"] {
  transition-delay: 1.8s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.8"]::after, .js-c-anime-elem[data-anime-delay="1.8"]::after {
  transition-delay: 1.8s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.9"], .js-c-anime-elem[data-anime-delay="1.9"] {
  transition-delay: 1.9s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="1.9"]::after, .js-c-anime-elem[data-anime-delay="1.9"]::after {
  transition-delay: 1.9s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2"], .js-c-anime-elem[data-anime-delay="2"] {
  transition-delay: 2s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2"]::after, .js-c-anime-elem[data-anime-delay="2"]::after {
  transition-delay: 2s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.1"], .js-c-anime-elem[data-anime-delay="2.1"] {
  transition-delay: 2.1s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.1"]::after, .js-c-anime-elem[data-anime-delay="2.1"]::after {
  transition-delay: 2.1s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.2"], .js-c-anime-elem[data-anime-delay="2.2"] {
  transition-delay: 2.2s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.2"]::after, .js-c-anime-elem[data-anime-delay="2.2"]::after {
  transition-delay: 2.2s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.3"], .js-c-anime-elem[data-anime-delay="2.3"] {
  transition-delay: 2.3s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.3"]::after, .js-c-anime-elem[data-anime-delay="2.3"]::after {
  transition-delay: 2.3s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.4"], .js-c-anime-elem[data-anime-delay="2.4"] {
  transition-delay: 2.4s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.4"]::after, .js-c-anime-elem[data-anime-delay="2.4"]::after {
  transition-delay: 2.4s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.5"], .js-c-anime-elem[data-anime-delay="2.5"] {
  transition-delay: 2.5s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.5"]::after, .js-c-anime-elem[data-anime-delay="2.5"]::after {
  transition-delay: 2.5s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.6"], .js-c-anime-elem[data-anime-delay="2.6"] {
  transition-delay: 2.6s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.6"]::after, .js-c-anime-elem[data-anime-delay="2.6"]::after {
  transition-delay: 2.6s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.7"], .js-c-anime-elem[data-anime-delay="2.7"] {
  transition-delay: 2.7s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.7"]::after, .js-c-anime-elem[data-anime-delay="2.7"]::after {
  transition-delay: 2.7s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.8"], .js-c-anime-elem[data-anime-delay="2.8"] {
  transition-delay: 2.8s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.8"]::after, .js-c-anime-elem[data-anime-delay="2.8"]::after {
  transition-delay: 2.8s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.9"], .js-c-anime-elem[data-anime-delay="2.9"] {
  transition-delay: 2.9s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="2.9"]::after, .js-c-anime-elem[data-anime-delay="2.9"]::after {
  transition-delay: 2.9s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="3"], .js-c-anime-elem[data-anime-delay="3"] {
  transition-delay: 3s;
}
.js-c-anime-elem[data-anime-parent] [data-anime-delay="3"]::after, .js-c-anime-elem[data-anime-delay="3"]::after {
  transition-delay: 3s;
}

.js-c-switch-tab {
  cursor: pointer;
}

.js-c-switch-content {
  display: none;
}
.js-c-switch-content.is-active {
  display: block;
}

.js-c-toggle-trigger {
  cursor: pointer;
}

.js-c-toggle-content {
  display: none;
}

.js-c-wrap-text {
  opacity: 0;
}
.js-c-wrap-text.is-wrapped {
  opacity: 1;
}
.js-c-wrap-text span {
  display: inline-block;
}
.js-c-wrap-text span[data-text=space] {
  min-width: 0.3em;
}

@media all and (max-width: 1339px ) {
  .js-navchild-content {
    display: none;
  }
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* business_domain-model
======================================= */
.business_domain-model__inner {
  padding-top: 20px;
}
.business_domain-model__sec + .business_domain-model__sec {
  margin-top: 40px;
}
.business_domain-model__img {
  margin-top: 57px;
  text-align: center;
}
.business_domain-model__img img {
  image-rendering: -webkit-optimize-contrast;
}
@media all and (min-width: 768px) {
  .business_domain-model__sec + .business_domain-model__sec {
    margin-top: 60px;
  }
}
@media (max-width: 767px), (max-height: 729px) {
  .business_domain-model__img.is-pc {
    display: none !important;
  }
}
@media (min-width: 768px) and (min-height: 730px) {
  .business_domain-model__wrap {
    position: relative;
    display: flex;
    justify-content: space-between;
    z-index: 4;
  }
  .business_domain-model__area-txt {
    width: 420px;
    margin-top: 133px;
    padding-bottom: 170px;
  }
  .business_domain-model__area-img {
    position: sticky;
    top: 120px;
    left: 0;
    width: 620px;
    height: 630px;
  }
  @supports not (position: sticky) {
    .business_domain-model__area-img {
      position: -webkit-sticky;
    }
  }
  .business_domain-model__img.is-sp {
    display: none !important;
  }
  .business_domain-model__img img {
    position: relative;
    z-index: -4;
    opacity: 0;
    margin-top: 20px;
    transition: all 0.3s ease;
  }
  .business_domain-model__img img.is-active {
    opacity: 1;
    margin-top: 0;
  }
  .business_domain-model__img img:nth-of-type(n+2) {
    width: 560px;
  }
  .business_domain-model__img img:nth-of-type(2) {
    z-index: -1;
    -webkit-transform: translateY(-326px);
    transform: translateY(-326px);
  }
  .business_domain-model__img img:nth-of-type(3) {
    z-index: -2;
    -webkit-transform: translateY(-393px);
    transform: translateY(-393px);
  }
  .business_domain-model__img img:nth-of-type(4) {
    z-index: -3;
    -webkit-transform: translateY(-462px);
    transform: translateY(-462px);
  }
}

/* business_domain-merit
====================================== */
.business_domain-merit__inner {
  position: relative;
  padding-top: 102px;
  padding-bottom: 60px;
}
.business_domain-merit__arrow {
  position: absolute;
  top: 10px;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(45deg);
  transform: translateX(-50%) rotate(45deg);
  -webkit-transform-origin: center;
  transform-origin: center;
  display: block;
  width: 40px;
  height: 40px;
  border-right: 2px solid #f7c7bc;
  border-bottom: 2px solid #f7c7bc;
}
.business_domain-merit__arrow::before {
  content: "";
  position: absolute;
  top: 13px;
  left: 13px;
  width: 100%;
  height: 100%;
  border-right: 2px solid #f19a8e;
  border-bottom: 2px solid #f19a8e;
}
.business_domain-merit__arrow::after {
  content: "";
  position: absolute;
  top: 26px;
  left: 26px;
  width: 100%;
  height: 100%;
  border-right: 2px solid #ec4e4e;
  border-bottom: 2px solid #ec4e4e;
}
.business_domain-merit__head {
  position: relative;
  margin-bottom: 30px;
  text-align: center;
}
.business_domain-merit__head-txt {
  position: relative;
  display: inline-block;
  padding: 18px 24px 8px;
  line-height: 1.5;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
.business_domain-merit__head-txt::before, .business_domain-merit__head-txt::after {
  content: "";
  position: absolute;
  width: 26px;
  height: 26px;
}
.business_domain-merit__head-txt::before {
  top: 0;
  left: 0;
  border-top: 1px solid #ec4e4e;
  border-left: 1px solid #ec4e4e;
}
.business_domain-merit__head-txt::after {
  right: 0;
  bottom: 0;
  border-right: 1px solid #ec4e4e;
  border-bottom: 1px solid #ec4e4e;
}
@media (max-width: 374px) {
  .business_domain-merit__head {
    margin: 0 -5px;
  }
  .business_domain-merit__head-txt {
    padding: 5px 13px 3px;
    font-size: 1.8rem;
  }
}
@media all and (min-width: 768px) {
  .business_domain-merit__inner {
    padding-top: 230px;
    padding-bottom: 180px;
  }
  .business_domain-merit__arrow {
    top: 70px;
    width: 60px;
    height: 60px;
    border-width: 0 3px 3px 0;
  }
  .business_domain-merit__arrow::before {
    top: 19px;
    left: 19px;
    border-width: 0 3px 3px 0;
  }
  .business_domain-merit__arrow::after {
    top: 38px;
    left: 38px;
    border-width: 0 3px 3px 0;
  }
  .business_domain-merit__head {
    margin-bottom: 80px;
  }
  .business_domain-merit__head-txt {
    padding: 18px 70px 8px;
    font-size: 4.6rem;
  }
  .business_domain-merit__head-txt::before, .business_domain-merit__head-txt::after {
    width: 50px;
    height: 50px;
  }
}

/* business_domain-service
====================================== */
.business_domain-service::before {
  top: auto;
  bottom: -295px;
}
.business_domain-service__inner {
  padding-top: 40px;
  padding-bottom: 40px;
}
.business_domain-service__sec + .business_domain-service__sec {
  margin-top: 60px;
}
@media all and (max-width: 767px) {
  .business_domain-service__bg {
    margin: 0;
  }
  .business_domain-service__bg.has-deco::before, .business_domain-service__bg.has-deco::after {
    content: none;
  }
}
@media all and (min-width: 768px) {
  .business_domain-service::before {
    bottom: -605px;
  }
  .business_domain-service__inner {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .business_domain-service__sec + .business_domain-service__sec {
    margin-top: 80px;
  }
}

/* .bussiness-service
================================================ */
.bussiness-service::before {
  top: -20px;
}
.bussiness-service__inner {
  padding-top: 50px;
}
@media all and (min-width: 768px) {
  .bussiness-service::before {
    top: -190px;
  }
  .bussiness-service__inner {
    padding-top: 148px;
  }
}

/* contact-form
=================================== */
@media all and (max-width: 767px) {
  .contact-form__inner {
    padding-top: 30px;
  }
}
@media all and (min-width: 768px) {
  .contact-form__inner {
    max-width: 960px;
    padding: 0;
  }
}

/* corporate-links
=============================== */
@media all and (max-width: 767px) {
  .corporate-links::before {
    top: 40px;
  }
}

/* .error-page404
================================================ */
.error-page404__inner {
  padding-top: 50px;
  padding-bottom: 50px;
}
@media all and (min-width: 768px) {
  .error-page404__inner {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}

/* history-intro
=================================== */
.history-intro__heading-head {
  margin-bottom: 0.7em;
  line-height: 1.5;
  font-weight: 500;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
}
.history-intro__heading-txt {
  word-break: normal;
}
@media (max-width: 374px) {
  .history-intro__heading-head {
    font-size: 1.9rem;
  }
}
@media all and (max-width: 767px) {
  .history-intro__inner {
    padding-top: 23px;
    padding-bottom: 104px;
  }
  .history-intro__heading {
    margin-bottom: 45px;
  }
  .history-intro__img {
    margin-right: -20px;
  }
}
@media all and (min-width: 768px) {
  .history-intro {
    overflow: hidden;
  }
  .history-intro__inner {
    position: relative;
    padding-bottom: 320px;
  }
  .history-intro__heading {
    box-sizing: border-box;
    width: 50%;
    padding: 70px 50px 0 0;
  }
  .history-intro__heading-head {
    font-size: 3.2rem;
  }
  .history-intro__heading-txt {
    font-size: 1.8rem;
  }
  .history-intro__img {
    position: absolute;
    top: 0;
    left: calc(50% + 50px);
    width: 50%;
    max-width: 750px;
  }
}
@media all and (min-width: 1340px ) {
  .history-intro__img {
    width: 50vw;
  }
}

/* history-info
===================================== */
.history-info {
  background: #fff;
}
.history-info__inner {
  padding-bottom: 60px;
}
.history-info__tab {
  -webkit-transform: translateY(-62px);
  transform: translateY(-62px);
  margin-bottom: -15px;
}
@media all and (min-width: 768px) {
  .history-info__inner {
    padding-bottom: 150px;
  }
  .history-info__tab {
    -webkit-transform: translateY(-100px);
    transform: translateY(-100px);
    margin-bottom: 12px;
  }
}

/* history-info-next
------------------------------------- */
.history-info-next {
  position: relative;
  min-height: 236px;
  cursor: pointer;
}
.history-info-next__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.history-info-next__bg img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.history-info-next__in {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 10px 0 80px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
}
.history-info-next__in::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: calc(100% - 30px);
  height: calc(100% - 30px);
  border: 1px solid rgba(255, 255, 255, 0.5);
}
.history-info-next__head {
  line-height: 1.5;
  font-size: 3.6rem;
}
.history-info-next__sub {
  margin-top: 3px;
  line-height: 1.5;
  font-size: 1.8rem;
}
.history-info-next__arrow {
  position: absolute;
  bottom: 40px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 40px;
  height: 40px;
  background: #fff;
  border-radius: 50%;
}
.history-info-next__arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
}
@media all and (max-width: 767px) {
  .history-info-next {
    margin: 0 -20px;
  }
}
@media all and (min-width: 768px) {
  .history-info-next {
    min-height: 290px;
  }
  .history-info-next:hover .history-info-next__bg::before {
    opacity: 1;
  }
  .history-info-next:hover .history-info-next__arrow {
    background: #ec4e4e;
  }
  .history-info-next:hover .history-info-next__arrow::before {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
  }
  .history-info-next__bg::before {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .history-info-next__in {
    z-index: 1;
    padding: 30px 124px;
  }
  .history-info-next__in::before {
    width: calc(100% - 60px);
    height: calc(100% - 60px);
  }
  .history-info-next__en {
    position: absolute;
    top: -20px;
    left: 82px;
    display: flex;
    font-size: 1.6rem;
    align-items: center;
    line-height: 1.1;
    vertical-align: middle;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transform-origin: left top;
    transform-origin: left top;
  }
  .history-info-next__en::before {
    content: "";
    display: inline-block;
    width: 80px;
    height: 1px;
    margin-right: 10px;
    background-image: linear-gradient(to right, #4b5158, #4b5158 20px, #fff 20px, #fff 100%);
  }
  .history-info-next__head {
    font-size: 4.6rem;
  }
  .history-info-next__sub {
    font-size: 2rem;
  }
  .history-info-next__arrow {
    top: 50%;
    right: 70px;
    bottom: auto;
    left: auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 54px;
    height: 54px;
    transition: background 0.3s ease;
  }
}

/* history-info-message
--------------------------------- */
.history-info-message {
  position: relative;
  margin: 0 auto;
  padding: 45px 0 0;
  line-height: 1.5;
  font-weight: 500;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  text-align: center;
}
.history-info-message::before {
  content: "";
  position: absolute;
  top: 10px;
  left: -20px;
  width: 58px;
  height: 60px;
  background: url(../img/corporate/history/ico_message01.png) no-repeat 0 0/contain;
}
.history-info-message::after {
  content: "";
  position: absolute;
  right: -20px;
  bottom: -20px;
  z-index: 1;
  width: 38px;
  height: 55px;
  background: url(../img/corporate/history/ico_message02.png) no-repeat 0 0/contain;
}
@media all and (max-width: 767px) {
  .history-info-message {
    max-width: 375px;
  }
}
@media (max-width: 374px) {
  .history-info-message {
    font-size: 1.4rem;
  }
}
@media all and (min-width: 768px) {
  .history-info-message {
    padding: 150px 0 30px;
    font-size: 2.6rem;
  }
  .history-info-message::before {
    top: 140px;
    left: 0;
    width: 126px;
    height: 128px;
  }
  .history-info-message::after {
    right: 0;
    bottom: -30px;
    width: 98px;
    height: 142px;
  }
}

/* .home-about
================================================ */
.home-about {
  position: relative;
  background: url(../img/common/bg_soft03.png) no-repeat right top -211px;
  background-size: 61.0666666667% auto;
}
.home-about::before {
  position: absolute;
  content: "";
  width: 144.5333333333%;
  padding-top: 194.6666666667%;
  max-width: 100%;
  height: 0;
  top: 0;
  left: 0;
  pointer-events: none;
  background: url(../img/common/bg_soft01.png) no-repeat left top/cover;
}
.home-about__inner {
  position: relative;
  padding-top: 80px;
}
.home-about__txt {
  margin-top: 25px;
}
.home-about__area-btns {
  position: relative;
  padding-top: 30px;
  z-index: 1;
}
.home-about__area-btns::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 63px;
  left: 25px;
  right: -20px;
  pointer-events: none;
  background: url(../img/home/bg_about01.png) no-repeat left top/cover;
  z-index: -1;
}
.home-about-list__item + .home-about-list__item {
  margin-top: 15px;
}
.home-about-list__link {
  position: relative;
  display: block;
  box-shadow: 0px 5px 25px rgba(0, 0, 0, 0.16);
}
.home-about-list__img {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 42.9850746269%;
  height: 0;
  overflow: hidden;
}
.home-about-list__img img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.home-about-list__txt {
  position: absolute;
  display: block;
  bottom: 20px;
  left: 20px;
  right: 20px;
  z-index: 1;
}
.home-about-list__txt-en {
  color: #fff;
  display: block;
}
.home-about-list__txt-ja {
  position: relative;
  display: inline-block;
  background: #fff;
  min-width: 190px;
  font-size: 1.5rem;
  margin-top: 5px;
  padding: 0 35px 0 10px;
  box-sizing: border-box;
}
.home-about-list__txt-ja::after {
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
  position: absolute;
  top: 50%;
  right: 13px;
  -webkit-transform: translateY(-49%);
  transform: translateY(-49%);
}
@media all and (max-width: 767px) {
  .home-about__area-btns {
    margin-top: 40px;
  }
}
@media all and (min-width: 768px) {
  .home-about {
    background-position: right top -617px;
    background-size: 50% auto;
  }
  .home-about::before {
    width: 81.4583333333%;
    padding-top: 113.4895833333%;
    top: -132px;
    background-position: right bottom;
  }
  .home-about__inner {
    position: static;
    padding-top: 200px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .home-about__area-txt {
    position: relative;
    padding-top: 50px;
    flex-basis: 600px;
    max-width: 600px;
  }
  .home-about__area-btns {
    position: static;
    padding-top: 100px;
    flex-basis: 51.8518518519%;
    max-width: 700px;
  }
  .home-about__area-btns::before {
    top: 200px;
    bottom: 100px;
    left: 50%;
    right: 0;
    margin-left: 200px;
  }
  .home-about-list__item + .home-about-list__item {
    margin-top: 15px;
  }
  .home-about-list__link {
    position: relative;
    display: block;
    box-shadow: 0px 5px 25px rgba(0, 0, 0, 0.16);
  }
  .home-about-list__txt {
    bottom: 30px;
    left: 40px;
    right: 40px;
  }
  .home-about-list__txt-en {
    font-size: 1.8rem;
  }
  .home-about-list__txt-ja {
    min-width: 290px;
    font-size: 2rem;
    margin-top: 10px;
    padding: 5px 50px 5px 20px;
  }
  .home-about-list__txt-ja::after {
    right: 20px;
  }
}
@media all and (min-width: 1720px) {
  .home-about__area-btns {
    margin-right: -125px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .home-about-list__link .home-about-list__txt-ja {
    transition: all 0.6s ease;
  }
  .home-about-list__link:hover .home-about-list__txt-ja {
    background: #ec4e4e;
    color: #fff;
  }
  .home-about-list__link:hover .home-about-list__txt-ja::after {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
}

/* .home-service
================================================ */
.home-service {
  position: relative;
}
.home-service::before {
  position: absolute;
  content: "";
  width: 100%;
  padding-top: 221.0666666667%;
  height: 0;
  top: calc(100% - 168px);
  right: 0;
  pointer-events: none;
  background: url(../img/common/bg_soft04.png) no-repeat right top/cover;
  z-index: -1;
}
.home-service__inner {
  padding-top: 80px;
}
.home-service__lead {
  margin-bottom: 40px;
}
.home-service__area-content {
  position: relative;
  min-height: 2500px;
  height: 500vh;
  height: calc(var(--vh, 1vh) * 500);
}
.home-service__area-content .home-service-content__item.is-item01 .home-service-content__head,
.home-service__area-content .home-service-content__item.is-item01 .home-service-content__txt,
.home-service__area-content .home-service-content__item.is-item01 .home-service-content__btn {
  opacity: 0;
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.home-service__area-content[data-scroll="01"] .home-service-content__item.is-item01 {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: all 0s linear, opacity 0.6s ease;
}
.home-service__area-content[data-scroll="01"] .home-service-content__item.is-item01 .home-service-content__head,
.home-service__area-content[data-scroll="01"] .home-service-content__item.is-item01 .home-service-content__txt,
.home-service__area-content[data-scroll="01"] .home-service-content__item.is-item01 .home-service-content__btn {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.home-service__area-content[data-scroll="01"] .home-service-content__item.is-item01 .home-service-content__txt {
  transition-delay: 0.2s;
}
.home-service__area-content[data-scroll="01"] .home-service-content__item.is-item01 .home-service-content__btn {
  transition-delay: 0.4s;
}
.home-service__area-content .home-service-content__item.is-item02 .home-service-content__head,
.home-service__area-content .home-service-content__item.is-item02 .home-service-content__txt,
.home-service__area-content .home-service-content__item.is-item02 .home-service-content__btn {
  opacity: 0;
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.home-service__area-content[data-scroll="02"] .home-service-content__item.is-item02 {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: all 0s linear, opacity 0.6s ease;
}
.home-service__area-content[data-scroll="02"] .home-service-content__item.is-item02 .home-service-content__head,
.home-service__area-content[data-scroll="02"] .home-service-content__item.is-item02 .home-service-content__txt,
.home-service__area-content[data-scroll="02"] .home-service-content__item.is-item02 .home-service-content__btn {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.home-service__area-content[data-scroll="02"] .home-service-content__item.is-item02 .home-service-content__txt {
  transition-delay: 0.2s;
}
.home-service__area-content[data-scroll="02"] .home-service-content__item.is-item02 .home-service-content__btn {
  transition-delay: 0.4s;
}
.home-service__area-content .home-service-content__item.is-item03 .home-service-content__head,
.home-service__area-content .home-service-content__item.is-item03 .home-service-content__txt,
.home-service__area-content .home-service-content__item.is-item03 .home-service-content__btn {
  opacity: 0;
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.home-service__area-content[data-scroll="03"] .home-service-content__item.is-item03 {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: all 0s linear, opacity 0.6s ease;
}
.home-service__area-content[data-scroll="03"] .home-service-content__item.is-item03 .home-service-content__head,
.home-service__area-content[data-scroll="03"] .home-service-content__item.is-item03 .home-service-content__txt,
.home-service__area-content[data-scroll="03"] .home-service-content__item.is-item03 .home-service-content__btn {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.home-service__area-content[data-scroll="03"] .home-service-content__item.is-item03 .home-service-content__txt {
  transition-delay: 0.2s;
}
.home-service__area-content[data-scroll="03"] .home-service-content__item.is-item03 .home-service-content__btn {
  transition-delay: 0.4s;
}
.home-service__area-content .home-service-content__item.is-item04 .home-service-content__head,
.home-service__area-content .home-service-content__item.is-item04 .home-service-content__txt,
.home-service__area-content .home-service-content__item.is-item04 .home-service-content__btn {
  opacity: 0;
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.home-service__area-content[data-scroll="04"] .home-service-content__item.is-item04 {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: all 0s linear, opacity 0.6s ease;
}
.home-service__area-content[data-scroll="04"] .home-service-content__item.is-item04 .home-service-content__head,
.home-service__area-content[data-scroll="04"] .home-service-content__item.is-item04 .home-service-content__txt,
.home-service__area-content[data-scroll="04"] .home-service-content__item.is-item04 .home-service-content__btn {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.home-service__area-content[data-scroll="04"] .home-service-content__item.is-item04 .home-service-content__txt {
  transition-delay: 0.2s;
}
.home-service__area-content[data-scroll="04"] .home-service-content__item.is-item04 .home-service-content__btn {
  transition-delay: 0.4s;
}
.home-service-content {
  position: sticky;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
@supports not (position: sticky) {
  .home-service-content {
    position: -webkit-sticky;
  }
}
.home-service-content-pager {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  font-size: 1.3rem;
  overflow: visible;
  white-space: nowrap;
  width: 1em;
}
.home-service-content-pager__current {
  min-height: 5.05em;
  display: block;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  color: #ec4e4e;
}
.home-service-content-pager__end {
  display: block;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.home-service-content-pager__end::before {
  display: inline-block;
  content: "";
  width: 0;
  height: 30px;
  border-left: 1px solid;
  margin: 10px -2px 10px 0;
}
.home-service-content__item {
  position: relative;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  display: flex;
  align-items: center;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0s linear 0.6s, opacity 0.6s ease;
}
.home-service-content__item + .home-service-content__item {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.home-service-content__item-in {
  position: relative;
  width: 100%;
}
.home-service-content__area-img {
  width: 100%;
}
.home-service-content__img {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 1060px;
  margin: 0 auto;
}
.home-service-content__img::before {
  display: block;
  content: "";
  width: 100%;
  padding-top: 71.3432835821%;
  pointer-events: none;
}
.home-service-content__img img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.home-service-content__area-txt {
  position: relative;
  box-sizing: border-box;
}
.home-service-content__head {
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 500;
}
.home-service-content__head-note {
  font-size: 2.2rem;
}
.home-service-content__txt {
  margin-top: 13px;
}
@media all and (max-width: 374px) {
  .home-service-content__head {
    font-size: 2rem;
    padding-right: 40px;
  }
  .home-service-content__head-note {
    font-size: 1.8rem;
  }
  .home-service-content__txt {
    font-size: 1.3rem;
    line-height: 1.8;
    padding-right: 40px;
  }
  .home-service-content__btn {
    margin-top: 20px;
  }
}
@media all and (min-width: 768px) {
  .home-service::before {
    width: 51.71875%;
    padding-top: 96.09375%;
    top: calc(100% - 240px);
    -webkit-transform: translateY(-36%);
    transform: translateY(-36%);
    background-position: left top;
  }
  .home-service__inner {
    padding-top: 200px;
  }
  .home-service__lead {
    margin-bottom: 60px;
  }
  .home-service__area-txt {
    display: flex;
  }
  .home-service__head {
    flex-basis: 466px;
    max-width: 466px;
  }
  .home-service__lead {
    padding-top: 10px;
    flex-basis: calc(100% - 466px);
    max-width: 640px;
  }
  .home-service-content-pager {
    font-size: 1.8rem;
  }
  .home-service-content__head {
    font-size: 4.6rem;
  }
  .home-service-content__head-note {
    font-size: 3.8rem;
  }
  .home-service-content__txt {
    margin-top: 40px;
  }
}
@media all and (orientation: portrait) and (max-width: 767px) {
  .home-service-content-pager.is-global {
    display: none;
  }
  .home-service-content-pager.is-own {
    top: 20px;
  }
  .home-service-content__item {
    flex-direction: column;
    justify-content: center;
  }
  .home-service-content__area-txt {
    padding-top: 18px;
  }
  .home-service-content__head {
    line-height: 1.5;
    padding-right: 55px;
  }
  .home-service-content__head-note {
    display: inline-block;
  }
  .home-service-content__txt {
    padding-right: 55px;
    min-height: 75px;
  }
}
@media all and (orientation: landscape), (min-width: 768px) {
  .home-service-content-pager {
    top: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .home-service-content-pager.is-own {
    display: none;
  }
  .home-service-content-pager__end::before {
    height: 45vh;
    height: calc(var(--vh, 1vh) * 45);
    max-height: 300px;
    min-height: 100px;
  }
  .home-service-content__item-in {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .home-service-content__area-img {
    width: auto;
    flex-basis: calc(48.8888888889% + 60px);
    max-width: calc(48.8888888889% + 60px);
    margin-left: -60px;
  }
  .home-service-content__img {
    margin-right: 0;
  }
  .home-service-content__area-txt {
    padding: 0 4.5% 0 6%;
    flex-basis: 51.1111111111%;
    max-width: 51.1111111111%;
  }
  .home-service-content__head {
    padding: 0;
  }
  .home-service-content__head-note {
    display: block;
    line-height: 1.3;
    margin: -3px 0 0 -0.5em;
  }
}
@media all and (orientation: landscape) and (max-width: 767px), (min-width: 768px) and (max-width: 767px) {
  .home-service-content__btn {
    margin-top: 15px;
  }
}
@media all and (orientation: landscape) and (min-width: 768px), (min-width: 768px) and (min-width: 768px) {
  .home-service-content__area-txt {
    padding: 0 7% 0 10%;
  }
}
@media all and (orientation: landscape) and (min-width: 768px) and (max-height: 600px), (min-width: 768px) and (min-width: 768px) and (max-height: 600px) {
  .home-service-content__txt {
    margin-top: 20px;
  }
  .home-service-content__btn {
    margin-top: 20px;
  }
}
@media all and (min-width: 1470px) {
  .home-service-content__area-img {
    flex-basis: calc(48.8888888889% + 50vw - 675px);
    max-width: calc(48.8888888889% + 50vw - 675px);
    margin-left: calc(675px - 50vw);
    flex-basis: calc(48.8888888889% + var(--vw, 1vw) * 50 - 675px);
    max-width: calc(48.8888888889% + var(--vw, 1vw) * 50 - 675px);
    margin-left: calc(675px - var(--vw, 1vw) * 50);
  }
}

/* .home-project
================================================ */
.home-project {
  position: relative;
  overflow: hidden;
}
.home-project::after {
  position: absolute;
  content: "";
  width: 55.4666666667%;
  padding-top: 128%;
  max-width: 100%;
  height: 0;
  top: 565px;
  left: 0;
  pointer-events: none;
  background: url(../img/common/bg_soft05.png) no-repeat right bottom/cover;
  z-index: -1;
}
.home-project__inner {
  position: relative;
  padding-top: 80px;
  padding-bottom: 40px;
}
.home-project__lead {
  margin-bottom: 30px;
}
.home-project-sub {
  margin-top: 40px;
  padding: 40px 20px 20px 25px;
  margin-right: -20px;
}
.home-project-sub__head {
  font-size: 2.2rem;
  line-height: 1.5;
  margin-bottom: 10px;
  font-weight: 500;
}
.home-project-sub__lead {
  margin-bottom: 20px;
}
@media all and (max-width: 767px) {
  .home-project-sub {
    background: linear-gradient(90deg, #f2f2f1 0%, #fcfcfc 100%);
  }
}
@media all and (min-width: 768px) {
  .home-project::after {
    width: 40.8854166667%;
    padding-top: 74.21875%;
    top: 45px;
  }
  .home-project__inner {
    padding-top: 200px;
    padding-bottom: 100px;
  }
  .home-project__area-txt {
    display: flex;
  }
  .home-project__head {
    flex-basis: 466px;
    max-width: 466px;
  }
  .home-project__lead {
    padding-top: 10px;
    flex-basis: calc(100% - 466px - 235px);
    max-width: 640px;
    margin-bottom: 30px;
  }
  .home-project-sub {
    position: relative;
    margin-top: 120px;
    padding: 100px 0 60px 125px;
    margin-right: 0;
    z-index: 1;
  }
  .home-project-sub::before {
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    left: 0;
    right: -60px;
    background: linear-gradient(90deg, #f2f2f1 0%, #fcfcfc 100%);
    z-index: -1;
  }
  .home-project-sub__area-txt {
    display: flex;
    margin-bottom: 45px;
  }
  .home-project-sub__head {
    font-size: 4rem;
    flex-basis: 338px;
    max-width: 338px;
    margin-bottom: 0;
  }
  .home-project-sub__lead {
    flex-basis: calc(100% - 338px);
    max-width: calc(100% - 338px);
  }
}
@media all and (min-width: 1470px) {
  .home-project-sub::before {
    right: calc(675px - 50vw);
    right: calc(675px - var(--vw, 1vw) * 50);
  }
}

/* .home-sustain
================================================ */
.home-sustain {
  position: relative;
  padding-top: 221px;
}
.home-sustain::before {
  position: absolute;
  content: "";
  width: 87.2%;
  padding-top: 132.8%;
  max-width: 100%;
  height: 0;
  bottom: -338px;
  right: 0;
  pointer-events: none;
  background: url(../img/common/bg_soft02.png) no-repeat left bottom/cover;
  z-index: -1;
}
.home-sustain__bg {
  position: absolute;
  content: "";
  top: 0;
  left: 20px;
  right: 0;
  height: 300px;
}
.home-sustain__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.home-sustain__inner {
  position: relative;
  padding-top: 50px;
  padding-bottom: 50px;
  padding-right: 40px;
  z-index: 1;
}
.home-sustain__inner::before {
  content: "";
  background: #fff;
  box-shadow: 0px 5px 25px rgba(0, 0, 0, 0.16);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 20px;
  z-index: -1;
}
.home-sustain-list__link {
  display: block;
}
.home-sustain-list__txt {
  display: flex;
  align-items: center;
  font-weight: 500;
}
.home-sustain-list__txt::after {
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
}
@media all and (max-width: 767px) {
  .home-sustain__area-btns {
    padding-top: 40px;
  }
  .home-sustain-list {
    border-top: 1px solid #e0e1dd;
    font-size: 1.5rem;
  }
  .home-sustain-list__item {
    border-bottom: 1px solid #e0e1dd;
  }
  .home-sustain-list__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px 15px 10px;
  }
  .home-sustain-list__ico {
    flex-basis: 40px;
    max-width: 40px;
    height: 40px;
  }
  .home-sustain-list__txt {
    flex-basis: calc(100% - 50px);
    max-width: calc(100% - 50px);
    justify-content: space-between;
  }
}
@media all and (min-width: 768px) {
  .home-sustain {
    padding-top: 18.2291666667%;
  }
  .home-sustain::before {
    width: 50%;
    padding-top: 55.8854166667%;
    bottom: -624px;
  }
  .home-sustain__bg {
    left: 25.5714285714%;
    height: 0;
    padding-top: 28.6458333333%;
  }
  .home-sustain__bg img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    max-height: 860px;
  }
  .home-sustain__inner {
    padding-top: 100px;
    padding-bottom: 100px;
    display: flex;
    justify-content: space-between;
  }
  .home-sustain__inner::before {
    left: 0;
    right: 0;
  }
  .home-sustain__area-txt {
    flex-basis: 464px;
    max-width: 464px;
  }
  .home-sustain__area-btns {
    max-width: calc(100% - 464px - 20px);
  }
  .home-sustain-list {
    display: flex;
    flex-wrap: wrap;
    font-size: 1.8rem;
    margin: -50px 0 0 1px;
    max-width: 583px;
  }
  .home-sustain-list__item {
    flex-basis: 50%;
    max-width: 50%;
    border-left: 1px solid #e0e1dd;
    border-right: 1px solid #e0e1dd;
    box-sizing: border-box;
    margin: 50px 0 0 -1px;
  }
  .home-sustain-list__link {
    padding-left: 40px;
    padding-bottom: 10px;
  }
  .home-sustain-list__ico {
    width: 70px;
    height: 70px;
    display: block;
  }
  .home-sustain-list__txt {
    margin-top: 12px;
    display: inline-block;
  }
  .home-sustain-list__txt::after {
    margin: -2px 0 0 15px;
  }
}
@media all and (min-width: 768px) and (max-width: 1469px) {
  .home-sustain__inner::before {
    left: 20px;
    right: 20px;
  }
}
@media all and (min-width: 1620px) {
  .home-sustain__inner::before {
    left: -65px;
    right: -65px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .home-sustain-list__link {
    transition: color 0.6s ease;
  }
  .home-sustain-list__link:hover {
    color: #ec4e4e;
  }
  .home-sustain-list__link:hover .home-sustain-list__txt::after {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23ec4e4e%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
}

/* .home-news
================================================ */
.home-news__inner {
  padding-top: 80px;
  padding-bottom: 74px;
}
@media all and (min-width: 768px) {
  .home-news__inner {
    position: relative;
    padding-top: 200px;
    padding-bottom: 200px;
    display: flex;
  }
  .home-news__head {
    flex-basis: 340px;
    max-width: 340px;
  }
  .home-news-archive {
    flex-basis: calc(100% - 340px);
    max-width: calc(100% - 340px);
  }
  .home-news__btn {
    position: absolute;
    top: 297px;
    left: 60px;
  }
}

/* .home-recruit
================================================ */
.home-recruit {
  position: relative;
}
.home-recruit__bg01::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: url(../img/common/bg_soft06.png) no-repeat left -100px bottom/auto 340px;
}
.home-recruit__bg02 {
  position: relative;
  margin: 0 20px;
}
.home-recruit__bg02::before {
  display: block;
  content: "";
  width: 100%;
  padding-top: 77.6119402985%;
  pointer-events: none;
}
.home-recruit__bg02 img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.home-recruit__area-img {
  position: absolute;
  top: -100px;
  right: 0;
  width: 160px;
  box-shadow: 0px 5px 25px rgba(0, 0, 0, 0.16);
}
.home-recruit__inner {
  position: relative;
  padding-top: 95px;
  padding-bottom: 80px;
}
.home-recruit__area-txt {
  color: #fff;
}
.home-recruit__copy {
  font-size: 2.4rem;
  margin: 25px 0;
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  font-weight: 500;
}
.home-recruit-list {
  margin-top: 60px;
  line-height: 1.5;
  font-weight: 500;
}
.home-recruit-list__item {
  position: relative;
}
.home-recruit-list__item::after {
  position: absolute;
  top: -7px;
  right: 14px;
  display: block;
  content: "";
  pointer-events: none;
  width: 27px;
  height: 27px;
  background: url("../img/common/img_deco01.png") no-repeat center center/cover;
}
.home-recruit-list__link {
  position: relative;
  box-shadow: 0px 5px 25px rgba(0, 0, 0, 0.16);
  display: block;
  padding: 28px 20px 28px 35px;
  background: #fff;
}
.home-recruit-list__link::before, .home-recruit-list__link::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  content: "";
}
.home-recruit-list__link::before {
  background: url("../img/common/bg_soft06.png") no-repeat left bottom/284px auto;
  opacity: 0.8;
}
.home-recruit-list__link::after {
  margin: 4px;
  border: 1px solid rgba(236, 78, 78, 0.25);
}
.home-recruit-list__num {
  display: block;
  height: 35px;
}
.home-recruit-list__num img {
  height: 100%;
  width: auto;
}
.home-recruit-list__txt {
  position: relative;
  display: block;
  font-size: 1.8rem;
}
.home-recruit-list__txt::before, .home-recruit-list__txt::after {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.home-recruit-list__txt::before {
  content: "";
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background: #f2f2f1;
}
.home-recruit-list__txt::after {
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
  margin-right: 11px;
}
@media all and (max-width: 767px) {
  .home-recruit-list__item + .home-recruit-list__item {
    margin-top: 15px;
  }
}
@media all and (min-width: 768px) {
  .home-recruit__bg01::before {
    background-position: left bottom;
    background-size: auto 622px;
  }
  .home-recruit__bg02 {
    position: relative;
    margin: 0 auto;
    width: calc(100% - 120px);
    max-width: 1800px;
  }
  .home-recruit__bg02::before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 44.7916666667%;
    pointer-events: none;
  }
  .home-recruit__inner {
    position: relative;
    padding-top: 0;
    padding-bottom: 200px;
    margin-top: -90px;
  }
  .home-recruit__area-img {
    top: -50px;
    width: 25.1041666667%;
    box-shadow: 0 10px 50px rgba(0, 0, 0, 0.16);
  }
  .home-recruit__area-img img {
    width: 100%;
  }
  .home-recruit__copy {
    font-size: 5.2rem;
    margin: 0 0 48px;
  }
  .home-recruit__lead {
    max-width: 690px;
  }
  .home-recruit-list {
    display: flex;
    justify-content: center;
    margin: 80px -20px 0;
  }
  .home-recruit-list__item {
    flex-basis: 700px;
    max-width: 700px;
    display: flex;
    margin: 20px 20px 0;
  }
  .home-recruit-list__item::after {
    width: 48px;
    height: 48px;
    top: -11px;
    right: 28px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .home-recruit-list__link {
    box-shadow: 0 10px 50px rgba(0, 0, 0, 0.16);
    padding: 80px 50px 80px 80px;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
  }
  .home-recruit-list__link::before {
    background-size: 568px auto;
  }
  .home-recruit-list__link::after {
    margin: 8px;
  }
  .home-recruit-list__num {
    height: 58px;
  }
  .home-recruit-list__txt {
    font-size: 2.4rem;
    flex-basis: 100%;
  }
  .home-recruit-list__txt::before {
    width: 54px;
    height: 54px;
  }
  .home-recruit-list__txt::after {
    margin-right: 18px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .home-recruit-list__link {
    transition: color 0.6s ease;
  }
  .home-recruit-list__link .home-recruit-list__txt::before {
    transition: background 0.6s ease;
  }
  .home-recruit-list__link:hover {
    color: #ec4e4e;
  }
  .home-recruit-list__link:hover .home-recruit-list__txt::before {
    background: #ec4e4e;
  }
  .home-recruit-list__link:hover .home-recruit-list__txt::after {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
}

/* .news-archive
================================================ */
.news-archive__category {
  box-sizing: border-box;
  display: block;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  width: 295px;
  height: 46px;
  margin: 0 0 40px;
  padding: 5px 10px;
  padding-right: 40px;
  font-size: 1.6rem;
  background: #fff no-repeat right 18px top 50%/10px 8px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2010%208%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22M5%208%200%200h10Z%22%2F%3E%3C%2Fsvg%3E");
}
@media all and (min-width: 768px) {
  .news-archive__category {
    width: 440px;
    height: 54px;
    margin-bottom: 60px;
    padding-left: 20px;
    font-size: 1.7rem;
    background-position: right 23px top 50%;
  }
}

/* office-info
======================================= */
.office-info__inner {
  padding-top: 20px;
}
.office-info-sec + .office-info-sec {
  margin-top: 53px;
}
.office-info__map {
  position: relative;
  width: 100%;
  height: 0;
  margin-bottom: 26px;
  padding-top: 100%;
}
.office-info__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.office-info__btn {
  width: 240px;
  margin: 15px 0 30px;
}
.office-info__btn-link {
  min-height: 50px;
}
@media all and (min-width: 768px) {
  .office-info__area-map {
    display: flex;
    flex-wrap: wrap;
  }
  .office-info__map {
    width: 300px;
    height: 300px;
    padding-top: 0;
  }
  .office-info__area-txt {
    width: calc(100% - 300px);
    box-sizing: border-box;
    margin-top: -5px;
    padding-left: 40px;
  }
  .office-info__btn {
    width: 170px;
    margin: 20px 0 28px;
    font-size: 1.6rem;
  }
  .office-info__btn-link {
    min-height: 46px;
    padding: 8px 20px;
  }
  .office-info__btn-link::after {
    right: 20px;
  }
  .office-info__sub {
    margin-bottom: 0.5em;
    padding-bottom: 10px;
    font-size: 1.7rem;
  }
}

/* philosophy-intro
================================= */
.philosophy-intro::before {
  top: 297px;
}
@media all and (min-width: 768px) {
  .philosophy-intro::before {
    top: 403px;
  }
}

/* philosophy-info
================================= */
.philosophy-info__inner {
  padding-top: 46px;
  padding-bottom: 70px;
}
@media all and (min-width: 768px) {
  .philosophy-info {
    overflow: hidden;
    position: relative;
  }
  .philosophy-info::before {
    content: "";
    position: absolute;
    bottom: -150px;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 414px;
    background: linear-gradient(45deg, #ec4e4e 50%, #fbdcd1 110%, rgba(251, 220, 209, 0) 200%);
  }
  .philosophy-info__inner {
    padding-top: 115px;
    padding-bottom: 150px;
  }
  .philosophy-info__txt {
    font-size: 1.8rem;
  }
}

/* philosophy-info-logo
------------------------------------ */
.philosophy-info-logo {
  margin-top: 88px;
  padding: 45px 20px;
  background: #fff;
}
.philosophy-info-logo__area-logo {
  margin-bottom: 25px;
  text-align: center;
}
.philosophy-info-logo__logo {
  box-sizing: border-box;
  border: 1px solid #e0e1dd;
}
.philosophy-info-logo__logo img {
  image-rendering: -webkit-optimize-contrast;
}
@media all and (max-width: 767px) {
  .philosophy-info-logo {
    position: relative;
  }
  .philosophy-info-logo::before {
    content: "";
    position: absolute;
    bottom: -70px;
    left: 0;
    z-index: -1;
    width: calc(100% + 40px);
    height: calc(100% - 25px);
    margin-left: -20px;
    background: linear-gradient(45deg, #ec4e4e 50%, #fbdcd1 110%, rgba(251, 220, 209, 0) 200%);
  }
  .philosophy-info-logo__logo + .philosophy-info-logo__logo {
    border-top: 0;
  }
}
@media all and (min-width: 768px) {
  .philosophy-info-logo {
    position: relative;
    margin-top: 118px;
    padding: 98px 0;
  }
  .philosophy-info-logo::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 1600px;
    height: 100%;
    background: #fff;
  }
  .philosophy-info-logo__area-logo {
    display: flex;
    flex-wrap: wrap;
  }
  .philosophy-info-logo__logo {
    width: 50%;
  }
  .philosophy-info-logo__logo + .philosophy-info-logo__logo {
    border-left: 0;
  }
}

/* philosophy-message
========================================= */
.philosophy-message__inner {
  padding-top: 60px;
}
.philosophy-message__img {
  position: relative;
  max-width: 574px;
  margin: 0 auto 38px;
  padding: 0 20px 20px;
}
.philosophy-message__img::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 64px;
  height: 64px;
  background: url(../img/common/bg_part01.jpg) no-repeat 0 0/contain;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
.philosophy-message__img img {
  image-rendering: -webkit-optimize-contrast;
}
.philosophy-message__sub {
  margin-bottom: 1.2em;
  line-height: 1.5;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
.philosophy-message__name {
  margin-top: 17px;
  line-height: 1.5;
  font-size: 2rem;
  text-align: right;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
.philosophy-message__name-small {
  margin-right: 20px;
  font-size: 1.4rem;
}
.philosophy-message__name-sign {
  flex-basis: 140px;
  max-width: 140px;
}
@media all and (min-width: 768px) {
  .philosophy-message__inner {
    padding-top: 150px;
  }
  .philosophy-message__sub {
    margin-bottom: 0.8em;
    font-size: 3.2rem;
  }
  .philosophy-message__name-small {
    margin-bottom: 3px;
  }
  .philosophy-message__name-sign {
    flex-basis: 180px;
    max-width: 180px;
  }
  .philosophy-message__wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -30px;
  }
  .philosophy-message__img {
    box-sizing: border-box;
    width: 520px;
    height: 100%;
    padding: 0 0 30px 30px;
    text-align: right;
  }
  .philosophy-message__img::before {
    width: 110px;
    height: 110px;
  }
  .philosophy-message__area-txt {
    box-sizing: border-box;
    width: calc(100% - 490px - 30px);
    padding-left: 90px;
  }
  .philosophy-message__txt {
    font-size: 1.8rem;
  }
}
@media all and (min-width: 1340px ) {
  .philosophy-message__wrap {
    margin: 0 -120px;
  }
  .philosophy-message__area-txt {
    padding-right: 120px;
  }
}

/* policy-sec
================================== */
.policy-sec__box {
  margin-top: 25px;
  padding: 20px;
  border: 1px solid #4b5158;
}
@media all and (min-width: 768px) {
  .policy-sec__box {
    padding: 35px 60px;
  }
}

/* .ppp-accomplish
================================================ */
.ppp-accomplish {
  margin-bottom: 100px;
}
.ppp-accomplish-copy {
  line-height: 1.5;
  margin-bottom: 10px;
}
.ppp-accomplish-copy__head {
  margin-bottom: 15px;
  font-weight: 500;
  font-size: 2.2rem;
}
.ppp-accomplish-copy__txt {
  display: flex;
  flex-wrap: wrap;
}
.ppp-accomplish-copy__row {
  display: flex;
  align-items: flex-end;
}
.ppp-accomplish-copy__row-num {
  font-size: 5.8rem;
  color: #ec4e4e;
}
.ppp-accomplish-copy__row-ja {
  margin: 0 15px 10px 3px;
  font-weight: 500;
  font-size: 2.4rem;
}
.ppp-accomplish-map {
  position: relative;
  max-width: 590px;
  margin: 0 auto;
}
.ppp-accomplish-map-data {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 37.9661016949%;
  height: 36.0128617363%;
  padding-bottom: 3px;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1.5;
  box-sizing: border-box;
}
.ppp-accomplish-map-data__head {
  font-size: 1rem;
  font-size: 3vw;
  width: 70%;
  border-bottom: 1px solid;
  padding-bottom: 5px;
  margin-bottom: 10px;
}
.ppp-accomplish-map-data__row {
  display: flex;
  align-items: flex-end;
}
.ppp-accomplish-map-data__row-num {
  font-size: 2.6rem;
  font-size: 7vw;
}
.ppp-accomplish-map-data__row-ja {
  margin: 0 0 4px 3px;
  font-size: 1.2rem;
  font-size: 3.5vw;
}
.ppp-accomplish-detail {
  margin-top: 20px;
}
.ppp-accomplish-detail__box {
  padding: 20px;
  background: #f2f2f1;
}
.ppp-accomplish-detail__list {
  display: flex;
  flex-wrap: wrap;
}
.ppp-accomplish-detail__list-item {
  flex-basis: 50%;
  max-width: 50%;
  padding-right: 10px;
}
.ppp-accomplish-detail__list-item:nth-of-type(2) {
  margin-top: 0;
}
.ppp-accomplish-detail__note {
  margin-top: 10px;
}
@media all and (min-width: 768px) {
  .ppp-accomplish {
    margin-bottom: 300px;
  }
  .ppp-accomplish__box-inner {
    position: relative;
    min-height: 748px;
  }
  .ppp-accomplish-copy {
    margin-bottom: 35px;
  }
  .ppp-accomplish-copy__head {
    margin-bottom: 25px;
    font-size: 4.6rem;
  }
  .ppp-accomplish-copy__row-num {
    font-size: 8rem;
  }
  .ppp-accomplish-copy__row-ja {
    margin: 0 20px 12px 5px;
    font-size: 3.4rem;
  }
  .ppp-accomplish-map {
    position: absolute;
    top: 80px;
    right: 60px;
  }
  .ppp-accomplish-map-data {
    width: 31.4960629921%;
    height: 31.5955766193%;
    bottom: 47px;
  }
  .ppp-accomplish-map-data__head {
    margin-bottom: 15px;
    font-size: 2rem;
  }
  .ppp-accomplish-map-data__row-num {
    font-size: 4.8rem;
  }
  .ppp-accomplish-map-data__row-ja {
    margin-bottom: 7px;
    font-size: 2rem;
  }
  .ppp-accomplish-detail {
    max-width: 367px;
  }
  .ppp-accomplish-detail__box {
    padding: 25px 30px;
  }
}
@media all and (min-width: 1340px ) {
  .ppp-accomplish__box-inner {
    min-height: 793px;
  }
  .ppp-accomplish-map {
    max-width: 635px;
  }
}

/* privacy-intro
=================================== */
.privacy-intro__box {
  margin-top: 26px;
  padding: 20px 18px 24px;
  border: 1px solid #4b5158;
}
.privacy-intro__signature {
  margin-top: 48px;
  line-height: 1.5;
  text-align: right;
  font-size: 1.2rem;
}
@media all and (max-width: 767px) {
  .privacy-intro__inner {
    padding-top: 24px;
  }
}
@media all and (min-width: 768px) {
  .privacy-intro__box {
    padding: 35px 60px 38px;
  }
  .privacy-intro__signature {
    margin-top: 20px;
    font-size: 1.4rem;
  }
}

/* privacy-sec
====================================== */
.privacy-sec {
  margin-top: 29px;
}
.privacy-sec + .privacy-sec {
  margin-top: 37px;
}
.privacy-sec__name {
  margin-top: 16px;
}
.privacy-sec-detail {
  margin-top: 40px;
}
.privacy-sec__link {
  margin-top: 5px;
}
.privacy-sec__link-in {
  position: relative;
  display: inline-block;
}
.privacy-sec__link-in::after {
  content: "";
  margin-left: 5px;
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23ec4e4e%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
}
@media all and (min-width: 768px) {
  .privacy-sec {
    margin-top: 60px;
  }
  .privacy-sec + .privacy-sec {
    margin-top: 60px;
  }
  .privacy-sec-detail {
    margin-top: 80px;
  }
  .privacy-sec__link {
    margin-top: 10px;
  }
  .privacy-sec__link-in {
    transition: opacity 0.3s ease;
  }
  .privacy-sec__link-in::after {
    margin-left: 10px;
  }
  .privacy-sec__link-in:hover {
    opacity: 0.7;
  }
}

/* profile-info
========================================= */
.profile-info + .profile-info {
  margin-top: 10px;
}
.profile-info__area-table {
  padding: 20px;
  background: #fff;
}
.profile-info__table-txt + .profile-info__table-txt {
  margin-top: 0.5em;
}
@media all and (max-width: 767px) {
  .profile-info__inner {
    padding-top: 30px;
  }
}
@media all and (min-width: 768px) {
  .profile-info + .profile-info {
    margin-top: 80px;
  }
  .profile-info__area-table {
    padding: 30px 60px;
  }
  .profile-info__table th {
    width: 240px;
  }
}

/* .projects-archive
================================================ */
.projects-archive__trigger {
  position: relative;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  height: 64px;
  border: 1px solid;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
}
.projects-archive__trigger-txt {
  padding: 10px 0 10px 20px;
  flex-basis: calc(100% - 60px);
  box-sizing: border-box;
}
.projects-archive__trigger-txt::before {
  position: absolute;
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  top: 12px;
  right: 12px;
}
.projects-archive__trigger::before, .projects-archive__trigger::after {
  position: absolute;
  content: "";
  display: block;
  width: 15px;
  height: 1px;
  top: 50%;
  right: 25px;
  background: #4b5158;
  z-index: 2;
}
.projects-archive__trigger::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.projects-archive__trigger.is-active::after {
  -webkit-transform: rotate(0);
  transform: rotate(0);
}
.projects-archive__content {
  background: #fff;
}
.projects-archive-cats {
  padding: 25px 5px 25px 20px;
  line-height: 1.5;
}
.projects-archive-cats + .projects-archive-cats {
  border-top: 1px solid #e0e1dd;
}
.projects-archive-cats__head {
  font-size: 1.5rem;
  font-weight: 500;
}
.projects-archive-cats-list {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.3rem;
}
.projects-archive-cats-list__item {
  margin: 15px 15px 0 0;
}
.projects-archive-cats-list__item-in {
  cursor: pointer;
}
.projects-archive-cats-list__item input {
  display: none;
}
.projects-archive-cats-list__item-txt {
  text-decoration: underline;
}
input:checked + .projects-archive-cats-list__item-txt {
  text-decoration: none;
  font-weight: 500;
  color: #ec4e4e;
}
.projects-archive__list {
  margin-top: 60px;
}
@media all and (max-width: 374px) {
  .projects-archive__trigger {
    font-size: 1.4rem;
  }
  .projects-archive__trigger-txt {
    padding-left: 10px;
  }
}
@media all and (min-width: 768px) {
  .projects-archive__trigger {
    height: 74px;
    font-size: 1.8rem;
  }
  .projects-archive__trigger-txt {
    padding: 10px 30px;
  }
  .projects-archive__trigger-txt::before {
    width: 54px;
    height: 54px;
    top: 10px;
    right: 10px;
  }
  .projects-archive__trigger::before, .projects-archive__trigger::after {
    right: 30px;
  }
  .projects-archive__content {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .projects-archive-cats {
    padding: 15px 10px 30px 60px;
    display: flex;
  }
  .projects-archive-cats__head {
    margin-top: 15px;
    font-size: 1.8rem;
    flex-basis: 267px;
    max-width: 267px;
  }
  .projects-archive-cats-list {
    flex-basis: calc(100% - 267px);
    max-width: calc(100% - 267px);
    font-size: 1.7rem;
  }
  .projects-archive-cats-list__item {
    margin: 15px 30px 0 0;
  }
}
.projects-archive__list {
  margin-top: 80px;
}

/* qualifications-info
========================================= */
.qualifications-info + .qualifications-info {
  margin-top: 10px;
}
@media all and (max-width: 767px) {
  .qualifications-info__inner {
    padding-top: 30px;
  }
}
@media all and (min-width: 768px) {
  .qualifications-info + .qualifications-info {
    margin-top: 80px;
  }
}

/* reason-field
======================================== */
.reason-field__inner {
  padding-bottom: 70px;
}
@media all and (min-width: 768px) {
  .reason-field__inner {
    padding-bottom: 150px;
  }
}

/* reason-field-intro
----------------------------------------- */
.reason-field-intro {
  padding-bottom: 35px;
}
.reason-field-intro__sub {
  margin-bottom: 0.8em;
  line-height: 1.5;
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
@media all and (max-width: 767px) {
  .reason-field-intro__img {
    margin-right: -20px;
  }
}
@media all and (min-width: 768px) {
  .reason-field-intro {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding: 100px 0 175px;
  }
  .reason-field-intro__area-txt {
    width: 520px;
    box-sizing: border-box;
    padding-right: 100px;
  }
  .reason-field-intro__sub {
    font-size: 2.8rem;
  }
  .reason-field-intro__img {
    position: absolute;
    top: 0;
    left: 520px;
    width: calc(100% - 520px);
  }
}
@media all and (min-width: 1340px ) {
  .reason-field-intro__img {
    width: 50vw;
    max-width: 930px;
  }
}

/* reason-field-list
------------------------------- */
.reason-field-list__item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.reason-field-list__item-area-link {
  position: relative;
  width: 50%;
  height: 0;
  padding-top: 50%;
  text-align: center;
  font-weight: 500;
}
.reason-field-list__item-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  align-items: center;
  padding: 20px 0 60px;
  border: 1px solid #4b5158;
  border-radius: 50%;
}
.reason-field-list__item-link-arrow {
  position: absolute;
  bottom: 20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 40px;
  height: 40px;
  background: #fff;
  border-radius: 50%;
}
.reason-field-list__item-link-arrow::before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: inline-block;
  width: 17px;
  height: 11px;
  vertical-align: middle;
  background: no-repeat center/contain;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%234b5158%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
  content: "";
  transition: all 0.3s ease;
}
.reason-field-list__item-link-num {
  margin-bottom: 11px;
  line-height: 1.5;
  color: #ec4e4e;
  font-size: 1.1rem;
  letter-spacing: 0.1em;
}
.reason-field-list__item-link-txt {
  line-height: 1.5;
  font-size: 1.5rem;
}
.reason-field-list__item-link-txt-small {
  font-size: 1.2rem;
}
.reason-field-list__item-area-txt {
  box-sizing: border-box;
  width: 50%;
  padding-left: 20px;
}
@media all and (max-width: 767px) {
  .reason-field-list__item {
    margin-bottom: -10px;
  }
}
@media (max-width: 374px) {
  .reason-field-list__item {
    margin-bottom: -7px;
  }
  .reason-field-list__item-link {
    padding: 30px 0 70px;
  }
  .reason-field-list__item-link-num {
    margin-bottom: 5px;
  }
  .reason-field-list__item-link-txt {
    font-size: 1.4rem;
  }
  .reason-field-list__item-link-arrow {
    bottom: 15px;
    width: 35px;
    height: 35px;
  }
  .reason-field-list__item-link-arrow::before {
    width: 15px;
    height: 15px;
  }
}
@media (min-width: 375px) {
  .reason-field-list__item-area-link {
    width: 170px;
    height: 170px;
    padding-top: 0;
  }
  .reason-field-list__item-area-txt {
    width: calc(100% - 170px);
  }
}
@media all and (min-width: 768px) {
  .reason-field-list {
    display: flex;
    flex-wrap: wrap;
  }
  .reason-field-list__item {
    flex-direction: column;
    width: 25%;
    margin: 0 -3px;
  }
  .reason-field-list__item:nth-of-type(4n+1) {
    margin-left: 0;
  }
  .reason-field-list__item-wrap {
    height: 100%;
  }
  .reason-field-list__item-area-link {
    width: 290px;
    height: 290px;
    margin-bottom: 20px;
  }
  .reason-field-list__item-link {
    justify-content: flex-start;
    padding: 63px 0 114px;
  }
  .reason-field-list__item-link-num {
    margin-bottom: 20px;
    font-size: 1.5rem;
  }
  .reason-field-list__item-link-txt {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    font-size: 2.2rem;
    transition: color 0.3s ease;
  }
  .reason-field-list__item-link-txt-small {
    font-size: 1.6rem;
  }
  .reason-field-list__item-link-arrow {
    bottom: 40px;
    width: 54px;
    height: 54px;
    transition: background 0.3s ease;
  }
  .reason-field-list__item-area-txt {
    width: 83%;
    height: calc(100% - 310px);
    margin-right: -20px;
    padding-left: 30px;
    border-left: 1px solid #4b5158;
  }
}
@media (hover: hover) and (pointer: fine) {
  .reason-field-list__item-link:hover .reason-field-list__item-link-txt {
    color: #ec4e4e;
  }
  .reason-field-list__item-link:hover .reason-field-list__item-link-arrow {
    background: #ec4e4e;
  }
  .reason-field-list__item-link:hover .reason-field-list__item-link-arrow::before {
    display: inline-block;
    width: 17px;
    height: 11px;
    vertical-align: middle;
    background: no-repeat center/contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2210%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m11.3%209.3%203.8-3.8H0v-1h15.1L11.3.7%2012%200l4.3%204.3.7.7-.7.7L12%2010Z%22%2F%3E%3C%2Fsvg%3E");
    content: "";
    transition: all 0.3s ease;
    -webkit-animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
    animation: arrow01Dash 0.8s cubic-bezier(1, 0, 0, 1) 1;
  }
}

/* reason-data
====================================== */
.reason-data {
  position: relative;
}
.reason-data::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: linear-gradient(40deg, #ec4e4e 85%, #fbdcd1 100%, rgba(251, 220, 209, 0) 200%);
}
.reason-data::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-size: auto auto;
  background-color: transparent;
  background-image: repeating-linear-gradient(90deg, transparent, transparent 17.6%, rgba(255, 255, 255, 0.15) 17.6%, rgba(255, 255, 255, 0.15) calc(17.6% + 1px), transparent calc(17.6% + 1px), transparent 49.8666666667%, rgba(255, 255, 255, 0.15) 49.8666666667%, rgba(255, 255, 255, 0.15) calc(49.8666666667% + 1px), transparent calc(49.8666666667% + 1px), transparent 82.1333333333%, rgba(255, 255, 255, 0.15) 82.1333333333%, rgba(255, 255, 255, 0.15) calc(82.1333333333% + 1px));
  z-index: -1;
}
.reason-data__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media all and (min-width: 768px) {
  .reason-data::before {
    background: linear-gradient(45deg, #ec4e4e 50%, #fbdcd1 100%, rgba(251, 220, 209, 0) 200%);
  }
  .reason-data::after {
    background-image: repeating-linear-gradient(90deg, transparent, transparent 18.6458333333%, rgba(255, 255, 255, 0.15) 18.6458333333%, rgba(255, 255, 255, 0.15) calc(18.6458333333% + 1px), transparent calc(18.6458333333% + 1px), transparent 39.53125%, rgba(255, 255, 255, 0.15) 39.53125%, rgba(255, 255, 255, 0.15) calc(39.53125% + 1px), transparent calc(39.53125% + 1px), transparent 60.4166666667%, rgba(255, 255, 255, 0.15) 60.4166666667%, rgba(255, 255, 255, 0.15) calc(60.4166666667% + 1px), transparent calc(60.4166666667% + 1px), transparent 81.3020833333%, rgba(255, 255, 255, 0.15) 81.3020833333%, rgba(255, 255, 255, 0.15) calc(81.3020833333% + 1px));
  }
  .reason-data__inner {
    padding-top: 150px;
    padding-bottom: 150px;
  }
}

/* reason-data-heading
-------------------------------------- */
.reason-data-heading {
  margin-bottom: 27px;
  color: #fff;
}
.reason-data-heading__head-en {
  color: #fff;
}
@media all and (min-width: 768px) {
  .reason-data-heading {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0;
  }
  .reason-data-heading__head {
    width: 364px;
  }
}

/* reason-data-sec
------------------------------------------- */
.reason-data-sec {
  margin-bottom: 20px;
  padding: 30px 20px 35px;
  background: #fff;
  text-align: center;
}
.reason-data-sec__wrap {
  margin-bottom: -20px;
}
.reason-data-sec__data {
  line-height: 1.5;
  font-weight: 500;
  font-size: 2rem;
}
.reason-data-sec__data-num {
  font-size: 6rem;
}
.reason-data-sec__btn {
  width: 240px;
  margin-top: 8px;
}
.reason-data-sec__btn.is-mt-big {
  margin-top: 20px;
}
.reason-data-sec__btn-link {
  min-height: 50px;
}
.reason-data-sec__btn-link::after {
  right: 20px;
}
.reason-data-sec__box {
  margin-bottom: 17px;
}
.reason-data-sec__box:last-child {
  margin-bottom: 0;
}
.reason-data-sec__box-img {
  padding-bottom: 15px;
  text-align: center;
}
.reason-data-sec__box-note {
  margin: -20px 0 0;
}
@media all and (min-width: 768px) {
  .reason-data-sec {
    width: calc(50% - 40px);
    box-sizing: border-box;
    margin: 0 20px 40px;
    padding: 40px 95px;
  }
  .reason-data-sec.is-wide-pc {
    width: 100%;
    padding: 50px 95px;
  }
  .reason-data-sec__wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px -40px;
  }
  .reason-data-sec__data {
    font-size: 2.8rem;
  }
  .reason-data-sec__data-num {
    font-size: 7rem;
  }
  .reason-data-sec__btn {
    width: 220px;
    margin-top: 26px;
    font-size: 1.6rem;
  }
  .reason-data-sec__btn.is-mt-big {
    margin-top: 40px;
  }
  .reason-data-sec__btn.is-clear {
    clear: both;
  }
  .reason-data-sec__btn-link {
    min-height: 70px;
    padding-left: 30px;
  }
  .reason-data-sec__btn-link::after {
    right: 25px;
  }
  .reason-data-sec__box {
    width: 360px;
  }
  .reason-data-sec__box-wrap {
    position: relative;
  }
  .reason-data-sec__box-wrap::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 1px;
    height: 100%;
    background: #e0e1dd;
  }
  .reason-data-sec__box-wrap::after {
    content: "";
    display: block;
    clear: both;
  }
  .reason-data-sec__box-note {
    float: right;
    margin: 10px -25px 0 0;
  }
  .reason-data-sec__box-img {
    padding-bottom: 0;
  }
  .reason-data-sec__box.is-left-pc {
    float: left;
  }
  .reason-data-sec__box.is-right-pc {
    float: right;
  }
  .reason-data-sec__box.has-bd-pc {
    position: relative;
    margin-bottom: 30px;
    padding-bottom: 20px;
  }
  .reason-data-sec__box.has-bd-pc::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: calc(100% + 20px);
    height: 1px;
    background: #e0e1dd;
  }
}

/* reason-data-sec-list
------------------------------------- */
.reason-data-sec-list__item {
  margin-bottom: 15px;
}
.reason-data-sec-list__item-txt {
  margin-top: 5px;
  font-size: 1.3rem;
  text-align: left;
}
@media all and (min-width: 768px) {
  .reason-data-sec-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -18px 20px;
  }
  .reason-data-sec-list__item {
    width: calc(33.3% - 36px);
    margin: 0 18px;
  }
  .reason-data-sec-list__item-head08-small {
    font-size: 1.8rem;
  }
  .reason-data-sec-list__item-txt {
    font-size: 1.6rem;
  }
}

/* reason-feature
====================================== */
.reason-feature::before {
  top: -126px;
  z-index: -2;
}
.reason-feature__inner {
  padding-top: 60px;
}
.reason-feature__btn {
  margin-top: 75px;
  max-width: 400px;
}
@media all and (min-width: 768px) {
  .reason-feature::before {
    top: -60px;
  }
  .reason-feature__inner {
    padding-top: 150px;
  }
  .reason-feature__set02-head {
    margin-right: -10px;
  }
  .reason-feature__btn {
    margin-top: 160px;
  }
}

/* .recruit-intro
================================================ */
.recruit-intro {
  position: relative;
  background: url(../img/recruit/bg_intro01_sp.png) no-repeat center 29px/100% auto;
}
.recruit-intro__inner {
  position: relative;
  padding-top: 60px;
  padding-bottom: 70px;
}
.recruit-intro__head {
  max-width: 316px;
  margin: 0 auto 30px;
  text-align: center;
}
.recruit-intro__txt {
  text-align: center;
}
.recruit-intro-mov {
  margin-top: 39px;
  position: relative;
  z-index: 1;
}
.recruit-intro-mov::before, .recruit-intro-mov::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  background: linear-gradient(45deg, #ec4e4e 50%, #fbdcd1 110%, rgba(251, 220, 209, 0) 200%);
}
.recruit-intro-mov::before {
  width: 110px;
  height: 110px;
  bottom: -20px;
  left: -20px;
}
.recruit-intro-mov::after {
  width: 80px;
  height: 80px;
  top: 12px;
  right: -20px;
}
.recruit-intro-mov__head {
  display: flex;
  align-items: center;
  margin-bottom: 19px;
}
.recruit-intro-mov__head::before {
  content: "";
  width: 40px;
  height: 0;
  border-top: 1px solid;
  margin-right: 8px;
}
.recruit-intro-mov__iframe {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}
.recruit-intro-mov__iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media all and (min-width: 768px) {
  .recruit-intro {
    background-image: url(../img/recruit/bg_intro01_pc.png);
    background-position: center 167px;
    background-size: auto auto;
  }
  .recruit-intro__inner {
    padding-top: 150px;
    padding-bottom: 195px;
  }
  .recruit-intro__head {
    max-width: 100%;
    margin-bottom: 50px;
  }
  .recruit-intro__txt {
    font-weight: 500;
    line-height: 2.6;
  }
  .recruit-intro-mov {
    margin: 100px auto 0;
    width: 860px;
  }
  .recruit-intro-mov::before {
    width: 268px;
    height: 268px;
    bottom: -60px;
    left: -100px;
  }
  .recruit-intro-mov::after {
    width: 210px;
    height: 210px;
    top: -60px;
    right: -100px;
  }
  .recruit-intro-mov__head {
    position: absolute;
    top: 0;
    left: -55px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transform-origin: left top;
    transform-origin: left top;
    font-size: 2rem;
  }
  .recruit-intro-mov__head::before {
    width: 80px;
    margin-right: 10px;
  }
}

/* .recruit-interview
================================================ */
.recruit-interview {
  position: relative;
}
.recruit-interview::before, .recruit-interview::after {
  position: absolute;
  content: "";
  pointer-events: none;
  z-index: -1;
}
.recruit-interview::before {
  width: 55.4666666667%;
  padding-top: 128%;
  max-width: 100%;
  height: 0;
  top: 34%;
  left: 0;
  pointer-events: none;
  background: url(../img/common/bg_soft05.png) no-repeat right bottom/cover;
}
.recruit-interview::after {
  width: 100%;
  padding-top: 221.0666666667%;
  height: 0;
  top: -200px;
  right: 0;
  background: url(../img/common/bg_soft04.png) no-repeat left top/cover;
}
.recruit-interview__head {
  position: relative;
  margin-bottom: -50px;
  z-index: 2;
}
.recruit-interview-sec {
  position: relative;
  z-index: 1;
}
.recruit-interview-sec + .recruit-interview-sec {
  margin-top: 30px;
}
.recruit-interview-sec + .recruit-interview-sec::after {
  left: 55px;
  right: 0;
}
.recruit-interview-sec:first-of-type .recruit-interview-sec__inner {
  padding-top: 75px;
}
.recruit-interview-sec:last-of-type {
  margin-bottom: 60px;
}
.recruit-interview-sec::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 55px;
  background: #fff;
  z-index: -1;
}
.recruit-interview-sec__inner {
  position: relative;
  padding-top: 40px;
  padding-bottom: 50px;
}
@media all and (min-width: 768px) {
  .recruit-interview::before {
    width: 40.8854166667%;
    padding-top: 74.21875%;
    top: 166px;
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
  }
  .recruit-interview::after {
    width: 51.71875%;
    padding-top: 96.09375%;
    top: 0;
  }
  .recruit-interview__head {
    margin-bottom: -75px;
  }
  .recruit-interview-sec + .recruit-interview-sec {
    margin-top: 60px;
  }
  .recruit-interview-sec + .recruit-interview-sec::after {
    left: 160px;
  }
  .recruit-interview-sec:first-of-type .recruit-interview-sec__inner {
    padding-top: 138px;
  }
  .recruit-interview-sec:last-of-type {
    margin-bottom: 150px;
  }
  .recruit-interview-sec::after {
    right: 160px;
  }
  .recruit-interview-sec__inner {
    padding-top: 90px;
    padding-bottom: 100px;
  }
}

@media all and (max-width: 767px) {
  #sustainability .l-sub-img__head-sub {
    font-size: 4.4rem;
  }
}
@media (max-width: 374px) {
  #sustainability .l-sub-img__head-sub {
    font-size: 4.2rem;
  }
}

/* sustainability-intro
============================= */
.sustainability-intro::before {
  top: 657px;
}
@media all and (min-width: 768px) {
  .sustainability-intro::before {
    top: 680px;
  }
}

/* sustainability-links
============================= */
.sustainability-links__inner {
  padding-top: 50px;
}
@media all and (min-width: 768px) {
  .sustainability-links__inner {
    padding-top: 150px;
  }
}

/* terms-sec
=================================== */
.terms-sec {
  margin-top: 55px;
}
.terms-sec + .terms-sec {
  margin-top: 40px;
}
.terms-sec__txt.has-mb {
  margin-bottom: 2em;
}
.terms-sec-detail {
  margin-top: 26px;
}
.terms-sec-detail + .terms-sec-detail {
  margin-top: 36px;
}
.terms-sec__link {
  display: inline-block;
  word-break: break-word;
}
.terms-sec__note {
  display: block;
}
.terms-sec__list01 {
  margin-top: 24px;
}
@media all and (max-width: 767px) {
  .terms-sec__link.has-mb-sp {
    margin-bottom: 0.5em;
  }
}
@media all and (min-width: 768px) {
  .terms-sec {
    margin-top: 110px;
  }
  .terms-sec + .terms-sec {
    margin-top: 75px;
  }
  .terms-sec-detail {
    margin-top: 53px;
  }
  .terms-sec-detail + .terms-sec-detail {
    margin-top: 55px;
  }
  .terms-sec__list01 {
    margin-top: 26px;
  }
}

/* terms-sec-list
------------------------------- */
.terms-sec-list {
  margin: 25px 0 40px;
  padding: 25px 20px;
  background: #fff;
}
.terms-sec-list__item {
  padding: 15px 0 12px;
  border-bottom: 1px solid #b0b4b7;
}
.terms-sec-list__item-head {
  line-height: 1.5;
  font-weight: 500;
  font-size: 1.5rem;
  text-align: left;
}
.terms-sec-list__item:first-of-type {
  padding-top: 0;
}
.terms-sec-list__item:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
}
.terms-sec-list.is-col2-pc .terms-sec-list__item:last-of-type {
  padding-bottom: 12px;
  border-bottom: 1px solid #b0b4b7;
}
@media all and (max-width: 767px) {
  .terms-sec-list__item-head {
    margin-bottom: 7px;
  }
}
@media all and (min-width: 768px) {
  .terms-sec-list {
    margin: 35px 0 50px;
    padding: 40px 60px;
  }
  .terms-sec-list__item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 26px 0;
  }
  .terms-sec-list__item-head {
    box-sizing: border-box;
    width: 266px;
    padding-right: 10px;
    font-size: 1.8rem;
  }
  .terms-sec-list.is-col2-pc {
    display: flex;
    flex-wrap: wrap;
    margin: 35px 0 40px;
  }
  .terms-sec-list.is-col2-pc .terms-sec-list__item {
    width: calc(50% - 20px);
    padding: 16px 0;
    justify-content: space-between;
  }
  .terms-sec-list.is-col2-pc .terms-sec-list__item-head.is-320-pc {
    width: 320px;
  }
  .terms-sec-list.is-col2-pc .terms-sec-list__item-txt {
    text-align: right;
  }
  .terms-sec-list.is-col2-pc .terms-sec-list__item:nth-of-type(odd) {
    margin-right: 40px;
  }
  .terms-sec-list.is-col2-pc .terms-sec-list__item:first-of-type, .terms-sec-list.is-col2-pc .terms-sec-list__item:nth-of-type(2) {
    padding-top: 0;
  }
  .terms-sec-list.is-col2-pc .terms-sec-list__item:last-of-type {
    padding-bottom: 18px;
  }
  .terms-sec-list.is-col2-pc.is-top-pc .terms-sec-list__item {
    align-items: flex-start;
  }
}