@charset "UTF-8";
:root {
  --black: 0,0,0;
  --border: 191,191,191;
  --bg: 242,242,242;
  --gradation: linear-gradient(rgb(254, 177, 33) 0%, rgb(238, 56, 72) 34.78%, rgb(170, 64, 158) 63.91%, rgb(70, 110, 237) 100%);
  --gray: 140,140,140;
  --contents_width: 1120px;
  --body_padding_side: 140px;
  --contents_width_with_padding: 1260px;
  --sidebar_width: 230px;
}

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: bold;
}

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 rgb(var(--border));
  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], input[type=submit], 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], input[type=submit], 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: rgb(var(--black));
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.02em;
}
@media all and (min-width: 768px) {
  body {
    min-width: var(--contents_width_with_padding);
  }
}

@media all and (min-width: 768px) {
  body#home {
    min-width: auto;
  }
}

.l-wrapper {
  position: relative;
}

@media all and (min-width: 768px) {
  .l-container.is-col2 {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 60px var(--sidebar_width);
    grid-template-columns: auto var(--sidebar_width);
    gap: 0 60px;
    width: var(--contents_width);
    margin: 0 auto;
  }
  .l-container.is-col2 .l-contents {
    flex: 1;
  }
  .l-container.is-col2 .l-sidebar {
    flex-basis: var(--sidebar_width);
  }
}

/* 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: 1260px) {
  .u-media-query {
    font-family: "pc";
  }
}

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

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

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

@media all and (min-width: 1260px) {
  .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: var(--contents_width_with_padding);
  }
}

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

/* 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: all 0.3s ease;
  }
  a.u-zoom:hover .u-zoom__img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

/* layout
-------------------------------------- */
.u-inner {
  box-sizing: border-box;
  padding-left: 25px;
  padding-right: 25px;
}
@media all and (min-width: 768px) {
  .u-inner {
    width: 100%;
    max-width: var(--contents_width_with_padding);
    margin-right: auto;
    margin-left: auto;
    padding-left: 70px;
    padding-right: 70px;
  }
}

@media all and (min-width: 768px) {
  .u-inner.is-no-blank {
    padding-right: 0;
    padding-left: 0;
  }
}

/* font
-------------------------------------- */
.u-font-roboto {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  letter-spacing: 0;
}

/* .c-archive01.is-pc-flex
================================================== */
@media all and (min-width: 768px) {
  .c-archive01.is-pc-flex {
    display: flex;
    flex-wrap: wrap;
  }
  .c-archive01.is-pc-flex .c-archive01__item {
    box-sizing: border-box;
    width: calc(50% - 20px);
    margin-right: 40px;
    margin-bottom: 30px;
    border-bottom: 1px solid rgb(var(--border));
  }
  .c-archive01.is-pc-flex .c-archive01__item + .c-archive01__item .c-archive01__link {
    border-top: none;
  }
  .c-archive01.is-pc-flex .c-archive01__item:nth-child(even) {
    margin-right: 0;
  }
  .c-archive01.is-pc-flex .c-archive01__item:last-child .c-archive01__link {
    padding-bottom: 30px;
  }
  .c-archive01.is-pc-flex .c-archive01__link {
    padding-top: 0;
    padding-bottom: 30px;
  }
  .c-archive01.is-pc-flex .c-archive01__img {
    width: 150px;
    margin-right: 22px;
  }
  .c-archive01.is-pc-flex .c-archive01__meta {
    margin-bottom: 5px;
  }
  .c-archive01.is-pc-flex .c-archive01__date {
    font-size: 1.6rem;
    margin: 6px 10px 8px 0;
  }
  .c-archive01.is-pc-flex .c-archive01__head {
    font-size: 1.8rem;
  }
}

/* .c-archive01
================================================== */
.c-archive01__item + .c-archive01__item .c-archive01__link {
  border-top: 1px solid rgb(var(--border));
}
.c-archive01__item:first-child .c-archive01__link {
  padding-top: 0;
}
.c-archive01__item:last-child .c-archive01__link {
  padding-bottom: 0;
}
.c-archive01__link {
  display: flex !important;
  flex-wrap: wrap;
  padding: 25px 0;
}
.c-archive01__img {
  margin-right: 15px;
  width: 40%;
  max-width: 220px;
}
.c-archive01__area-txt {
  box-sizing: border-box;
  flex: 1;
}
.c-archive01__meta {
  margin-bottom: 8px;
}
.c-archive01__date {
  color: rgb(var(--gray));
  font-size: 1.2rem;
  letter-spacing: 0.02em;
  line-height: 1.2;
  margin-bottom: 4px;
}
.c-archive01-cat {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -5px -5px 0;
}
.c-archive01-cat__item {
  background: rgb(var(--black));
  color: #fff;
  font-size: 1.1rem;
  font-weight: bold;
  line-height: 1.5;
  margin: 0 5px 5px 0;
  padding: 4px 6px;
}
.c-archive01__head {
  display: -webkit-box;
  font-size: 1.4rem;
  max-height: 4.5em;
  line-height: 1.5;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
.c-archive01__head:last-child {
  margin-bottom: 0;
}
@media all and (min-width: 768px) {
  .c-archive01__link {
    padding: 35px 0;
  }
  .c-archive01__img {
    margin-right: 34px;
    width: 220px;
  }
  .c-archive01__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-bottom: 12px;
  }
  .c-archive01__date {
    font-size: 1.3rem;
    margin: 8px 8px 8px 0;
  }
  .c-archive01-cat__item {
    font-size: 1.2rem;
    padding: 6px 14px;
  }
  .c-archive01__head {
    font-size: 1.6rem;
    max-height: 3em;
    line-height: 1.5;
    -webkit-line-clamp: 2;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-archive01__link:hover .c-archive01__head {
    text-decoration: underline;
  }
}

/* .c-archive02
================================================== */
.c-archive02 {
  margin: 0 0 -20px;
}
.c-archive02__item {
  margin: 0 0 20px;
  max-width: 610px;
}
.c-archive02__link {
  background: #fff;
  box-shadow: 0 3px 6px rgba(var(--black), 0.2);
  display: block;
}
.c-archive02__area-txt {
  box-sizing: border-box;
  padding: 20px;
}
.c-archive02__head {
  display: -webkit-box;
  color: rgba(var(--black), 0.8);
  font-size: 1.4rem;
  max-height: 3em;
  line-height: 1.5;
  margin-bottom: 12px;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
.c-archive02__head:last-child {
  margin-bottom: 0;
}
.c-archive02__company {
  color: rgb(var(--gray));
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.5;
}
.c-archive02__name {
  color: rgb(var(--gray));
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.5;
  margin-top: 4px;
}
@media all and (min-width: 768px) {
  .c-archive02__area-txt {
    padding: 23px;
  }
  .c-archive02__head {
    font-size: 1.6rem;
    margin-bottom: 15px;
  }
  .c-archive02__company {
    font-size: 1.4rem;
  }
  .c-archive02__name {
    font-size: 1.2rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-archive02__link:hover .c-archive02__head {
    text-decoration: underline;
  }
}

/* .c-archive03.is-application
================================================== */
.c-archive03.is-application .c-archive03__item-wrap {
  padding-top: 13px;
}
.c-archive03.is-application .c-archive03__item-main {
  font-size: 2.1rem !important;
}
.c-archive03.is-application .c-archive03__item-txt {
  color: rgb(var(--black));
  font-size: 1.6rem;
  max-height: 3em;
  line-height: 1.5;
  -webkit-line-clamp: 2;
  margin-bottom: 4px;
}
@media all and (min-width: 768px) {
  .c-archive03.is-application .c-archive03__item-wrap {
    padding-top: 20px;
  }
  .c-archive03.is-application .c-archive03__item-main {
    margin-bottom: 7px;
  }
  .c-archive03.is-application .c-archive03__item-txt {
    margin-bottom: 10px;
  }
}

/* .c-archive03.is-col-2
================================================== */
@media all and (min-width: 768px) {
  .c-archive03.is-col-2 {
    display: flex;
    flex-wrap: wrap;
    margin-right: -29px;
  }
  .c-archive03.is-col-2 .c-archive03__item {
    width: calc(50% - 30px);
    box-sizing: border-box;
    margin-right: 29px;
  }
  .c-archive03.is-col-2 .c-archive03__item + .c-archive03__item {
    margin-top: 0;
  }
  .c-archive03.is-col-2 .c-archive03__item-wrap {
    display: block;
  }
  .c-archive03.is-col-2 .c-archive03__item-img {
    width: 100%;
    margin-bottom: 15px;
  }
  .c-archive03.is-col-2 .c-archive03__item-area-txt {
    width: 100%;
  }
}

/* .c-archive03.is-col-3
================================================== */
.c-archive03.is-col-3 .c-archive03__item-img {
  max-height: 203px;
  background-color: rgb(var(--bg));
}
.c-archive03.is-col-3 .c-archive03__item-img img {
  height: 203px;
  -o-object-fit: cover;
  object-fit: cover;
  margin: auto;
}
@media all and (min-width: 768px) {
  .c-archive03.is-col-3 {
    display: flex;
    flex-wrap: wrap;
    margin-right: -34px;
  }
  .c-archive03.is-col-3 .c-archive03__item {
    width: calc(33.3333% - 34px);
    box-sizing: border-box;
    margin-right: 34px;
  }
  .c-archive03.is-col-3 .c-archive03__item + .c-archive03__item {
    margin-top: 0;
  }
  .c-archive03.is-col-3 .c-archive03__item-wrap {
    display: block;
  }
  .c-archive03.is-col-3 .c-archive03__item-img {
    width: 100%;
    margin-bottom: 15px;
    max-height: 219px;
  }
  .c-archive03.is-col-3 .c-archive03__item-img img {
    height: 219px;
  }
  .c-archive03.is-col-3 .c-archive03__item-area-txt {
    width: 100%;
  }
}

/* .c-archive03.is-download
================================================== */
.c-archive03.is-download .c-archive03__item-img {
  box-sizing: border-box;
  padding: 21px 0;
}
.c-archive03.is-download .c-archive03__item-img img {
  height: 161px;
}
@media all and (min-width: 768px) {
  .c-archive03.is-download .c-archive03__item-img {
    padding: 19px 0;
  }
  .c-archive03.is-download .c-archive03__item-img img {
    height: 182px;
  }
}

/* .c-archive03.is-other
================================================== */
.c-archive03.is-other .c-archive03__item {
  border-bottom: none;
  padding-bottom: 0;
}
.c-archive03.is-other .c-archive03__item + .c-archive03__item {
  margin-top: 20px;
}
.c-archive03.is-other .c-archive03__item-wrap {
  position: relative;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
.c-archive03.is-other .c-archive03__item-meta {
  margin-bottom: 0;
}
.c-archive03.is-other .c-archive03__item-cat {
  position: absolute;
  top: 0;
  left: 0;
}
.c-archive03.is-other .c-archive03__item-data {
  position: absolute;
  bottom: 21px;
  left: 15px;
}
.c-archive03.is-other .c-archive03__item-area-txt {
  padding: 0 14px 19px;
}
.c-archive03.is-other .c-archive03__item-main {
  font-size: 1.6rem;
  font-weight: 400;
}
@media all and (min-width: 768px) {
  .c-archive03.is-other .c-archive03__item {
    padding-bottom: 40px;
  }
  .c-archive03.is-other .c-archive03__item + .c-archive03__item {
    margin-top: 0;
  }
  .c-archive03.is-other .c-archive03__item-data {
    left: 20px;
    bottom: 19px;
  }
  .c-archive03.is-other .c-archive03__item-area-txt {
    padding: 0 20px 24px;
  }
}

/* .c-archive03.is-salon
================================================== */
.c-archive03.is-salon .c-archive03__item-wrap {
  padding-bottom: 28px;
}
@media all and (min-width: 768px) {
  .c-archive03.is-salon .c-archive03__item-wrap {
    padding-bottom: 20px;
  }
}

/* .c-archive03
================================================== */
.c-archive03__item {
  border-bottom: 1px solid rgba(var(--border), 0.5);
  padding-bottom: 26px;
}
.c-archive03__item + .c-archive03__item {
  margin-top: 30px;
}
.c-archive03__item-wrap {
  background-color: #fff;
}
.c-archive03__item-img {
  margin-bottom: 15px;
  text-align: center;
}
.c-archive03__item-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 10px;
}
.c-archive03__item-data {
  font-size: 1.5rem;
  color: rgb(var(--gray));
  line-height: 1.1;
  letter-spacing: 0.02em;
  margin-right: 8px;
}
.c-archive03__item-cat {
  font-size: 1.1rem;
  background-color: rgb(var(--black));
  color: #fff;
  padding: 0 6px;
  font-weight: 700;
}
.c-archive03__item-main {
  display: -webkit-box;
  font-size: 1.9rem;
  max-height: 3em;
  line-height: 1.5;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  font-weight: 700;
  margin-bottom: 5px;
}
.c-archive03__item-main:last-child {
  margin-bottom: 0;
}
.c-archive03__item-txt {
  font-size: 1.4rem;
  color: rgb(var(--gray));
  display: -webkit-box;
  max-height: 6em;
  line-height: 2;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
.c-archive03__item-company, .c-archive03__item-sub {
  color: rgb(var(--gray));
  font-size: 1.3rem;
  font-weight: 700;
  padding-top: 5px;
  line-height: 1.5;
}
.c-archive03__item-name {
  color: rgb(var(--gray));
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
  padding-top: 3px;
}
@media all and (min-width: 768px) {
  .c-archive03__item {
    padding-bottom: 36px;
  }
  .c-archive03__item + .c-archive03__item {
    margin-top: 40px;
  }
  .c-archive03__item-wrap {
    display: flex;
    flex-wrap: wrap;
  }
  .c-archive03__item-img {
    width: 220px;
    margin-bottom: 0;
  }
  .c-archive03__item-area-txt {
    width: calc(100% - 220px);
    box-sizing: border-box;
    padding-left: 23px;
  }
  .c-archive03__item-meta {
    padding-left: 2px;
  }
  .c-archive03__item-data {
    font-size: 1.6rem;
    padding-top: 1px;
    letter-spacing: 0.001em;
    margin-right: 13px;
  }
  .c-archive03__item-cat {
    font-size: 1.2rem;
    padding: 3px 14px 3px 15px;
  }
  .c-archive03__item-main {
    font-size: 2.2rem;
    letter-spacing: 0.02em;
  }
  .c-archive03__item-txt {
    font-size: 1.6rem;
    max-height: 4em;
    -webkit-line-clamp: 2;
  }
  .c-archive03__item-company, .c-archive03__item-sub {
    font-size: 1.4rem;
  }
}

/* .c-bg01
================================================== */
.c-bg01 {
  position: relative;
}
.c-bg01::before {
  content: "";
  display: block;
  width: 350px;
  height: 400px;
  position: absolute;
  left: 0;
  top: 0;
  background: url(../img/common/bg_wave01_sp.png) no-repeat left top/contain;
  z-index: -1;
}
@media all and (min-width: 768px) {
  .c-bg01::before {
    background-image: url(../img/common/bg_wave01_pc.png);
    width: 1010px;
    height: 1148px;
  }
}

/* .c-btn01.is-download
================================================== */
.c-btn01.is-download .c-btn01__link {
  padding-left: 54px;
}
@media all and (min-width: 768px) {
  .c-btn01.is-download .c-btn01__link {
    padding-left: 65px;
  }
}

/* .c-btn01.is-jp
================================================== */
.c-btn01.is-jp .c-btn01__link {
  font-size: 1.4rem;
}
@media all and (min-width: 768px) {
  .c-btn01.is-jp .c-btn01__link {
    font-size: 1.8rem;
  }
}

/* .c-btn01.is-pc-left
================================================== */
@media all and (min-width: 768px) {
  .c-btn01.is-pc-left {
    margin-left: 0;
  }
}

/* .c-btn01.is-txt-center
================================================== */
.c-btn01.is-txt-center {
  margin-top: 65px;
}
.c-btn01.is-txt-center .c-btn01__link {
  justify-content: center;
  padding-right: 24px;
  font-size: 1.4rem;
  font-weight: 700;
}
@media all and (min-width: 768px) {
  .c-btn01.is-txt-center {
    margin-top: 30px;
  }
  .c-btn01.is-txt-center .c-btn01__link {
    font-size: 1.8rem;
  }
}

/* .c-btn01.is-white
================================================== */
.c-btn01.is-white .c-btn01__link {
  background: #fff;
  border: 1px solid #fff;
  color: rgb(var(--black));
}
@media (hover: hover) and (pointer: fine) {
  .c-btn01.is-white .c-btn01__link:hover {
    background: transparent;
    color: #fff;
  }
}

/* .c-btn01
================================================== */
.c-btn01 {
  margin: 30px auto 0;
  width: 270px;
  max-width: 100%;
}
.c-btn01__link {
  transition: all 0.3s ease;
  background: rgb(var(--black));
  border: 1px solid rgb(var(--black));
  box-sizing: border-box;
  color: #fff;
  min-height: 70px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 16px 65px 16px 25px;
  position: relative;
  width: 100%;
}
.c-btn01__ico {
  border: 1px solid #bfbfbf;
  border-radius: 50%;
  box-sizing: border-box;
  height: 40px;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 40px;
}
.c-btn01__ico svg {
  height: 9px;
  width: 18px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.c-btn01__ico.is-download {
  right: auto;
  left: 14px;
  border: none;
}
.c-btn01__ico.is-download svg {
  width: 16px;
  height: 22px;
}
@media all and (min-width: 768px) {
  .c-btn01 {
    margin: 50px auto 0;
    width: 350px;
  }
  .c-btn01__link {
    min-height: 90px;
    font-size: 2rem;
    padding: 16px 85px 16px 30px;
  }
  .c-btn01__ico {
    right: 24px;
  }
  .c-btn01__ico.is-download {
    left: 22px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-btn01__link:hover {
    background: transparent;
    color: rgb(var(--black));
  }
}

/* .c-btn01.is-right-upper-tb
================================================== */
@media all and (min-width: 1260px) {
  .c-btn01.is-right-pc {
    margin-left: auto;
    margin-right: 0;
  }
}

/* .c-card01
================================================== */
.c-card01__item + .c-card01__item {
  margin-top: 36px;
}
.c-card01__item-img {
  max-width: 160px;
  margin: auto auto 17px;
}
.c-card01__item-area-txt {
  color: #fff;
  text-align: center;
}
.c-card01__item-head {
  font-size: 3.2rem;
  line-height: 1.1;
  margin-bottom: 7px;
}
.c-card01__item-head-style {
  font-size: 2.4rem;
}
@media all and (min-width: 768px) {
  .c-card01 {
    display: flex;
    flex-wrap: wrap;
    padding-left: 35px;
  }
  .c-card01__item + .c-card01__item {
    margin-top: 0;
  }
  .c-card01__item:first-of-type {
    margin-right: 62px;
  }
  .c-card01__item:nth-of-type(2) {
    margin-right: 79px;
  }
  .c-card01__item-img {
    max-width: 180px;
    margin-bottom: 37px;
  }
  .c-card01__item-head {
    font-size: 4.4rem;
    margin-bottom: 22px;
  }
  .c-card01__item-head-style {
    font-size: 3.6rem;
  }
}

/* .c-cat01
================================================== */
.c-cat01 {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-bottom: 40px;
}
.c-cat01__item {
  font-size: 1.5rem;
  text-align: center;
  margin-right: 10px;
  width: 100px;
  max-width: 100px;
}
.c-cat01__item:first-of-type {
  width: 104px;
  max-width: 104px;
}
.c-cat01__item-link {
  display: block;
  border-radius: 30px;
  border: 1px solid rgb(var(--black));
  padding: 1px 0 3px;
}
.c-cat01__item-link.is-current {
  background-color: rgb(var(--black));
  color: #fff;
}
@media all and (max-width: 374px) {
  .c-cat01__item {
    width: 85px;
    margin-right: 8px;
  }
  .c-cat01__item:first-of-type {
    width: 85px;
  }
}
@media all and (min-width: 768px) {
  .c-cat01 {
    margin-bottom: 60px;
  }
  .c-cat01__item {
    font-size: 1.8rem;
    width: 120px;
    max-width: 120px;
    margin-right: 15px;
  }
  .c-cat01__item:first-of-type {
    width: 120px;
    max-width: 120px;
  }
  .c-cat01__item-link {
    padding: 2px 0 4px;
    transition: all 0.3s ease;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-cat01__item-link:hover {
    background-color: rgb(var(--black));
    color: #fff;
  }
}

/* .c-color-black
================================================== */
.c-color-black {
  color: rgb(var(--black));
}

/* .c-color-white
================================================== */
.c-color-white {
  color: #fff;
}

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

/* .c-color-gray
================================================== */
.c-color-gray {
  color: rgb(var(--gray));
}

/* .c-color-grad01
================================================== */
.c-color-grad01 {
  color: var(--gradation);
}

/* .c-connection01
================================================== */
.c-connection01 {
  background-color: rgb(var(--bg));
}
.c-connection01__inner {
  padding-top: 43px;
  padding-bottom: 60px;
}
@media all and (min-width: 768px) {
  .c-connection01__inner {
    padding-top: 109px;
    padding-bottom: 120px;
  }
}

/* .c-cv01
================================================== */
.c-cv01 {
  background: url(../img/common/bg_cv01_sp.png) no-repeat center/cover;
  color: #fff;
}
.c-cv01__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
.c-cv01__head {
  font-size: 5.2rem;
  line-height: 1.2;
  margin-bottom: 30px;
  text-align: center;
}
.c-cv01-link {
  position: relative;
  z-index: 1;
}
.c-cv01-link__item {
  border: 2px solid #fff;
  box-sizing: border-box;
  display: block;
  padding: 30px 88px 32px 18px;
  position: relative;
}
.c-cv01-link__item:not(:first-child) {
  border-top: none;
}
.c-cv01-link__txt {
  display: block;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.7;
}
.c-cv01-link__en {
  display: block;
  font-size: 1.7rem;
  line-height: 1.2;
}
.c-cv01-link__arrow {
  border: 1px solid currentColor;
  box-sizing: border-box;
  border-radius: 50%;
  height: 60px;
  position: absolute;
  top: 50%;
  right: 18px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 60px;
}
.c-cv01-link__arrow-ico {
  height: 9px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 18px;
}
.c-cv01-link__bg {
  transition: opacity 1s ease;
  opacity: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  z-index: -1;
}
.c-cv01-link__bg img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}
@media all and (max-width: 374px) {
  .c-cv01-link__item {
    padding-right: 78px;
  }
  .c-cv01-link__txt {
    font-size: 1.9rem;
  }
  .c-cv01-link__arrow {
    height: 50px;
    width: 50px;
  }
}
@media all and (min-width: 768px) {
  .c-cv01 {
    background-image: url(../img/common/bg_cv01_pc.png);
  }
  .c-cv01__inner {
    padding-top: 150px;
    padding-bottom: 150px;
  }
  .c-cv01__head {
    font-size: 8rem;
    margin-bottom: 60px;
  }
  .c-cv01-link__item {
    padding: 40px 130px 40px 40px;
  }
  .c-cv01-link__txt {
    font-size: 3.1rem;
  }
  .c-cv01-link__en {
    font-size: 2.2rem;
    margin-top: 2px;
  }
  .c-cv01-link__arrow {
    height: 80px;
    right: 30px;
    width: 80px;
  }
}
@media all and (min-width: 1260px) {
  .c-cv01-link {
    display: flex;
  }
  .c-cv01-link__item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 510px;
    padding: 130px 40px;
    width: 33.33%;
  }
  .c-cv01-link__item:not(:first-child) {
    border-top: 2px solid #fff;
    border-left: none;
  }
  .c-cv01-link__arrow {
    top: auto;
    bottom: 30px;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-cv01-link {
    pointer-events: none;
  }
  .c-cv01-link:hover .c-cv01-link__item:not(:hover) {
    color: rgba(255, 255, 255, 0.4);
  }
  .c-cv01-link__item {
    transition: color 0.3s ease;
    pointer-events: auto;
  }
  .c-cv01-link__item:hover + .c-cv01-link__bg {
    opacity: 1;
  }
}

/* .c-form01-agreement
================================================== */
.c-form01-agreement {
  margin-top: 35px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  line-height: 1.5;
}
.c-form01-agreement .wpcf7-list-item {
  margin: 0;
}
.c-form01-agreement__txt {
  margin-top: 30px;
  font-size: 1.4rem;
  text-align: center;
}
.c-form01-agreement__txt a[target=_blank]::after {
  content: "";
  margin-left: 5px;
  margin-right: 5px;
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #000;
  color: #000;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10"><path d="M4 1h5v5H4ZM3 7h7V0H3Z"/><path d="M0 3v7h7V8H6v1H1V4h1V3Z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10"><path d="M4 1h5v5H4ZM3 7h7V0H3Z"/><path d="M0 3v7h7V8H6v1H1V4h1V3Z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
@media all and (min-width: 768px) {
  .c-form01-agreement {
    margin-top: 40px;
  }
  .c-form01-agreement__txt {
    margin-top: 40px;
    font-size: 1.5rem;
    text-align: center;
  }
}

/* .c-form01-btn
================================================== */
.c-form01-btn {
  position: relative;
  max-width: 270px;
  min-height: 70px;
  margin: 0 auto;
}
.c-form01-btn input {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 270px;
  min-height: 70px;
  text-align: left;
  line-height: 1.5;
  border: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-weight: 700;
  z-index: 0;
  margin-top: 40px;
  font-size: 1.4rem;
  color: #fff;
  background: #00BCD4;
  border: 1px solid #00BCD4;
  cursor: pointer !important;
}
.c-form01-btn .wpcf7-spinner {
  display: none;
}
.c-form01-btn::before {
  position: absolute;
  content: "";
  top: 50%;
  right: 35px;
  -webkit-transform: translateY(-50%) translateX(50%);
  transform: translateY(-50%) translateX(50%);
  width: 18px;
  height: 9px;
  background-color: #fff;
  color: #fff;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="9"><path fill="currentColor" d="M12.123 7.875 14.817 5.3H0V3.7h14.818l-2.7-2.58L13.3 0 18 4.5 13.3 9Z"/></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="9"><path fill="currentColor" d="M12.123 7.875 14.817 5.3H0V3.7h14.818l-2.7-2.58L13.3 0 18 4.5 13.3 9Z"/></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.c-form01-btn::after {
  position: absolute;
  content: "";
  border: 1px solid #bfbfbf;
  border-radius: 50%;
  box-sizing: border-box;
  height: 40px;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 40px;
}
@media all and (min-width: 768px) {
  .c-form01-btn {
    margin-top: 50px;
    max-width: 350px;
    height: 90px;
  }
  .c-form01-btn input {
    max-width: 350px;
    height: 90px;
    font-size: 1.8rem;
    transition: all 0.3s ease;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-form01-btn::after {
    transition: all 0.3s ease;
  }
  .c-form01-btn:hover input {
    background: #fff;
    color: #00BCD4;
  }
  .c-form01-btn:hover::before {
    background: #00BCD4;
  }
}

/* .c-form01 .c-form01-agreement__checkbox
================================================ */
.c-form01 .c-form01-agreement__checkbox,
.c-form01 .c-checkbox {
  display: block;
}
.c-form01 .c-form01-agreement__checkbox + .c-form01-agreement__checkbox,
.c-form01 .c-form01-agreement__checkbox + .c-checkbox,
.c-form01 .c-checkbox + .c-form01-agreement__checkbox,
.c-form01 .c-checkbox + .c-checkbox {
  margin-top: 10px;
}
.c-form01 .c-form01-agreement__checkbox label,
.c-form01 .c-checkbox label {
  display: block;
  cursor: pointer;
}
.c-form01 .c-form01-agreement__checkbox input,
.c-form01 .c-checkbox input {
  border-width: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
}
.c-form01 .c-form01-agreement__checkbox .wpcf7-list-item-label,
.c-form01 .c-form01-agreement__checkbox .c-checkbox__text,
.c-form01 .c-checkbox .wpcf7-list-item-label,
.c-form01 .c-checkbox .c-checkbox__text {
  position: relative;
  display: inline-flex;
  padding-left: 40px;
  min-height: 30px;
  vertical-align: top;
}
.c-form01 .c-form01-agreement__checkbox .wpcf7-list-item-label::before,
.c-form01 .c-form01-agreement__checkbox .c-checkbox__text::before,
.c-form01 .c-checkbox .wpcf7-list-item-label::before,
.c-form01 .c-checkbox .c-checkbox__text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 30px;
  height: 30px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #F2F2F2;
  box-sizing: border-box;
}
.c-form01 .c-form01-agreement__checkbox .wpcf7-list-item-label::after,
.c-form01 .c-form01-agreement__checkbox .c-checkbox__text::after,
.c-form01 .c-checkbox .wpcf7-list-item-label::after,
.c-form01 .c-checkbox .c-checkbox__text::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 30px;
  height: 30px;
  background-color: #000;
  -webkit-mask-image: url('data:image/svg+xml;uft8,<svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewBox="0 0 26 26" fill="none" stroke="currentColor" stroke-width="3px" stroke-linecap="square" stroke-linejoin="arcs"><polyline points="20 6 9 17 4 12"></polyline></svg>');
  mask-image: url('data:image/svg+xml;uft8,<svg xmlns="http://www.w3.org/2000/svg" width="20px" height="20px" viewBox="0 0 26 26" fill="none" stroke="currentColor" stroke-width="3px" stroke-linecap="square" stroke-linejoin="arcs"><polyline points="20 6 9 17 4 12"></polyline></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all 0.3s ease;
  -webkit-transform: translateY(-50%) scale(0);
  transform: translateY(-50%) scale(0);
}
.c-form01 .c-form01-agreement__checkbox input:checked + .wpcf7-list-item-label::after,
.c-form01 .c-form01-agreement__checkbox input:checked + .c-checkbox__text::after,
.c-form01 .c-checkbox input:checked + .wpcf7-list-item-label::after,
.c-form01 .c-checkbox input:checked + .c-checkbox__text::after {
  -webkit-transform: translateY(-50%) scale(1);
  transform: translateY(-50%) scale(1);
}

.c-checkbox-list {
  display: flex;
  flex-wrap: wrap;
}
.c-checkbox-list .c-form01-agreement__checkbox,
.c-checkbox-list .c-checkbox {
  display: inline-block;
  margin-right: 20px;
}
.c-checkbox-list .c-form01-agreement__checkbox + .c-form01-agreement__checkbox, .c-checkbox-list .c-form01-agreement__checkbox + .c-checkbox,
.c-checkbox-list .c-checkbox + .c-form01-agreement__checkbox,
.c-checkbox-list .c-checkbox + .c-checkbox {
  margin-top: 0;
}

/* .c-form01
================================================== */
input.c-form01-parts,
select.c-form01-parts,
textarea.c-form01-parts,
button.c-form01-parts {
  box-sizing: border-box;
  display: block;
  width: 100%;
  padding: 15px;
  border: 0;
  background: #F2F2F2;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
}
input.c-form01-parts::-webkit-input-placeholder, select.c-form01-parts::-webkit-input-placeholder, textarea.c-form01-parts::-webkit-input-placeholder, button.c-form01-parts::-webkit-input-placeholder {
  color: #BFBFBF;
}
input.c-form01-parts::-moz-placeholder, select.c-form01-parts::-moz-placeholder, textarea.c-form01-parts::-moz-placeholder, button.c-form01-parts::-moz-placeholder {
  color: #BFBFBF;
}
input.c-form01-parts:-ms-input-placeholder, select.c-form01-parts:-ms-input-placeholder, textarea.c-form01-parts:-ms-input-placeholder, button.c-form01-parts:-ms-input-placeholder {
  color: #BFBFBF;
}
input.c-form01-parts::-ms-input-placeholder, select.c-form01-parts::-ms-input-placeholder, textarea.c-form01-parts::-ms-input-placeholder, button.c-form01-parts::-ms-input-placeholder {
  color: #BFBFBF;
}
input.c-form01-parts::placeholder,
select.c-form01-parts::placeholder,
textarea.c-form01-parts::placeholder,
button.c-form01-parts::placeholder {
  color: #BFBFBF;
}
@media all and (min-width: 768px) {
  input.c-form01-parts,
select.c-form01-parts,
textarea.c-form01-parts,
button.c-form01-parts {
    padding: 20px;
    font-size: 1.6rem;
  }
  input.c-form01-parts.is-min,
select.c-form01-parts.is-min,
textarea.c-form01-parts.is-min,
button.c-form01-parts.is-min {
    max-width: 220px;
  }
  input.c-form01-parts.is-large,
select.c-form01-parts.is-large,
textarea.c-form01-parts.is-large,
button.c-form01-parts.is-large {
    max-width: 100%;
  }
}

textarea.c-form01-parts {
  height: 160px;
  resize: vertical;
}
@media all and (min-width: 768px) {
  textarea.c-form01-parts {
    height: 300px;
  }
}

select.c-form01-parts {
  padding-right: 20px;
  background: #fff no-repeat right 15px top 50%/12px;
  border: 1px solid #BFBFBF;
  background-image: 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%227%22%3E%3Cpath%20d%3D%22M6%207%200%200h12Z%22%20data-name%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2%2027%22%2F%3E%3C%2Fsvg%3E");
}
@media all and (min-width: 768px) {
  select.c-form01-parts {
    width: 400px;
  }
}

.c-form01-parts-list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -20px;
}
.c-form01-parts-list .c-form01-parts {
  margin-right: 20px;
  width: 300px;
}
.c-form01-parts-list.is-flex-enb {
  justify-content: flex-end;
}

/* .c-form01.is-default
================================================== */
.c-form01.is-default tr {
  border-bottom: 1px solid #ddd;
}
.c-form01.is-default tr:first-of-type {
  border-top: 1px solid #ddd;
}
.c-form01.is-default th, .c-form01.is-default td {
  line-height: 1.5;
  box-sizing: border-box;
}
.c-form01.is-default th {
  padding: 15px 0 10px;
  text-align: left;
}
.c-form01.is-default td {
  padding-bottom: 20px;
}
@media all and (max-width: 767px) {
  .c-form01.is-default table {
    margin-bottom: 30px;
  }
  .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;
  }
}
@media all and (min-width: 768px) {
  .c-form01.is-default table {
    margin-bottom: 60px;
  }
  .c-form01.is-default th, .c-form01.is-default td {
    vertical-align: top;
  }
  .c-form01.is-default th {
    position: relative;
    width: 300px;
  }
  .c-form01.is-default th > span {
    position: relative;
    display: block;
    padding-right: 64px;
  }
  .c-form01.is-default th {
    font-size: 1.7rem;
    padding: 48px 0;
  }
  .c-form01.is-default td {
    padding: 30px 20px 30px 25px;
  }
}

/* .c-form01-wrap
================================================== */
@media all and (min-width: 768px) {
  .c-form01-wrap {
    position: relative;
    margin-top: 60px;
    z-index: 0;
  }
  .c-form01-wrap::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scaleX(1.1490909091) scaleY(1.1645493043);
    transform: translate(-50%, -50%) scaleX(1.1490909091) scaleY(1.1645493043);
    z-index: -1;
    border-radius: 999px;
    -webkit-filter: blur(87px);
    filter: blur(87px);
  }
}

/* .c-form01-label
================================================== */
.c-form01-label {
  display: -ms-inline-grid;
  display: inline-grid;
  place-content: center;
  width: 46px;
  height: 20px;
  margin-left: 12px;
  font-size: 1.1rem;
  color: #fff;
  line-height: 1.1;
  background: #607D8B;
}
.c-form01-label.is-required {
  background: #F44336;
}
@media all and (min-width: 768px) {
  .c-form01-label {
    position: absolute;
    top: 3px;
    right: 0;
    width: 54px;
    height: 22px;
    font-size: 1.3rem;
  }
}

/* .c-form01-postcode
================================================== */
.c-form01-postcode {
  display: flex;
  flex-wrap: wrap;
}
.c-form01-postcode__prefix {
  max-width: 26px;
  margin-right: 12px;
  padding-top: 4px;
}
.c-form01-postcode__input {
  flex-basis: 120px;
}
.c-form01-postcode__addr {
  margin-top: 15px;
}
.c-form01-postcode__addr input {
  max-width: 100%;
}
@media all and (min-width: 768px) {
  .c-form01-postcode__input {
    flex-basis: 200px;
  }
}

/* .c-form01-item
================================================== */
.c-form01-item {
  display: flex;
}
.c-form01-item + .c-form01-item {
  margin-top: 10px;
}
.c-form01-item-list {
  display: flex;
}
.c-form01-item-list .c-form01-item + .c-form01-item {
  margin-top: 0;
  margin-left: 14px;
}
.c-form01-item__prefix {
  min-width: 20px;
  margin-right: 10px;
  padding-top: 5px;
}
.c-form01-item__suffix {
  min-width: 20px;
  margin-left: 10px;
  padding-top: 5px;
}
.c-form01-item__input {
  flex: 1;
  min-width: 80px;
}
@media all and (min-width: 768px) {
  .c-form01-item {
    display: inline-flex;
  }
  .c-form01-item + .c-form01-item {
    margin: 0 0 0 20px;
  }
  .c-form01-item__input {
    width: 200px;
  }
  .c-form01-item-list .c-form01-item__input {
    width: auto;
  }
}

/* .c-form01-address
================================================== */
.c-form01-address {
  margin-top: 15px;
}

/* .c-form01-thanks
================================================ */
.c-form01-thanks__txt {
  margin-bottom: 1em;
}
@media all and (min-width: 768px) {
  .c-form01-thanks__btn {
    margin-top: 50px;
  }
}

/* .c-head01
================================================== */
.c-head01 {
  margin-bottom: 30px;
}
.c-head01__en {
  font-size: 5.2rem;
  line-height: 96px;
  line-height: 1.2;
}
.c-head01__ja {
  color: rgb(var(--gray));
  font-weight: bold;
  font-size: 1.3rem;
  line-height: 1.5;
  margin-top: 6px;
  padding-left: 24px;
  position: relative;
}
.c-head01__ja::before {
  content: "";
  background: var(--gradation);
  display: block;
  height: 2px;
  width: 15px;
  position: absolute;
  top: 0.7em;
  left: 0;
}
.c-head01__main + .c-head01__lead {
  margin-top: 30px;
}
.c-head01__lead {
  font-size: 1.6rem;
  line-height: 2;
}
@media all and (min-width: 768px) {
  .c-head01 {
    margin-bottom: 58px;
  }
  .c-head01__en {
    font-size: 8rem;
  }
  .c-head01__ja {
    font-size: 1.5rem;
  }
  .c-head01__main + .c-head01__lead {
    margin-top: 54px;
  }
}

/* .c-head01.is-inline-upper-tb
================================================== */
@media all and (min-width: 768px) {
  .c-head01.is-inline-upper-tb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .c-head01.is-inline-upper-tb .c-head01__main + .c-head01__lead {
    margin-top: 0;
  }
  .c-head01.is-inline-upper-tb .c-head01__lead {
    margin-left: 86px;
  }
}

/* .c-head02
================================================== */
.c-head02 {
  font-size: 2.6rem;
  position: relative;
  text-align: center;
  padding-bottom: 5px;
  margin-bottom: 30px;
}
.c-head02::before {
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  background: linear-gradient(to right, #feb121 0%, #ee3848 34.78%, #aa409e 63.91%, #466eed 100%);
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
}
@media all and (min-width: 768px) {
  .c-head02 {
    font-size: 4rem;
    padding-bottom: 12px;
    margin-bottom: 60px;
  }
  .c-head02::before {
    width: 50px;
  }
}

/* .c-head03.has-price
================================================== */
.c-head03.has-price {
  margin-bottom: 0;
}
.c-head03.has-price::before {
  content: none;
}
.c-head03.has-price .c-head03__jp {
  font-size: 1.5rem;
}
@media all and (min-width: 768px) {
  .c-head03.has-price {
    padding-bottom: 0;
  }
  .c-head03.has-price .c-head03__jp {
    font-size: 1.7rem;
  }
  .c-head03.has-price .c-head03__en {
    margin-bottom: 0px;
  }
}

/* .c-head03.is-jp
================================================== */
.c-head03.is-jp {
  padding-bottom: 17px;
}
.c-head03.is-jp .c-head03__jp {
  color: rgb(var(--black));
  font-size: 2.6rem;
  line-height: 1.5;
}
@media all and (min-width: 768px) {
  .c-head03.is-jp {
    padding-bottom: 22px;
  }
  .c-head03.is-jp .c-head03__jp {
    font-size: 4rem;
  }
}

/* .c-head03.is-left
================================================== */
.c-head03.is-left {
  text-align: left;
}
.c-head03.is-left::before {
  left: 0;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

/* .c-head03.is-pc-left
================================================== */
@media all and (min-width: 768px) {
  .c-head03.is-pc-left {
    text-align: left;
  }
  .c-head03.is-pc-left::before {
    left: 0;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

/* .c-head03.is-reverse
================================================== */
.c-head03.is-reverse {
  padding-bottom: 15px;
  margin-bottom: 21px;
}
.c-head03.is-reverse .c-head03__sub {
  color: rgb(var(--gray));
  font-size: 1.3rem;
  line-height: 1.5;
  margin-bottom: 1px;
}
.c-head03.is-reverse .c-head03__jp {
  font-size: 2.6rem;
  color: rgb(var(--black));
  line-height: 1.3;
}
@media all and (min-width: 768px) {
  .c-head03.is-reverse {
    padding-bottom: 27px;
  }
  .c-head03.is-reverse .c-head03__sub {
    font-size: 2rem;
    margin-bottom: 8px;
  }
  .c-head03.is-reverse .c-head03__jp {
    font-size: 4.8rem;
  }
}

/* .c-head03.is-white
================================================== */
.c-head03.is-white .c-head03__en {
  color: #fff;
}
.c-head03.is-white .c-head03__jp {
  color: #fff;
}

/* .c-head03
================================================== */
.c-head03 {
  text-align: center;
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 27px;
}
.c-head03::before {
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  background: linear-gradient(to right, #feb121 0%, #ee3848 34.78%, #aa409e 63.91%, #466eed 100%);
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
}
.c-head03__en {
  font-size: 4rem;
  line-height: 1.1;
}
.c-head03__jp {
  font-size: 1.1rem;
  color: rgb(var(--gray));
}
@media all and (min-width: 768px) {
  .c-head03 {
    padding-bottom: 18px;
    margin-bottom: 37px;
  }
  .c-head03::before {
    width: 50px;
  }
  .c-head03__en {
    font-size: 7rem;
    margin-bottom: 8px;
  }
  .c-head03__jp {
    font-size: 1.5rem;
  }
}

/* .c-ico
================================================== */
.c-ico {
  display: inline-flex;
  vertical-align: middle;
}
.c-ico svg {
  transition: all 0.3s ease;
}

/* .c-list01
================================================== */
.c-list01 {
  margin-top: 17px;
}
.c-list01__item {
  position: relative;
  padding-left: 10px;
  font-size: 1.4rem;
  line-height: 1.5;
}
.c-list01__item::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: rgb(var(--gray));
}
.c-list01__item + .c-list01__item {
  margin-top: 9px;
}
@media all and (min-width: 768px) {
  .c-list01 {
    margin-top: 26px;
  }
  .c-list01__item {
    font-size: 1.6rem;
    padding-left: 13px;
  }
  .c-list01__item::before {
    left: 3px;
  }
  .c-list01__item + .c-list01__item {
    margin-top: 10px;
  }
}

/* .c-list02
================================================== */
.c-list02 {
  margin-top: 17px;
}
.c-list02__item {
  position: relative;
  padding-left: 16px;
  line-height: 1.5;
  font-size: 1.4rem;
  counter-increment: number 1;
}
.c-list02__item + .c-list02__item {
  margin-top: 9px;
}
.c-list02__item:before {
  content: counter(number, decimal-leading-zero);
  position: absolute;
  top: 2px;
  left: 0;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 1.2rem;
  color: rgb(var(--gray));
}
@media all and (min-width: 768px) {
  .c-list02 {
    margin-top: 13px;
  }
  .c-list02__item {
    font-size: 1.6rem;
    padding-left: 19px;
  }
  .c-list02__item::before {
    font-size: 1.4rem;
    top: 4px;
  }
  .c-list02__item + .c-list02__item {
    margin-top: 10px;
  }
}

.c-pager01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 50px -1px 0;
  overflow: hidden;
  text-align: center;
}
.c-pager01 li {
  margin: 0 4px 10px;
}
.c-pager01 li a, .c-pager01 li span {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgb(var(--black));
  box-sizing: border-box;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  font-size: 1.8rem;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
}
.c-pager01 li.pages span {
  width: auto;
  border: 0;
}
.c-pager01 li.current span {
  background: rgb(var(--black));
  color: #fff;
}
.c-pager01 li.previous a, .c-pager01 li.next a {
  width: 30px;
  display: block;
}
.c-pager01 li.previous a::before, .c-pager01 li.next a::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  width: 10px;
  height: 10px;
}
.c-pager01 li.previous {
  position: relative;
  margin-right: 13px;
  margin-left: 0;
}
.c-pager01 li.previous a {
  display: block;
  overflow: hidden;
  text-indent: 500%;
  white-space: nowrap;
}
.c-pager01 li.previous a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto auto auto 12px;
  pointer-events: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216.912%22%20height%3D%2216.912%22%20viewBox%3D%220%200%2016.912%2016.912%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_28081%22%20data-name%3D%22%E3%83%91%E3%82%B9%2028081%22%20d%3D%22M0%2C0H10.959V10.959%22%20transform%3D%22translate(9.163%2016.205)%20rotate(-135)%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E");
}
.c-pager01 li.next {
  position: relative;
  margin-left: 13px;
  margin-right: 0;
}
.c-pager01 li.next a {
  overflow: hidden;
  text-indent: 500%;
  white-space: nowrap;
}
.c-pager01 li.next a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  margin: auto 12px auto auto;
  pointer-events: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216.912%22%20height%3D%2216.912%22%20viewBox%3D%220%200%2016.912%2016.912%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_28081%22%20data-name%3D%22%E3%83%91%E3%82%B9%2028081%22%20d%3D%22M0%2C0H10.959V10.959%22%20transform%3D%22translate(9.163%2016.205)%20rotate(-135)%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E");
}
.c-pager01 li.extend span {
  border: 0;
}
@media all and (max-width: 374px) {
  .c-pager01 li a, .c-pager01 li span {
    width: 30px;
  }
  .c-pager01 li.previous {
    margin-right: 10px;
  }
  .c-pager01 li.next {
    margin-left: 10px;
  }
}
@media all and (min-width: 768px) {
  .c-pager01 {
    margin: 60px 0 0;
  }
  .c-pager01 li a, .c-pager01 li span {
    width: 60px;
    height: 60px;
    font-size: 2.7rem;
    border-width: 2px;
  }
  .c-pager01 li {
    margin: 0 5px 10px;
  }
  .c-pager01 li.previous a, .c-pager01 li.next a {
    width: 60px;
  }
  .c-pager01 li.previous a::before, .c-pager01 li.next a::before {
    margin: auto;
    width: 17px;
    height: 17px;
  }
  .c-pager01 li.previous {
    margin-right: 15px;
  }
  .c-pager01 li.previous a::before {
    left: 3px;
  }
  .c-pager01 li.previous a:hover::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216.912%22%20height%3D%2216.912%22%20viewBox%3D%220%200%2016.912%2016.912%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_28081%22%20data-name%3D%22%E3%83%91%E3%82%B9%2028081%22%20d%3D%22M0%2C0H10.959V10.959%22%20transform%3D%22translate(9.163%2016.205)%20rotate(-135)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E");
  }
  .c-pager01 li.next {
    margin-left: 15px;
  }
  .c-pager01 li.next a::before {
    right: 7px;
  }
  .c-pager01 li.next a:hover::before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216.912%22%20height%3D%2216.912%22%20viewBox%3D%220%200%2016.912%2016.912%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_28081%22%20data-name%3D%22%E3%83%91%E3%82%B9%2028081%22%20d%3D%22M0%2C0H10.959V10.959%22%20transform%3D%22translate(9.163%2016.205)%20rotate(-135)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E");
  }
  .c-pager01 li a {
    transition: all 0.3s ease;
  }
  .c-pager01 li a:hover {
    border: 2px solid rgb(var(--black));
    background-color: rgb(var(--black));
    color: #fff;
    text-decoration: none;
  }
}

/*  .c-pager02
================================================== */
.c-pager02 {
  position: relative;
  padding-bottom: 77px;
  padding-top: 28px;
  overflow: hidden;
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  border-top: 1px solid rgb(var(--black));
}
.c-pager02__ico {
  color: rgb(var(--black));
  width: 18px;
  margin-top: 13px;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.c-pager02__ico::before {
  content: "";
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -15px;
  left: -11px;
  width: 40px;
  height: 40px;
  border: 1px solid rgb(var(--black));
  border-radius: 50%;
  box-sizing: border-box;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}
.c-pager02__prev, .c-pager02__next {
  position: absolute;
  top: 18px;
  box-sizing: border-box;
}
.c-pager02__prev a, .c-pager02__next a {
  position: relative;
  box-sizing: border-box;
  font-weight: 700;
  font-size: 1.4rem;
  text-decoration: none;
  padding-top: 43px;
  display: block;
}
.c-pager02__prev {
  left: 32px;
}
.c-pager02__prev .c-pager02__ico {
  -webkit-transform: translateX(-50%) rotate(180deg);
  transform: translateX(-50%) rotate(180deg);
}
.c-pager02__next {
  text-align: right;
  right: 32px;
}
.c-pager02__next a::before {
  right: 0;
}
.c-pager02__all {
  width: 110px;
  box-sizing: border-box;
  font-size: 2.2rem;
}
.c-pager02__all a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  text-decoration: none;
  padding-top: 5px;
}
.c-pager02__all-txt {
  border-bottom: 2px solid rgb(var(--black));
  padding-bottom: 2px;
}
.c-pager02__all-ico {
  width: 24px;
  margin-right: 11px;
}
@media all and (min-width: 768px) {
  .c-pager02 {
    padding-top: 45px;
    padding-bottom: 124px;
  }
  .c-pager02-wrap {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-area: 2/1/3/3;
  }
  .c-pager02__ico {
    margin-top: 17px;
  }
  .c-pager02__prev, .c-pager02__next {
    top: 63px;
  }
  .c-pager02__prev .c-pager02__ico, .c-pager02__next .c-pager02__ico {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    margin: 3px 0 0;
  }
  .c-pager02__prev .c-pager02__ico::before, .c-pager02__next .c-pager02__ico::before {
    top: -15px;
    left: -12px;
  }
  .c-pager02__prev a, .c-pager02__next a {
    font-size: 1.8rem;
    padding-top: 7px;
    position: relative;
  }
  .c-pager02__prev a::before, .c-pager02__next a::before {
    transition: all 0.3s ease;
  }
  .c-pager02__prev a:hover, .c-pager02__next a:hover {
    text-decoration: underline !important;
  }
  .c-pager02__prev a:hover::before, .c-pager02__next a:hover::before {
    border: 2px solid rgb(var(--black));
    background-color: rgb(var(--black));
  }
  .c-pager02__prev {
    left: 68px;
  }
  .c-pager02__prev .c-pager02__ico {
    left: 12px;
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
  }
  .c-pager02__prev a {
    padding-left: 61px;
  }
  .c-pager02__next {
    right: 68px;
  }
  .c-pager02__next .c-pager02__ico {
    right: 11px;
    left: auto;
  }
  .c-pager02__next a {
    position: relative;
    padding-right: 59px;
  }
  .c-pager02__all {
    padding-top: 0;
    font-size: 2.2rem;
    width: 50px;
  }
  .c-pager02__all a {
    display: block;
    padding-left: 1px;
    transition: all 0.3s ease;
  }
  .c-pager02__all a:hover {
    opacity: 0.7;
  }
  .c-pager02__all-ico {
    margin-right: 0;
    margin-bottom: 8px;
  }
  .c-pager02__all-txt {
    padding-bottom: 0px;
  }
}

/* .c-profile01.is-center
================================================== */
.c-profile01-list.is-center {
  margin-bottom: 25px;
}
@media all and (min-width: 768px) {
  .c-profile01-list.is-center .c-profile01 {
    max-width: 600px;
    box-sizing: border-box;
    margin: auto;
    border-top: 1px solid rgb(var(--border));
    padding-top: 35px;
    padding-bottom: 35px;
    align-items: center;
  }
  .c-profile01-list.is-center .c-profile01__img {
    width: 170px;
    margin-right: 30px;
  }
  .c-profile01-list.is-center .c-profile01__area-txt {
    padding-top: 9px;
  }
  .c-profile01-list.is-center .c-profile01__position {
    font-size: 2rem;
  }
  .c-profile01-list.is-center .c-profile01__name {
    font-size: 3.1rem;
    margin-top: 2px;
  }
  .c-profile01-list.is-center .c-profile01__name-en {
    display: block;
    margin-left: 0;
    margin-top: 9px;
    font-size: 1.6rem;
  }
  .c-profile01-list.is-center .c-profile01__more {
    top: 50%;
  }
}

/* .c-profile01.is-col-3
================================================== */
@media all and (min-width: 768px) {
  .c-profile01-list.is-col-3 {
    display: flex;
    flex-wrap: wrap;
    margin-right: -35px;
    margin-top: 80px;
  }
  .c-profile01-list.is-col-3 .c-profile01 {
    margin-right: 35px;
    padding-bottom: 28px;
    width: calc(33.333% - 35px);
    margin-bottom: 35px;
  }
  .c-profile01-list.is-col-3 .c-profile01 + .c-profile01 {
    margin-top: 0;
  }
  .c-profile01-list.is-col-3 .c-profile01__img {
    width: 90px;
    margin-right: 20px;
  }
  .c-profile01-list.is-col-3 .c-profile01__area-txt {
    padding-top: 9px;
    padding-right: 100px;
  }
  .c-profile01-list.is-col-3 .c-profile01__position {
    font-size: 1.5rem;
  }
  .c-profile01-list.is-col-3 .c-profile01__name {
    font-size: 1.9rem;
    margin-top: 5px;
  }
  .c-profile01-list.is-col-3 .c-profile01__name-en {
    font-size: 1.5rem;
    display: block;
    margin-left: 0;
    margin-top: 6px;
  }
  .c-profile01-list.is-col-3 .c-profile01__more {
    font-size: 1.2rem;
    width: 51px;
    flex-wrap: wrap;
    right: 7px;
    top: 44%;
    padding-top: 38px;
  }
  .c-profile01-list.is-col-3 .c-profile01__more-ico {
    width: 30px;
    height: 30px;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 5px;
    margin-left: -1px;
  }
  .c-profile01-list.is-col-3 .c-profile01__more-ico::before, .c-profile01-list.is-col-3 .c-profile01__more-ico::after {
    width: 12px;
    right: 8px;
  }
}

/* .c-profile01
================================================== */
.c-profile01 {
  border-bottom: 1px solid rgb(var(--border));
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 25px;
  position: relative;
}
.c-profile01 + .c-profile01 {
  margin-top: 26px;
}
.c-profile01__img {
  margin-right: 15px;
  width: 90px;
}
.c-profile01__area-txt {
  box-sizing: border-box;
  flex: 1;
  padding-top: 8px;
}
.c-profile01__position {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.5;
}
.c-profile01__name {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.1;
  margin-top: 4px;
}
.c-profile01__name-en {
  color: rgb(var(--gray));
  display: block;
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  line-height: 1.2;
  margin-top: 10px;
}
.c-profile01__more {
  border: none;
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.2;
  margin: 16px 0 0 auto;
  padding: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-profile01__more-ico {
  transition: background 0.3s ease;
  border: 1px solid rgb(var(--black));
  border-radius: 50%;
  box-sizing: border-box;
  display: block;
  height: 40px;
  margin-left: 10px;
  position: relative;
  width: 40px;
}
.c-profile01__more-ico::before, .c-profile01__more-ico::after {
  position: absolute;
  top: 50%;
  right: 12px;
  content: "";
  display: block;
  width: 16px;
  height: 2px;
  background: rgb(var(--black));
  transition: background 0.3s ease;
}
.c-profile01__more-ico::before {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
@media all and (min-width: 768px) {
  .c-profile01 {
    border-bottom: 1px solid rgb(var(--border));
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 30px;
  }
  .c-profile01 + .c-profile01 {
    margin-top: 45px;
  }
  .c-profile01__img {
    margin-right: 25px;
    width: 100px;
  }
  .c-profile01__area-txt {
    flex: 1;
    padding: 16px 130px 0 0;
  }
  .c-profile01__position {
    font-size: 1.6rem;
  }
  .c-profile01__name {
    font-size: 2.8rem;
    margin-top: 8px;
  }
  .c-profile01__name-en {
    display: inline-block;
    font-size: 1.6rem;
    margin: 0 0 10px 16px;
    vertical-align: middle;
  }
  .c-profile01__more {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.2;
    margin-top: 0;
    position: absolute;
    right: 0;
    top: 38%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .c-profile01__more-ico {
    margin-left: 14px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-profile01__more:hover .c-profile01__more-ico {
    background: rgb(var(--black));
  }
  .c-profile01__more:hover .c-profile01__more-ico::before, .c-profile01__more:hover .c-profile01__more-ico::after {
    background: #fff;
  }
}

.c-profile01-modal {
  background: #fff;
  display: none;
  max-height: 80vh;
  max-height: calc(var(--vh, 1vh) * 80);
  overflow-y: auto;
  padding: 20px 20px 30px;
}
.c-profile01-modal__img {
  margin-bottom: 20px;
}
.c-profile01-modal__position {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 5px;
}
.c-profile01-modal__name {
  border-bottom: 1px solid rgb(var(--border));
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.1;
  margin-bottom: 15px;
  padding-bottom: 16px;
}
.c-profile01-modal__name-en {
  color: rgb(var(--gray));
  display: inline-block;
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  line-height: 1.2;
  margin: 0 0 0 8px;
  vertical-align: middle;
}
.c-profile01-modal-history {
  margin-top: 12px;
}
.c-profile01-modal-history__head {
  font-size: 1.7rem;
  font-weight: bold;
  margin-bottom: 8px;
}
.c-profile01-modal-history__list-inner {
  display: flex;
  flex-wrap: wrap;
}
.c-profile01-modal-history__list-inner + .c-profile01-modal-history__list-inner {
  margin-top: 12px;
}
.c-profile01-modal-history__list-head {
  font-weight: bold;
  line-height: 1.5;
  width: 68px;
}
.c-profile01-modal-history__list-data {
  flex: 1;
  font-size: 1.4rem;
  line-height: 1.5;
}
@media all and (min-width: 768px) {
  .c-profile01-modal {
    max-height: 520px;
    overflow-y: hidden;
    padding: 60px;
  }
  .c-profile01-modal__con {
    display: flex;
    flex-wrap: wrap;
  }
  .c-profile01-modal__img {
    margin: 0 50px 0 0;
    width: 40%;
  }
  .c-profile01-modal__area-txt {
    flex: 1;
    max-height: 400px;
    overflow-y: auto;
    padding-right: 30px;
    scrollbar-color: rgb(var(--gray)) rgb(var(--border));
    scrollbar-width: thin;
  }
  .c-profile01-modal__area-txt::-webkit-scrollbar {
    width: 10px;
  }
  .c-profile01-modal__area-txt::-webkit-scrollbar-track {
    background-color: rgb(var(--border));
  }
  .c-profile01-modal__area-txt::-webkit-scrollbar-thumb {
    background-color: rgb(var(--gray));
  }
  .c-profile01-modal__position {
    font-size: 1.6rem;
    margin-bottom: 8px;
  }
  .c-profile01-modal__name {
    font-size: 2.8rem;
    margin-bottom: 20px;
    padding-bottom: 22px;
  }
  .c-profile01-modal__name-en {
    font-size: 1.6rem;
    margin: 0 0 0 16px;
  }
  .c-profile01-modal-history {
    margin-top: 22px;
  }
  .c-profile01-modal-history__head {
    font-size: 2rem;
    margin-bottom: 4px;
  }
}

/* .c-service01-movie
================================================== */
.c-service01-movie__inner {
  padding-top: 39px;
  position: relative;
}
.c-service01-movie__btn {
  position: absolute;
  width: 70px;
  height: 70px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin-top: 20px;
}
@media all and (min-width: 768px) {
  .c-service01-movie__inner {
    max-width: 940px;
    padding-top: 118px;
  }
  .c-service01-movie__btn {
    width: 75px;
    height: 75px;
    margin-top: 59px;
  }
}

/* .c-service01-intro
================================================== */
.c-service01-intro.is-dorako .c-service01-intro__area-img {
  padding: 0 5px 0 22px;
}
.c-service01-intro.is-reiwa .c-service01-intro__img {
  margin-right: -1px;
}
.c-service01-intro.is-reiwa .c-service01-intro__img::before {
  content: none;
}
.c-service01-intro.is-service5 .c-service01-intro__img::before {
  content: none;
}
.c-service01-intro__inner {
  padding-top: 69px;
  padding-bottom: 36px;
}
.c-service01-intro__area-img {
  margin-bottom: 39px;
}
.c-service01-intro__img {
  position: relative;
}
.c-service01-intro__img::before {
  content: "";
  display: block;
  width: 226px;
  height: 227px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: linear-gradient(#feb121 0%, #ee3848 34.78%, #aa409e 63.91%, #466eed 100%);
  opacity: 0.4;
  z-index: -1;
  margin-left: -8px;
}
@media all and (min-width: 768px) {
  .c-service01-intro.is-dorako .c-service01-intro__area-img {
    padding: 0 35px 0 0;
  }
  .c-service01-intro.is-dorako .c-service01-intro__img {
    margin-left: -26px;
  }
  .c-service01-intro.is-reiwa .c-service01-intro__inner {
    padding-top: 80px;
  }
  .c-service01-intro.is-reiwa .c-service01-intro__area-img {
    padding-left: 15px;
  }
  .c-service01-intro.is-reiwa .c-service01-intro__img {
    margin: 0;
  }
  .c-service01-intro.is-naviko .c-service01-intro__area-img {
    padding-right: 53px;
  }
  .c-service01-intro.is-naviko .c-service01-intro__img {
    margin: 0 -48px 0 -20px;
  }
  .c-service01-intro.is-service5 .c-service01-intro__inner {
    padding-bottom: 80px;
  }
  .c-service01-intro.is-service5 .c-service01-intro__area-img {
    padding-right: 40px;
  }
  .c-service01-intro.is-service5 .c-service01-intro__img {
    margin-left: -50px;
  }
  .c-service01-intro__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-top: 144px;
    padding-bottom: 125px;
  }
  .c-service01-intro__area-img {
    width: calc(100% - 560px);
    box-sizing: border-box;
    margin-bottom: 0;
    padding: 0 35px 0 0px;
  }
  .c-service01-intro__img::before {
    width: 424px;
    height: 424px;
    margin-left: -18px;
    margin-top: -13px;
  }
  .c-service01-intro__area-txt {
    width: 560px;
  }
}

/* .c-service01-merit
================================================== */
.c-service01-merit__inner {
  padding-bottom: 60px;
}
.c-service01-merit-list {
  background-color: rgb(var(--bg));
  padding: 5px 20px;
}
.c-service01-merit-list__item {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.5;
  padding: 15px 0 14px 25px;
}
.c-service01-merit-list__item + .c-service01-merit-list__item {
  border-top: 1px solid rgb(var(--border));
}
.c-service01-merit-list__item-ico {
  width: 16px;
  height: 16px;
  position: absolute;
  left: 0;
  top: 18px;
  display: inline-flex;
}
.c-service01-merit-before__head {
  font-weight: 700;
  text-align: center;
  color: #fff;
  background-color: rgb(var(--gray));
  font-size: 1.8rem;
  padding: 10px 0;
}
.c-service01-merit-after {
  padding-top: 60px;
  position: relative;
  font-weight: 700;
}
.c-service01-merit-after::before {
  content: "";
  display: block;
  position: absolute;
  top: 20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 11.5px 0 11.5px;
  border-color: rgb(var(--border)) transparent transparent transparent;
}
.c-service01-merit-after.is-service5 {
  padding-top: 0;
}
.c-service01-merit-after.is-service5::before {
  content: none;
}
.c-service01-merit-after.is-service5 .c-service01-merit-list__item {
  padding-left: 0;
  padding-top: 12px;
}
.c-service01-merit-after.is-service5 .c-service01-merit-list__item-read {
  font-size: 1.6rem;
  padding-left: 25px;
  margin-bottom: 10px;
}
.c-service01-merit-after.is-service5 .c-service01-merit-list__item-txt {
  font-size: 1.4rem;
  font-weight: normal;
}
.c-service01-merit-after__head {
  font-weight: 700;
  text-align: center;
  color: #fff;
  background: linear-gradient(to right, #feb121 0%, #ee3848 34.78%, #aa409e 63.91%, #466eed 100%);
  font-size: 1.8rem;
  padding: 10px 0;
}
@media all and (min-width: 768px) {
  .c-service01-merit__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-bottom: 120px;
  }
  .c-service01-merit-list {
    padding: 0px 25px 4px;
  }
  .c-service01-merit-list__item {
    font-size: 1.6rem;
    padding: 25px 0 25px 40px;
  }
  .c-service01-merit-list__item-ico {
    width: 21px;
    height: 21px;
    top: 28px;
    left: 6px;
  }
  .c-service01-merit-before, .c-service01-merit-after {
    width: 520px;
    box-sizing: border-box;
  }
  .c-service01-merit-before__head, .c-service01-merit-after__head {
    padding: 10px 0 8px;
    font-size: 2.6rem;
  }
  .c-service01-merit-before__head {
    padding: 10px 0 8px;
  }
  .c-service01-merit-after {
    padding-top: 0;
  }
  .c-service01-merit-after::before {
    left: -53px;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(30deg);
    transform: translateY(-50%) rotate(30deg);
    margin-top: 5px;
  }
  .c-service01-merit-after.is-service5 {
    width: 100%;
    box-sizing: border-box;
  }
  .c-service01-merit-after.is-service5 .c-service01-merit-list {
    display: flex;
    flex-wrap: wrap;
    padding: 13px 50px 15px;
    justify-content: space-between;
  }
  .c-service01-merit-after.is-service5 .c-service01-merit-list__item {
    box-sizing: border-box;
    width: 300px;
  }
  .c-service01-merit-after.is-service5 .c-service01-merit-list__item + .c-service01-merit-list__item {
    border: none;
  }
  .c-service01-merit-after.is-service5 .c-service01-merit-list__item-ico {
    top: 20px;
    left: 0px;
  }
  .c-service01-merit-after.is-service5 .c-service01-merit-list__item-read {
    font-size: 2.2rem;
    padding-left: 36px;
    margin-bottom: 12px;
  }
  .c-service01-merit-after.is-service5 .c-service01-merit-list__item-txt {
    font-size: 1.6rem;
  }
}

/* .c-service01-feature
================================================== */
.c-service01-feature {
  background-color: rgb(var(--bg));
}
.c-service01-feature__inner {
  padding-top: 51px;
  padding-bottom: 57px;
}
.c-service01-feature__item-area-img {
  margin-bottom: 16px;
}
.c-service01-feature__item + .c-service01-feature__item {
  margin-top: 36px;
}
@media all and (min-width: 768px) {
  .c-service01-feature__inner {
    padding-top: 124px;
    padding-bottom: 120px;
  }
  .c-service01-feature-wrap {
    display: flex;
    flex-wrap: wrap;
    margin-right: -35px;
  }
  .c-service01-feature-wrap .c-service01-feature__item {
    width: calc((100% - 105px) / 3);
    margin-right: 35px;
    display: block;
  }
  .c-service01-feature-wrap .c-service01-feature__item + .c-service01-feature__item {
    margin-top: 0;
  }
  .c-service01-feature-wrap .c-service01-feature__item:nth-child(even) .c-service01-feature__item-img {
    margin: 0;
  }
  .c-service01-feature-wrap .c-service01-feature__item:nth-child(even) .c-service01-feature__item-area-img {
    padding: 0;
  }
  .c-service01-feature-wrap .c-service01-feature__item-area-img {
    width: 100%;
    padding: 0;
    margin-bottom: 11px;
  }
  .c-service01-feature-wrap .c-service01-feature__item-img {
    margin: 0;
  }
  .c-service01-feature-wrap .c-service01-feature__item-area-txt {
    width: 100%;
  }
  .c-service01-feature__item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .c-service01-feature__item + .c-service01-feature__item {
    margin-top: 70px;
  }
  .c-service01-feature__item:nth-child(even) .c-service01-feature__item-area-img {
    order: 2;
    padding-left: 40px;
    padding-right: 0;
  }
  .c-service01-feature__item:nth-child(even) .c-service01-feature__item-img {
    margin-right: -50px;
    margin-left: 0;
  }
  .c-service01-feature__item-area-img {
    width: calc(100% - 560px);
    box-sizing: border-box;
    margin-bottom: 0;
    padding-right: 40px;
  }
  .c-service01-feature__item-img {
    margin-left: -50px;
  }
  .c-service01-feature__item-area-txt {
    width: 560px;
  }
}

/* .c-service01-function
================================================== */
.c-service01-function__inner {
  padding-top: 51px;
  padding-bottom: 60px;
}
.c-service01-function__img {
  margin: 0 -25px 20px;
}
.c-service01-function-list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-bottom: 43px;
}
.c-service01-function-list__item {
  width: calc((100% - 10px) / 2);
  background-color: rgb(var(--bg));
  margin-right: 5px;
  font-size: 1.4rem;
  position: relative;
  line-height: 1.7;
  padding: 9px 13px 8px 31px;
  box-sizing: border-box;
  margin-bottom: 5px;
}
.c-service01-function-list__item::before {
  content: "";
  width: 16px;
  height: 16px;
  display: block;
  background: url(../img/common/ico_check01.png) no-repeat center/contain;
  position: absolute;
  top: 13px;
  left: 10px;
}
.c-service01-function-list__item.is-normal {
  background-color: transparent;
  text-align: center;
}
.c-service01-function-list__item.is-normal::before {
  content: none;
}
@media all and (max-width: 767px) {
  .c-service01-function-list.is-sp-col1 .c-service01-function-list__item {
    width: 100%;
    margin-right: 0;
  }
}
@media all and (min-width: 768px) {
  .c-service01-function__inner {
    padding-top: 124px;
    padding-bottom: 120px;
  }
  .c-service01-function-list {
    margin-right: -20px;
    padding-top: 12px;
    margin-bottom: 69px;
  }
  .c-service01-function-list__item {
    width: calc((100% - 60px) / 3);
    margin-right: 20px;
    font-size: 1.9rem;
    padding: 20px 13px 23px 65px;
    margin-bottom: 19px;
  }
  .c-service01-function-list__item::before {
    width: 25px;
    height: 25px;
    top: 25px;
    left: 25px;
  }
  .c-service01-function-list__item.is-normal {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
  }
}

/* .c-service01-price
================================================== */
.c-service01-price {
  border: 6px solid rgb(var(--bg));
  padding: 26px 0 32px;
}
.c-service01-price__txt {
  text-align: center;
  font-weight: 700;
  font-size: 2.7rem;
  line-height: 1;
}
.c-service01-price__txt-in {
  display: inline-block;
  position: relative;
  padding-bottom: 9px;
  margin-bottom: 12px;
}
.c-service01-price__txt-in::before {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: linear-gradient(to right, #feb121 0%, #ee3848 34.78%, #aa409e 63.91%, #466eed 100%);
  position: absolute;
  left: 0;
  bottom: 0;
}
.c-service01-price__txt-num {
  font-size: 5.6rem;
  line-height: 1;
  display: inline-block;
  -webkit-transform: translateY(3px);
  transform: translateY(3px);
  margin: 0 3px;
}
.c-service01-price__note {
  position: relative;
  color: rgb(var(--gray));
  font-size: 1.2rem;
  padding-left: 14px;
  line-height: 1.5;
  margin-top: 3px;
}
.c-service01-price__note::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
@media all and (min-width: 768px) {
  .c-service01-price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 72px 20px 82px 114px;
  }
  .c-service01-price__head {
    width: 147px;
    padding-top: 3px;
  }
  .c-service01-price__txt {
    font-size: 3.8rem;
    width: calc(100% - 147px);
    padding-left: 70px;
    box-sizing: border-box;
  }
  .c-service01-price__txt-in {
    padding-bottom: 12px;
    margin-bottom: 0;
  }
  .c-service01-price__txt-in::before {
    height: 5px;
  }
  .c-service01-price__txt-num {
    font-size: 7.7rem;
    margin: 0 7px;
  }
}

/* .c-service01-other
================================================== */
.c-service01-other {
  background-color: rgb(var(--bg));
}
.c-service01-other.is-bg-white {
  background-color: #fff;
}
.c-service01-other__inner {
  padding-top: 52px;
  padding-bottom: 70px;
}
.c-service01-other-list__item + .c-service01-other-list__item {
  margin-top: 10px;
}
.c-service01-other-list__item.is-reiwa .c-service01-other-list__item-link {
  background-image: url(../img/common/c-services/bg_services01_sp.jpg);
}
.c-service01-other-list__item.is-mariko .c-service01-other-list__item-link {
  background-image: url(../img/common/c-services/bg_services02_sp.jpg);
}
.c-service01-other-list__item.is-naviko .c-service01-other-list__item-link {
  background-image: url(../img/common/c-services/bg_services03_sp.jpg);
}
.c-service01-other-list__item.is-service5 .c-service01-other-list__item-link {
  background-image: url(../img/common/c-services/bg_services04_sp.jpg);
}
.c-service01-other-list__item.is-dorako .c-service01-other-list__item-link {
  background-image: url(../img/common/c-services/bg_services05_sp.jpg);
}
.c-service01-other-list__item-link {
  display: flex;
  flex-wrap: wrap;
  height: 120px;
  align-items: center;
  box-sizing: border-box;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 0 20px;
  line-height: 1.5;
  position: relative;
}
.c-service01-other-list__item-ico {
  border: 1px solid #bfbfbf;
  border-radius: 50%;
  box-sizing: border-box;
  height: 40px;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 40px;
}
.c-service01-other-list__item-ico svg {
  height: 9px;
  width: 18px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media all and (min-width: 768px) {
  .c-service01-other__inner {
    padding-top: 124px;
    padding-bottom: 120px;
  }
  .c-service01-other-list {
    display: flex;
    flex-wrap: wrap;
    margin-right: -25px;
  }
  .c-service01-other-list__item {
    width: calc((100% - 100px) / 4);
    margin-right: 25px;
  }
  .c-service01-other-list__item + .c-service01-other-list__item {
    margin-top: 0;
  }
  .c-service01-other-list__item.is-reiwa .c-service01-other-list__item-link {
    background-image: url(../img/common/c-services/bg_services01_pc.jpg);
  }
  .c-service01-other-list__item.is-mariko .c-service01-other-list__item-link {
    background-image: url(../img/common/c-services/bg_services02_pc.jpg);
  }
  .c-service01-other-list__item.is-naviko .c-service01-other-list__item-link {
    background-image: url(../img/common/c-services/bg_services03_pc.jpg);
  }
  .c-service01-other-list__item.is-service5 .c-service01-other-list__item-link {
    background-image: url(../img/common/c-services/bg_services04_pc.jpg);
  }
  .c-service01-other-list__item.is-dorako .c-service01-other-list__item-link {
    background-image: url(../img/common/c-services/bg_services05_pc.jpg);
  }
  .c-service01-other-list__item-link {
    height: 180px;
    font-size: 2.2rem;
    text-align: center;
    justify-content: center;
    transition: all 0.3s ease;
  }
  .c-service01-other-list__item-link:hover {
    opacity: 0.7;
  }
  .c-service01-other-list__item-ico {
    top: auto;
    bottom: 10px;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    right: 11px;
  }
}

/*  .c-single01.is-download
================================================== */
.c-single01.is-download .c-single01__eyecatch {
  background-color: rgb(var(--bg));
  padding: 21px 0;
}
.c-single01.is-download .c-single01__eyecatch img {
  height: 161px;
  -o-object-fit: cover;
  object-fit: cover;
  margin: auto;
}
@media all and (min-width: 768px) {
  .c-single01.is-download .c-single01__eyecatch {
    max-width: 800px;
    margin: auto;
    padding: 43px 0;
  }
  .c-single01.is-download .c-single01__eyecatch img {
    height: 413px;
  }
}

/*  .c-single01
================================================== */
.c-single01 {
  padding-bottom: 26px;
}
.c-single01-header {
  margin-bottom: 20px;
}
.c-single01-header__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 3px;
}
.c-single01-header__meta-date {
  font-size: 1.5rem;
  color: rgb(var(--gray));
  line-height: 1.1;
  letter-spacing: 0.02em;
  margin-right: 8px;
}
.c-single01-header__meta-cat {
  font-size: 1.1rem;
  background-color: rgb(var(--black));
  color: #fff;
  padding: 0 6px;
  font-weight: 700;
  box-sizing: border-box;
  min-width: 66px;
  text-align: center;
}
.c-single01-header__head {
  font-size: 2.4rem;
  line-height: 1.5;
}
.c-single01-header__info {
  color: rgb(var(--gray));
  font-weight: 700;
  line-height: 1.5rem;
  line-height: 2rem;
  margin-top: 2px;
}
.c-single01-header__info-company {
  font-size: 1.3rem;
}
.c-single01-header__info-name {
  font-size: 1.2rem;
}
.c-single01__eyecatch {
  text-align: center;
}
.c-single01-content {
  margin-top: 30px;
  overflow: hidden;
  zoom: 1;
}
.c-single01-content h1,
.c-single01-content h2,
.c-single01-content h3,
.c-single01-content h4,
.c-single01-content h5,
.c-single01-content h6 {
  clear: both;
}
.c-single01-content h1:first-child,
.c-single01-content h2:first-child,
.c-single01-content h3:first-child,
.c-single01-content h4:first-child,
.c-single01-content h5:first-child,
.c-single01-content h6:first-child {
  margin-top: 0;
}
.c-single01-content h2 {
  margin: 25px auto 11px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgb(var(--black));
  font-size: 2.2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  padding-left: 15px;
  position: relative;
}
.c-single01-content h2::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 6%;
  left: 0;
  width: 5px;
  height: 74%;
  background: linear-gradient(#feb121 0%, #ee3848 34.78%, #aa409e 63.91%, #466eed 100%);
}
.c-single01-content h3 {
  position: relative;
  margin: 36px auto 11px;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  background-color: rgb(var(--bg));
  padding: 9px 5px 9px 15px;
}
.c-single01-content h3::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 2px;
  background: linear-gradient(#feb121 0%, #ee3848 34.78%, #aa409e 63.91%, #466eed 100%);
}
.c-single01-content h4 {
  position: relative;
  margin: 40px auto 10px;
  padding-left: 16px;
  font-size: 1.8rem;
  line-height: 1.5;
}
.c-single01-content h4::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  height: 8px;
  width: 8px;
  background: linear-gradient(to right, #feb121 0%, #ee3848 34.78%, #aa409e 63.91%, #466eed 100%);
}
.c-single01-content p:first-child {
  margin-top: 0;
}
.c-single01-content p + p {
  margin-top: 30px;
}
.c-single01-content a {
  text-decoration: underline;
  transition: all 0.3s ease;
}
.c-single01-content a:hover {
  opacity: 0.7;
}
.c-single01-content b, .c-single01-content strong {
  font-weight: 700;
}
.c-single01-content em {
  font-style: italic;
}
.c-single01-content ol {
  list-style-type: none;
  clear: both;
  margin: 16px auto 10px;
  padding-left: 0;
  counter-reset: number 0;
}
.c-single01-content ol li {
  position: relative;
  padding-left: 17px;
  line-height: 1.5;
  counter-increment: number 1;
}
.c-single01-content ol li + li {
  margin-top: 10px;
}
.c-single01-content ol li:before {
  content: counter(number, decimal-leading-zero);
  position: absolute;
  top: 5px;
  left: 0;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: bold;
  font-size: 1.2rem;
  color: rgb(var(--gray));
}
.c-single01-content ul {
  list-style-type: none;
  clear: both;
  margin: 12px auto 10px;
  padding-left: 0;
}
.c-single01-content ul li {
  position: relative;
  padding-left: 10px;
}
.c-single01-content ul li::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 0px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: rgb(var(--gray));
}
.c-single01-content ul li + li {
  margin-top: 2px;
}
.c-single01-content img {
  display: block;
  margin: 35px auto 12px;
}
.c-single01-content img + p {
  margin-top: 12px;
}
@media all and (min-width: 768px) {
  .c-single01-header {
    margin-bottom: 34px;
  }
  .c-single01-header__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 9px;
  }
  .c-single01-header__meta-date {
    margin-right: 9px;
    font-size: 1.6rem;
  }
  .c-single01-header__meta-cat {
    padding: 3px 14px 3px 15px;
    font-size: 1.2rem;
    min-width: 54px;
  }
  .c-single01-header__head {
    font-size: 3.4rem;
    letter-spacing: 0.02em;
  }
  .c-single01-header__info {
    margin-top: 16px;
  }
  .c-single01-header__info-company, .c-single01-header__info-name {
    font-size: 1.6rem;
  }
  .c-single01-header__info-company {
    margin-right: 10px;
  }
  .c-single01__eyecatch {
    max-width: 800px;
    margin: auto;
  }
  .c-single01-content {
    margin-top: 50px;
  }
  .c-single01-content h2 {
    margin: 55px auto 16px;
    padding-bottom: 14px;
    font-size: 3rem;
    padding-left: 21px;
  }
  .c-single01-content h2::before {
    top: 12%;
    height: 52%;
    width: 7px;
  }
  .c-single01-content h3 {
    margin: 46px auto 16px;
    padding-left: 15px;
    font-size: 2.6rem;
    padding: 11px 5px 12px 22px;
  }
  .c-single01-content h4 {
    margin: 50px auto 16px;
    padding-left: 16px;
    font-size: 2.4rem;
    letter-spacing: 0.02em;
  }
  .c-single01-content h4::before {
    top: 15px;
  }
  .c-single01-content ul {
    margin: 17px auto 15px;
  }
  .c-single01-content ul li {
    padding-left: 13px;
  }
  .c-single01-content ul li::before {
    left: 3px;
  }
  .c-single01-content ol {
    margin: 26px auto 15px;
  }
  .c-single01-content ol li {
    padding-left: 19px;
  }
  .c-single01-content ol li::before {
    font-size: 1.4rem;
    top: 3px;
  }
  .c-single01-content img + p {
    margin-top: 1.3em;
  }
  .c-single01-content img.alignright {
    float: right;
    margin: 2em 0 2em 2.5em;
  }
  .c-single01-content img.alignleft {
    float: left;
    margin: 2em 2em 2em 0;
  }
  .c-single01-content img.aligncenter {
    display: block;
    margin: 2.9em auto 1.3em;
  }
  .c-single01-content .alignleft {
    float: left;
    width: 46%;
    margin-right: 8%;
  }
  .c-single01-content .alignleft img {
    display: block;
    width: 100%;
    margin-bottom: 30px;
  }
  .c-single01-content .alignright {
    float: right;
    width: 46%;
    margin-left: 8%;
  }
  .c-single01-content .alignright img {
    display: block;
    width: 100%;
    margin-bottom: 30px;
  }
  .c-single01-content .aligncenter {
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }
}

/*  .c-single02
================================================== */
.c-single02-headline__inner {
  padding-top: 29px;
  padding-bottom: 56px;
}
.c-single02__head-read {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5;
  margin-bottom: 10px;
}
@media all and (min-width: 768px) {
  .c-single02-headline__inner {
    padding-top: 89px;
    padding-bottom: 116px;
  }
  .c-single02__head-read {
    font-size: 2.4rem;
    padding-top: 23px;
    letter-spacing: 0.02em;
    margin-bottom: 20px;
  }
}

/*  .c-single02-detail
================================================== */
.c-single02-detail {
  background-color: rgb(var(--bg));
}
.c-single02-detail__inner {
  padding-top: 49px;
  padding-bottom: 60px;
}
@media all and (min-width: 768px) {
  .c-single02-detail__inner {
    padding-top: 119px;
    padding-bottom: 100px;
  }
}

/*  .c-table01.is-block-sp
================================================== */
@media all and (max-width: 767px) {
  .c-table01.is-block-sp table, .c-table01.is-block-sp thead, .c-table01.is-block-sp tbody, .c-table01.is-block-sp tr, .c-table01.is-block-sp th, .c-table01.is-block-sp td {
    display: block;
    width: 100%;
  }
  .c-table01.is-block-sp th {
    border-bottom: 0;
    padding-bottom: 0;
  }
  .c-table01.is-block-sp td {
    padding-top: 0;
  }
  .c-table01.is-block-sp tr + tr th {
    border-top: 0;
  }
}

/*  .c-table01.is-single
================================================== */
@media all and (min-width: 768px) {
  .c-table01.is-single {
    margin-bottom: 80px;
  }
  .c-table01.is-single table th {
    width: 175px;
    box-sizing: border-box;
    padding-left: 10px;
  }
  .c-table01.is-single table td {
    padding-left: 45px;
  }
}

/* .c-table01
================================================== */
.c-table01 table {
  table-layout: fixed;
}
.c-table01 th, .c-table01 td {
  border-bottom: 1px solid rgb(var(--border));
  padding: 16px 0 18px;
}
.c-table01 th {
  font-size: 1.7rem;
  font-weight: bold;
  text-align: left;
  width: 120px;
}
.c-table01 tr:first-child th, .c-table01 tr:first-child td {
  padding-top: 0;
}
@media all and (min-width: 768px) {
  .c-table01 th, .c-table01 td {
    padding: 24px 0;
  }
  .c-table01 th {
    font-size: 1.8rem;
    width: 130px;
  }
}

/* .l-breadcrumb
================================================ */
.l-breadcrumb {
  border-bottom: 1px solid rgb(var(--border));
}
.l-breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  padding-top: 12px;
  padding-bottom: 11px;
  font-size: 1.2rem;
}
.l-breadcrumb-list__item {
  display: inline-block;
  vertical-align: top;
}
.l-breadcrumb-list__item + .l-breadcrumb-list__item {
  margin-left: 7px;
}
.l-breadcrumb-list__item + .l-breadcrumb-list__item:before {
  content: "";
  margin-right: 14px;
  border-top: solid 2px rgb(var(--border));
  border-right: solid 2px rgb(var(--border));
  width: 4px;
  height: 4px;
  -webkit-transform: rotate(45deg) translateY(-3px);
  transform: rotate(45deg) translateY(-3px);
  display: inline-block;
}
.l-breadcrumb-list__txt {
  color: rgb(var(--gray));
}
@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 {
    font-size: 1.4rem;
    padding-top: 17px;
    padding-bottom: 16px;
  }
}

/* .l-footer
================================================ */
.l-footer {
  position: relative;
}
/* .l-footer-main
================================================ */
.l-footer-main {
  border-bottom: 1px solid rgb(var(--border));
  position: relative;
}
.l-footer-main__inner {
  padding-top: 60px;
  padding-bottom: 96px;
}
@media all and (min-width: 768px) {
  .l-footer-main__inner {
    padding-top: 110px;
    padding-bottom: 116px;
  }
}
@media all and (min-width: 1260px) {
  .l-footer-main__inner {
    display: flex;
    justify-content: space-between;
  }
}

/* .l-footer-info
================================================ */
.l-footer-info {
  text-align: center;
}
.l-footer-info__logo {
  margin: 0 auto;
  width: 110px;
}
.l-footer-info__company {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  margin-top: 24px;
}
.l-footer-info__address {
  line-height: 1.5;
  margin-top: 12px;
}
.l-footer-info-sns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 28px;
}
.l-footer-info-sns__item + .l-footer-info-sns__item {
  margin-left: 20px;
}
.l-footer-info-sns__link {
  height: 30px;
}
.l-footer-info-sns__link img {
  height: 100%;
  width: auto;
}
@media all and (min-width: 768px) {
  .l-footer-info__logo {
    width: 130px;
  }
  .l-footer-info__company {
    font-size: 2.4rem;
    margin-top: 18px;
  }
  .l-footer-info__address {
    margin-top: 8px;
  }
  .l-footer-info-sns {
    margin-top: 22px;
  }
}
@media all and (min-width: 1260px) {
  .l-footer-info {
    text-align: left;
  }
  .l-footer-info__logo {
    margin: 10px auto 0 0;
  }
  .l-footer-info-sns {
    justify-content: flex-start;
  }
}

/* .l-footer-nav
================================================ */
.l-footer-nav {
  display: -ms-grid;
  display: grid;
  justify-content: center;
  margin-top: 32px;
}
.l-footer-nav-group + .l-footer-nav-group {
  margin-top: 24px;
}
.l-footer-nav-list__item {
  display: flex;
  flex-wrap: wrap;
}
.l-footer-nav-list__item + .l-footer-nav-list__item {
  margin-top: 20px;
}
.l-footer-nav-list__parent {
  box-sizing: border-box;
  font-size: 2rem;
  padding-right: 10px;
  width: 92px;
}
.l-footer-nav-list-child {
  flex: 1;
  margin-top: 0.7em;
}
.l-footer-nav-list-child__item + .l-footer-nav-list-child__item {
  margin-top: 10px;
}
.l-footer-nav-list-child__item.is-sub .l-footer-nav-list-child__link {
  font-size: 1.2rem;
  font-weight: normal;
  padding-left: 14px;
}
.l-footer-nav-list-child__item.is-sub .l-footer-nav-list-child__link::before {
  content: "";
  display: block;
  border-top: 1px solid rgb(var(--gray));
  width: 8px;
  position: absolute;
  top: 0.8em;
  left: 0;
}
.l-footer-nav-list-child__link {
  display: block;
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.5;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media all and (min-width: 768px) {
  .l-footer-nav {
    display: flex;
    margin-top: 60px;
  }
  .l-footer-nav-group + .l-footer-nav-group {
    margin-top: 0;
    margin-left: 40px;
  }
  .l-footer-nav-list__item {
    display: block;
  }
  .l-footer-nav-list__item + .l-footer-nav-list__item {
    margin-top: 18px;
  }
  .l-footer-nav-list__parent {
    font-size: 2.4rem;
    padding-right: 0;
    width: auto;
  }
  .l-footer-nav-list-child {
    flex: 1;
    margin-top: 0.4em;
  }
  .l-footer-nav-list-child__item.is-sub .l-footer-nav-list-child__link {
    font-size: 1.3rem;
  }
  .l-footer-nav-list-child__link {
    font-size: 1.4rem;
  }
}
@media all and (min-width: 1260px) {
  .l-footer-nav {
    justify-content: flex-end;
    margin-top: 0;
  }
  .l-footer-nav-group + .l-footer-nav-group {
    margin-left: 78px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer-nav-list-child__link:hover {
    text-decoration: underline;
  }
}

/* .l-footer-sub
================================================ */
.l-footer-sub__inner {
  padding-top: 30px;
  padding-bottom: 30px;
}
.l-footer-sub__cr {
  color: rgb(var(--gray));
  font-size: 1.2rem;
  margin-top: 10px;
  text-align: center;
}
.l-footer-sub-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 -10px -10px;
}
.l-footer-sub-nav__item {
  margin: 0 10px 10px;
}
.l-footer-sub-nav__link {
  font-size: 1.2rem;
  line-height: 1.5;
}
@media all and (min-width: 768px) {
  .l-footer-sub__inner {
    display: flex;
    justify-content: space-between;
    padding-top: 22px;
    padding-bottom: 22px;
  }
  .l-footer-sub__cr {
    margin-top: 4px;
  }
  .l-footer-sub-nav {
    justify-content: flex-start;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer-sub-nav__link:hover {
    text-decoration: underline;
  }
}

/* .l-footer-page-top
================================================ */
.l-footer-page-top {
  height: 50px;
  width: 50px;
  position: absolute;
  right: 25px;
  bottom: 25px;
}
.l-footer-page-top__link {
  transition: all 0.3s ease;
  background: #fff;
  border: 1px solid rgb(var(--black));
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  overflow: hidden;
  text-align: center;
  text-indent: 200%;
  white-space: nowrap;
  height: 100%;
  width: 100%;
}
.l-footer-page-top__ico {
  height: 11px;
  width: 22px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-90deg);
  transform: translate(-50%, -50%) rotate(-90deg);
}
@media all and (min-width: 768px) {
  .l-footer-page-top {
    right: 30px;
    bottom: 30px;
    width: 60px;
    height: 60px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer-page-top__link:hover {
    background: rgb(var(--black));
    color: #fff;
  }
}

/* .l-header
================================================ */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 320px;
  z-index: 2000;
}
.l-header.is-invert .l-header-info__logo-img:not(.is-white) {
  opacity: 0;
  visibility: hidden;
}
.l-header.is-invert .l-header-info__logo-img.is-white {
  opacity: 1;
  visibility: visible;
}
.l-header.is-invert .l-header-menu-list__parent, .l-header.is-invert .l-header-menu-list__link {
  color: #fff;
}
.l-header.is-invert .l-nav-btn:not(.is-open) .l-nav-btn__line {
  background: #fff;
}

/* .l-header-info
================================================== */
.l-header-info {
  box-sizing: border-box;
  position: relative;
  z-index: 3;
}
.l-header-info__inner {
  height: 50px;
  padding: 0 15px;
}
.l-header-info__logo {
  transition: all 0.3s ease;
  padding: 13px 0 0;
  position: relative;
  width: 39px;
}
.l-header-info__logo-link {
  display: block;
}
.l-header-info__logo-img {
  transition: all 0.3s ease;
  vertical-align: top;
}
.l-header-info__logo-img.is-white {
  position: absolute;
  top: 13px;
  left: 0;
  opacity: 0;
  visibility: hidden;
}
@media all and (min-width: 768px) {
  .l-header-info__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    height: 100px;
    padding: 0 104px 0 30px;
  }
  .l-header-info__logo {
    width: 79px;
    padding: 25px 0 0;
  }
  .l-header-info__logo-img.is-white {
    top: 25px;
  }
}

/* .l-header-menu
================================================== */
.l-header-menu {
  display: none;
  margin: 38px 0 0 auto;
  width: calc(100% - 100px);
}
.l-header-menu-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  font-weight: bold;
  line-height: 1.5;
  position: relative;
}
.l-header-menu-list__item + .l-header-menu-list__item {
  margin-left: 36px;
}
.l-header-menu-list__link {
  transition: color 0.3s ease;
  padding: 0 0 4px 0;
  position: relative;
}
.l-header-menu-list__link::before {
  transition: -webkit-transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  transition: transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  transition: transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96), -webkit-transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  background: currentColor;
  content: "";
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
  width: 100%;
}
.l-header-menu-list__parent {
  transition: color 0.3s ease;
  cursor: pointer;
  padding: 0 14px 4px 0;
  position: relative;
}
.l-header-menu-list__parent::before {
  transition: -webkit-transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  transition: transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  transition: transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96), -webkit-transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  background: currentColor;
  content: "";
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
  width: 100%;
}
.l-header-menu-list__parent::after {
  content: "";
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  box-sizing: border-box;
  display: block;
  height: 6px;
  position: absolute;
  top: 0.5em;
  right: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 6px;
}
.l-header-menu-list-child__wrap {
  background: rgb(var(--bg));
  box-sizing: border-box;
  display: none;
  margin: 0 auto;
  padding: 60px;
  position: absolute;
  top: 54px;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 1120px;
}
.l-header-menu-list-child {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -7px -14px;
}
.l-header-menu-list-child__item {
  margin: 0 7px 14px;
  width: calc(33.33% - 14px);
}
.l-header-menu-list-child__link {
  transition: color 0.3s ease;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  z-index: 1;
}
.l-header-menu-list-child__link::before {
  transition: -webkit-transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  transition: transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  transition: transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96), -webkit-transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  content: "";
  background: rgb(var(--black));
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
  width: 100%;
  z-index: -1;
}
.l-header-menu-list-child__img {
  width: 119px;
}
.l-header-menu-list-child__txt {
  box-sizing: border-box;
  display: block;
  flex: 1;
  padding-left: 25px;
}
@media (hover: hover) and (pointer: fine) {
  .l-header-menu-list__parent:hover::before, .l-header-menu-list__link:hover::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  .l-header-menu-list-child__link:hover {
    color: #fff;
  }
  .l-header-menu-list-child__link:hover::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
}
@media all and (min-width: 1260px) {
  .l-header-menu {
    display: block;
  }
}

.l-header.is-open .l-header-menu {
  display: none;
}

/* .l-nav-btn
================================================== */
.l-nav-btn {
  border: none;
  padding: 0;
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  cursor: pointer;
}
.l-nav-btn__line {
  position: absolute;
  left: 15px;
  width: 20px;
  height: 2px;
  content: "";
  background: rgb(var(--black));
  transition: all 0.3s ease;
}
.l-nav-btn__line:nth-child(1) {
  top: 17px;
}
.l-nav-btn__line:nth-child(2) {
  top: 24px;
}
.l-nav-btn__line:nth-child(3) {
  top: 31px;
}
.l-nav-btn.is-open .l-nav-btn__line {
  background: rgb(var(--black));
}
.l-nav-btn.is-open .l-nav-btn__line:nth-child(1) {
  top: 24px;
  -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: 24px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media all and (min-width: 768px) {
  .l-nav-btn {
    top: 24px;
    right: 28px;
  }
  .l-nav-btn__line {
    left: 12.5px;
    width: 25px;
  }
  .l-nav-btn__line:nth-child(1) {
    top: 14px;
  }
  .l-nav-btn__line:nth-child(2) {
    top: 24px;
  }
  .l-nav-btn__line:nth-child(3) {
    top: 34px;
  }
}

/* .l-nav
================================================ */
.l-nav {
  position: absolute;
  top: -50px;
  left: 0;
  z-index: 2;
  width: 100%;
  height: calc(100vh + 50px);
  min-width: 320px;
  padding: 151px 0 0;
  background: #fff;
  box-sizing: border-box;
  opacity: 0;
  transition: opacity 0.6s, visibility 0.6s;
  pointer-events: none;
}
.l-nav__inner {
  box-sizing: border-box;
  height: 100%;
  -webkit-overflow-scrolling: touch;
  overflow-y: scroll;
  scrollbar-width: none;
  padding: 0 25px 80px;
}
.l-nav__inner::-webkit-scrollbar {
  display: none;
}
.l-nav.is-open {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}
@media all and (min-width: 1260px) {
  .l-nav {
    padding: 272px 60px 60px;
  }
  .l-nav__inner {
    height: auto;
    margin: auto;
    overflow-y: hidden;
    padding: 0;
    max-width: 1120px;
  }
}

/* .l-nav-list
================================================== */
.l-nav-list__item + .l-nav-list__item {
  margin-top: 13px;
}
.l-nav-list__link {
  transition: color 0.3s ease;
  display: block;
  font-size: 2.9rem;
  line-height: 1.2;
  padding: 12px 0;
  position: relative;
}
.l-nav-list__link::after {
  transition: -webkit-transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  transition: transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  transition: transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96), -webkit-transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  background: currentColor;
  content: "";
  height: 1px;
  position: absolute;
  bottom: -1px;
  left: 0;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
  width: 100%;
}
.l-nav-list__parent {
  display: block;
  font-size: 2.9rem;
  line-height: 1.2;
}
.l-nav-list-child {
  padding: 11px 0 0;
}
.l-nav-list-child__item {
  line-height: 1.5;
}
.l-nav-list-child__item + .l-nav-list-child__item {
  margin-top: 12px;
}
.l-nav-list-child__link {
  transition: color 0.3s ease;
  display: inline-block;
  font-size: 1.6rem;
  padding-left: 14px;
  position: relative;
}
.l-nav-list-child__link::before {
  content: "";
  display: block;
  border-top: 1px solid rgb(var(--gray));
  width: 8px;
  position: absolute;
  top: 0.8em;
  left: 0;
}
.l-nav-list-child__link::after {
  transition: -webkit-transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  transition: transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  transition: transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96), -webkit-transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  background: currentColor;
  content: "";
  height: 1px;
  position: absolute;
  bottom: -1px;
  left: 14px;
  right: 0;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
}
@media (hover: hover) and (pointer: fine) {
  .l-nav-list__link:hover::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  .l-nav-list-child__link:hover::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
}
@media all and (min-width: 1260px) {
  .l-nav-list__item + .l-nav-list__item {
    margin-top: 26px;
  }
  .l-nav-list__link {
    padding: 14px 0;
  }
  .l-nav-list__parent {
    font-size: 4.8rem;
  }
  .l-nav-list-child {
    padding: 18px 0 10px;
  }
  .l-nav-list-child__item + .l-nav-list-child__item {
    margin-top: 12px;
  }
}

/* .l-nav-list-group
================================================== */
.l-nav-list-group {
  padding: 0 0 0 28px;
}
.l-nav-list-group__item + .l-nav-list-group__item {
  margin-top: 31px;
}
@media all and (min-width: 1260px) {
  .l-nav-list-group {
    padding: 0 0 50px;
    display: flex;
    justify-content: center;
  }
  .l-nav-list-group__item + .l-nav-list-group__item {
    margin-top: 0;
    margin-left: 158px;
  }
}

/* .l-nav-info
================================================== */
.l-nav-info {
  border-top: 1px solid rgb(var(--border));
  margin-top: 45px;
  padding-top: 50px;
}
.l-nav-info-btn {
  margin: 0 auto;
  width: 270px;
  max-width: 100%;
}
.l-nav-info-btn + .l-nav-info-btn {
  margin-top: 10px;
}
.l-nav-info-btn__link {
  transition: all 0.3s ease;
  background: rgb(var(--black));
  border: 1px solid rgb(var(--black));
  box-sizing: border-box;
  color: #fff;
  min-height: 70px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 1.4rem;
  line-height: 1.5;
  padding: 16px 65px 16px 25px;
  position: relative;
  text-align: center;
  width: 100%;
}
.l-nav-info-btn__ico {
  margin-right: 10px;
  width: 20px;
}
.l-nav-info-btn__ico.is-download {
  margin-left: 2px;
  margin-right: 12px;
  width: 16px;
}
.l-nav-info-btn__arw {
  border: 1px solid #bfbfbf;
  border-radius: 50%;
  height: 40px;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 40px;
}
.l-nav-info-btn__arw svg {
  height: 9px;
  width: 18px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.l-nav-info__main {
  margin-top: 40px;
  text-align: center;
}
.l-nav-info__logo {
  margin: 0 auto;
  width: 110px;
}
.l-nav-info__company {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  margin-top: 24px;
}
.l-nav-info__address {
  font-size: 1.4rem;
  line-height: 1.5;
  margin-top: 12px;
}
.l-nav-info-sns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 24px;
}
.l-nav-info-sns__item + .l-nav-info-sns__item {
  margin-left: 20px;
}
.l-nav-info-sns__link {
  height: 30px;
}
.l-nav-info-sns__link img {
  height: 100%;
  width: auto;
}
@media (hover: hover) and (pointer: fine) {
  .l-nav-info-btn__link:hover {
    background: #fff;
    color: rgb(var(--black));
  }
}
@media all and (min-width: 1260px) {
  .l-nav-info {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 0;
    padding-top: 60px;
  }
  .l-nav-info__area-btn {
    display: flex;
    flex-wrap: wrap;
  }
  .l-nav-info-btn {
    margin: 0 auto;
    width: 350px;
    max-width: 100%;
  }
  .l-nav-info-btn + .l-nav-info-btn {
    margin-top: 0;
    margin-left: 20px;
  }
  .l-nav-info-btn__link {
    min-height: 90px;
    font-size: 1.8rem;
    line-height: 1.5;
    padding: 16px 75px 16px 35px;
    position: relative;
    text-align: center;
    width: 100%;
  }
  .l-nav-info-btn__ico {
    margin-right: 16px;
  }
  .l-nav-info-btn__arw {
    right: 24px;
  }
  .l-nav-info__main {
    margin-top: 0;
    text-align: left;
    width: 264px;
  }
  .l-nav-info__logo {
    display: none;
  }
  .l-nav-info__company {
    font-size: 2.4rem;
    margin-top: 0;
  }
  .l-nav-info__address {
    font-size: 1.6rem;
    margin-top: 8px;
  }
  .l-nav-info-sns {
    justify-content: flex-end;
  }
  .l-nav-info-sns__link {
    height: 32px;
  }
}

/* .l-nav-overlay
================================================ */
.l-nav-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
}

/* .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-main-img HOME
================================================ */
.l-main-img {
  position: relative;
  z-index: 1;
}
.l-main-img__bg img {
  width: 100%;
}
.l-main-img__area-txt {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.l-main-img__inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding-bottom: 80px;
}
.l-main-img__sub {
  font-size: 1.6rem;
  color: #fff;
  line-height: 1.5;
}
.l-main-img__main {
  margin-top: 10px;
  font-size: 3.8rem;
  line-height: 1.2;
  color: #fff;
}
.l-main-img-sec {
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  width: 100%;
}
.l-main-img-sec:nth-of-type(1) .l-main-img-sec__txt {
  font-size: 2rem;
}
.l-main-img-sec__area-txt {
  box-sizing: border-box;
  color: #fff;
  text-align: center;
  padding: 0 25px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 100%;
}
.l-main-img-sec__txt {
  font-size: 2.7rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
.l-main-img-sec__area-img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  overflow: hidden;
  text-align: center;
  width: 100%;
}
.l-main-img-sec__img {
  max-width: calc(100% - 50px);
}
.l-main-img-sec__img.is-text {
  height: 186px;
  -o-object-fit: cover;
  object-fit: cover;
  width: auto;
  max-width: 100%;
}
.l-main-img__canvas {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  height: 100vh;
  height: calc(var(--vh, 1vh) * 100);
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}
.l-main-img__canvas-wrap {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
}
.l-main-img__scroll {
  position: fixed;
  left: 13px;
  bottom: 50px;
  color: #fff;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  font-size: 2.2rem;
}
.l-main-img__scroll.is-unfixed {
  position: absolute;
}
.l-main-img__scroll-area-bar {
  position: absolute;
  top: 60px;
  left: 50%;
  width: 2px;
  height: 40px;
  overflow: hidden;
  background: rgba(var(--gray), 0.5);
  margin-left: -1px;
}
.l-main-img__scroll-bar {
  position: absolute;
  top: -60px;
  left: 0;
  width: 2px;
  height: 40px;
  background-color: #fff;
  -webkit-animation: scroll-bar-sp 3s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite;
  animation: scroll-bar-sp 3s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite;
}
@media all and (max-width: 767px) {
  .l-main-img {
    max-height: 100vh;
    overflow: hidden;
  }
}
@media all and (max-width: 374px) {
  .l-main-img-sec:nth-of-type(1) .l-main-img-sec__txt {
    font-size: 1.5rem;
  }
  .l-main-img-sec__txt {
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.08em;
    opacity: 0;
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }
}
.l-main-img-fixed {
  position: fixed;
  bottom: 60px;
  right: 60px;
}
.l-main-img-fixed.is-unfixed {
  position: absolute;
}
.l-main-img-fixed__num-current {
  color: #fff;
  font-size: 3.5rem;
}
.l-main-img-fixed__num-total {
  color: rgb(var(--gray));
  font-size: 2.5rem;
  margin-left: 6px;
}
.l-main-img-fixed__btn {
  color: #fff;
}
.l-main-img-fixed__btn-link::before {
  transition: -webkit-transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  transition: transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  transition: transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96), -webkit-transform 0.3s cubic-bezier(0.45, 0.12, 0.04, 0.96);
  background: currentColor;
  content: "";
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
  width: 100%;
}
.l-main-img-fixed__btn-ico {
  margin-left: 10px;
  width: 22px;
}
@media all and (min-width: 768px) {
  .l-main-img__inner {
    justify-content: center;
    padding-top: 80px;
    max-width: 1676px;
  }
  .l-main-img__sub {
    font-size: clamp(24px, -2.672px + 2.22vw, 40px);
    margin-bottom: clamp(10px, -21.664px + 2.64vw, 29px);
  }
  .l-main-img__main {
    font-size: clamp(60px, -65px + 10.42vw, 135px);
  }
  .l-main-img-sec:nth-of-type(1) .l-main-img-sec__txt {
    font-size: 3rem;
  }
  .l-main-img-sec__txt {
    font-size: 5.4rem;
  }
  .l-main-img-sec__img.is-text {
    height: 28vh;
    height: calc(var(--vh, 1vh) * 28);
  }
  .l-main-img__scroll {
    left: 47px;
    bottom: 115px;
  }
  .l-main-img__scroll-area-bar {
    height: 105px;
  }
  .l-main-img__scroll-bar {
    height: 105px;
    -webkit-animation: scroll-bar-pc 3s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite;
    animation: scroll-bar-pc 3s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite;
  }
}
@media all and (min-width: 1260px) {
  .l-main-img-sec:nth-of-type(1) .l-main-img-sec__txt {
    font-size: 4.5rem;
  }
  .l-main-img-sec__txt {
    font-size: 9rem;
  }
  .l-main-img-sec__img {
    max-width: calc(100% - 140px);
  }
  .l-main-img-sec__img.is-text {
    height: 60vh;
    height: calc(var(--vh, 1vh) * 60);
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-main-img-fixed__btn-link:hover::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
}

@-webkit-keyframes scroll-bar-sp {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 120px, 0);
    transform: translate3d(0, 120px, 0);
  }
}

@keyframes scroll-bar-sp {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 120px, 0);
    transform: translate3d(0, 120px, 0);
  }
}
@-webkit-keyframes scroll-bar-pc {
  0% {
    -webkit-transform: translate3d(0, -105px, 0);
    transform: translate3d(0, -105px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 210px, 0);
    transform: translate3d(0, 210px, 0);
  }
}
@keyframes scroll-bar-pc {
  0% {
    -webkit-transform: translate3d(0, -105px, 0);
    transform: translate3d(0, -105px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 210px, 0);
    transform: translate3d(0, 210px, 0);
  }
}
/* .l-sub-img
================================================ */
.l-sub-img {
  border-bottom: 1px solid rgb(var(--border));
}
.l-sub-img .l-sub-img__inner {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  height: 160px;
  padding-top: 54px;
}
.l-sub-img .l-sub-img__en {
  font-size: 4.2rem;
  line-height: 1.1;
  margin-bottom: 5px;
}
.l-sub-img .l-sub-img__head {
  font-size: 1.2rem;
  position: relative;
  padding-left: 17px;
  font-weight: 700;
}
.l-sub-img .l-sub-img__head::before {
  content: "";
  display: block;
  width: 11px;
  height: 2px;
  width: 11px;
  background: linear-gradient(to right, #feb121 0%, #ee3848 34.78%, #aa409e 63.91%, #466eed 100%);
  position: absolute;
  left: 0;
  top: 12px;
}
@media all and (min-width: 768px) {
  .l-sub-img .l-sub-img__inner {
    max-width: 1540px;
    padding-top: 106px;
    height: 379px;
  }
  .l-sub-img .l-sub-img__en {
    font-size: 7.8rem;
  }
  .l-sub-img .l-sub-img__head {
    font-size: 2.1rem;
    padding-left: 30px;
  }
  .l-sub-img .l-sub-img__head::before {
    width: 19px;
    height: 3px;
    top: 21px;
  }
}
@media (min-width: 1541px) {
  .l-sub-img .l-sub-img__inner {
    padding-left: 0;
    padding-right: 0;
  }
}

@media all and (max-width: 767px) {
  #company .l-sub-img {
    background-image: url(../img/company/bg_mv01_sp.jpg);
  }

  #service .l-sub-img {
    background-image: url(../img/service/bg_mv01_sp.jpg);
  }

  #reiwa .l-sub-img {
    background-image: url(../img/reiwa/bg_mv01_sp.jpg);
  }

  #dorako .l-sub-img {
    background-image: url(../img/dorako/bg_mv01_sp.jpg);
  }

  #mariko .l-sub-img {
    background-image: url(../img/mariko/bg_mv01_sp.jpg);
  }

  #naviko .l-sub-img {
    background-image: url(../img/naviko/bg_mv01_sp.jpg);
  }

  #service5 .l-sub-img {
    background-image: url(../img/service5/bg_mv01_sp.jpg);
  }

  #recruit .l-sub-img {
    background-image: url(../img/recruit/bg_mv01_sp.jpg);
  }
}
@media all and (min-width: 768px) {
  #company .l-sub-img {
    background-image: url(../img/company/bg_mv01_pc.jpg);
  }

  #service .l-sub-img {
    background-image: url(../img/service/bg_mv01_pc.jpg);
  }

  #reiwa .l-sub-img {
    background-image: url(../img/reiwa/bg_mv01_pc.jpg);
  }

  #dorako .l-sub-img {
    background-image: url(../img/dorako/bg_mv01_pc.jpg);
  }

  #mariko .l-sub-img {
    background-image: url(../img/mariko/bg_mv01_pc.jpg);
  }

  #naviko .l-sub-img {
    background-image: url(../img/naviko/bg_mv01_pc.jpg);
  }

  #service5 .l-sub-img {
    background-image: url(../img/service5/bg_mv01_pc.jpg);
  }

  #recruit .l-sub-img {
    background-image: url(../img/recruit/bg_mv01_pc.jpg);
  }
}
.l-sub-img.is-bg {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.l-sub-img.is-bg .l-sub-img__inner {
  height: 200px;
  padding-top: 32px;
  color: #fff;
}
.l-sub-img.is-bg .l-sub-img__head::before {
  background: #fff;
}
@media all and (min-width: 768px) {
  .l-sub-img.is-bg .l-sub-img__inner {
    height: 470px;
    padding-top: 15px;
  }
  .l-sub-img.is-bg .l-sub-img__en {
    margin-bottom: 7px;
  }
}

.l-sub-img.is-wide {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.l-sub-img.is-wide .l-sub-img__inner {
  height: 350px;
  padding-top: 10px;
  color: #fff;
}
.l-sub-img.is-wide .l-sub-img__head {
  font-size: 3.3rem;
  padding-left: 0;
  line-height: 1.5;
  padding-top: 16px;
  margin-bottom: 15px;
}
.l-sub-img.is-wide .l-sub-img__head::before {
  top: 4px;
  width: 62px;
  background: #fff;
  background: linear-gradient(to right, #feb121 0%, #ee3848 34.78%, #aa409e 63.91%, #466eed 100%);
}
.l-sub-img.is-wide .l-sub-img__en {
  font-size: 1.8rem;
  margin-bottom: 0;
}
.l-sub-img.is-wide .l-sub-img__read {
  font-weight: 700;
  font-size: 1.4rem;
}
@media all and (min-width: 768px) {
  .l-sub-img.is-wide .l-sub-img__inner {
    height: 670px;
    padding-top: 0px;
    text-align: center;
    justify-content: center;
    padding-bottom: 20px;
  }
  .l-sub-img.is-wide .l-sub-img__head {
    font-size: 8rem;
    padding-top: 25px;
    margin-bottom: 22px;
  }
  .l-sub-img.is-wide .l-sub-img__head::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 128px;
  }
  .l-sub-img.is-wide .l-sub-img__en {
    font-size: 3.7rem;
  }
  .l-sub-img.is-wide .l-sub-img__read {
    font-size: 2.4rem;
  }
}

/* .l-sidebar
================================================== */
.l-sidebar {
  padding: 0 25px 66px;
}
.l-sidebar-sec__head {
  font-size: 2.9rem;
  border-bottom: 2px solid #707070;
  line-height: 1.5;
  padding-bottom: 2px;
  margin-bottom: 16px;
}
.l-sidebar-sec__list-item + .l-sidebar-sec__list-item {
  margin-top: 7px;
}
.l-sidebar-sec__list-link {
  position: relative;
  display: block;
  padding-left: 13px;
}
.l-sidebar-sec__list-link::before {
  content: "";
  width: 8px;
  height: 1px;
  background-color: rgb(var(--gray));
  position: absolute;
  left: 0;
  top: 16px;
}
@media all and (min-width: 768px) {
  .l-sidebar {
    padding: 86px 0 0;
  }
}

/**
 * Featherlight – ultra slim jQuery lightbox
 * Version 1.7.14 - http://noelboss.github.io/featherlight/
 *
 * Copyright 2019, Noël Raoul Bossart (http://www.noelboss.com)
 * MIT Licensed.
**/
html.with-featherlight {
  /* disable global scrolling when featherlights are visible */
  overflow: hidden;
}

.featherlight {
  display: none;
  /* dimensions: spanning the background from edge to edge */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2147483647;
  /* z-index needs to be >= elements on the site. */
  /* position: centering content */
  text-align: center;
  /* insures that the ::before pseudo element doesn't force wrap with fixed width content; */
  white-space: nowrap;
  /* styling */
  cursor: pointer;
  background: #333;
  /* IE8 "hack" for nested featherlights */
  background: rgba(0, 0, 0, 0);
}

/* support for nested featherlights. Does not work in IE8 (use JS to fix) */
.featherlight:last-of-type {
  background: rgba(0, 0, 0, 0.8);
}

.featherlight:before {
  /* position: trick to center content vertically */
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.featherlight .featherlight-content {
  /* make content container for positioned elements (close button) */
  position: relative;
  /* position: centering vertical and horizontal */
  text-align: left;
  vertical-align: middle;
  display: inline-block;
  /* dimensions: cut off images */
  overflow: auto;
  padding: 25px 25px 0;
  border-bottom: 25px solid transparent;
  /* dimensions: handling large content */
  margin-left: 5%;
  margin-right: 5%;
  max-height: 95%;
  /* styling */
  background: #fff;
  cursor: auto;
  /* reset white-space wrapping */
  white-space: normal;
}

/* contains the content */
.featherlight .featherlight-inner {
  /* make sure its visible */
  display: block;
}

/* don't show these though */
.featherlight script.featherlight-inner,
.featherlight link.featherlight-inner,
.featherlight style.featherlight-inner {
  display: none;
}

.featherlight .featherlight-close-icon {
  /* position: centering vertical and horizontal */
  position: absolute;
  z-index: 9999;
  top: 0;
  right: 0;
  /* dimensions: 25px x 25px */
  line-height: 25px;
  width: 25px;
  /* styling */
  cursor: pointer;
  text-align: center;
  font-family: Arial, sans-serif;
  background: #fff;
  /* Set the background in case it overlaps the content */
  background: rgba(255, 255, 255, 0.3);
  color: #000;
  border: none;
  padding: 0;
}

/* See http://stackoverflow.com/questions/16077341/how-to-reset-all-default-styles-of-the-html5-button-element */
.featherlight .featherlight-close-icon::-moz-focus-inner {
  border: 0;
  padding: 0;
}

.featherlight .featherlight-image {
  /* styling */
  width: 100%;
}

.featherlight-iframe .featherlight-content {
  /* removed the border for image croping since iframe is edge to edge */
  border-bottom: 0;
  padding: 0;
  -webkit-overflow-scrolling: touch;
}

.featherlight iframe {
  /* styling */
  border: none;
}

.featherlight * {
  /* See https://github.com/noelboss/featherlight/issues/42 */
  box-sizing: border-box;
}

/* handling phones and small screens */
@media only screen and (max-width: 1024px) {
  .featherlight .featherlight-content {
    /* dimensions: maximize lightbox with for small screens */
    margin-left: 0;
    margin-right: 0;
    max-height: 98%;
    padding: 10px 10px 0;
    border-bottom: 10px solid transparent;
  }
}
/* hide non featherlight items when printing */
@media print {
  html.with-featherlight > * > :not(.featherlight) {
    display: none;
  }
}
.featherlight:last-child {
  background: rgba(var(--black), 0.2);
  padding: 0 25px;
}
.featherlight .featherlight-content {
  background: none;
  padding: 40px 0 0;
  overflow: hidden;
  max-width: var(--contents_width);
}
.featherlight .featherlight-close-icon {
  background: none;
  color: #fff;
  font-size: 36px;
  line-height: 30px;
  width: 30px;
}
@media all and (min-width: 768px) {
  .featherlight .featherlight-content {
    padding: 60px 0 0;
  }
  .featherlight .featherlight-close-icon {
    font-size: 52px;
    line-height: 40px;
    width: 40px;
  }
}

.js-c-anime-elem[data-anime=fadein-up] {
  opacity: 0;
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  transition: all 0.6s ease;
}
.js-c-anime-elem[data-anime=fadein-up].is-animated {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.js-c-anime-elem[data-anime=fadein-left] {
  opacity: 0;
  -webkit-transform: translateX(-30px);
  transform: translateX(-30px);
  transition: all 0.6s ease;
}
.js-c-anime-elem[data-anime=fadein-left].is-animated {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.js-c-anime-elem[data-anime=fadein-right] {
  opacity: 0;
  -webkit-transform: translateX(30px);
  transform: translateX(30px);
  transition: all 0.6s ease;
}
.js-c-anime-elem[data-anime=fadein-right].is-animated {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

@-webkit-keyframes bgToRight {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }
  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }
}

@keyframes bgToRight {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }
  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }
}
.js-c-anime-elem[data-anime=slide-bg] .js-c-anime-elem__item {
  transition: all 0.3s ease;
  transition-delay: 1s;
  display: inline-block;
  position: relative;
}
.js-c-anime-elem[data-anime=slide-bg] .js-c-anime-elem__item::before {
  content: "";
  -webkit-animation: bgToRight 1s forwards cubic-bezier(0.45, 0.12, 0.04, 0.96);
  animation: bgToRight 1s forwards cubic-bezier(0.45, 0.12, 0.04, 0.96);
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: currentColor;
}
.js-c-anime-elem[data-anime=slide-bg] .js-c-anime-elem__txt {
  transition: opacity 1s ease;
  transition-delay: 1s;
  opacity: 0;
}
.js-c-anime-elem[data-anime=slide-bg].is-animated .js-c-anime-elem__txt {
  opacity: 1;
}
.js-c-anime-elem[data-anime=slide-bg].is-animated .js-c-anime-elem__item::before {
  -webkit-animation-play-state: running;
  animation-play-state: running;
}

.js-c-anime-elem[data-anime-delay="0.1"] {
  transition-delay: 0.1s;
}
.js-c-anime-elem[data-anime-delay="0.2"] {
  transition-delay: 0.2s;
}
.js-c-anime-elem[data-anime-delay="0.3"] {
  transition-delay: 0.3s;
}
.js-c-anime-elem[data-anime-delay="0.4"] {
  transition-delay: 0.4s;
}
.js-c-anime-elem[data-anime-delay="0.5"] {
  transition-delay: 0.5s;
}
.js-c-anime-elem[data-anime-delay="0.6"] {
  transition-delay: 0.6s;
}
.js-c-anime-elem[data-anime-delay="0.7"] {
  transition-delay: 0.7s;
}
.js-c-anime-elem[data-anime-delay="0.8"] {
  transition-delay: 0.8s;
}
.js-c-anime-elem[data-anime-delay="0.9"] {
  transition-delay: 0.9s;
}
.js-c-anime-elem[data-anime-delay="1"] {
  transition-delay: 1s;
}
.js-c-anime-elem[data-anime-delay="1.1"] {
  transition-delay: 1.1s;
}
.js-c-anime-elem[data-anime-delay="1.2"] {
  transition-delay: 1.2s;
}
.js-c-anime-elem[data-anime-delay="1.3"] {
  transition-delay: 1.3s;
}
.js-c-anime-elem[data-anime-delay="1.4"] {
  transition-delay: 1.4s;
}
.js-c-anime-elem[data-anime-delay="1.5"] {
  transition-delay: 1.5s;
}
.js-c-anime-elem[data-anime-delay="1.6"] {
  transition-delay: 1.6s;
}
.js-c-anime-elem[data-anime-delay="1.7"] {
  transition-delay: 1.7s;
}
.js-c-anime-elem[data-anime-delay="1.8"] {
  transition-delay: 1.8s;
}
.js-c-anime-elem[data-anime-delay="1.9"] {
  transition-delay: 1.9s;
}
.js-c-anime-elem[data-anime-delay="2"] {
  transition-delay: 2s;
}

.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-ga-cookie-opt-in
================================================== */
.module-ga-cookie-accept-bar {
  position: fixed;
  left: 0;
  bottom: 0;
  background-color: rgb(var(--black));
  color: #fff;
  z-index: 9;
  font-size: 1.4rem;
  width: 100%;
}
.module-ga-cookie-accept-bar-inner {
  padding: 50px 20px 20px;
  position: relative;
}
.module-ga-cookie-accept-bar-header {
  display: none;
}
.module-ga-cookie-accept-bar .module-ga-cookie-btn {
  margin-top: 10px;
}
.module-ga-cookie-accept-bar .module-ga-cookie-btn .module-ga-cookie-accept-btn {
  display: block;
  width: 100%;
  margin: auto;
  color: rgb(var(--black));
  background-color: #fff;
  text-align: center;
  font-size: 1.6rem;
  padding: 10px 0;
  box-sizing: border-box;
}
.module-ga-cookie-accept-bar .module-ga-cookie-accept-btn.module-ga-cookie-deny-btn {
  position: absolute;
  width: 25px;
  height: 25px;
  right: 10px;
  top: 15px;
  background-color: transparent;
}
.module-ga-cookie-accept-bar .module-ga-cookie-accept-btn.module-ga-cookie-deny-btn::before, .module-ga-cookie-accept-bar .module-ga-cookie-accept-btn.module-ga-cookie-deny-btn::after {
  content: "";
  display: block;
  width: calc(100% - 4px);
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
}
.module-ga-cookie-accept-bar .module-ga-cookie-accept-btn.module-ga-cookie-deny-btn::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}
.module-ga-cookie-accept-bar .module-ga-cookie-accept-btn.module-ga-cookie-deny-btn::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media (min-width: 1180px) {
  .module-ga-cookie-accept-bar {
    font-size: 1.5rem;
  }
  .module-ga-cookie-accept-bar-inner {
    padding: 15px 140px 15px 50px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .module-ga-cookie-accept-bar p {
    width: calc(100% - 200px);
    box-sizing: border-box;
    padding-right: 20px;
    line-height: 1.7;
  }
  .module-ga-cookie-accept-bar .module-ga-cookie-btn {
    width: 200px;
    margin-top: 0;
  }
  .module-ga-cookie-accept-bar .module-ga-cookie-btn .module-ga-cookie-accept-btn {
    width: 100%;
    transition: all 0.3s ease;
  }
  .module-ga-cookie-accept-bar .module-ga-cookie-btn .module-ga-cookie-accept-btn:hover {
    background-color: transparent;
    color: #fff;
  }
  .module-ga-cookie-accept-bar .module-ga-cookie-accept-btn.module-ga-cookie-deny-btn {
    right: 45px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
  }
}

/* .js-home-voice-slider
================================================== */
.js-home-voice-slider {
  display: none;
}
.js-home-voice-slider.slick-initialized {
  display: block;
}
.js-home-voice-slider .slick-list {
  overflow: visible;
}
.js-home-voice-slider .slick-slide {
  padding: 0 10px;
}
.js-home-voice-slider__arrows {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 30px;
  width: 100%;
}
.js-home-voice-slider__arrows .slick-arrow {
  transition: background 0.3s ease;
  border: 1px solid #fff;
  border-radius: 50%;
  display: block;
  height: 50px;
  position: relative;
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  width: 50px;
}
.js-home-voice-slider__arrows .slick-arrow::before {
  content: "";
  background-color: #fff;
  -webkit-mask: url('data:image/svg+xml;charset=UTF-8,					<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 9">						<path d="m12.12 7.88 2.69-2.57H0v-1.6h14.82l-2.7-2.58L13.3.01l4.7 4.5-4.7 4.5-1.18-1.12Z"/>					</svg>') no-repeat center;
  mask: url('data:image/svg+xml;charset=UTF-8,					<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 9">						<path d="m12.12 7.88 2.69-2.57H0v-1.6h14.82l-2.7-2.58L13.3.01l4.7 4.5-4.7 4.5-1.18-1.12Z"/>					</svg>') no-repeat center;
  display: block;
  height: 9px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 18px;
}
.js-home-voice-slider__arrows .slick-prev::before {
  -webkit-transform: translate(-50%, -50%) scale(-1, 1);
  transform: translate(-50%, -50%) scale(-1, 1);
}
.js-home-voice-slider__arrows .slick-next {
  margin-left: 20px;
}
@media all and (min-width: 768px) {
  .js-home-voice-slider__arrows {
    margin-top: 38px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .js-home-voice-slider__arrows .slick-arrow:hover {
    background: #fff;
  }
  .js-home-voice-slider__arrows .slick-arrow:hover::before {
    background-color: rgb(var(--black));
  }
}

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

/* .application-archive
================================================ */
.application-archive {
  border-bottom: 1px solid rgb(var(--border));
}
.application-archive__inner {
  padding-top: 23px;
  padding-bottom: 46px;
}
@media all and (min-width: 768px) {
  .application-archive__inner {
    padding-top: 79px;
    padding-bottom: 110px;
  }
}

/* .application-single
================================================ */
.application-single__inner {
  padding-top: 29px;
  padding-bottom: 26px;
}
@media all and (min-width: 768px) {
  .application-single__inner {
    padding-top: 90px;
    padding-bottom: 70px;
  }
}

/* .company-intro
================================================ */
.company-intro {
  overflow: hidden;
}
.company-intro__inner {
  padding-top: 40px;
  padding-bottom: 56px;
  position: relative;
}
.company-intro__parts {
  height: 3px;
  position: absolute;
}
.company-intro__parts.is-parts01, .company-intro__parts.is-parts04 {
  background: linear-gradient(to right, #feb121 0%, #ee3848 34.78%, #aa409e 63.91%, #466eed 100%);
}
.company-intro__parts.is-parts02, .company-intro__parts.is-parts03, .company-intro__parts.is-parts05 {
  background: linear-gradient(to left, #feb121 0%, #ee3848 34.78%, #aa409e 63.91%, #466eed 100%);
}
.company-intro__parts.is-parts01 {
  width: 33px;
  top: 25px;
  left: 23px;
}
.company-intro__parts.is-parts02 {
  width: 23px;
  top: 55px;
  left: 11px;
}
.company-intro__parts.is-parts03 {
  width: 21px;
  bottom: 44px;
  right: 42px;
}
.company-intro__parts.is-parts04 {
  width: 41px;
  height: 4px;
  bottom: 33px;
  right: 12px;
}
.company-intro__parts.is-parts05 {
  width: 20px;
  bottom: 23px;
  right: 62px;
}
.company-intro__read {
  text-align: center;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.8;
  margin-bottom: 17px;
}
.company-intro__read-in {
  width: 44.5px;
  display: inline-block;
  vertical-align: text-bottom;
  margin-top: -6px;
}
@media all and (min-width: 768px) {
  .company-intro__parts {
    height: 6px;
  }
  .company-intro__parts.is-parts01 {
    width: 50px;
    top: 212px;
    left: 15px;
  }
  .company-intro__parts.is-parts02 {
    width: 70px;
    top: 238px;
    left: -42px;
  }
  .company-intro__parts.is-parts03 {
    width: 30px;
    bottom: 228px;
    right: -1px;
  }
  .company-intro__parts.is-parts04 {
    width: 100px;
    height: 10px;
    bottom: 201px;
    right: -85px;
  }
  .company-intro__parts.is-parts05 {
    width: 70px;
    bottom: 178px;
    right: 15px;
  }
  .company-intro__inner {
    padding-top: 117px;
    padding-bottom: 126px;
  }
  .company-intro__read {
    font-size: 3.3rem;
    line-height: 1.65;
    margin-bottom: 34px;
  }
  .company-intro__read-in {
    width: 69px;
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    margin: 0 3px;
  }
  .company-intro__txt {
    text-align: center;
  }
}

/* .company-value
================================================ */
.company-value {
  background: url(../img/company/bg_value01_sp.jpg) no-repeat center/cover;
}
.company-value__inner {
  padding-top: 52px;
  padding-bottom: 56px;
}
@media all and (min-width: 768px) {
  .company-value {
    background-image: url(../img/company/bg_value01_pc.jpg);
  }
  .company-value__inner {
    padding-top: 114px;
    padding-bottom: 126px;
  }
}

/* .company-approach
================================================ */
.company-approach__inner {
  padding-top: 52px;
  padding-bottom: 57px;
}
.company-approach__txt {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 29px;
}
.company-approach__txt-style {
  border-bottom: 2px solid rgb(var(--black));
  padding-bottom: 6px;
}
.company-approach__txt-num {
  font-size: 3.1rem;
  display: inline-block;
  line-height: 1.1;
}
.company-approach__item + .company-approach__item {
  margin-top: 37px;
}
.company-approach__item-img {
  position: relative;
  margin-bottom: 15px;
}
.company-approach__item-img::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background-color: rgba(var(--black), 0.2);
  position: absolute;
  right: -5px;
  bottom: -5px;
  z-index: -1;
}
.company-approach__item-head {
  font-size: 2rem;
  position: relative;
  padding-left: 30px;
  padding-bottom: 6px;
  font-weight: 700;
  margin-bottom: 7px;
}
.company-approach__item-head::before {
  content: "";
  width: 100%;
  height: 2px;
  display: block;
  background: var(--gradation);
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: 0.2;
}
.company-approach__item-head-num {
  display: inline-block;
  width: 21.5px;
  position: absolute;
  left: -1px;
  top: -10px;
}
.company-approach__item-txt {
  letter-spacing: 0.1em;
  line-height: 1.88;
}
@media all and (min-width: 768px) {
  .company-approach {
    position: relative;
  }
  .company-approach::before {
    content: "";
    display: block;
    width: 1010px;
    height: 1148px;
    background: url(../img/common/bg_wave01_pc.png) no-repeat left top/contain;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
    z-index: -1;
  }
  .company-approach__inner {
    padding-top: 134px;
    padding-bottom: 131px;
  }
  .company-approach__head {
    width: 385px;
  }
  .company-approach__head-wrap {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 24px;
  }
  .company-approach__txt {
    width: calc(100% - 385px);
    box-sizing: border-box;
    text-align: left;
    font-size: 2.5rem;
    margin-bottom: 0;
    padding-left: 72px;
    padding-top: 5px;
    line-height: 1.8;
  }
  .company-approach__txt-style {
    padding-bottom: 2px;
  }
  .company-approach__txt-num {
    font-size: 3.8rem;
  }
  .company-approach-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .company-approach__item {
    width: 340px;
  }
  .company-approach__item + .company-approach__item {
    margin-top: 0;
  }
  .company-approach__item-img {
    margin-bottom: 20px;
  }
  .company-approach__item-head {
    font-size: 2.4rem;
    padding-left: 38px;
    padding-bottom: 5px;
    margin-bottom: 11px;
  }
  .company-approach__item-head-num {
    width: 27px;
    top: -12px;
  }
}

/* .company-sdgs
================================================ */
.company-sdgs {
  background-color: rgb(var(--bg));
}
.company-sdgs__inner {
  padding-top: 51px;
  padding-bottom: 60px;
}
.company-sdgs-wrap {
  padding-top: 18px;
}
.company-sdgs__item {
  text-align: center;
}
.company-sdgs__item + .company-sdgs__item {
  margin-top: 60px;
}
.company-sdgs__item-img {
  position: relative;
  max-width: 130px;
  margin: 0 auto 10px;
}
.company-sdgs__item-num {
  font-size: 3.8rem;
  color: rgba(var(--border), 0.65);
  position: absolute;
  top: -35px;
  left: -33px;
}
.company-sdgs__item-txt {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 14px;
}
.company-sdgs__item-detail {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  justify-content: center;
}
.company-sdgs__item-detail-item {
  width: 52px;
  margin-right: 10px;
}
@media all and (min-width: 768px) {
  .company-sdgs__inner {
    padding-top: 119px;
    padding-bottom: 47px;
  }
  .company-sdgs-wrap {
    padding-top: 41px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .company-sdgs__item {
    width: 350px;
    margin-bottom: 88px;
  }
  .company-sdgs__item + .company-sdgs__item {
    margin-top: 0;
  }
  .company-sdgs__item-img {
    margin-bottom: 15px;
  }
  .company-sdgs__item-num {
    top: -43px;
    left: -32px;
  }
  .company-sdgs__item-txt {
    margin-bottom: 19px;
  }
}

/* .company-overview
================================================ */
.company-overview__inner {
  padding-top: 51px;
  padding-bottom: 40px;
}
.company-overview-list {
  padding-top: 3px;
}
.company-overview-list__item {
  border-bottom: 1px solid rgb(var(--border));
  padding-bottom: 16px;
}
.company-overview-list__item + .company-overview-list__item {
  margin-top: 20px;
}
.company-overview-list__item-head {
  font-weight: 700;
  font-size: 1.7rem;
  line-height: 1.5;
  margin-bottom: 6px;
}
@media all and (min-width: 768px) {
  .company-overview__inner {
    padding-top: 119px;
  }
  .company-overview-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 12px;
  }
  .company-overview-list__item {
    display: flex;
    flex-wrap: wrap;
    width: calc(50% - 15px);
    box-sizing: border-box;
    padding: 30px 10px 27px;
  }
  .company-overview-list__item.is-col2 {
    flex-wrap: nowrap;
    width: 100%;
  }
  .company-overview-list__item + .company-overview-list__item {
    margin-top: 0;
  }
  .company-overview-list__item:first-of-type, .company-overview-list__item:nth-of-type(2) {
    border-top: 1px solid rgb(var(--border));
  }
  .company-overview-list__item-head {
    font-size: 1.8rem;
    margin-bottom: 0;
    min-width: 130px;
  }
  .company-overview-list__item-txt {
    margin-top: -3px;
  }
}

/* .company-member
================================================ */
.company-member__inner {
  padding-top: 22px;
  padding-bottom: 70px;
}
@media all and (min-width: 768px) {
  .company-member__inner {
    padding-top: 81px;
    padding-bottom: 95px;
  }
}

#contact .l-breadcrumb {
  border-top: 1px solid rgb(var(--border));
}

/* .contact-form
================================================ */
.contact-form__inner {
  padding-top: 30px;
  padding-bottom: 60px;
}
.contact-form__txt {
  margin-bottom: 40px;
}
@media all and (min-width: 768px) {
  .contact-form__inner {
    padding-top: 90px;
    padding-bottom: 120px;
  }
  .contact-form__txt {
    text-align: center;
    margin-bottom: 60px;
  }
}

/* .download-archive
================================================ */
.download-archive {
  border-bottom: 1px solid rgb(var(--border));
}
.download-archive__inner {
  padding-top: 26px;
  padding-bottom: 60px;
}
.download-archive__txt {
  margin-bottom: 36px;
}
@media all and (min-width: 768px) {
  .download-archive__inner {
    padding-top: 86px;
    padding-bottom: 110px;
  }
  .download-archive__txt {
    text-align: center;
  }
}

/* .download-single
================================================ */
.download-single__inner {
  padding-top: 29px;
  padding-bottom: 26px;
}
.download-single__area-btn {
  background-color: rgb(var(--bg));
  padding: 1px 0 19px;
  margin: 34px -25px 0;
}
@media all and (min-width: 768px) {
  .download-single__inner {
    padding-top: 90px;
    padding-bottom: 70px;
  }
  .download-single__area-btn {
    margin: 67px 0px 4px;
    padding: 1px 0 49px;
  }
}

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

/* .home-vision
================================================== */
.home-vision {
  position: relative;
  z-index: 1;
}
.home-vision__bg {
  position: absolute;
  top: 0;
  left: 0;
  max-width: calc(100% - 25px);
  z-index: -1;
}
.home-vision__inner {
  padding-top: 80px;
  position: relative;
}
.home-vision__inner::before, .home-vision__inner::after {
  content: "";
  position: absolute;
  z-index: -1;
}
.home-vision__inner::before {
  background: url(../img/home/img_line01.png) no-repeat center/cover;
  height: 24px;
  top: 37px;
  left: 9px;
  width: 70px;
}
.home-vision__inner::after {
  background: url(../img/home/img_line02.png) no-repeat center/cover;
  height: 33px;
  bottom: -60px;
  right: 9px;
  width: 45px;
}
.home-vision__con {
  border-bottom: 1px solid rgb(var(--border));
  padding-bottom: 50px;
}
.home-vision__head {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 32px;
}
.home-vision__txt {
  font-size: 1.7rem;
  line-height: 2.35;
}
.home-vision__txt + .home-vision__txt {
  margin-top: 2.4em;
}
@media all and (min-width: 768px) {
  .home-vision__inner {
    padding-top: 136px;
  }
  .home-vision__inner::before {
    height: 56px;
    width: 170px;
  }
  .home-vision__inner::after {
    height: 70px;
    bottom: -97px;
    width: 97px;
  }
  .home-vision__head {
    font-size: 6rem;
    margin-bottom: 70px;
  }
  .home-vision__txt {
    font-size: 1.8rem;
    line-height: 2.5;
  }
}
@media all and (min-width: 1260px) {
  .home-vision__inner::before {
    top: 397px;
    left: -92px;
  }
  .home-vision__inner::after {
    bottom: -36px;
    right: -53px;
  }
  .home-vision__con {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 114px;
  }
  .home-vision__head {
    letter-spacing: 0.02em;
  }
  .home-vision__area-txt {
    flex: 1;
    margin-left: 7%;
    padding-top: 6px;
  }
}

/* .home-value
================================================== */
.home-value__inner {
  padding-top: 60px;
  padding-bottom: 80px;
}
.home-value__head {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 40px;
}
.home-value-list {
  margin: 0 0 -30px;
}
.home-value-list__item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 72px 1fr;
  grid-template-columns: 72px 1fr;
  margin: 0 0 30px;
}
.home-value-list__ico {
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-area: 1/1/3/2;
  padding-right: 12px;
}
.home-value-list__head {
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-area: 1/2/2/3;
  font-size: 2.9rem;
  letter-spacing: 0.01em;
  line-height: 1.2;
}
.home-value-list__sub {
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-area: 2/2/3/3;
  color: rgb(var(--border));
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.5;
  margin-top: 6px;
}
.home-value-list__txt {
  -ms-grid-row: 3;
  -ms-grid-row-span: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-area: 3/1/4/3;
  margin-top: 10px;
}
@media all and (min-width: 768px) {
  .home-value__inner {
    padding-top: 118px;
    padding-bottom: 146px;
  }
  .home-value__head {
    font-size: 5.5rem;
    letter-spacing: 0.02em;
    margin-bottom: 68px;
  }
  .home-value-list {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 0 -31px -58px;
  }
  .home-value-list__item {
    margin: 0 31px 58px;
    width: calc(50% - 62px);
  }
  .home-value-list__head {
    font-size: 3.8rem;
    letter-spacing: 0;
  }
}
@media all and (min-width: 1260px) {
  .home-value-list__item {
    -ms-grid-columns: 110px 1fr;
    grid-template-columns: 110px 1fr;
  }
  .home-value-list__ico {
    padding-right: 20px;
  }
  .home-value-list__head {
    font-size: 4.8rem;
    padding-top: 3px;
  }
  .home-value-list__sub {
    font-size: 1.6rem;
    margin-top: 6px;
  }
  .home-value-list__txt {
    margin-top: 20px;
  }
}

/* .home-voice
================================================== */
.home-voice {
  color: #fff;
  overflow: hidden;
  position: relative;
  z-index: 2;
}
.home-voice::before {
  content: "";
  background: url(../img/home/bg_voice01_sp.jpg) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  max-width: 1728px;
  z-index: -1;
}
.home-voice__inner {
  padding-top: 80px;
  padding-bottom: 72px;
}
.home-voice__head {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 32px;
}
.home-voice__txt {
  font-size: 1.7rem;
  line-height: 2.35;
}
.home-voice__txt + .home-voice__txt {
  margin-top: 2.4em;
}
@media all and (min-width: 768px) {
  .home-voice::before {
    background-image: url(../img/home/bg_voice01_pc.jpg);
  }
  .home-voice__inner {
    padding-top: 150px;
    padding-bottom: 150px;
  }
  .home-voice__head {
    margin-bottom: 60px;
  }
}
@media all and (min-width: 1260px) {
  .home-voice__con {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 120px;
    grid-template-columns: 1fr 120px;
  }
  .home-voice__head {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 1/1/2/2;
  }
  .home-voice__slider {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-area: 2/1/3/3;
    min-height: 0;
    min-width: 0;
  }
  .home-voice__arrows {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-area: 1/2/2/3;
  }
  .home-voice__btn {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-area: 3/1/4/3;
  }
}

/* .home-topics
================================================== */
.home-topics {
  position: relative;
  z-index: 1;
}
.home-topics::before {
  content: "";
  background: #fff;
  position: absolute;
  top: 0;
  left: auto;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 1728px;
  z-index: -1;
}
.home-topics__bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  text-align: right;
  z-index: -1;
}
.home-topics__inner {
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative;
}
.home-topics__inner::before {
  content: "";
  background: url(../img/home/img_line03.png) no-repeat center/cover;
  height: 21px;
  position: absolute;
  left: 6px;
  bottom: 29px;
  width: 65px;
  z-index: -1;
}
.home-topics-tab-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-bottom: 1px solid rgb(var(--black));
  margin: 0 -25px 20px;
  padding: 0 25px;
}
.home-topics-tab-list__item {
  width: calc(50% - 5px);
  text-align: center;
  border: 1px solid rgb(var(--black));
  border-bottom: none;
  padding: 5px 0;
  font-size: 1.4rem;
}
.home-topics-tab-list__item.is-active {
  background-color: rgb(var(--black));
  color: #fff;
}
@media all and (min-width: 768px) {
  .home-topics__inner {
    padding-top: 150px;
    padding-bottom: 150px;
  }
  .home-topics__inner::before {
    height: 56px;
    width: 170px;
  }
}
@media all and (min-width: 1260px) {
  .home-topics__bg {
    top: -106%;
  }
  .home-topics__inner::before {
    top: 489px;
    left: -138px;
  }
  .home-topics__con {
    display: flex;
    flex-wrap: wrap;
  }
  .home-topics-tab {
    width: 350px;
  }
  .home-topics-tab-list {
    display: block;
    margin: 0;
    padding: 0;
    border-bottom: none;
  }
  .home-topics-tab-list__item {
    width: 60%;
    border: 1px solid rgb(var(--black));
    margin-bottom: 20px;
    padding: 15px 0;
    transition: all 0.3s ease;
  }
  .home-topics-tab-list__item:hover {
    background-color: rgb(var(--black));
    color: #fff;
  }
  .home-topics-content {
    width: calc(100% - 350px);
    box-sizing: border-box;
    padding-left: 80px;
  }
}

/* .home-pv
================================================== */
.home-pv {
  overflow: hidden;
  position: relative;
}
.home-pv::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.home-pv.is-thin::before {
  content: none;
}
.home-pv__video {
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}
.home-pv__btn {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 80px;
}
.home-pv__modal {
  display: none;
}
.home-pv__modal video {
  width: 100%;
}
@media all and (min-width: 768px) {
  .home-pv__btn {
    width: 180px;
  }
}
@media all and (min-width: 1260px) {
  .home-pv {
    margin-top: -70px;
  }
}

/* .home-about
================================================== */
.home-about {
  position: relative;
}
.home-about__inner {
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative;
}
.home-about__inner::before, .home-about__inner::after {
  content: "";
  position: absolute;
  z-index: -1;
}
.home-about__inner::before {
  background: url(../img/home/img_line04.png) no-repeat center/cover;
  height: 10px;
  top: 191px;
  right: 14px;
  width: 33px;
}
.home-about__inner::after {
  background: url(../img/home/img_line05.png) no-repeat center/cover;
  height: 11px;
  bottom: 42px;
  left: 12px;
  width: 48px;
}
.home-about-header {
  margin-bottom: 34px;
  position: relative;
}
.home-about-sec + .home-about-sec {
  margin-top: 50px;
}
.home-about-sec__head {
  border-bottom: 1px solid rgb(var(--border));
  font-size: 2.7rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 30px;
  padding-bottom: 16px;
  position: relative;
}
.home-about-sec__head::before {
  content: "";
  border-bottom: 1px solid rgb(var(--black));
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 33px;
}
.home-about-sec__head-sub {
  font-size: 1.7rem;
}
@media all and (min-width: 768px) {
  .home-about__inner {
    padding-top: 150px;
    padding-bottom: 150px;
  }
  .home-about__inner::before {
    height: 32px;
    width: 107px;
  }
  .home-about__inner::after {
    height: 20px;
    width: 87px;
  }
  .home-about-sec + .home-about-sec {
    margin-top: 98px;
  }
  .home-about-sec__head {
    font-size: 4.2rem;
    margin-bottom: 50px;
    padding-bottom: 25px;
  }
  .home-about-sec__head::before {
    width: 69px;
  }
  .home-about-sec__head-sub {
    font-size: 2.2rem;
  }
}
@media all and (min-width: 1260px) {
  .home-about__inner::before {
    top: 770px;
    right: -80px;
  }
  .home-about__inner::after {
    left: -83px;
    bottom: 438px;
  }
  .home-about__con {
    display: flex;
    flex-wrap: wrap;
  }
  .home-about-header__in {
    position: sticky;
    top: 100px;
  }
  .home-about__main {
    flex: 1;
    margin-left: 12.9%;
  }
  .home-about-anchor__item + .home-about-anchor__item {
    margin-top: 8px;
  }
  .home-about-anchor__link {
    transition: all 0.3s ease;
    color: rgb(var(--gray));
    font-size: 1.4rem;
    font-weight: bold;
  }
  .home-about-anchor__link:hover {
    color: rgb(var(--black));
  }
  .home-about-anchor__link.is-active {
    color: rgb(var(--black));
  }
}

/* .home-recruit
================================================== */
.home-recruit {
  color: #fff;
  position: relative;
  z-index: 1;
}
.home-recruit::before {
  content: "";
  background: url(../img/home/bg_recruit01_sp.jpg) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: auto;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 1728px;
  z-index: -1;
}
.home-recruit__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
.home-recruit-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -6px -30px;
}
.home-recruit-list__item {
  margin: 0 6px 30px;
  width: calc(50% - 12px);
}
.home-recruit-list__ico {
  margin: 0 auto 16px;
  width: 100px;
}
.home-recruit-list__main {
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 6px;
  text-align: center;
}
.home-recruit-list__txt {
  font-size: 1.2rem;
}
@media all and (min-width: 768px) {
  .home-recruit::before {
    background-image: url(../img/home/bg_recruit01_pc.jpg);
  }
  .home-recruit__inner {
    padding-top: 150px;
    padding-bottom: 134px;
  }
  .home-recruit-list {
    margin: 0 -24px -60px;
  }
  .home-recruit-list__item {
    margin: 0 24px 60px;
    width: calc(50% - 48px);
  }
  .home-recruit-list__ico {
    width: 100px;
  }
  .home-recruit-list__main {
    font-size: 2.4rem;
    margin-bottom: 6px;
  }
  .home-recruit-list__txt {
    font-size: 1.4rem;
  }
}
@media all and (min-width: 1260px) {
  .home-recruit__con {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
    -ms-grid-rows: auto 1fr;
    grid-template-rows: auto 1fr;
  }
  .home-recruit__con > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .home-recruit__con > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .home-recruit__con > *:nth-child(3) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  .home-recruit__con > *:nth-child(4) {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  .home-recruit__head {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 1/1/2/2;
    margin-bottom: 48px;
  }
  .home-recruit-list {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-area: 1/2/3/3;
    display: block;
    margin: 0 0 -24px 80px;
  }
  .home-recruit-list__item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 0 24px;
    width: 100%;
  }
  .home-recruit-list__ico {
    margin-right: 28px;
  }
  .home-recruit-list__area-txt {
    flex: 1;
    padding-bottom: 10px;
  }
  .home-recruit-list__main {
    text-align: left;
  }
  .home-recruit__btn {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 2/1/3/2;
    margin: 0;
  }
}

/* .news-archive
================================================ */
.news-archive__inner {
  padding-top: 40px;
  padding-bottom: 46px;
}
@media all and (min-width: 768px) {
  .news-archive__inner {
    padding-top: 90px;
    padding-bottom: 110px;
  }
}

/* .news-single
================================================ */
.news-single__inner {
  padding-top: 42px;
  padding-bottom: 26px;
}
@media all and (min-width: 768px) {
  .news-single__inner {
    padding-top: 90px;
    padding-bottom: 70px;
  }
}

/* .privacy-content
================================================ */
.privacy-content {
  border-bottom: 1px solid rgb(var(--border));
}
.privacy-content__inner {
  padding-top: 26px;
  padding-bottom: 46px;
}
.privacy-content__txt {
  margin-bottom: 41px;
}
.privacy-content__item + .privacy-content__item {
  margin-top: 31px;
}
.privacy-content__item-head {
  position: relative;
  font-size: 1.8rem;
  font-weight: 700;
  padding-left: 16px;
  margin-bottom: 6px;
}
.privacy-content__item-head::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: var(--gradation);
  position: absolute;
  left: 0;
  top: 14px;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
.privacy-content__item-link {
  text-decoration: underline !important;
}
.privacy-content__item-link::after {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22window-icon%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_227%22%20data-name%3D%22%E3%83%91%E3%82%B9%20227%22%20d%3D%22M4%2C1H9V6H4ZM3%2C7h7V0H3Z%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_228%22%20data-name%3D%22%E3%83%91%E3%82%B9%20228%22%20d%3D%22M0%2C3v7H7V8H6V9H1V4H2V3Z%22%2F%3E%3C%2Fsvg%3E");
  display: inline-block;
  width: 10px;
  height: 10px;
  background-repeat: no-repeat;
  background-size: contain;
  margin-left: 4px;
  margin-right: 2px;
}
@media all and (min-width: 768px) {
  .privacy-content__inner {
    padding-top: 86px;
    padding-bottom: 116px;
  }
  .privacy-content__txt {
    margin-bottom: 60px;
  }
  .privacy-content__item + .privacy-content__item {
    margin-top: 50px;
  }
  .privacy-content__item-head {
    font-size: 2.4rem;
    margin-bottom: 9px;
  }
  .privacy-content__item-head::before {
    top: 21px;
  }
  .privacy-content__item-link::after {
    margin-left: 6px;
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }
}

/* .recruit-intro
================================================ */
.recruit-intro {
  overflow: hidden;
}
.recruit-intro__inner {
  padding-top: 40px;
  padding-bottom: 56px;
  position: relative;
}
.recruit-intro__parts {
  height: 3px;
  position: absolute;
}
.recruit-intro__parts.is-parts01, .recruit-intro__parts.is-parts04 {
  background: linear-gradient(to right, #feb121 0%, #ee3848 34.78%, #aa409e 63.91%, #466eed 100%);
}
.recruit-intro__parts.is-parts02, .recruit-intro__parts.is-parts03, .recruit-intro__parts.is-parts05 {
  background: linear-gradient(to left, #feb121 0%, #ee3848 34.78%, #aa409e 63.91%, #466eed 100%);
}
.recruit-intro__parts.is-parts01 {
  width: 33px;
  top: 25px;
  left: 23px;
}
.recruit-intro__parts.is-parts02 {
  width: 23px;
  top: 55px;
  left: 11px;
}
.recruit-intro__parts.is-parts03 {
  width: 21px;
  bottom: 44px;
  right: 42px;
}
.recruit-intro__parts.is-parts04 {
  width: 41px;
  height: 4px;
  bottom: 33px;
  right: 12px;
}
.recruit-intro__parts.is-parts05 {
  width: 20px;
  bottom: 23px;
  right: 62px;
}
.recruit-intro__read {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.8;
  margin-bottom: 17px;
}
.recruit-intro__read-in {
  width: 44.5px;
  display: inline-block;
  vertical-align: text-bottom;
  margin-top: -6px;
}
.recruit-intro__txt + .recruit-intro__txt {
  margin-top: 32px;
}
@media all and (min-width: 768px) {
  .recruit-intro__parts {
    height: 6px;
  }
  .recruit-intro__parts.is-parts01 {
    width: 50px;
    top: 212px;
    left: 15px;
  }
  .recruit-intro__parts.is-parts02 {
    width: 70px;
    top: 238px;
    left: -42px;
  }
  .recruit-intro__parts.is-parts03 {
    width: 30px;
    bottom: 282px;
    right: -1px;
  }
  .recruit-intro__parts.is-parts04 {
    width: 100px;
    height: 10px;
    bottom: 255px;
    right: -85px;
  }
  .recruit-intro__parts.is-parts05 {
    width: 70px;
    bottom: 232px;
    right: 15px;
  }
  .recruit-intro__inner {
    padding-top: 117px;
    padding-bottom: 116px;
  }
  .recruit-intro__read {
    text-align: center;
    font-size: 3.3rem;
    line-height: 1.7;
    margin-bottom: 34px;
  }
  .recruit-intro__read-in {
    width: 69px;
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    margin: 0 3px;
  }
  .recruit-intro__txt {
    text-align: center;
  }
}

/* .recruit-value
================================================ */
.recruit-value {
  background: linear-gradient(rgba(254, 177, 33, 0.1) 0%, rgba(238, 56, 72, 0.1) 34.78%, rgba(170, 64, 158, 0.1) 63.91%, rgba(70, 110, 237, 0.1) 100%);
}
.recruit-value__inner {
  padding-top: 51px;
  padding-bottom: 56px;
}
.recruit-value__item + .recruit-value__item {
  margin-top: 33px;
}
.recruit-value__item:nth-of-type(1) .recruit-value__item-head {
  width: 188px;
}
.recruit-value__item:nth-of-type(2) .recruit-value__item-head {
  width: 251px;
}
.recruit-value__item:nth-of-type(3) .recruit-value__item-head {
  width: 163.5px;
}
.recruit-value__item-head {
  margin: 0 auto 15px;
}
.recruit-value__item-ico {
  width: 160px;
  margin: 0 auto 17px;
}
.recruit-value__item-read {
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 1.8;
  margin-bottom: 6px;
}
@media all and (max-width: 374px) {
  .recruit-value__item-read {
    font-size: 2rem;
  }
}
@media all and (min-width: 768px) {
  .recruit-value {
    background: linear-gradient(160deg, rgba(254, 177, 33, 0.1) 0%, rgba(238, 56, 72, 0.1) 34.78%, rgba(170, 64, 158, 0.1) 63.91%, rgba(70, 110, 237, 0.1) 100%);
  }
  .recruit-value__inner {
    padding-top: 124px;
    padding-bottom: 116px;
  }
  .recruit-value-wrap {
    display: flex;
    flex-wrap: wrap;
    padding-top: 10px;
    justify-content: space-between;
  }
  .recruit-value__item {
    width: 350px;
  }
  .recruit-value__item + .recruit-value__item {
    margin-top: 0;
  }
  .recruit-value__item-head {
    margin-bottom: 20px;
  }
  .recruit-value__item-ico {
    width: 180px;
    margin-bottom: 22px;
  }
  .recruit-value__item-read {
    text-align: center;
    line-height: 1.75;
    margin-bottom: 17px;
  }
}

/* .recruit-flow
================================================ */
.recruit-flow__inner {
  padding-top: 52px;
  padding-bottom: 60px;
}
.recruit-flow-list {
  padding-top: 23px;
}
.recruit-flow-list__item {
  position: relative;
}
.recruit-flow-list__item + .recruit-flow-list__item {
  padding-top: 64px;
}
.recruit-flow-list__item + .recruit-flow-list__item::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 11.5px 0 11.5px;
  border-color: rgb(var(--border)) transparent transparent transparent;
  position: absolute;
  top: 21px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.recruit-flow-list__item-num {
  font-size: 3.8rem;
  color: rgba(var(--border), 0.65);
  position: absolute;
  left: -33px;
  top: -35px;
}
.recruit-flow-list__item-ico {
  position: relative;
  width: 130px;
  margin: 0 auto 4px;
}
.recruit-flow-list__item-txt {
  text-align: center;
  font-size: 2.2rem;
  font-weight: 700;
}
.recruit-flow__btn {
  max-width: 325px;
  margin: 44px auto 0;
}
.recruit-flow__btn-link {
  display: flex;
  position: relative;
  height: 130px;
  width: 100%;
  color: #fff;
  align-items: center;
  box-sizing: border-box;
  padding: 5px 25px 0;
}
.recruit-flow__btn-link::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/recruit/bg_flow01_sp.jpg) no-repeat center/cover;
  position: absolute;
  left: 0;
  top: 0;
}
.recruit-flow__btn-area-txt {
  position: relative;
}
.recruit-flow__btn-en {
  font-size: 4rem;
  line-height: 1.1;
  margin-bottom: 1px;
}
.recruit-flow__btn-jp {
  font-size: 1.1rem;
}
.recruit-flow__btn-arrow {
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border: 1px solid #fff;
  border-radius: 50%;
  box-sizing: border-box;
}
.recruit-flow__btn-arrow-ico {
  width: 18px;
  height: 9px;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media all and (min-width: 768px) {
  .recruit-flow__inner {
    padding-top: 124px;
    padding-bottom: 120px;
  }
  .recruit-flow-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 30px 70px 0;
  }
  .recruit-flow-list__item {
    width: 140px;
  }
  .recruit-flow-list__item + .recruit-flow-list__item {
    padding-top: 0;
  }
  .recruit-flow-list__item + .recruit-flow-list__item::before {
    left: -86px;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(29deg);
    transform: translateY(-50%) rotate(29deg);
    margin-top: -16px;
  }
  .recruit-flow-list__item-num {
    font-size: 3.4rem;
    left: -28px;
    top: -31px;
  }
  .recruit-flow-list__item-ico {
    width: 140px;
  }
  .recruit-flow__btn {
    margin-top: 74px;
    max-width: 700px;
  }
  .recruit-flow__btn-link {
    height: 170px;
    justify-content: center;
    text-align: center;
    padding-top: 9px;
    transition: all 0.3s ease;
    overflow: hidden;
  }
  .recruit-flow__btn-link::before {
    background-image: url(../img/recruit/bg_flow01_pc.jpg);
    transition: all 0.3s ease;
  }
  .recruit-flow__btn-link:hover::before {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  .recruit-flow__btn-en {
    font-size: 5.3rem;
  }
  .recruit-flow__btn-jp {
    font-size: 1.6rem;
  }
  .recruit-flow__btn-arrow {
    width: 80px;
    height: 80px;
    right: 40px;
  }
  .recruit-flow__btn-arrow-ico {
    width: 21.7px;
    height: 11px;
  }
}

/* .recruit-flow
================================================ */
.recruit-gallery {
  background-color: rgb(var(--bg));
  padding-bottom: 60px;
}
.recruit-gallery__inner {
  padding-top: 51px;
}
.recruit-gallery-list {
  margin: 0 0 -20px;
}
.recruit-gallery-list .slick-slide {
  padding: 0 10px;
  box-sizing: border-box;
}
.recruit-gallery-list__item {
  margin: 0 0 20px;
  max-width: 610px;
}
.recruit-gallery-list__item-img {
  margin-bottom: 11px;
}
.recruit-gallery-list__item-read {
  font-weight: 700;
  margin-bottom: 2px;
}
.recruit-gallery-list__item-txt {
  font-size: 1.4rem;
}
.recruit-gallery-list__arrows {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 30px;
  width: 100%;
}
.recruit-gallery-list__arrows .slick-arrow {
  transition: background 0.3s ease;
  border: 1px solid rgb(var(--gray));
  border-radius: 50%;
  display: block;
  height: 50px;
  position: relative;
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  width: 50px;
}
.recruit-gallery-list__arrows .slick-arrow::before {
  content: "";
  background-color: rgb(var(--black));
  -webkit-mask: url('data:image/svg+xml;charset=UTF-8,						<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 9">							<path d="m12.12 7.88 2.69-2.57H0v-1.6h14.82l-2.7-2.58L13.3.01l4.7 4.5-4.7 4.5-1.18-1.12Z"/>						</svg>') no-repeat center;
  mask: url('data:image/svg+xml;charset=UTF-8,						<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 9">							<path d="m12.12 7.88 2.69-2.57H0v-1.6h14.82l-2.7-2.58L13.3.01l4.7 4.5-4.7 4.5-1.18-1.12Z"/>						</svg>') no-repeat center;
  display: block;
  height: 9px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 18px;
}
.recruit-gallery-list__arrows .slick-prev::before {
  -webkit-transform: translate(-50%, -50%) scale(-1, 1);
  transform: translate(-50%, -50%) scale(-1, 1);
}
.recruit-gallery-list__arrows .slick-next {
  margin-left: 20px;
}
@media all and (min-width: 768px) {
  .recruit-gallery {
    padding-bottom: 120px;
  }
  .recruit-gallery__inner {
    padding-top: 124px;
  }
  .recruit-gallery-list .slick-slide {
    padding: 0 16px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .recruit-gallery-list__arrows .slick-arrow:hover {
    background: rgb(var(--black));
  }
  .recruit-gallery-list__arrows .slick-arrow:hover::before {
    background-color: #fff;
  }
}

/* .recruit-entry
================================================ */
.recruit-entry {
  background: url(../img/recruit/bg_entry01_sp.png) no-repeat center/cover;
}
.recruit-entry__inner {
  padding-top: 40px;
  padding-bottom: 41px;
}
.recruit-entry__btn-link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff;
  color: #fff;
  width: 100%;
  height: 130px;
  box-sizing: border-box;
  position: relative;
  text-align: center;
}
.recruit-entry__btn-en {
  font-size: 4rem;
  line-height: 1.1;
}
.recruit-entry__btn-jp {
  font-size: 1.1rem;
  font-weight: 700;
}
.recruit-entry__btn-arrow {
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border: 1px solid #fff;
  border-radius: 50%;
  box-sizing: border-box;
  color: #fff;
}
.recruit-entry__btn-arrow-ico {
  width: 18px;
  height: 9px;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media all and (min-width: 768px) {
  .recruit-entry {
    background-image: url(../img/recruit/bg_entry01_pc.png);
    position: relative;
  }
  .recruit-entry__inner {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .recruit-entry__btn {
    position: relative;
    z-index: 1;
  }
  .recruit-entry__btn:hover + .recruit-entry__btn-bg {
    opacity: 1;
  }
  .recruit-entry__btn-bg {
    width: 100%;
    height: 100%;
    background: url(../img/recruit/bg_entry02.jpg) no-repeat center/cover;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .recruit-entry__btn-link {
    height: 270px;
  }
  .recruit-entry__btn-en {
    font-size: 7rem;
  }
  .recruit-entry__btn-jp {
    font-size: 1.5rem;
  }
  .recruit-entry__btn-arrow {
    width: 80px;
    height: 80px;
    right: 59px;
  }
  .recruit-entry__btn-arrow-ico {
    transition: all 0.3s ease;
    width: 21.7px;
    height: 11px;
  }
}

/* .salon-archive
================================================ */
.salon-archive__inner {
  padding-top: 40px;
  padding-bottom: 46px;
}
@media all and (min-width: 768px) {
  .salon-archive__inner {
    padding-top: 90px;
    padding-bottom: 110px;
  }
}

/* .salon-single
================================================ */
.salon-single__inner {
  padding-top: 42px;
  padding-bottom: 26px;
}
@media all and (min-width: 768px) {
  .salon-single__inner {
    padding-top: 90px;
    padding-bottom: 70px;
  }
}

/* .service-content
================================================ */
.service-content {
  overflow: hidden;
}
.service-content__inner {
  padding-top: 40px;
  padding-bottom: 71px;
}
.service-content__txt {
  margin-bottom: 36px;
}
@media all and (min-width: 768px) {
  .service-content__inner {
    padding-top: 117px;
    padding-bottom: 150px;
  }
  .service-content__txt {
    text-align: center;
    margin-bottom: 76px;
  }
}
@media all and (min-width: 1460px ) {
  .service-content {
    min-width: 1400px;
  }
  .service-content__inner {
    max-width: 1320px;
    padding-right: 0;
    padding-left: 0;
  }
}

/* .service-content-sec
================================================ */
.service-content-sec + .service-content-sec {
  margin-top: 59px;
}
.service-content-sec__area-img {
  margin: 0 -25px 30px;
}
@media all and (min-width: 768px) {
  .service-content-sec {
    display: flex;
    flex-wrap: wrap;
  }
  .service-content-sec + .service-content-sec {
    margin-top: 100px;
  }
  .service-content-sec:nth-child(odd) {
    flex-direction: row-reverse;
  }
  .service-content-sec:nth-child(odd) .service-content-sec__area-img {
    padding-left: 110px;
    padding-right: 0;
  }
  .service-content-sec:nth-child(odd) .service-content-sec__img {
    margin-right: -300px;
    margin-left: 0;
  }
  .service-content-sec__area-img {
    width: calc(100% - 550px);
    box-sizing: border-box;
    margin: 0;
    padding-right: 110px;
  }
  .service-content-sec__img {
    margin-left: -300px;
  }
  .service-content-sec__area-txt {
    width: 550px;
    padding-top: 100px;
  }
}

/* .voice-archive
================================================ */
.voice-archive {
  border-bottom: 1px solid rgb(var(--border));
}
.voice-archive__inner {
  padding-top: 40px;
  padding-bottom: 46px;
}
@media all and (min-width: 768px) {
  .voice-archive__inner {
    padding-top: 79px;
    padding-bottom: 110px;
  }
}

/* .voice-single
================================================ */
.voice-single__inner {
  padding-top: 29px;
  padding-bottom: 26px;
}
@media all and (min-width: 768px) {
  .voice-single__inner {
    padding-top: 90px;
    padding-bottom: 70px;
  }
}