@charset "UTF-8";
:root {
  --black: 3,26,35;
  --red: 255,0,0;
  --main: 0,96,176;
  --lightblue: 218,236,249;
  --lightblue02: 159,206,241;
  --darkblue: 62,85,94;
  --bg: 249,249,249;
  --bgblue: 238,247,254;
  --border: 191,196,199;
  --green: 18,179,63;
  --green02: 72,146,59;
  --green03: 34,194,58;
  --red02: 220,0,37;
  --red03: 179,0,55;
  --orange: 252,46,6;
  --yellow: 251,202,1;
  --yellow02: 255,182,0;
  --yellow03: 227,166,0;
  --pink: 235,0,141;
  --contents_width: 1120px;
  --body_padding_side: 60px;
  --contents_width_with_padding: 1180px;
  --sidebar_width: 280px;
}

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

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

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

select {
  color: inherit;
}

textarea {
  resize: vertical;
}

button {
  color: inherit;
  font-weight: normal;
  cursor: pointer;
}
/*
  .LINE
================================================ */
.LINEbtn {
  margin: 20px;
  width: 180px;
}

.QR {
  width: 100px;
}

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

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

/*Youtube
================================================ */
.bosyu {
  margin-left: 20px;
  width: 550px;
  margin-bottom: 50px;
}

.YouTube {
  width: 550px; 
}

/* 02_base 
================================================ */
body {
  min-width: 320px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  color: rgb(var(--black));
  font-size: 1.4rem;
  line-height: 1.9;
  letter-spacing: 0.08em;
  -webkit-text-size-adjust: 100%;
}
@media all and (min-width: 768px) {
  body {
    min-width: var(--contents_width_with_padding);
    font-size: 1.6rem;
  }
}
@media (min-width: 768px) and (hover: none) {
  body {
    -webkit-text-size-adjust: none;
  }
}

.l-wrapper {
  position: relative;
}

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

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

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

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

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

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

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

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.u-font-en {
  font-family: "Hammersmith One", sans-serif;
  letter-spacing: 0.02em;
}

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

.u-center {
  text-align: center;
}

@media all and (min-width: 768px) {
  .u-center-tb {
    text-align: center;
  }
}

.u-right {
  text-align: right;
}

/* 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 {
    transform: scale(1.1);
  }
}

/* layout
-------------------------------------- */
.u-inner {
  box-sizing: border-box;
  padding-left: 30px;
  padding-right: 30px;
}
@media all and (min-width: 768px) {
  .u-inner {
    width: 100%;
    max-width: var(--contents_width);
    margin-right: auto;
    margin-left: auto;
    padding-left: 0;
    padding-right: 0;
  }
}
@media all and (min-width: 1480px ) {
  .u-inner.is-wide-pc {
    max-width: 1400px;
  }
}

/*  .c-archive01
================================================== */
.c-archive01__item {
  border-style: solid;
  border-width: 1px 0 0;
  border-color: rgb(var(--border));
}
.c-archive01__item:last-child {
  border-width: 1px 0;
}
.c-archive01__item-in {
  display: block;
  padding: 22px 0;
}
.c-archive01__item-meta {
  display: flex;
  flex-wrap: wrap;
}
.c-archive01__item-date {
  margin: 0 14px 0 0;
  padding: 5px 0;
  color: #6F838B;
  font-size: 1.2rem;
}
.c-archive01__item-cat {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  flex: 1;
  margin: 0 -5px 8px 0;
}
.c-archive01__item-cat-item {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 120px;
  min-height: 26px;
  padding: 0 15px;
  margin: 0 5px 5px 0;
  border: solid 1px;
  border-radius: 9999px;
  font-size: 1.1rem;
  line-height: 1.2;
  font-weight: 500;
}
.c-archive01__item-img {
  border-radius: 8px;
  overflow: hidden;
}
.c-archive01__item-head {
  overflow: hidden;
  display: -webkit-box;
  max-height: 3em;
  line-height: 1.5;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  font-size: 1.6rem;
}
@media all and (max-width: 767px) {
  .c-archive01__item-area-txt {
    display: flex;
    flex-wrap: wrap;
    margin-top: 4px;
  }
  .c-archive01__item-img {
    width: 57px;
  }
  .c-archive01__item-head {
    width: calc(100% - 57px);
    padding-left: 10px;
    box-sizing: border-box;
  }
}
@media all and (min-width: 768px) {
  .c-archive01__item {
    display: block;
  }
  .c-archive01__item-in {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 30px 0;
  }
  .c-archive01__item-meta {
    width: 383px;
    align-items: center;
  }
  .c-archive01__item-date {
    font-size: 1.6rem;
    margin-right: 17px;
  }
  .c-archive01__item-img {
    width: 90px;
    margin-right: 20px;
  }
  .c-archive01__item-cat {
    margin: 0;
  }
  .c-archive01__item-cat-item {
    width: 120px;
    min-height: 30px;
    font-size: 1.2rem;
    margin: 0;
    padding: 5px 15px;
  }
  .c-archive01__item-head {
    width: 426px;
    max-height: 1.5em;
    -webkit-line-clamp: 1;
  }
}
@media all and (min-width: 1480px ) {
  .c-archive01__item-meta {
    width: 426px;
  }
  .c-archive01__item-date {
    margin-right: 40px;
  }
  .c-archive01__item-img {
    margin-right: 40px;
  }
  .c-archive01__item-head {
    width: 643px;
  }
}

/*  .c-archive02
================================================== */
.c-archive02__item-area-img {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  margin: 0 20px 20px;
}
.c-archive02__item-img {
  position: relative;
}
.c-archive02__item-img::before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 85.1851851852%;
}
.c-archive02__item-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
.c-archive02__item-cat {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  color: #fff;
  background: #3A88C9;
  font-size: 1.1rem;
  padding: 0 12px;
  border-radius: 0 2px;
}
.c-archive02__item-txt {
  color: rgb(var(--darkblue));
}
.c-archive02__item-service {
  margin-top: 20px;
}
.c-archive02__item-service-item {
  display: inline-block;
  padding: 2px 12px;
  font-size: 1.2rem;
  color: #fff;
  background: #BFC4C7;
  border-radius: 9999px;
  margin: 2px 0;
}
@media all and (min-width: 768px) {
  .c-archive02__item-in {
    transition: all 0.3s ease;
  }
  .c-archive02__item-in:hover {
    opacity: 0.7;
  }
  .c-archive02__item-area-img {
    margin: 0 0 25px;
    border-radius: 15px;
  }
  .c-archive02__item-cat {
    font-size: 1.3rem;
    padding: 1px 20px;
    border-radius: 0 8px;
  }
  .c-archive02__item-service-item {
    padding: 5px 20px;
    font-size: 1.4rem;
    margin: 3px 0;
  }
}

/* c-archive02.is-col1-sp
=================================== */
@media all and (max-width: 767px) {
  .c-archive02.is-col1-sp .c-archive02__item {
    width: 80.9523809524%;
    max-width: 430px;
    margin: 0 auto 30px;
  }
  .c-archive02.is-col1-sp .c-archive02__item:last-child {
    margin-bottom: 0;
  }
  .c-archive02.is-col1-sp .c-archive02__item.is-msg {
    width: 100%;
  }
}

/* c-archive02.is-col3-pc
=================================== */
@media all and (min-width: 768px) {
  .c-archive02.is-col3-pc {
    display: flex;
    flex-wrap: wrap;
    margin-right: -78px;
    margin-bottom: 135px;
  }
  .c-archive02.is-col3-pc .c-archive02__item {
    width: 321px;
    margin: 0 78px 160px 0;
  }
  .c-archive02.is-col3-pc .c-archive02__item:nth-of-type(3n+1):nth-last-of-type(-n+3) {
    margin-bottom: 0;
  }
  .c-archive02.is-col3-pc .c-archive02__item:nth-of-type(3n+1):nth-last-of-type(-n+3) ~ .c-archive02__item {
    margin-bottom: 0;
  }
  .c-archive02.is-col3-pc .c-archive02__item:nth-of-type(3n+2) {
    transform: translateY(60px);
  }
  .c-archive02.is-col3-pc .c-archive02__item.is-msg {
    width: calc(100% - 78px);
    margin: 0;
    text-align: center;
  }
}

/*  .c-archive03
================================================== */
.c-archive03__in {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 22px 0;
  border-top: 1px solid rgb(var(--border));
  border-bottom: 1px solid rgb(var(--border));
}
.c-archive03__area-txt {
  box-sizing: border-box;
  min-height: 87px;
}
.c-archive03__meta {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  min-height: 39px;
  padding-left: 87px;
  box-sizing: border-box;
}
.c-archive03__date {
  position: absolute;
  top: 6px;
  left: 0;
  line-height: 1.1;
  color: #6f838b;
  font-size: 1.2rem;
}
.c-archive03__cat {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  flex: 1;
  margin: 0 -5px 8px 0;
}
.c-archive03__cat-item {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 120px;
  min-height: 26px;
  margin: 0 5px 5px 0;
  padding: 0 15px;
  line-height: 1.2;
  border: solid 1px;
  border-radius: 9999px;
  font-size: 1.1rem;
  font-weight: 500;
}
.c-archive03__head {
  box-sizing: border-box;
  padding-left: 77px;
  overflow: hidden;
  display: -webkit-box;
  max-height: 3em;
  line-height: 1.5;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  font-size: 1.6rem;
}
.c-archive03__img {
  position: absolute;
  top: 52px;
  left: 0;
  box-sizing: border-box;
  width: 67px;
  height: 57px;
  border-radius: 8px;
}
.c-archive03__img img {
  border-radius: 8px;
  max-height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media all and (min-width: 768px) {
  .c-archive03__in {
    padding: 30px 0;
  }
  .c-archive03__in:hover .c-archive03__head {
    color: rgb(var(--main));
  }
  .c-archive03__area-txt {
    min-height: 102px;
    padding-left: 146px;
  }
  .c-archive03__meta {
    padding: 0;
  }
  .c-archive03__date {
    position: static;
    margin: 7px 21px 0 0;
    font-size: 1.6rem;
  }
  .c-archive03__cat-item {
    min-height: 30px;
    font-size: 1.2rem;
  }
  .c-archive03__head {
    padding: 0;
    transition: color 0.3s ease;
  }
  .c-archive03__img {
    top: 30px;
    width: 120px;
    height: 102px;
  }
}

/*  .c-archive04
================================================== */
.c-archive04__item {
  position: relative;
  overflow: hidden;
}
.c-archive04__item:nth-of-type(4n+1) .c-archive04__circle {
  position: absolute;
  top: 40.4088050314%;
  right: -50px;
  width: 186px;
  height: 186px;
  background: url(../img/common/archive04/bg_circle01.png) no-repeat 0 0/contain;
}
.c-archive04__item:nth-of-type(4n+2):before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: url(../img/common/archive04/bg_archive01_sp.jpg) no-repeat 0 0/cover;
}
.c-archive04__item:nth-of-type(4n+2) .c-archive04__circle {
  position: absolute;
  top: 37.5%;
  left: -50px;
  width: 153px;
  height: 153px;
  background: url(../img/common/archive04/bg_circle02.png) no-repeat 0 0/contain;
}
.c-archive04__item:nth-of-type(4n+3) .c-archive04__circle {
  position: absolute;
  top: 39.4480519481%;
  right: -50px;
  width: 240px;
  height: 240px;
  background: url(../img/common/archive04/bg_circle03.png) no-repeat 0 0/contain;
}
.c-archive04__item:nth-of-type(4n+4):before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: url(../img/common/archive04/bg_archive02_sp.jpg) no-repeat 0 0/cover;
}
.c-archive04__item:nth-of-type(4n+4) .c-archive04__circle {
  position: absolute;
  bottom: 30px;
  left: -35px;
  width: 167px;
  height: 167px;
  background: url(../img/common/archive04/bg_circle04.png) no-repeat 0 0/contain;
}
.c-archive04__inner {
  position: relative;
  box-sizing: border-box;
  padding: 60px 30px;
}
.c-archive04__img {
  position: relative;
  width: 68.5714285714%;
  max-width: 432px;
  margin: 0 auto 32px;
}
.c-archive04__img:before {
  content: "";
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: -1;
  width: 100%;
  height: 100%;
  border-radius: 15px;
  background: url(../img/common/archive04/bg_shadow01.jpg) no-repeat 0 0/cover;
}
.c-archive04__img img {
  border-radius: 15px;
}
.c-archive04__area-txt {
  position: relative;
  z-index: 1;
}
.c-archive04__copy {
  position: relative;
  line-height: 1.5;
  font-size: 1.6rem;
  letter-spacing: 0.08em;
}
.c-archive04__copy:before {
  content: "";
  position: absolute;
  top: -7px;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgb(var(--main));
}
.c-archive04__tag {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 10px -2px -2px 0;
}
.c-archive04__tag-item {
  margin: 0 2px 2px 0;
  padding: 2px 9px;
  font-size: 1rem;
  color: #fff;
}
.c-archive04__area-info {
  margin-top: 17px;
}
.c-archive04__txt {
  color: rgb(var(--darkblue));
  font-size: 1.2rem;
}
.c-archive04__en {
  margin-top: 5px;
  line-height: 1.5;
  color: rgb(var(--darkblue));
  font-size: 1.8rem;
}
.c-archive04__btn.c-btn01 {
  margin-top: 20px;
}
@media all and (min-width: 768px) {
  .c-archive04__item:nth-of-type(4n+1) .c-archive04__circle {
    top: 280px;
    right: auto;
    left: calc(50% + 424px);
    width: 298px;
    height: 298px;
  }
  .c-archive04__item:nth-of-type(4n+2):before {
    background: url(../img/common/archive04/bg_archive01_pc.jpg) no-repeat 0 0/cover;
  }
  .c-archive04__item:nth-of-type(4n+2) .c-archive04__circle {
    top: 450px;
    right: auto;
    left: calc(50% - 620px);
    width: 178px;
    height: 178px;
  }
  .c-archive04__item:nth-of-type(4n+3) .c-archive04__circle {
    position: absolute;
    top: 140px;
    right: auto;
    left: calc(50% + 319px);
    width: 432px;
    height: 432px;
    background: url(../img/common/archive04/bg_circle03.png) no-repeat 0 0/contain;
  }
  .c-archive04__item:nth-of-type(4n+4):before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/common/archive04/bg_archive02_pc.jpg) no-repeat 0 0/cover;
  }
  .c-archive04__item:nth-of-type(4n+4) .c-archive04__circle {
    position: absolute;
    bottom: 20px;
    right: auto;
    left: calc(50% - 320px);
    width: 254px;
    height: 254px;
    background: url(../img/common/archive04/bg_circle04.png) no-repeat 0 0/contain;
  }
  .c-archive04__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-top: 140px;
    padding-bottom: 120px;
  }
  .c-archive04__img {
    width: 360px;
  }
  .c-archive04__img:before {
    top: 20px;
    left: 20px;
  }
  .c-archive04__area-txt {
    flex: 1;
    padding: 0 0 40px 120px;
  }
  .c-archive04__copy {
    line-height: 1.875;
    font-size: 3.2rem;
  }
  .c-archive04__copy:before {
    top: -11px;
    width: 11px;
    height: 11px;
  }
  .c-archive04__tag {
    margin: 15px -4px -4px 0;
  }
  .c-archive04__tag-item {
    margin: 0 4px 4px 0;
    font-size: 1.2rem;
    color: #fff;
  }
  .c-archive04__area-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 30px;
  }
  .c-archive04__area-info-in {
    flex: 1;
    padding-right: 15px;
  }
  .c-archive04__en {
    margin-top: 15px;
    font-size: 2.8rem;
  }
  .c-archive04__btn.c-btn01 {
    width: 224px;
    margin: 0;
  }
}

/* c-bg
================================== */
.c-bg-bg {
  background: rgb(var(--bg));
}

.c-bg-bgblue {
  background: rgb(var(--bgblue));
}

.c-bg-main {
  background: rgb(var(--main));
}

.c-bg-white {
  background: #fff;
}

/*  .c-btn01
================================================== */
.c-btn01 {
  width: 224px;
  margin: 40px auto 0;
}
.c-btn01__link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  border: solid 1px rgb(var(--border));
  width: 100%;
  height: 46px;
  box-sizing: border-box;
  border-radius: 9999px;
  transition: all 0.3s ease;
}
.c-btn01__txt {
  font-weight: 500;
}
.c-btn01__txt::after {
  display: inline-block;
  width: 20px;
  height: 11px;
  vertical-align: middle;
  color: currentColor;
  background: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  content: "";
  transition: all 0.3s ease;
  color: rgb(var(--darkblue));
  margin: 0 0 2px 8px;
  mask-repeat: no-repeat;
}
@media all and (max-width: 767px) {
  .c-btn01__txt::after {
    width: 13px;
    height: 9px;
  }
}
@media all and (min-width: 768px) {
  .c-btn01__link {
    height: 54px;
  }
  .c-btn01__txt::after {
    margin: 0 0 4px 20px;
  }
}

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

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

/* .c-btn02
================================================== */
.c-btn02 {
  width: 100%;
  margin: 73px auto 0;
  height: 160px;
  background: rgb(var(--main)) url(../img/common/bg_pattern01_sp.png) no-repeat right center/cover;
  border: 3px solid rgb(var(--lightblue));
  border-radius: 8px;
  box-sizing: border-box;
}
.c-btn02__link {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
  padding: 25px;
  box-sizing: border-box;
}
.c-btn02__img {
  width: 103px;
  height: 59px;
  position: absolute;
  top: -22px;
  right: 32px;
}
.c-btn02__txt {
  font-size: 1.8rem;
  font-weight: 500;
  color: #fff;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.c-btn02__ico {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
.c-btn02__ico svg {
  width: 12px;
  color: #fff;
}
@media all and (min-width: 768px) {
  .c-btn02 {
    max-width: 939px;
    width: 100%;
    height: 180px;
    background: url(../img/common/bg_pattern01_pc.png) no-repeat center/cover;
    margin-top: 125px;
    position: relative;
    border: 4px solid rgb(var(--lightblue));
    border-radius: 15px;
    z-index: 1;
  }
  .c-btn02:hover::after {
    background-color: rgba(255, 255, 255, 0.2);
  }
  .c-btn02::after {
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 10px;
    background-color: rgba(255, 255, 255, 0);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: all 0.3s ease;
  }
  .c-btn02__link {
    padding: 50px 130px 50px 50px;
    box-sizing: border-box;
  }
  .c-btn02__img {
    width: 155px;
    height: 89px;
    position: absolute;
    top: -25px;
    right: 323px;
  }
  .c-btn02__txt {
    font-size: 2.6rem;
    line-height: 1.5;
  }
  .c-btn02__ico {
    width: 80px;
    height: 80px;
    right: 45px;
  }
  .c-btn02__ico svg {
    width: 29px;
  }
}

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

.c-color-darkblue {
  color: rgb(var(--darkblue));
}

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

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

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

/* c-entry01
========================== */
.c-entry01 {
  text-align: center;
}
.c-entry01__inner {
  padding-top: 62px;
}
.c-entry01__box {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  margin: 0 -30px;
  padding: 75px 30px 50px;
  overflow: hidden;
}
.c-entry01__box::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
  width: 236.1904761905%;
  height: 200%;
  background: #fff;
  -webkit-clip-path: ellipse(50% 50%);
  clip-path: ellipse(50% 50%);
}
.c-entry01__txt {
  line-height: 1.5;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}
.c-entry01__btn {
  margin: 26px auto 0;
  width: 314px;
  max-width: 100%;
}
.c-entry01__btn-in {
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 84px;
  padding: 5px 45px;
  background: rgb(var(--main));
  border-radius: 9999px;
  border: 1px solid transparent;
  color: #fff;
}
.c-entry01__btn-in[target=_blank] .c-entry01__btn-ico {
  display: inline-block;
  width: 14px;
  height: 14px;
  vertical-align: middle;
  color: currentColor;
  background: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><g transform="translate(0.009 0.008)"><path d="M17.277,0H12.239a.56.56,0,0,0,0,1.119h3.687L10.164,6.881a.56.56,0,1,0,.791.791l5.761-5.761V5.6a.56.56,0,0,0,1.119,0V.56a.56.56,0,0,0-.56-.56" transform="translate(-4.402 0.549)" fill="currentColor"/><path d="M10.635,9.6a.56.56,0,0,0-.56.56v3.918H1.119V5.119H5.038A.56.56,0,1,0,5.038,4H.56A.56.56,0,0,0,0,4.56V14.635a.56.56,0,0,0,.56.56H10.635a.56.56,0,0,0,.56-.56V10.157a.56.56,0,0,0-.56-.56" transform="translate(0 -1.212)" fill="currentColor"/></g></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><g transform="translate(0.009 0.008)"><path d="M17.277,0H12.239a.56.56,0,0,0,0,1.119h3.687L10.164,6.881a.56.56,0,1,0,.791.791l5.761-5.761V5.6a.56.56,0,0,0,1.119,0V.56a.56.56,0,0,0-.56-.56" transform="translate(-4.402 0.549)" fill="currentColor"/><path d="M10.635,9.6a.56.56,0,0,0-.56.56v3.918H1.119V5.119H5.038A.56.56,0,1,0,5.038,4H.56A.56.56,0,0,0,0,4.56V14.635a.56.56,0,0,0,.56.56H10.635a.56.56,0,0,0,.56-.56V10.157a.56.56,0,0,0-.56-.56" transform="translate(0 -1.212)" fill="currentColor"/></g></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  content: "";
  transition: all 0.3s ease;
  transition: none;
}
.c-entry01__btn-en {
  line-height: 1.5;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
}
.c-entry01__btn-txt {
  color: #9fcef1;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
}
.c-entry01__btn-ico {
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  display: inline-block;
  width: 20px;
  height: 11px;
  vertical-align: middle;
  color: currentColor;
  background: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  content: "";
  transition: all 0.3s ease;
  transition: none;
}
@media all and (min-width: 768px) {
  .c-entry01__inner {
    padding-top: 140px;
  }
  .c-entry01__box {
    margin: 0;
    padding: 150px 0 100px;
  }
  .c-entry01__box:before {
    width: 100%;
    height: 160%;
  }
  .c-entry01__txt {
    font-size: 2.6rem;
  }
  .c-entry01__btn {
    width: 468px;
    margin-top: 49px;
  }
  .c-entry01__btn-in {
    min-height: 124px;
    padding: 5px 75px;
    transition: all 0.3s ease;
  }
  .c-entry01__btn-in:hover {
    background: #fff;
    color: rgb(var(--main));
    border: 1px solid rgb(var(--main));
  }
  .c-entry01__btn-in:hover .c-entry01__btn-txt {
    color: #9fcef1;
  }
  .c-entry01__btn-en {
    font-size: 3rem;
  }
  .c-entry01__btn-txt {
    font-size: 1.4rem;
    transition: all 0.3s ease;
  }
  .c-entry01__btn-ico {
    right: 54px;
  }
}

/* c-faq01
======================================= */
.c-faq01__item {
  background-color: #fff;
  border-radius: 8px;
  padding: 20px;
  box-sizing: border-box;
}
.c-faq01__item + .c-faq01__item {
  margin-top: 10px;
}
.c-faq01__header {
  display: flex;
  padding-bottom: 0;
  transition: all 0.3s ease;
}
.c-faq01__header.is-active {
  padding-bottom: 20px;
}
.c-faq01__header.is-active .c-faq01__ico::after {
  transform: translate(-50%, -50%) rotate(0deg);
}
.c-faq01__question {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgb(var(--main));
  color: #fff;
  font-size: 1.6rem;
  margin-right: 12px;
}
.c-faq01__head {
  flex: 1;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.625;
  margin-right: 12px;
}
.c-faq01__ico {
  width: 14px;
  height: 14px;
  align-self: center;
  position: relative;
  cursor: pointer;
}
.c-faq01__ico::before, .c-faq01__ico::after {
  content: "";
  width: 14px;
  height: 2px;
  background-color: rgb(var(--border));
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}
.c-faq01__ico::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.c-faq01__con {
  display: none;
  padding-top: 20px;
  box-sizing: border-box;
  border-top: 1px solid rgb(var(--border));
}
.c-faq01__con-in {
  display: flex;
}
.c-faq01__answer {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  color: rgb(var(--main));
  border: 1px solid rgb(var(--main));
  box-sizing: border-box;
  margin-right: 12px;
}
.c-faq01__txt {
  flex: 1;
}
@media all and (min-width: 768px) {
  .c-faq01__item {
    border-radius: 15px;
    padding: 25px 30px;
    box-sizing: border-box;
  }
  .c-faq01__item + .c-faq01__item {
    margin-top: 20px;
  }
  .c-faq01__header {
    align-items: center;
  }
  .c-faq01__header.is-active {
    padding-bottom: 25px;
  }
  .c-faq01__question {
    margin-right: 20px;
  }
  .c-faq01__head {
    margin-right: 52px;
  }
  .c-faq01__ico {
    width: 20px;
    height: 20px;
    align-self: center;
  }
  .c-faq01__ico::before, .c-faq01__ico::after {
    content: "";
    width: 20px;
  }
  .c-faq01__con {
    padding-top: 25px;
  }
  .c-faq01__con-in {
    align-items: center;
  }
  .c-faq01__answer {
    margin-right: 20px;
  }
}

/* .c-form
================================================== */
input.c-form-parts, select.c-form-parts, textarea.c-form-parts, button.c-form-parts {
  background: rgba(255, 255, 255, 0.3);
  border: 1px solid rgb(var(--border));
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 50px;
  padding: 5px 8px;
  font-size: 1.6rem;
  color: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  letter-spacing: 0.08em;
}
input.c-form-parts::-moz-placeholder, select.c-form-parts::-moz-placeholder, textarea.c-form-parts::-moz-placeholder, button.c-form-parts::-moz-placeholder {
  color: rgba(var(--black), 0.25);
}
input.c-form-parts::placeholder, select.c-form-parts::placeholder, textarea.c-form-parts::placeholder, button.c-form-parts::placeholder {
  color: rgba(var(--black), 0.25);
}
input.c-form-parts:-ms-input-placeholder, select.c-form-parts:-ms-input-placeholder, textarea.c-form-parts:-ms-input-placeholder, button.c-form-parts:-ms-input-placeholder {
  color: rgba(var(--black), 0.25);
}
@media all and (min-width: 768px) {
  input.c-form-parts, select.c-form-parts, textarea.c-form-parts, button.c-form-parts {
    padding: 8px 18px;
    max-width: 500px;
  }
  input.c-form-parts.is-short-pc, select.c-form-parts.is-short-pc, textarea.c-form-parts.is-short-pc, button.c-form-parts.is-short-pc {
    max-width: 400px;
  }
}

textarea.c-form-parts {
  height: 200px;
  padding: 12px 8px;
  resize: vertical;
}
@media all and (min-width: 768px) {
  textarea.c-form-parts {
    max-width: 100%;
  }
}

select.c-form-parts {
  padding-right: 20px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10" height="6"><path d="M5 6 0 0h1.5L5 4.2 8.5 0H10L5 6Z" fill="rgb(191,196,199)"/></svg>') no-repeat right 10px top 50%/10px;
}
@media all and (min-width: 768px) {
  select.c-form-parts {
    background-position: right 20px top 50%;
  }
}

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

/* .c-form.is-default
================================================== */
.c-form.is-default th, .c-form.is-default td {
  line-height: 1.65;
  box-sizing: border-box;
  border-style: solid;
  border-width: 1px 0;
  border-color: rgb(var(--border));
}
.c-form.is-default th {
  line-height: 1.85;
  font-weight: 500;
  padding: 20px 0 8px;
  text-align: left;
}
.c-form.is-default td {
  padding: 0 0 20px;
}
@media all and (max-width: 767px) {
  .c-form.is-default table, .c-form.is-default thead, .c-form.is-default tbody, .c-form.is-default tr, .c-form.is-default th, .c-form.is-default td {
    display: block;
  }
  .c-form.is-default tr + tr th {
    border-top: 0;
  }
  .c-form.is-default th {
    border-bottom: 0;
  }
  .c-form.is-default td {
    border-top: 0;
  }
}
@media all and (min-width: 768px) {
  .c-form.is-default th {
    position: relative;
    width: 398px;
    padding: 40px 75px 40px 23px;
    vertical-align: top;
  }
  .c-form.is-default td {
    padding: 30px 20px 30px 30px;
    vertical-align: middle;
  }
}

/* 確認画面
================================================ */
@media all and (min-width: 768px) {
  .mw_wp_form_confirm .c-form.is-default th.is-top-pc,
.is-confirm .c-form.is-default th.is-top-pc {
    vertical-align: middle;
    padding: 40px 75px 40px 23px;
  }
  .mw_wp_form_confirm .c-form.is-default th.is-top-pc .c-form-label,
.is-confirm .c-form.is-default th.is-top-pc .c-form-label {
    top: 43px;
  }
}

/* .c-form-label
================================================== */
.c-form-label {
  background: rgb(var(--border));
  box-sizing: border-box;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 55px;
  height: 21px;
  margin-left: 14px;
  vertical-align: text-bottom;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1;
  border-radius: 9999px;
}
.c-form-label.is-required {
  background: rgb(var(--main));
}
@media all and (min-width: 768px) {
  .c-form-label {
    position: absolute;
    top: 43px;
    right: 0;
    width: 69px;
    height: 24px;
    font-size: 1.4rem;
  }
}

/* .c-form-note
================================================== */
.c-form-note {
  display: block;
  font-weight: 400;
  font-size: 1.3rem;
}
@media all and (min-width: 768px) {
  .c-form-note {
    font-size: 1.4rem;
  }
}

td .c-form-note {
  margin-top: 10px;
}

.mw_wp_form_confirm .c-form-note {
  display: none;
}

/* c-form-message
================================================== */
.c-form-message {
  padding: 57px 0 17px;
}
.c-form-message__txt {
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
@media all and (min-width: 768px) {
  .c-form-message {
    padding: 75px 0 66px;
  }
  .c-form-message__txt {
    font-size: 1.8rem;
  }
}

/* 確認画面
================================================ */
.mw_wp_form_confirm .c-form-message__txt,
.is-confirm .c-form-message__txt {
  display: none;
}

/* .c-form-postcode
================================================== */
.c-form-postcode {
  display: flex;
  flex-wrap: wrap;
}
.c-form-postcode__prefix {
  max-width: 25px;
  flex-basis: 25px;
  padding-top: 13px;
  font-size: 1.6rem;
}
.c-form-postcode__input {
  width: 132px;
}
@media all and (min-width: 768px) {
  .c-form-postcode__prefix {
    max-width: 28px;
    flex-basis: 28px;
    padding: 10px 0 0 54px;
    font-size: 1.6rem;
  }
  .c-form-postcode__input {
    max-width: 200px;
    flex-basis: 200px;
  }
}

/* .c-form-address
================================================== */
.c-form-address__head {
  margin: 10px 0;
  line-height: 1.5;
}
@media all and (min-width: 768px) {
  .c-form-address {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-left: -30px;
  }
  .c-form-address__head {
    margin: 12px 15px 0 0;
    width: 100px;
    text-align: right;
  }
  .c-form-address__input {
    margin-top: 15px;
    width: calc(100% - 115px);
  }
}

/* 確認画面
================================================ */
.mw_wp_form_confirm .c-form-postcode .c-form-postcode__prefix,
.is-confirm .c-form-postcode .c-form-postcode__prefix {
  max-width: none;
  padding-top: 0;
}
.mw_wp_form_confirm .c-form-postcode .c-form-postcode__input,
.is-confirm .c-form-postcode .c-form-postcode__input {
  max-width: none;
  flex-basis: auto;
}

/* .c-form-item
================================================== */
.c-form-item {
  display: flex;
}
.c-form-item + .c-form-item {
  margin-top: 10px;
}
.c-form-item.is-small .c-form-item__input {
  flex: 0 0 150px;
}
.c-form-item-list {
  display: flex;
}
.c-form-item-list .c-form-item + .c-form-item {
  margin-top: 0;
  margin-left: 14px;
}
.c-form-item__prefix {
  min-width: 20px;
  margin-right: 10px;
  padding-top: 13px;
}
.c-form-item__suffix {
  min-width: 20px;
  margin-left: 10px;
  padding-top: 13px;
}
.c-form-item__input {
  flex: 1;
}
.c-form-item .c-form-item__input [name*=year] {
  width: 100px;
  text-align: center;
}
.c-form-item .c-form-item__input [name*=month] {
  width: 100px;
  text-align: center;
}
.c-form-item .c-form-item__input [name*=day] {
  width: 100px;
}
@media all and (min-width: 768px) {
  .c-form-item.is-small .c-form-item__input {
    flex: 0 0 193px;
  }
  .c-form-item__prefix {
    margin-right: 16px;
    padding-top: 10px;
  }
  .c-form-item__suffix {
    margin-left: 16px;
    padding-top: 10px;
  }
}
@media all and (min-width: 1180px) {
  .c-form-item {
    display: inline-flex;
  }
  .c-form-item + .c-form-item {
    margin: 0 0 0 20px;
  }
  .c-form-item__input {
    width: 200px;
  }
  .c-form-item-list .c-form-item__input {
    width: auto;
  }
  .c-form-item .c-form-item__input [name*=year] {
    width: 80px;
  }
  .c-form-item .c-form-item__input [name*=month] {
    width: 80px;
  }
  .c-form-item .c-form-item__input [name*=day] {
    width: 80px;
  }
}

/* 確認画面
================================================ */
.mw_wp_form_confirm .c-form-item .c-form-item__prefix,
.mw_wp_form_confirm .c-form-item .c-form-item__suffix,
.is-confirm .c-form-item .c-form-item__prefix,
.is-confirm .c-form-item .c-form-item__suffix {
  min-width: 0;
  padding-top: 0;
}
.mw_wp_form_confirm .c-form-item .c-form-item__input,
.is-confirm .c-form-item .c-form-item__input {
  width: auto;
}
.mw_wp_form_confirm .c-form-item.is-small .c-form-item__input,
.is-confirm .c-form-item.is-small .c-form-item__input {
  flex: 0 0 auto;
  width: auto;
}

/* c-form-area-privacy
================================================= */
.c-form-area-privacy {
  margin-top: 25px;
}
@media all and (min-width: 768px) {
  .c-form-area-privacy {
    margin-top: 37px;
  }
}

.mw_wp_form_confirm .c-form-area-privacy {
  display: none;
}

/* c-form-privacy
================================================= */
.c-form-privacy {
  margin-top: 25px;
  text-align: center;
}
.c-form-privacy__link {
  color: rgb(var(--main));
  text-decoration: underline !important;
}
@media all and (min-width: 768px) {
  .c-form-privacy {
    margin-top: 37px;
  }
}

.mw_wp_form_confirm .c-form-privacy {
  display: none;
}

/* .c-form-agree
================================================== */
.c-form-agree {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 6px auto 0;
  text-align: center;
}
@media all and (max-width: 767px) {
  .c-form-agree .mwform-checkbox-field-text {
    letter-spacing: 0.01em;
  }
}
@media all and (min-width: 768px) {
  .c-form-agree {
    margin-top: 13px;
  }
}

.mw_wp_form_confirm .c-form-agree {
  display: none;
}

/* .c-form-btn
================================================== */
.c-form-area-btn {
  margin-top: 37px;
}
@media all and (min-width: 768px) {
  .c-form-area-btn {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 75px;
  }
}

.c-form-btn {
  position: relative;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 46px;
  max-width: 224px;
  margin-right: auto;
  margin-left: auto;
  padding: 5px 10px;
  border: none;
  border-radius: 9999px;
  background: rgb(var(--main));
  font-family: inherit;
  font-weight: 500;
  color: #fff;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  letter-spacing: 0.1em;
}
.c-form-btn + .c-form-btn {
  margin-top: 15px;
}
.c-form-btn:after {
  content: "";
  display: inline-block;
  margin-left: 8px;
  display: inline-block;
  width: 12px;
  height: 8px;
  vertical-align: middle;
  color: currentColor;
  background: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  content: "";
  transition: all 0.3s ease;
}
.c-form-btn.is-back {
  background: rgb(var(--border));
}
.c-form-btn.is-back:before {
  content: "";
  display: inline-block;
  margin-right: 8px;
  display: inline-block;
  width: 12px;
  height: 8px;
  vertical-align: middle;
  color: currentColor;
  background: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  content: "";
  transition: all 0.3s ease;
  transform: scale(-1, -1);
}
.c-form-btn.is-back:after {
  content: none;
}
@media all and (min-width: 768px) {
  .c-form-btn {
    max-width: 300px;
    height: 54px;
    font-size: 1.6rem;
    transition: all 0.3s ease;
  }
  .c-form-btn:hover {
    opacity: 0.7;
  }
  .c-form-btn + .c-form-btn {
    margin-top: 0;
  }
}

@media all and (min-width: 768px) {
  .mw_wp_form_confirm .c-form-area-btn {
    margin-top: 40px;
  }
}

/* .c-form .mwform-radio-field
================================================ */
.c-form .mwform-radio-field,
.c-form .c-radio {
  display: block;
}
.c-form .mwform-radio-field + .mwform-radio-field,
.c-form .mwform-radio-field + .c-radio,
.c-form .c-radio + .mwform-radio-field,
.c-form .c-radio + .c-radio {
  margin-top: 10px;
}
.c-form .mwform-radio-field label,
.c-form .c-radio label {
  display: block;
  cursor: pointer;
}
.c-form .mwform-radio-field input,
.c-form .c-radio 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-form .mwform-radio-field .mwform-radio-field-text,
.c-form .mwform-radio-field .c-radio__text,
.c-form .c-radio .mwform-radio-field-text,
.c-form .c-radio .c-radio__text {
  position: relative;
  display: inline-block;
  padding-left: 30px;
  vertical-align: top;
}
.c-form .mwform-radio-field .mwform-radio-field-text::before,
.c-form .mwform-radio-field .c-radio__text::before,
.c-form .c-radio .mwform-radio-field-text::before,
.c-form .c-radio .c-radio__text::before {
  box-sizing: border-box;
  position: absolute;
  top: 1px;
  left: 0;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid rgb(var(--border));
}
.c-form .mwform-radio-field input:checked + .mwform-radio-field-text::after,
.c-form .mwform-radio-field input:checked + .c-radio__text::after,
.c-form .c-radio input:checked + .mwform-radio-field-text::after,
.c-form .c-radio input:checked + .c-radio__text::after {
  box-sizing: border-box;
  position: absolute;
  top: 6px;
  left: 5px;
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgb(var(--main));
}
@media all and (min-width: 768px) {
  .c-form .mwform-radio-field .mwform-radio-field-text::before,
.c-form .mwform-radio-field .c-radio__text::before,
.c-form .c-radio .mwform-radio-field-text::before,
.c-form .c-radio .c-radio__text::before {
    top: 4px;
  }
  .c-form .mwform-radio-field input:checked + .mwform-radio-field-text::after,
.c-form .mwform-radio-field input:checked + .c-radio__text::after,
.c-form .c-radio input:checked + .mwform-radio-field-text::after,
.c-form .c-radio input:checked + .c-radio__text::after {
    top: 9px;
  }
}

.c-radio-list {
  display: flex;
  flex-wrap: wrap;
}
.c-radio-list .mwform-radio-field,
.c-radio-list .c-radio {
  width: 100%;
}
.c-radio-list .mwform-radio-field + .mwform-radio-field, .c-radio-list .mwform-radio-field + .c-radio,
.c-radio-list .c-radio + .mwform-radio-field,
.c-radio-list .c-radio + .c-radio {
  margin-top: 7px;
}
@media all and (min-width: 768px) {
  .c-radio-list {
    margin-bottom: -10px;
  }
  .c-radio-list .mwform-radio-field,
.c-radio-list .c-radio {
    display: inline-block;
    width: auto;
    margin-right: 60px;
    margin: 0 60px 10px 0;
  }
  .c-radio-list .mwform-radio-field + .mwform-radio-field, .c-radio-list .mwform-radio-field + .c-radio,
.c-radio-list .c-radio + .mwform-radio-field,
.c-radio-list .c-radio + .c-radio {
    margin-top: 0;
  }
}

/* .c-form .mwform-checkbox-field
================================================ */
.c-form .mwform-checkbox-field,
.c-form .c-checkbox {
  display: block;
}
.c-form .mwform-checkbox-field + .mwform-checkbox-field,
.c-form .mwform-checkbox-field + .c-checkbox,
.c-form .c-checkbox + .mwform-checkbox-field,
.c-form .c-checkbox + .c-checkbox {
  margin-top: 10px;
}
.c-form .mwform-checkbox-field label,
.c-form .c-checkbox label {
  display: block;
  cursor: pointer;
}
.c-form .mwform-checkbox-field input,
.c-form .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-form .mwform-checkbox-field .mwform-checkbox-field-text,
.c-form .mwform-checkbox-field .c-checkbox__text,
.c-form .c-checkbox .mwform-checkbox-field-text,
.c-form .c-checkbox .c-checkbox__text {
  position: relative;
  display: inline-block;
  padding-left: 30px;
  vertical-align: top;
}
.c-form .mwform-checkbox-field .mwform-checkbox-field-text::before,
.c-form .mwform-checkbox-field .c-checkbox__text::before,
.c-form .c-checkbox .mwform-checkbox-field-text::before,
.c-form .c-checkbox .c-checkbox__text::before {
  box-sizing: border-box;
  position: absolute;
  top: 3px;
  left: 0;
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  border: 1px solid rgb(var(--border));
}
.c-form .mwform-checkbox-field input:checked + .mwform-checkbox-field-text::after,
.c-form .mwform-checkbox-field input:checked + .c-checkbox__text::after,
.c-form .c-checkbox input:checked + .mwform-checkbox-field-text::after,
.c-form .c-checkbox input:checked + .c-checkbox__text::after {
  position: absolute;
  top: 9px;
  left: 5px;
  content: "";
  display: block;
  width: 10px;
  height: 5px;
  border-color: rgb(var(--main));
  border-style: solid;
  border-width: 2px 2px 0 0;
  transform: rotate(135deg);
}
@media all and (min-width: 768px) {
  .c-form .mwform-checkbox-field .mwform-checkbox-field-text,
.c-form .mwform-checkbox-field .c-checkbox__text,
.c-form .c-checkbox .mwform-checkbox-field-text,
.c-form .c-checkbox .c-checkbox__text {
    padding-left: 32px;
  }
  .c-form .mwform-checkbox-field .mwform-checkbox-field-text::before,
.c-form .mwform-checkbox-field .c-checkbox__text::before,
.c-form .c-checkbox .mwform-checkbox-field-text::before,
.c-form .c-checkbox .c-checkbox__text::before {
    top: 5px;
  }
  .c-form .mwform-checkbox-field input:checked + .mwform-checkbox-field-text::after,
.c-form .mwform-checkbox-field input:checked + .c-checkbox__text::after,
.c-form .c-checkbox input:checked + .mwform-checkbox-field-text::after,
.c-form .c-checkbox input:checked + .c-checkbox__text::after {
    top: 10px;
  }
}

.c-checkbox-list {
  display: flex;
  flex-wrap: wrap;
}
.c-checkbox-list .mwform-checkbox-field,
.c-checkbox-list .c-checkbox {
  width: 100%;
}
.c-checkbox-list .mwform-checkbox-field + .mwform-checkbox-field, .c-checkbox-list .mwform-checkbox-field + .c-checkbox,
.c-checkbox-list .c-checkbox + .mwform-checkbox-field,
.c-checkbox-list .c-checkbox + .c-checkbox {
  margin-top: 7px;
}
@media all and (min-width: 768px) {
  .c-checkbox-list .mwform-checkbox-field,
.c-checkbox-list .c-checkbox {
    display: inline-block;
    box-sizing: border-box;
    width: auto;
    padding-right: 60px;
    margin: 0 60px 10px 0;
  }
  .c-checkbox-list .mwform-checkbox-field + .mwform-checkbox-field, .c-checkbox-list .mwform-checkbox-field + .c-checkbox,
.c-checkbox-list .c-checkbox + .mwform-checkbox-field,
.c-checkbox-list .c-checkbox + .c-checkbox {
    margin-top: 0;
  }
  .c-checkbox-list .mwform-checkbox-field:nth-of-type(n+3),
.c-checkbox-list .c-checkbox:nth-of-type(n+3) {
    margin-top: 15px;
  }
}

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

/* c-form-flow
================================================ */
.c-form-flow {
  margin-bottom: 60px;
  padding: 36px 30px;
  border-radius: 8px;
}
.c-form-flow__img {
  width: 253px;
  margin: 0 auto;
}
@media all and (min-width: 768px) {
  .c-form-flow {
    margin-bottom: 60px;
    padding: 47px 40px 38px;
  }
  .c-form-flow__img {
    width: 528px;
  }
}

/* 入力画面
================================================ */
.mw_wp_form_input .c-form-flow__img.is-02, .mw_wp_form_input .c-form-flow__img.is-03 {
  display: none;
}

/* 確認画面
================================================ */
.mw_wp_form_confirm .c-form-flow__img.is-01, .mw_wp_form_confirm .c-form-flow__img.is-03 {
  display: none;
}

/* 完了画面
================================================ */
.mw_wp_form_complete .c-form-flow__img.is-02, .mw_wp_form_complete .c-form-flow__img.is-03 {
  display: none;
}

/* .c-form-thanks
================================================ */
.c-form-thanks__inner {
  padding-top: 80px;
  padding-bottom: 60px;
}
.c-form-thanks__head {
  margin-bottom: 1em;
  line-height: 1.5;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
.c-form-thanks__txt {
  margin-bottom: 1em;
}
.c-form-thanks__mail {
  text-align: center;
}
.c-form-thanks__link {
  margin-top: 1em;
  text-align: center;
}
.c-form-thanks__link-in {
  text-decoration: underline !important;
}
@media all and (min-width: 768px) {
  .c-form-thanks__inner {
    padding-top: 170px;
    padding-bottom: 170px;
  }
  .c-form-thanks__head {
    font-size: 3.2rem;
  }
}

/* c-form-error
============================== */
.c-form-error {
  display: none;
  margin: 1em 0;
}
.c-form-error.is-shown {
  display: block;
}

/* c-form-hidden-confirm
============================================ */
.mw_wp_form_confirm .c-form-hidden-confirm {
  display: none;
}

/*  .c-head01
================================================== */
.c-head01 {
  margin-bottom: 15px;
}
.c-head01__en {
  font-size: 4rem;
  display: inline-block;
  position: relative;
  line-height: 1.5;
  vertical-align: middle;
  margin-right: 15px;
}
.c-head01__en::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgb(var(--main));
  top: 2px;
  left: 0;
  transform: translateY(-50%);
}
.c-head01__main {
  display: inline-block;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media all and (min-width: 768px) {
  .c-head01__en {
    font-size: 10rem;
    vertical-align: baseline;
    margin-right: 25px;
  }
  .c-head01__en::before {
    width: 11px;
    height: 11px;
    top: 8px;
  }
}

/*  .c-head01.is-white
================================================== */
.c-head01.is-white {
  color: #fff;
}
.c-head01.is-white .c-head01__en::before {
  background: #fff;
}

/*  .c-head01.is-small-pc
================================================== */
@media all and (min-width: 768px) {
  .c-head01.is-small-pc .c-head01__en {
    font-size: 8rem;
  }
}

/* c-head02 上に●ポチつき
==================================== */
.c-head02 {
  position: relative;
  margin-bottom: 17px;
  padding-top: 12px;
}
.c-head02::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 6px;
  background: rgb(var(--main));
  border-radius: 50%;
}
.c-head02__main {
  line-height: 1.5;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
.c-head02__en {
  line-height: 1.1;
  font-weight: 400;
  font-size: 3.2rem;
}
.c-head02__en.is-big {
  font-size: 4rem;
}
.c-head02__ja {
  letter-spacing: 0.1em;
}
@media all and (min-width: 768px) {
  .c-head02 {
    margin-bottom: 28px;
    padding-top: 20px;
  }
  .c-head02:before {
    width: 11px;
    height: 11px;
  }
  .c-head02__main {
    font-size: 3.2rem;
  }
  .c-head02__en {
    font-size: 7.2rem;
  }
  .c-head02__en.is-big {
    font-size: 8.4rem;
  }
}

/* c-head02.is-center
===================================== */
.c-head02.is-center {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: auto;
  margin-left: auto;
}

/* .c-head03
==================================== */
.c-head03 {
  font-size: 1.4rem;
  line-height: 1.1;
  position: relative;
  padding-left: 13px;
  margin-bottom: 14px;
}
.c-head03::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: rgb(var(--main));
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media all and (min-width: 768px) {
  .c-head03 {
    font-size: 2.7rem;
    padding-left: 23px;
    margin-bottom: 13px;
  }
  .c-head03::before {
    width: 11px;
    height: 11px;
  }
}

/* .c-head04
==================================== */
.c-head04 {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: 25px;
}
@media all and (min-width: 768px) {
  .c-head04 {
    font-size: 3.2rem;
    line-height: 1.5;
    margin-bottom: 16px;
  }
}

/* c-head04.is-28-tb
================================== */
@media all and (min-width: 768px) {
  .c-head04.is-28-tb {
    font-size: 2.8rem;
  }
}

/* .c-head05
==================================== */
.c-head05 {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6111111111;
  letter-spacing: 0.1em;
  position: relative;
  padding-left: 13px;
  margin-bottom: 16px;
}
.c-head05::before {
  content: "";
  width: 1px;
  height: calc(100% - 8px);
  background-color: rgb(var(--main));
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media all and (min-width: 768px) {
  .c-head05 {
    font-size: 2.4rem;
    line-height: 2;
    margin-bottom: 21px;
  }
  .c-head05::before {
    height: calc(100% - 28px);
  }
}

/* .c-head06
==================================== */
.c-head06 {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5333333333;
  letter-spacing: 0.1em;
  position: relative;
  padding-left: 13px;
  margin-bottom: 16px;
}
.c-head06::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: rgb(var(--main));
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media all and (min-width: 768px) {
  .c-head06 {
    font-size: 2.2rem;
    line-height: 1.5;
    padding-left: 23px;
    margin-bottom: 35px;
  }
  .c-head06::before {
    width: 11px;
    height: 11px;
  }
}

/* c-head06.is-18-tb
---------------------------------------- */
@media all and (min-width: 768px) {
  .c-head06.is-18-tb {
    font-size: 1.8rem;
  }
}

/* .c-head07
==================================== */
.c-head07 {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.1em;
  margin-bottom: 5px;
}
@media all and (min-width: 768px) {
  .c-head07 {
    font-size: 1.8rem;
    line-height: 1.5;
    margin-bottom: 15px;
  }
}

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

/* .c-intro01
==================================== */
.c-intro01__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
.c-intro01__txt {
  line-height: 1.8571428571;
  margin-bottom: 35px;
}
.c-intro01__img {
  margin-left: -30px;
  margin-right: -30px;
}
.c-intro01__img img {
  border-radius: 8px;
}
@media all and (min-width: 768px) {
  .c-intro01__inner {
    padding-top: 170px;
    padding-bottom: 170px;
  }
  .c-intro01__txt {
    line-height: 1.875;
    margin-bottom: 75px;
  }
  .c-intro01__img {
    margin: 0;
  }
  .c-intro01__img img {
    border-radius: 15px;
  }
}

/* c-links01
======================================== */
.c-links01 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -4px -6px 0;
}
.c-links01-list {
  box-sizing: border-box;
  padding: 30px 20px;
  background: url(../img/common/links01/bg_links01_sp.jpg) no-repeat 0 0/cover;
  border-radius: 8px;
}
.c-links01-list__item + .c-links01-list__item {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid rgb(var(--border));
}
.c-links01-list__item-head {
  margin-bottom: 14px;
  line-height: 1.5;
}
.c-links01__item {
  display: inline-block;
  margin: 0 4px 6px 0;
  color: #fff;
}
.c-links01__item.is-active .c-links01__item-in {
  background: transparent;
  border: 1px solid rgb(var(--black));
  color: rgb(var(--black));
}
.c-links01__item-in {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  min-height: 25px;
  padding: 0 11px;
  background: #3a88c9;
  border-radius: 9999px;
  line-height: 1.1;
  font-size: 1.2rem;
  border: 1px solid transparent;
}
@media all and (min-width: 768px) {
  .c-links01 {
    flex: 1;
    margin: 0 -10px -12px 0;
  }
  .c-links01-list {
    padding: 60px 100px;
    background: url(../img/common/links01/bg_links01_pc.jpg) no-repeat 0 0/cover;
    border-radius: 15px;
  }
  .c-links01-list__item {
    display: flex;
    flex-wrap: wrap;
  }
  .c-links01-list__item + .c-links01-list__item {
    margin-top: 30px;
    padding-top: 30px;
  }
  .c-links01-list__item-head {
    box-sizing: border-box;
    margin: 0;
    width: 122px;
    padding: 6px 10px 0 0;
  }
  .c-links01__item {
    margin: 0 10px 12px 0;
  }
  .c-links01__item-in {
    min-height: 36px;
    padding: 0 18px;
    font-size: 1.4rem;
    transition: opacity 0.3s ease;
  }
  .c-links01__item-in[href]:hover {
    opacity: 0.7;
  }
}

/* .c-links01.is-gray
---------------------------------------- */
.c-links01.is-gray .c-links01__item.is-active .c-links01__item-in {
  background: transparent;
}
.c-links01.is-gray .c-links01__item-in {
  background: rgb(var(--border));
}

/* c-list01 青ポチ付きリスト
=================================== */
.c-list01__item {
  position: relative;
  padding-left: 10px;
}
.c-list01__item + .c-list01__item {
  margin-top: 4px;
}
.c-list01__item:before {
  content: "";
  position: absolute;
  top: 12px;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgb(var(--main));
}
@media all and (min-width: 768px) {
  .c-list01__item:before {
    top: 13px;
  }
}

/* c-list02 青色タグリスト
=================================== */
.c-list02 {
  margin-bottom: -5px;
  font-size: 0;
}
.c-list02__item {
  box-sizing: border-box;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 0 5px 0;
  padding: 1px 11px;
  background: rgb(var(--main));
  color: #fff;
  border-radius: 9999px;
  font-size: 1.2rem;
}
@media all and (min-width: 768px) {
  .c-list02 {
    margin: 0 -10px -8px 0;
  }
  .c-list02__item {
    display: inline-block;
    margin: 0 10px 8px 0;
    padding: 4px 13px;
  }
}

/* c-list03
=================================== */
.c-list03__item {
  line-height: 1.8571428571;
  counter-increment: list;
  position: relative;
  padding-left: 18px;
}
.c-list03__item + .c-list03__item {
  margin-top: 5px;
}
.c-list03__item::before {
  content: counter(list) ".";
  color: rgb(var(--main));
  position: absolute;
  top: 0;
  left: 0;
}
@media all and (min-width: 768px) {
  .c-list03__item {
    line-height: 1.875;
    padding-left: 25px;
  }
  .c-list03__item + .c-list03__item {
    margin-top: 10px;
  }
}

/* .c-marquee01
================================================== */
.c-marquee01 {
  display: block;
  height: 124px;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.c-marquee01__content {
  display: flex;
  align-items: center;
  -webkit-animation: marquee_sp 50s linear infinite;
  animation: marquee_sp 50s linear infinite;
}
.c-marquee01 img {
  padding-left: 40px;
  max-width: 4000px;
  height: 124px;
}
@media all and (min-width: 768px) {
  .c-marquee01 {
    height: 250px;
  }
  .c-marquee01__content {
    -webkit-animation: marquee_tb 50s linear infinite;
    animation: marquee_tb 50s linear infinite;
  }
  .c-marquee01 img {
    padding-left: 80px;
    max-width: 4000px;
    height: 250px;
  }
}
@media all and (min-width: 1480px ) {
  .c-marquee01 {
    height: 311px;
  }
  .c-marquee01__content {
    -webkit-animation: marquee_pc 50s linear infinite;
    animation: marquee_pc 50s linear infinite;
  }
  .c-marquee01 img {
    height: 311px;
  }
}

@-webkit-keyframes marquee_sp {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-926px);
  }
}

@keyframes marquee_sp {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-926px);
  }
}
@-webkit-keyframes marquee_tb {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-1870px);
  }
}
@keyframes marquee_tb {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-1870px);
  }
}
@-webkit-keyframes marquee_pc {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-2309px);
  }
}
@keyframes marquee_pc {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-2309px);
  }
}
/* c-next01
======================================= */
.c-next01__inner {
  box-sizing: border-box;
  padding: 78px 15px 80px;
}
.c-next01-bnr {
  box-sizing: border-box;
  position: relative;
  z-index: 1;
  display: block;
  min-height: 240px;
  padding: 48px 100px 50px 26px;
  border: 4px solid #fff;
  border-radius: 15px;
}
.c-next01-bnr::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: url(../img/common/next01/bg_next01_sp.jpg) no-repeat 0 0/cover;
  border-radius: 15px;
}
.c-next01-bnr:after {
  content: "";
  position: absolute;
  top: -32px;
  right: 31px;
  width: 45px;
  height: 101px;
  background: url(../img/common/next01/ico_next01.png) no-repeat 0 0/contain;
}
.c-next01-bnr__en {
  position: relative;
  margin-bottom: 10px;
  line-height: 1.5;
  font-size: 3.2rem;
}
.c-next01-bnr__en::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 6px;
  height: 6px;
  background: rgb(var(--main));
  border-radius: 50%;
}
.c-next01-bnr__txt {
  font-size: 2.2rem;
}
.c-next01-bnr__sub {
  font-size: 1.2rem;
}
.c-next01-bnr__img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  border-radius: 15px;
  transition: opacity 0.3s ease;
}
.c-next01-bnr__img img {
  border-radius: 15px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-next01-bnr__ico {
  box-sizing: border-box;
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 70px;
  height: 70px;
  border: 1px solid;
  border-radius: 50%;
}
.c-next01-bnr__ico::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  width: 18px;
  height: 12px;
  vertical-align: middle;
  color: currentColor;
  background: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  content: "";
  transition: all 0.3s ease;
}
@media all and (min-width: 768px) {
  .c-next01__inner {
    max-width: 1840px;
    margin: 0 auto;
    padding: 0 40px 130px;
  }
  .c-next01-bnr {
    min-height: 430px;
    padding: 102px 380px 98px 173px;
    border: 6px solid #fff;
    transition: color 0.3s ease;
  }
  .c-next01-bnr::before {
    background: url(../img/common/next01/bg_next01_pc.jpg) no-repeat 0 0/cover;
  }
  .c-next01-bnr:after {
    right: auto;
    top: -44px;
    left: 82px;
    width: 53px;
    height: 120px;
  }
  .c-next01-bnr:hover {
    color: #fff;
  }
  .c-next01-bnr:hover .c-next01-bnr__img {
    opacity: 1;
  }
  .c-next01-bnr:hover .c-next01-bnr__en:before {
    background: #fff;
  }
  .c-next01-bnr__en {
    margin-bottom: 6px;
    font-size: 7.2rem;
  }
  .c-next01-bnr__en:before {
    top: -2px;
    left: 2px;
    width: 11px;
    height: 11px;
    transition: all 0.3s ease;
  }
  .c-next01-bnr__txt {
    font-size: 3.2rem;
  }
  .c-next01-bnr__sub {
    font-size: 1.6rem;
  }
  .c-next01-bnr__ico {
    top: 50%;
    right: 114px;
    bottom: auto;
    transform: translateY(-50%);
    width: 250px;
    height: 250px;
  }
  .c-next01-bnr__ico:before {
    width: 30px;
    height: 16px;
    transition: none;
  }
  .c-next01-bnr__img {
    opacity: 0;
  }
}

/* .c-note01
==================================== */
.c-note01 {
  font-size: 1.2rem;
  line-height: 1.75;
  color: rgb(var(--darkblue));
  margin-top: 15px;
}
@media all and (min-width: 768px) {
  .c-note01 {
    font-size: 1.4rem;
    line-height: 1.8571428571;
  }
}

/* .c-pager01
===================================*/
.c-pager01 {
  overflow: hidden;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
  margin: 40px -10px -10px;
}
.c-pager01 li {
  overflow: hidden;
  margin: 0 2px 5px;
}
.c-pager01 li a, .c-pager01 li span {
  transition: all 0.3s ease;
  box-sizing: border-box;
  border: 1px solid rgb(var(--border));
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  min-width: 42px;
  min-height: 42px;
  padding: 0 5px;
  line-height: 1;
  text-decoration: none;
  color: #6f838b;
}
.c-pager01 li.page, .c-pager01 li.current {
  line-height: 1.1;
  letter-spacing: 0.06em;
}
.c-pager01 li.pages span {
  border: 0;
  width: auto;
}
.c-pager01 li.current span {
  background: rgb(var(--main));
  color: #fff;
  border-color: rgb(var(--main));
}
.c-pager01 li.first, .c-pager01 li.previous {
  margin-left: 0;
  margin-right: 25px;
}
.c-pager01 li.first a, .c-pager01 li.last a {
  border: 0;
  border-radius: 0;
  width: auto;
}
.c-pager01 li.next, .c-pager01 li.last {
  margin-left: 25px;
  margin-right: 0;
}
.c-pager01 li.extend span {
  border: 0;
}
.c-pager01 li.previous a, .c-pager01 li.next a {
  width: 18px;
  height: 42px;
  min-width: 18px;
  min-height: 42px;
  text-indent: 999px;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  border: none;
}
.c-pager01 li.previous a::before, .c-pager01 li.next a::before {
  display: inline-block;
  width: 18px;
  height: 10px;
  vertical-align: middle;
  color: currentColor;
  background: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  content: "";
  transition: all 0.3s ease;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-pager01 li.previous a::before {
  transform: translate(-50%, -50%) scale(-1, 1);
}
@media all and (min-width: 768px) {
  .c-pager01 {
    margin: 80px -10px -12px;
  }
  .c-pager01 li {
    margin: 0 5px 12px;
  }
  .c-pager01 li a, .c-pager01 li span {
    font-size: 2rem;
    min-width: 54px;
    min-height: 54px;
    font-size: 1.6rem;
  }
  .c-pager01 li.page a:hover {
    background: #fff;
    color: rgb(var(--main));
  }
  .c-pager01 li.first, .c-pager01 li.previous {
    margin-right: 30px;
  }
  .c-pager01 li.next, .c-pager01 li.last {
    margin-left: 30px;
  }
  .c-pager01 li.previous a, .c-pager01 li.next a {
    height: 54px;
    min-height: 54px;
  }
  .c-pager01 li.previous a:hover, .c-pager01 li.next a:hover {
    background: #fff;
  }
  .c-pager01 li.previous a:hover:before, .c-pager01 li.next a:hover:before {
    color: rgb(var(--main));
  }
}

/*  .c-pager02
================================================== */
.c-pager02 {
  position: relative;
  overflow: hidden;
  margin: 30px 0 0;
  line-height: 1;
}
.c-pager02 a {
  box-sizing: border-box;
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  min-height: 20px;
  text-decoration: none;
  font-weight: 500;
  position: relative;
}
.c-pager02 a:before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: inline-block;
  width: 18px;
  height: 10px;
  vertical-align: middle;
  color: #3e555e;
  background: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  content: "";
  transition: all 0.3s ease;
}
.c-pager02__previous, .c-pager02__next {
  width: calc(50% - 10px);
}
.c-pager02__previous {
  float: left;
}
.c-pager02__previous a {
  justify-content: flex-start;
  padding-left: 28px;
}
.c-pager02__previous a:before {
  left: 0;
  transform: translateY(-50%) scale(-1, -1);
}
.c-pager02__next {
  float: right;
  text-align: right;
}
.c-pager02__next a {
  justify-content: flex-end;
  padding-right: 28px;
}
.c-pager02__next a:before {
  right: 0;
}
.c-pager02__all {
  width: 100%;
  clear: both;
  text-align: center;
  margin-top: 60px;
}
.c-pager02__all a {
  box-sizing: border-box;
  justify-content: center;
  width: 100%;
  max-width: 224px;
  height: 46px;
  padding: 0 53px 0 30px;
  border: 1px solid rgb(var(--border));
  border-radius: 9999px;
  letter-spacing: 0.1em;
}
.c-pager02__all a:before {
  right: 30px;
  width: 12px;
  height: 8px;
}
@media all and (min-width: 768px) {
  .c-pager02 {
    margin: 80px 0 0;
  }
  .c-pager02 a {
    transition: all 0.3s ease;
  }
  .c-pager02 a:hover {
    color: rgb(var(--main));
  }
  .c-pager02 a:hover:before {
    color: rgb(var(--main));
  }
  .c-pager02__previous, .c-pager02__next {
    margin-bottom: -50px;
    margin: 17px 0 -50px;
  }
  .c-pager02__previous a {
    padding-left: 38px;
  }
  .c-pager02__next a {
    padding-right: 38px;
  }
  .c-pager02__all {
    margin: 0;
  }
  .c-pager02__all a {
    max-width: 294px;
    height: 54px;
    margin: 0;
    padding: 0 70px 0 30px;
  }
  .c-pager02__all a:before {
    right: 48px;
    width: 18px;
    height: 10px;
  }
}

/* .c-point01
==================================== */
.c-point01__inner {
  padding-top: 80px;
  padding-bottom: 60px;
}
.c-point01-sec + .c-point01-sec {
  padding-top: 50px;
  margin-top: 50px;
  border-top: 1px solid rgb(var(--border));
}
.c-point01-sec__txt {
  line-height: 1.8571428571;
  margin-bottom: 50px;
}
.c-point01-sec-list__item {
  position: relative;
  background-color: #fff;
  border-radius: 8px;
  padding: 50px 25px 21px 25px;
  box-sizing: border-box;
}
.c-point01-sec-list__item + .c-point01-sec-list__item {
  margin-top: 55px;
}
.c-point01-sec-list__circle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background-color: rgb(var(--main));
  color: #fff;
  line-height: 1.1;
  position: absolute;
  left: 50%;
  top: -35px;
  transform: translateX(-50%);
}
.c-point01-sec-list__circle-txt {
  font-size: 1.2rem;
  letter-spacing: 0.02em;
  margin-bottom: 5px;
}
.c-point01-sec-list__circle-num {
  font-size: 1.8rem;
  letter-spacing: 0.02em;
}
.c-point01-sec-list__txt {
  line-height: 1.8571428571;
}
.c-point01-sec-list__img {
  margin-top: 15px;
}
@media all and (max-width: 767px) {
  .c-point01-sec-list__img {
    position: relative;
  }
  .c-point01-sec-list__img.is-small-sp {
    width: 220px;
    margin-left: auto;
    margin-right: auto;
  }
  .c-point01-sec-list__img-ico {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgb(var(--main));
    color: #fff;
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .c-point01-sec-list__img-ico svg {
    width: 10px;
  }
  .c-point01-popup {
    width: calc(100% - 60px);
    margin: 0 auto;
    background-color: #fff;
    border: 1px solid rgb(var(--main));
    border-radius: 8px;
    box-sizing: border-box;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1001;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
  }
  .c-point01-popup.is-active {
    opacity: 1;
    visibility: visible;
  }
  .c-point01-popup__in {
    width: 100%;
    height: 100%;
    padding: 20px;
    box-sizing: border-box;
  }
  .c-point01-popup__img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .c-point01-popup__close {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: -10px -10px 10px auto;
  }
  .c-point01-popup__close-ico {
    display: inline-flex;
    width: 20px;
    margin-bottom: 3px;
  }
}
@media all and (min-width: 768px) {
  .c-point01__inner {
    padding-top: 170px;
    padding-bottom: 170px;
  }
  .c-point01-sec + .c-point01-sec {
    padding-top: 80px;
    margin-top: 80px;
  }
  .c-point01-sec__txt {
    line-height: 1.875;
    margin-bottom: 55px;
  }
  .c-point01-sec-list {
    margin-left: 55px;
  }
  .c-point01-sec-list__item {
    border-radius: 15px;
    padding: 30px 59px 30px 105px;
  }
  .c-point01-sec-list__item + .c-point01-sec-list__item {
    margin-top: 20px;
  }
  .c-point01-sec-list__circle {
    width: 110px;
    height: 110px;
    top: 50%;
    left: -55px;
    transform: translateY(-50%);
  }
  .c-point01-sec-list__circle-txt {
    font-size: 1.6rem;
  }
  .c-point01-sec-list__circle-num {
    font-size: 2.6rem;
  }
  .c-point01-sec-list__txt {
    line-height: 1.875;
  }
  .c-point01-sec-list__img {
    text-align: center;
  }
  .c-point01-popup {
    display: none;
  }
}

/*  .c-privacy01
================================================== */
.c-privacy01__heading {
  box-sizing: border-box;
  border: 1px solid rgb(var(--border));
  border-bottom: none;
  padding: 10px 15px;
}
.c-privacy01__heading-head {
  line-height: 1.5;
  font-weight: 500;
  font-size: 1.6rem;
}
.c-privacy01__box {
  box-sizing: border-box;
  max-height: 200px;
  overflow-y: scroll;
  border: 1px solid rgb(var(--border));
  padding: 15px;
}
.c-privacy01__sub {
  margin-bottom: 1em;
  font-size: 1.5rem;
}
.c-privacy01__lead {
  margin: 1em 0;
}
.c-privacy01__agree {
  margin: 1em auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-privacy01-list__item + .c-privacy01-list__item {
  margin-top: 20px;
}
.c-privacy01-list__head {
  margin-bottom: 5px;
}
.c-privacy01__signature {
  display: flex;
  flex-wrap: wrap;
  margin-top: 15px;
}
.c-privacy01__signature dt {
  width: 80px;
  font-weight: 500;
}
.c-privacy01__signature dd {
  width: calc(100% - 80px);
}
@media all and (min-width: 768px) {
  .c-privacy01__heading {
    padding: 20px 40px;
  }
  .c-privacy01__heading-head {
    font-size: 2rem;
  }
  .c-privacy01__sub {
    font-size: 1.8rem;
  }
  .c-privacy01__lead {
    margin: 1em 0 1.5em;
  }
  .c-privacy01__box {
    max-height: 300px;
    padding: 30px 40px;
  }
  .c-privacy01__signature {
    margin-top: 30px;
  }
  .c-privacy01__signature dt {
    width: 90px;
  }
  .c-privacy01__signature dd {
    width: calc(100% - 90px);
  }
}

/* .c-related01
==================================== */
.c-related01 {
  margin-bottom: 0 !important;
}
.c-related01::before {
  display: none;
}
.c-related01__inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.c-related01__archive {
  margin-top: 0 !important;
}
@media all and (min-width: 768px) {
  .c-related01__inner {
    padding-bottom: 190px !important;
  }
  .c-related01__btn {
    margin-top: 35px;
  }
}

/* .c-schedule01
================================================== */
.c-schedule01__item {
  position: relative;
  padding: 0 0 17px 81px;
}
.c-schedule01__item:last-child {
  padding-bottom: 0;
}
.c-schedule01__item::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  width: 6px;
  height: 100%;
  background: rgb(var(--lightblue));
}
.c-schedule01__item-time {
  position: absolute;
  top: 0;
  left: 25px;
  width: 50px;
  line-height: 1.7;
  color: rgb(var(--main));
  font-size: 1.6rem;
}
.c-schedule01__item-time::after {
  content: "";
  box-sizing: border-box;
  position: absolute;
  top: 3px;
  left: -25px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid #fff;
  background: rgb(var(--main));
}
.c-schedule01__item-head {
  line-height: 1.5;
}
.c-schedule01__item-txt {
  line-height: 1.85;
  color: rgb(var(--darkblue));
}
@media all and (min-width: 768px) {
  .c-schedule01 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    grid-column-gap: 50px;
  }
  .c-schedule01__item {
    box-sizing: border-box;
    padding: 0 0 27px 105px;
  }
  .c-schedule01__item:nth-of-type(-n+3) {
    grid-column: 1/2;
  }
  .c-schedule01__item:nth-of-type(n+4) {
    grid-column: 2/3;
  }
  .c-schedule01__item:nth-of-type(1), .c-schedule01__item:nth-of-type(4) {
    grid-row: 1/2;
  }
  .c-schedule01__item:nth-of-type(2), .c-schedule01__item:nth-of-type(5) {
    grid-row: 2/3;
  }
  .c-schedule01__item:nth-of-type(3), .c-schedule01__item:nth-of-type(6) {
    grid-row: 3/4;
  }
  .c-schedule01__item::before {
    left: 7px;
    width: 10px;
  }
  .c-schedule01__item:last-child::before {
    content: none;
  }
  .c-schedule01__item-time {
    width: 65px;
    left: 35px;
    line-height: 1.5;
    font-size: 2rem;
  }
  .c-schedule01__item-time:after {
    top: 0;
    left: -36px;
    width: 26px;
    height: 26px;
    border: 4px solid #fff;
  }
  .c-schedule01__item-txt {
    margin-top: 8px;
    font-size: 1.4rem;
  }
}

/* c-search01
======================================== */
.c-search01 {
  box-sizing: border-box;
  padding: 30px 20px;
  background: url(../img/common/links01/bg_links01_sp.jpg) no-repeat 0 0/cover;
  border-radius: 8px;
}
.c-search01__group + .c-search01__group {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid rgb(var(--border));
}
.c-search01__head {
  margin-bottom: 14px;
  line-height: 1.5;
}
.c-search01-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -4px -4px 0;
}
.c-search01-list.is-gray .c-search01-list__item span {
  background: rgb(var(--border));
}
.c-search01-list.is-gray .c-search01-list__item input:checked + span {
  background: transparent;
  border: 1px solid rgb(var(--black));
  color: rgb(var(--black));
}
.c-search01-list__item {
  display: inline-block;
  margin: 0 4px 6px 0;
  color: #fff;
}
.c-search01-list__item label {
  display: block;
  cursor: pointer;
}
.c-search01-list__item 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-search01-list__item input:checked + span {
  background: transparent;
  border: 1px solid rgb(var(--black));
  color: rgb(var(--black));
}
.c-search01-list__item span {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 25px;
  padding: 0 11px;
  background: #3a88c9;
  border: 1px solid transparent;
  border-radius: 9999px;
  line-height: 1.1;
  font-family: inherit;
  font-size: 1.2rem;
  cursor: pointer;
}
@media all and (min-width: 768px) {
  .c-search01 {
    padding: 60px 100px;
    background: url(../img/common/links01/bg_links01_pc.jpg) no-repeat 0 0/cover;
    border-radius: 15px;
  }
  .c-search01__group {
    display: grid;
    grid-template-columns: 112px auto;
    gap: 0 10px;
  }
  .c-search01__group + .c-search01__group {
    margin-top: 30px;
    padding-top: 30px;
  }
  .c-search01__head {
    margin: 0;
  }
  .c-search01-list__item {
    margin-bottom: 5px;
    transition: opacity 0.3s ease;
  }
  .c-search01-list__item:hover {
    opacity: 0.7;
  }
  .c-search01-list__item span {
    padding: 0 18px;
    min-height: 36px;
    font-size: 1.4rem;
  }
}

/* c-select01 枠線、下向きくの字矢印つき
------------------------------------------ */
.c-select01 select {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 60px;
  padding: 8px 30px 8px 18px;
  border: 1px solid rgb(var(--border));
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10.004" height="5.997"><path d="m5 5.999-5-6h1.5l3.5 4.2 3.5-4.2H10l-5 6Z" fill="rgb(191,196,199)"/></svg>') no-repeat right 15px top 50%/10px 6px;
  font-size: 1.6rem;
  letter-spacing: 0.08em;
}
@media all and (min-width: 768px) {
  .c-select01 select {
    max-width: 280px;
    padding: 10px 30px 10px 15px;
    background: #fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10.004" height="5.997"><path d="m5 5.999-5-6h1.5l3.5 4.2 3.5-4.2H10l-5 6Z" fill="rgb(191,196,199)"/></svg>') no-repeat right 20px top 50%/10px 6px;
  }
}

/* c-single01
============================================= */
.c-single01__inner {
  padding-top: 80px;
  padding-bottom: 54px;
}
@media all and (min-width: 768px) {
  .c-single01__inner {
    padding-top: 170px;
    padding-bottom: 130px;
  }
}

/* c-single01-header
============================================ */
.c-single01-header {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgb(var(--border));
}
.c-single01-header__meta {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 13px;
}
.c-single01-header__date {
  display: inline-block;
  margin: 3px 20px 0 0;
  color: #6f838b;
  font-size: 1.2rem;
}
.c-single01-header__cat {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 0 -3px -3px 0;
}
.c-single01-header__cat-item {
  min-width: 86px;
  margin: 0 3px 3px 0;
}
.c-single01-header__cat-item-in {
  display: inline-block;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  min-width: 120px;
  padding: 3px 5px 4px;
  line-height: 1.5;
  border: 1px solid;
  border-radius: 9999px;
  font-weight: 500;
  font-size: 1.1rem;
  text-align: center;
}
.c-single01-header__head {
  line-height: 1.5;
  font-weight: 400;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
@media all and (min-width: 768px) {
  .c-single01-header {
    margin-bottom: 40px;
    padding-bottom: 25px;
  }
  .c-single01-header__meta {
    margin-bottom: 18px;
  }
  .c-single01-header__date {
    margin: 3px 13px 0 0;
    font-size: 1.6rem;
  }
  .c-single01-header__cat-item {
    min-width: 100px;
  }
  .c-single01-header__cat-item-in {
    padding: 5px 9px;
    font-size: 1.2rem;
    transition: opacity 0.3s ease;
  }
  .c-single01-header__cat-item-in:hover {
    opacity: 0.7;
  }
  .c-single01-header__head {
    font-size: 3.2rem;
  }
}

/* c-single02-header
======================================== */
.c-single02-header__inner {
  display: flex;
  flex-direction: column;
  padding-top: 80px;
  padding-bottom: 47px;
}
.c-single02-header__area-img {
  position: relative;
  order: -1;
}
.c-single02-header__bg {
  position: absolute;
  top: 12px;
  left: 12px;
  width: calc(100% - 12px);
  height: 100%;
  border-radius: 15px;
  mix-blend-mode: multiply;
}
.c-single02-header__bg:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 15px;
  background: url(../img/common/bg_shadow01.jpg) no-repeat 0 0/cover;
}
.c-single02-header__img {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  padding-right: 12px;
  max-width: 606px;
  margin: 0 auto;
  border-radius: 15px;
}
.c-single02-header__img img {
  border-radius: 15px;
}
.c-single02-header__area-txt {
  padding: 40px 0 0;
}
.c-single02-header__main {
  margin-bottom: 20px;
  line-height: 1.77;
  font-size: 1.8rem;
  letter-spacing: 0.08em;
}
.c-single02-header__txt {
  font-size: 1.2rem;
}
.c-single02-header__en {
  line-height: 1.77;
  font-size: 1.8rem;
}
@media all and (min-width: 768px) {
  .c-single02-header__inner {
    flex-direction: row;
    padding-top: 170px;
    padding-bottom: 0;
  }
  .c-single02-header__area-txt {
    flex: 1;
    padding: 47px 0 140px;
  }
  .c-single02-header__main {
    margin-bottom: 30px;
    font-size: 3.2rem;
  }
  .c-single02-header__en {
    margin-top: 10px;
    font-size: 2.8rem;
  }
  .c-single02-header__area-img {
    order: 2;
    margin-bottom: -60px;
  }
  .c-single02-header__bg {
    top: 20px;
    left: 20px;
    width: 100%;
    height: 100%;
  }
  .c-single02-header__img {
    width: 500px;
    padding-right: 0;
  }
}

/* c-single02-info
=================================== */
.c-single02-info__inner {
  padding-top: 50px;
  padding-bottom: 70px;
}
.c-single02-info__txt {
  line-height: 1.85;
}
.c-single02-info__sec + .c-single02-info__sec {
  margin-top: 50px;
  padding-top: 47px;
  border-top: 1px solid rgb(var(--border));
}
@media all and (min-width: 768px) {
  .c-single02-info__inner {
    padding-top: 200px;
    padding-bottom: 170px;
  }
  .c-single02-info__sec + .c-single02-info__sec {
    margin-top: 80px;
    padding-top: 57px;
  }
}

/* c-single02-schedule
========================== */
.c-single02-schedule {
  background: rgb(var(--main)) url(../img/common/single02/bg_schedule01_sp.png) no-repeat 0 0/cover;
}
.c-single02-schedule__inner {
  padding-top: 50px;
  padding-bottom: 60px;
}
.c-single02-schedule__head {
  position: relative;
  margin-bottom: 13px;
  padding-top: 6px;
  color: #fff;
  font-weight: 400;
  font-size: 2.4rem;
  text-align: center;
}
.c-single02-schedule__head:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.c-single02-schedule__box {
  padding: 25px 20px;
  border-radius: 8px;
}
@media all and (min-width: 768px) {
  .c-single02-schedule {
    background: rgb(var(--main)) url(../img/common/single02/bg_schedule01_pc.png) no-repeat 0 0/cover;
  }
  .c-single02-schedule__inner {
    padding-top: 90px;
    padding-bottom: 120px;
  }
  .c-single02-schedule__head {
    margin-bottom: 21px;
    padding-top: 9px;
    font-size: 4rem;
  }
  .c-single02-schedule__head:before {
    width: 11px;
    height: 11px;
  }
  .c-single02-schedule__box {
    padding: 60px 70px 30px;
    border-radius: 15px;
  }
}

/* c-single02-more
======================== */
.c-single02-more {
  padding-top: 50px;
  text-align: center;
}
.c-single02-more__link {
  display: inline-block;
}
.c-single02-more__link-ico {
  display: block;
  width: 50px;
  height: 50px;
  margin: 0 auto 16px;
  background: url(../img/common/single02/ico_more01.png) no-repeat 0 0/contain;
}
@media all and (min-width: 768px) {
  .c-single02-more {
    padding-top: 100px;
  }
  .c-single02-more__link {
    transition: color 0.3s ease;
  }
  .c-single02-more__link:hover {
    color: rgb(var(--main));
  }
  .c-single02-more__link:hover .c-single02-more__link-txt {
    transform: scale(1.3);
  }
  .c-single02-more__link-ico {
    width: 60px;
    height: 60px;
    margin-bottom: 26px;
  }
  .c-single02-more__link-txt {
    display: inline-block;
    transition: all 0.3s ease;
  }
}

/* c-single03-intro
======================================== */
.c-single03-intro__inner {
  padding-top: 80px;
  padding-bottom: 50px;
}
.c-single03-intro__head {
  margin-bottom: 1em;
}
.c-single03-intro__eyecatch {
  margin-bottom: 20px;
  border-radius: 8px;
  text-align: center;
}
.c-single03-intro__eyecatch img {
  border-radius: 8px;
}
.c-single03-intro__meta {
  display: flex;
  flex-wrap: wrap;
}
.c-single03-intro__meta + .c-single03-intro__meta {
  margin-top: 13px;
}
.c-single03-intro__meta dt {
  box-sizing: border-box;
  width: 105px;
  padding-right: 10px;
  font-weight: 500;
}
.c-single03-intro__meta dd {
  flex: 1;
}
.c-single03-intro__box {
  margin-top: 30px;
  padding: 20px;
  border-radius: 8px;
}
.c-single03-intro__info {
  display: flex;
  flex-wrap: wrap;
}
.c-single03-intro__info dt {
  box-sizing: border-box;
  width: 105px;
  padding-right: 10px;
  font-weight: 500;
}
.c-single03-intro__info dd {
  width: calc(100% - 105px);
}
@media all and (min-width: 768px) {
  .c-single03-intro__inner {
    padding-top: 170px;
    padding-bottom: 90px;
  }
  .c-single03-intro__eyecatch {
    margin-bottom: 40px;
    border-radius: 15px;
  }
  .c-single03-intro__eyecatch img {
    border-radius: 15px;
  }
  .c-single03-intro__meta dt {
    width: 122px;
  }
  .c-single03-intro__box {
    margin-top: 40px;
    padding: 50px 80px;
  }
  .c-single03-intro__info dt {
    width: 108px;
  }
  .c-single03-intro__info dd {
    width: calc(100% - 108px);
  }
}

/* c-single03-sec
============================= */
.c-single03-sec__inner {
  padding-top: 50px;
  padding-bottom: 70px;
}
@media all and (min-width: 768px) {
  .c-single03-sec__inner {
    padding-top: 90px;
    padding-bottom: 170px;
  }
}

/* c-single03-other
=============================== */
.c-single03-other {
  position: relative;
  overflow: hidden;
  margin-bottom: -43px;
}
.c-single03-other:before {
  position: absolute;
  content: "";
  width: 65px;
  height: 100%;
  top: 0;
  right: 0;
  background: linear-gradient(to left, white, rgba(255, 255, 255, 0));
  z-index: 2;
}
.c-single03-other__inner {
  padding-top: 60px;
  padding-bottom: 120px;
}
.c-single03-other__archive {
  margin-top: 27px;
}
.c-single03-other__archive.swiper {
  overflow: visible;
  max-width: 321px;
  margin-left: 0;
}
.c-single03-other__archive.swiper .swiper-slide:nth-child(even) {
  margin-top: 30px;
}
.c-single03-other__ico01 {
  position: absolute;
  top: 196px;
  left: -40px;
  z-index: -1;
  width: 145px;
  height: 145px;
  background: url(../img/works/bg_other01.png) no-repeat 0 0/contain;
}
.c-single03-other__ico02 {
  position: absolute;
  bottom: -50px;
  right: -20px;
  z-index: -1;
  width: 124px;
  height: 144px;
  background: url(../img/works/bg_other02.png) no-repeat 0 0/contain;
}
@media all and (min-width: 768px) {
  .c-single03-other__inner {
    padding-top: 170px;
    padding-bottom: 170px;
  }
  .c-single03-other__archive {
    margin-top: 67px;
  }
  .c-single03-other__archive.swiper .swiper-slide:nth-child(even) {
    margin-top: 0;
  }
  .c-single03-other__archive.c-archive02.is-col3-pc {
    margin-bottom: 15px;
  }
  .c-single03-other__archive.c-archive02.is-col3-pc .c-archive02__item {
    margin-bottom: 0;
  }
  .c-single03-other__ico01 {
    top: 150px;
    left: -225px;
    width: 460px;
    height: 460px;
  }
  .c-single03-other__ico02 {
    bottom: 70px;
    right: -163px;
    width: 416px;
    height: 479px;
    background: url(../img/works/bg_other02.png) no-repeat 0 0/contain;
  }
}

/* .c-single-content
================================================== */
.c-single-content {
  overflow: hidden;
  padding-bottom: 40px;
  border-bottom: 1px solid rgb(var(--border));
}
.c-single-content:after {
  content: "";
  display: block;
  clear: both;
}
.c-single-content *:first-child:not(img) {
  margin-top: 0;
}
.c-single-content *:last-child:not(img) {
  margin-bottom: 0;
}
.c-single-content h1,
.c-single-content h2,
.c-single-content h3,
.c-single-content h4,
.c-single-content ul,
.c-single-content ol {
  clear: both;
}
.c-single-content div,
.c-single-content p {
  max-width: 100%;
  line-height: 1.85;
  font-size: 1.6rem;
  margin: 1em 0;
}
.c-single-content strong {
  font-weight: 500;
}
.c-single-content h2 {
  margin-bottom: 25px;
  line-height: 1.5;
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
.c-single-content h3 {
  position: relative;
  margin-top: 1em;
  margin-bottom: 15px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 1.8rem;
}
.c-single-content h4 {
  margin-bottom: 10px;
  line-height: 1.5;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
.c-single-content a {
  text-decoration: underline;
  color: rgb(var(--main));
  font-weight: 500;
}
.c-single-content ol, .c-single-content ul {
  margin: 10px 0;
}
.c-single-content ol {
  padding-left: 0;
  text-indent: -1em;
  counter-reset: number 0;
}
.c-single-content ol li {
  position: relative;
  margin-left: 1em;
  box-sizing: border-box;
  counter-increment: number 1;
  list-style-type: none;
}
.c-single-content ol li + li {
  margin-top: 0.3em;
}
.c-single-content ol li::before {
  content: counter(number) ".";
  letter-spacing: 0.1em;
  font-weight: 500;
  color: rgb(var(--main));
}
.c-single-content ul {
  padding-left: 0;
}
.c-single-content ul li {
  position: relative;
  padding-left: 10px;
  list-style-type: none;
}
.c-single-content ul li + li {
  margin-top: 0.3em;
}
.c-single-content ul li::before {
  position: absolute;
  top: 13px;
  left: 0;
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgb(var(--main));
}
.c-single-content .alignleft {
  display: block;
  margin: 15px auto;
}
.c-single-content .alignright {
  display: block;
  margin: 15px auto;
}
.c-single-content .aligncenter {
  display: block;
  margin: 15px auto;
}
.c-single-content .alignnone {
  margin-top: 20px;
}
.c-single-content img {
  border-radius: 8px;
}
.c-single-content blockquote {
  position: relative;
  box-sizing: border-box;
  padding: 40px 20px;
  background: rgb(var(--bgblue));
  border: 2px solid rgb(var(--main));
  border-radius: 6px;
}
.c-single-content blockquote:before {
  content: "”";
  position: absolute;
  top: 8px;
  left: 20px;
  line-height: 1.1;
  font-size: 6rem;
  font-weight: 600;
  color: rgba(var(--main), 0.2);
}
.c-single-content mark {
  font-weight: 500;
  background: linear-gradient(transparent 60%, rgb(var(--bg)) 60%);
}
.c-single-content table {
  margin: 10px 0;
}
.c-single-content table th, .c-single-content table td {
  padding: 5px 7px;
  border: 1px solid rgb(var(--border));
  line-height: 1.5;
}
.c-single-content table th {
  background: rgb(var(--bg));
  font-weight: 500;
  text-align: left;
  vertical-align: top;
}
.c-single-content .wp-caption-text {
  margin-top: 0;
  font-size: 1.2rem;
}
@media all and (min-width: 768px) {
  .c-single-content {
    padding-bottom: 70px;
  }
  .c-single-content a:hover {
    text-decoration: none;
  }
  .c-single-content ol {
    text-indent: -1.3em;
  }
  .c-single-content ol li {
    margin-left: 1.3em;
  }
  .c-single-content ol li:before {
    margin-right: 4px;
  }
  .c-single-content h2 {
    font-size: 3.2rem;
  }
  .c-single-content h3 {
    margin-top: 3em;
    margin-bottom: 21px;
    font-size: 2.4rem;
  }
  .c-single-content h3 img.alignright {
    margin-left: 40px;
  }
  .c-single-content h3 img.alignleft {
    margin-right: 40px;
  }
  .c-single-content h4 {
    margin-bottom: 20px;
    font-size: 1.8rem;
  }
  .c-single-content .alignleft {
    float: left;
    margin: 5px 20px 5px 0;
    box-sizing: border-box;
  }
  .c-single-content .alignright {
    float: right;
    margin: 5px 0 5px 20px;
    box-sizing: border-box;
  }
  .c-single-content .aligncenter {
    margin: 15px auto;
  }
  .c-single-content .alignnone {
    margin-top: 20px;
  }
  .c-single-content table {
    margin: 15px 0;
  }
  .c-single-content table th, .c-single-content table td {
    padding: 10px 12px;
  }
  .c-single-content .wp-caption-text {
    font-size: 1.4rem;
  }
}

/*  .c-tab01
================================================== */
.c-tab01 {
  display: flex;
  flex-wrap: wrap;
  margin-right: -7px;
}
.c-tab01__item {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(50% - 7px);
  min-height: 46px;
  margin: 0 7px 8px 0;
  padding: 5px 11px;
  border-radius: 9999px;
  background: rgb(var(--lightblue));
  line-height: 1.5;
  color: #b5c3ce;
  font-weight: 500;
  font-size: 1.3rem;
  letter-spacing: 0.1em;
  cursor: pointer;
}
.c-tab01__item.is-active {
  background: rgb(var(--main));
  color: #fff;
}
.c-tab01__content {
  padding-top: 40px;
}
@media all and (min-width: 768px) {
  .c-tab01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
    border-bottom: 1px solid rgb(var(--border));
  }
  .c-tab01__item {
    width: 240px;
    min-height: 64px;
    margin: 0 10px;
    padding: 10px 15px;
    border-radius: 15px 15px 0 0;
    box-sizing: border-box;
    font-size: 1.6rem;
  }
  .c-tab01__content {
    padding-top: 60px;
  }
}

/* .c-table01
==================================== */
.c-table01 tr {
  padding: 15.8px 0 16.9px;
  box-sizing: border-box;
  border-top: 1px solid rgb(var(--border));
}
.c-table01 tr:last-child {
  padding-bottom: 0;
}
.c-table01 th {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
  margin-bottom: 5px;
}
.c-table01 td {
  line-height: 1.8571428571;
}
.c-table01__link {
  line-height: 2.5;
  text-decoration: underline !important;
}
.c-table01__link::after {
  display: inline-block;
  width: 14px;
  height: 14px;
  vertical-align: middle;
  color: rgb(var(--main));
  background: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><g transform="translate(0.009 0.008)"><path d="M17.277,0H12.239a.56.56,0,0,0,0,1.119h3.687L10.164,6.881a.56.56,0,1,0,.791.791l5.761-5.761V5.6a.56.56,0,0,0,1.119,0V.56a.56.56,0,0,0-.56-.56" transform="translate(-4.402 0.549)" fill="currentColor"/><path d="M10.635,9.6a.56.56,0,0,0-.56.56v3.918H1.119V5.119H5.038A.56.56,0,1,0,5.038,4H.56A.56.56,0,0,0,0,4.56V14.635a.56.56,0,0,0,.56.56H10.635a.56.56,0,0,0,.56-.56V10.157a.56.56,0,0,0-.56-.56" transform="translate(0 -1.212)" fill="currentColor"/></g></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><g transform="translate(0.009 0.008)"><path d="M17.277,0H12.239a.56.56,0,0,0,0,1.119h3.687L10.164,6.881a.56.56,0,1,0,.791.791l5.761-5.761V5.6a.56.56,0,0,0,1.119,0V.56a.56.56,0,0,0-.56-.56" transform="translate(-4.402 0.549)" fill="currentColor"/><path d="M10.635,9.6a.56.56,0,0,0-.56.56v3.918H1.119V5.119H5.038A.56.56,0,1,0,5.038,4H.56A.56.56,0,0,0,0,4.56V14.635a.56.56,0,0,0,.56.56H10.635a.56.56,0,0,0,.56-.56V10.157a.56.56,0,0,0-.56-.56" transform="translate(0 -1.212)" fill="currentColor"/></g></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  content: "";
  transition: all 0.3s ease;
  margin-top: -5px;
  margin-left: 9px;
}
@media all and (max-width: 767px) {
  .c-table01 table, .c-table01 tr, .c-table01 th, .c-table01 td {
    display: grid;
  }
}
@media all and (min-width: 768px) {
  .c-table01 tr {
    display: block;
    padding: 26px 0 27.8px;
  }
  .c-table01 th {
    width: 320px;
    margin-bottom: 0;
    padding-left: 22px;
    padding-right: 50px;
    box-sizing: border-box;
  }
  .c-table01__link {
    line-height: 1.5;
  }
  .c-table01__link:hover {
    text-decoration: none !important;
  }
}

/* .l-breadcrumb
================================================ */
.l-breadcrumb {
  position: relative;
  z-index: 1;
}

/* .l-breadcrumb-list
================================================ */
.l-breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 20px;
  color: rgb(var(--darkblue));
}
.l-breadcrumb-list__item {
  display: inline-block;
  vertical-align: top;
  font-size: 1.2rem;
}
.l-breadcrumb-list__item a {
  color: rgb(var(--main));
}
.l-breadcrumb-list__item + .l-breadcrumb-list__item {
  margin-left: 8px;
}
.l-breadcrumb-list__item + .l-breadcrumb-list__item:before {
  content: "";
  display: inline-block;
  margin-right: 10px;
  width: 10px;
  height: 1px;
  background: rgb(var(--border));
  vertical-align: middle;
}
@media all and (max-width: 767px) {
  .l-breadcrumb-list {
    padding-right: 15px;
    padding-left: 15px;
    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__item {
    font-size: 1.3rem;
  }
  .l-breadcrumb-list__item a {
    transition: opacity 0.3s ease;
  }
  .l-breadcrumb-list__item a:hover {
    opacity: 0.7;
  }
}

/* .l-footer
================================================ */
.l-footer {
  position: relative;
  color: #DAECF9;
  background: rgb(var(--main));
}
.l-footer__inner {
  padding-top: 100px;
  padding-bottom: 50px
}
@media all and (min-width: 768px) {
  .l-footer__inner {
    padding-top: 200px;
    padding-bottom:70px;/*=================*/
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    align-items: flex-end;
  }
}

/* .l-footer-page-top
================================================ */
.l-footer-page-top {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.l-footer-page-top__link {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  padding: 10px;
  color: rgb(var(--main));
  text-align: center;
  text-decoration: none;
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  position: relative;
}
.l-footer-page-top__link::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 1px;
  border-right: solid 1px;
  border-color: #DAECF9;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(315deg);
  background: none;
}
@media all and (min-width: 768px) {
  .l-footer-page-top__link {
    padding: 45px;
  }
  .l-footer-page-top__link::before {
    width: 10px;
    height: 10px;
    border-top: solid 2px;
    border-right: solid 2px;
    border-color: #DAECF9;
  }
}

/* .l-footer-contact
================================================ */
.l-footer-contact__head {
  position: relative;
}
.l-footer-contact__head-ja {
  font-size: 1.2rem;
  margin-bottom: 6px;
  padding-left: 12px;
  position: relative;
}
.l-footer-contact__head-ja::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  background: #DAECF9;
  border-radius: 50%;
  top: 9px;
  left: 0;
}
.l-footer-contact__head-en {
  font-size: 5rem;
  line-height: 1;
}
.l-footer-contact__head-link {
  position: absolute;
  bottom: 7px;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: solid 1px;
  border-radius: 50%;
  box-sizing: border-box;
}
.l-footer-contact__head-ico {
  color: #DAECF9;
  width: 13px;
  font-size: 0;
}
.l-footer-contact__txt {
  font-size: 1.3rem;
}
.l-footer-info__btn-wrap {
  margin-top: 20px;
}
.l-footer-info__btn-link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 60px;
  font-weight: 500;
  color: #9FCEF1;
  background: #0568BB;
  border-radius: 9999px;
}
.l-footer-info__btn-ico {
  width: 15px;
  font-size: 0;
  margin: 0 10px 3px 0;
}
.l-footer-info__btn.is-tel .l-footer-info__btn-link {
  font-size: 1.8rem;
  margin-top: 30px;
}
.l-footer-info__btn.is-tel .l-footer-info__btn-ico {
  width: 17px;
}
.l-footer-info__note {
  font-size: 1.3rem;
  text-align: center;
  margin-top: 4px;
  color: #9FCEF1;
}
@media all and (max-width: 767px) {
  .l-footer-contact__tel {
    margin-top: 14px;
  }
}
@media all and (min-width: 768px) {
  .l-footer-contact {
    width: 50%;
    padding-left: 60px;
    box-sizing: border-box;
  }
  .l-footer-contact__head-ja {
    font-size: 1.3rem;
    margin-bottom: 18px;
    padding-left: 21px;
  }
  .l-footer-contact__head-ja::before {
    width: 11px;
    height: 11px;
    top: 7px;
  }
  .l-footer-contact__head-en {
    font-size: 8rem;
  }
  .l-footer-contact__head-link {
    width: 100px;
    height: 100px;
    bottom: -6px;
    transition: all 0.3s ease;
  }
  .l-footer-contact__head-link:hover {
    opacity: 0.7;
  }
  .l-footer-contact__head-ico {
    width: 33px;
  }
  .l-footer-contact__txt {
    font-size: 1.5rem;
  }
  .l-footer-info__btn {
    width: calc(50% - 20px);
    margin: 0 10px;
  }
  .l-footer-info__btn-wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 10px -10px 0;
  }
  .l-footer-info__btn-link {
    height: 80px;
    margin-top: 30px;
  }
  .l-footer-info__btn.is-tel .l-footer-info__btn-link {
    font-size: 2.2rem;
  }
  .l-footer-info__btn.is-tel .l-footer-info__btn-txt {
    transform: translateY(3px);
  }
  .l-footer-info__tel {
    width: calc(50% - 20px);
    margin: 0 10px;
  }
  .l-footer-info__tel .l-footer-info__btn {
    width: 100%;
    margin: 0;
  }
  .l-footer-info__note {
    text-align: center;
  }
}
@media all and (min-width: 1480px ) {
  .l-footer-contact__head {
    margin-bottom: 3px;
  }
  .l-footer-contact__head-ja {
    margin-bottom: 12px;
  }
  .l-footer-contact__head-en {
    font-size: 10rem;
  }
  .l-footer-contact__head-link {
    bottom: 5px;
  }
}

/* .l-footer-info
================================================ */
.l-footer-info__logo {
  width: 241px;
  margin-bottom: 14px;
}
.l-footer-info__logo-link {
  font-size: 0;
}
.l-footer-info__company {
  font-weight: 500;
  font-size: 1.3rem;
}
.l-footer-info__txt {
  font-size: 1.2rem;
}
.l-footer-contact__btn {
  margin-top: 30px;
}
.l-footer-contact__btn-link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  height: 115px;
  border-radius: 8px;
  padding-left: 24px;
  background: url(../img/common/bg_footer-btn01_sp.jpg) no-repeat 0 100%/cover;
  box-sizing: border-box;
  position: relative;
}
.l-footer-info__contact-link[target=_blank] {
  position: relative;
}
.l-footer-info__contact-link[target=_blank]::before {
  position: absolute;
  display: inline-block;
  width: 14px;
  height: 14px;
  vertical-align: middle;
  color: currentColor;
  background: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><g transform="translate(0.009 0.008)"><path d="M17.277,0H12.239a.56.56,0,0,0,0,1.119h3.687L10.164,6.881a.56.56,0,1,0,.791.791l5.761-5.761V5.6a.56.56,0,0,0,1.119,0V.56a.56.56,0,0,0-.56-.56" transform="translate(-4.402 0.549)" fill="currentColor"/><path d="M10.635,9.6a.56.56,0,0,0-.56.56v3.918H1.119V5.119H5.038A.56.56,0,1,0,5.038,4H.56A.56.56,0,0,0,0,4.56V14.635a.56.56,0,0,0,.56.56H10.635a.56.56,0,0,0,.56-.56V10.157a.56.56,0,0,0-.56-.56" transform="translate(0 -1.212)" fill="currentColor"/></g></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><g transform="translate(0.009 0.008)"><path d="M17.277,0H12.239a.56.56,0,0,0,0,1.119h3.687L10.164,6.881a.56.56,0,1,0,.791.791l5.761-5.761V5.6a.56.56,0,0,0,1.119,0V.56a.56.56,0,0,0-.56-.56" transform="translate(-4.402 0.549)" fill="currentColor"/><path d="M10.635,9.6a.56.56,0,0,0-.56.56v3.918H1.119V5.119H5.038A.56.56,0,1,0,5.038,4H.56A.56.56,0,0,0,0,4.56V14.635a.56.56,0,0,0,.56.56H10.635a.56.56,0,0,0,.56-.56V10.157a.56.56,0,0,0-.56-.56" transform="translate(0 -1.212)" fill="currentColor"/></g></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  content: "";
  transition: all 0.3s ease;
  color: #DAECF9;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  z-index: 2;
  transition: all 0.3s ease;
}
.l-footer-contact__btn-ico {
  color: #DAECF9;
  width: 29px;
  font-size: 0;
  margin: 0 15px 4px 0;
}
.l-footer-contact__btn-txt {
  font-size: 2.2rem;
}
@media all and (max-width: 767px) {
  .l-footer-info {
    margin-top: 45px;
    padding-top: 50px;
    border-top: solid 1px #3A88C9;
  }
}
@media all and (min-width: 768px) {
  .l-footer-info {
    width: 50%;
    padding-right: 60px;
    box-sizing: border-box;
    border-right: solid 1px #3A88C9;
  }
  .l-footer-info__logo {
    width: 320px;
    margin-bottom: 28px;
  }
  .l-footer-info__company {
    font-size: 1.5rem;
  }
  .l-footer-info__txt {
    font-size: 1.3rem;
  }
  .l-footer-contact__btn {
    margin-top: 43px;
  }
  .l-footer-contact__btn-link {
    padding-left: 70px;
    border-radius: 15px;
    background: url(../img/common/bg_footer-btn01_pc.jpg) no-repeat 0 100%/cover;
  }
  .l-footer-contact__btn-link[target=_blank]::before {
    right: 60px;
  }
  .l-footer-contact__btn-ico {
    width: 34px;
    margin-right: 30px;
  }
}


/* .l-footer2
================================================ */
.l-footer2 {
  position: relative;
  /*color: rgb(var(--main));*/
  color: #000000;
  background-color: #FFFFFF;
}

.l-footer2__inner {
  padding-top: 100px;
}
@media all and (min-width: 768px) {
  .l-footer2__inner {
    padding-top: 200px;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    align-items: flex-end;
  }
}

/* .l-footer2-other
================================================ */
.l-footer2-other {
  padding-top: 35px;
  padding-bottom: 25px;
}
.l-footer2-other__privacy {
  display: inline-block;
  margin-right: 47px;
  vertical-align: top;
}
.l-footer2-other__privacy-link {
  font-size: 1.2rem;
}
.l-footer2-other__cr {
  border-top: solid 1px #3A88C9;
  padding-top: 25px;
  margin-top: 25px;
  font-size: 1.2rem;
}
@media all and (max-width: 767px) {
  .l-footer2-other {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media all and (min-width: 768px) {
  .l-footer2-other {
    max-width: var(--contents_width);
    margin: 0px auto 0;
    position: relative;
    padding-top: 70px;
    padding-bottom: 70px;
  }
  .l-footer2-other__privacy {
    margin-right: 30px;
  }
  .l-footer2-other__privacy-link {
    font-size: 1.4rem;
  }
  .l-footer2-other__cr {
    border: none;
    position: absolute;
    top: 0;
    right: 0;
    padding-top: 72px;
    margin: 0;
    font-size: 1.4rem;
  }
}
@media all and (min-width: 1480px ) {
  .l-footer2-other {
    max-width: 1400px;
  }
}

/* .l-footer-sitemap
================================================ */
@media all and (min-width: 768px) {
  .l-footer-sitemap {
    display: flex;
    flex-wrap: wrap;
    margin-top:28px;
  }
  .l-footer-sitemap__list + .l-footer-sitemap__list {
    margin-left: 60px;
  }
  .l-footer-sitemap__list-item + .l-footer-sitemap__list-item {
    margin-top: 20px;
  }
  .l-footer-sitemap__list-ja {
    display: block;
    font-size: 1.2rem;
    line-height: 1.8;
  }
  .l-footer-sitemap__list-en {
    display: block;
    font-size: 2rem;
    line-height: 1;
  }
  .l-footer-sitemap__child {
    font-size: 1.3rem;
    margin-top: 8px;
  }
  .l-footer-sitemap__child-link {
    display: block;
    position: relative;
    padding: 2px 0;
  }
  .l-footer-sitemap__child-link::before {
    display: inline-block;
    content: "-";
    padding-right: 3px;
  }
}
@media all and (min-width: 1480px ) {
  .l-footer-sitemap__list + .l-footer-sitemap__list {
    margin-left: 50px;
  }
  .l-footer-sitemap__list-ja {
    display: inline-block;
    transform: translateY(-2px);
  }
  .l-footer-sitemap__list-en {
    display: inline-block;
    margin-right: 10px;
  }
}

/* .l-header
================================================ */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 320px;
  z-index: 2000;
}
@media all and (min-width: 768px) {
  .l-header {
    min-width: var(--contents_width_with_padding);
  }
}

/* .l-header-info
================================================== */
.l-header-info {
  position: relative;
  z-index: 3;
  height: 48px;
  padding: 0 15px;
}
.l-header-info__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.l-header-info__logo {
  width: 125px;
  padding: 20px 0 0 0;
}
.l-header-info__logo-link {
  font-size: 0;
  color: rgb(var(--main));
}
@media all and (min-width: 768px) {
  .l-header-info {
    height: 100px;
    padding: 0 70px;
  }
  .l-header-info__logo {
    width: 254px;
    padding: 42px 0 0 0;
  }
  .l-header-info__btn-contact {
    margin: 0;
  }
}
@media all and (min-width: 1480px ) {
  .l-header-info {
    height: 160px;
    padding: 0 80px;
  }
  .l-header-info__logo {
    padding: 72px 0 0 0;
  }
}

/* .l-nav-btn
================================================== */
.l-nav-btn {
  position: absolute;
  top: 0;
  right: 15px;
  width: 54px;
  height: 48px;
  border: none;
  cursor: pointer;
}
.l-nav-btn__line {
  position: absolute;
  right: 0;
  width: 29px;
  height: 2px;
  content: "";
  background: rgb(var(--darkblue));
  transition: all 0.3s ease;
}
.l-nav-btn__line:nth-child(1) {
  width: 34px;
  top: 14px;
}
.l-nav-btn__line:nth-child(2) {
  top: 23px;
}
.l-nav-btn__line:nth-child(3) {
  width: 24px;
  top: 32px;
}
.l-nav-btn.is-open .l-nav-btn__line:nth-child(1) {
  width: 24px;
  top: 23px;
  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) {
  width: 24px;
  top: 23px;
  transform: rotate(45deg);
}
.l-nav-btn__txt {
  position: absolute;
  left: 0;
  bottom: 3px;
  width: 100%;
  font-size: 1rem;
  line-height: 1.2;
  text-align: center;
}
@media all and (min-width: 768px) {
  .l-nav-btn {
    top: 27px;
    right: 70px;
  }
  .l-nav-btn__line {
    width: 44px;
  }
  .l-nav-btn__line:nth-child(1) {
    width: 54px;
    top: 11px;
  }
  .l-nav-btn__line:nth-child(2) {
    top: 23px;
  }
  .l-nav-btn__line:nth-child(3) {
    width: 34px;
    top: 35px;
  }
  .l-nav-btn.is-open .l-nav-btn__line:nth-child(1) {
    width: 34px;
  }
  .l-nav-btn.is-open .l-nav-btn__line:nth-child(3) {
    width: 34px;
  }
}
@media all and (min-width: 1480px ) {
  .l-nav-btn {
    top: 57px;
    right: 80px;
  }
}

/* .l-nav
================================================ */
.l-nav {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  max-height: 100vh;
  min-width: 320px;
  padding: 70px 0 40px;
  background: #fff;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  overflow: auto;
  transform: translateX(120%);
  display: none;
  transition: all 0.3s ease;
}
.l-nav::-webkit-scrollbar {
  display: none;
}
.l-nav.is-open {
  transform: translateX(0);
}
@media all and (min-width: 768px) {
  .l-nav {
    top: 0;
    height: 100vh;
    padding: 0;
    background: rgba(255, 255, 255, 0.97);
  }
  .l-nav__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    height: 100vh;
    max-width: 880px;
  }
}

/* .l-nav-list
================================================== */
.l-nav-list {
  color: rgb(var(--darkblue));
}
.l-nav-list__item-link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 11px 0 10px;
  box-sizing: border-box;
  position: relative;
  line-height: 1.4;
}
.l-nav-list__item-link-en {
  font-size: 2.8rem;
  margin-right: 16px;
  transform: translateY(2px);
  letter-spacing: 0.02em;
}
.l-nav-list__item-link-ja {
  font-size: 1.1rem;
  font-weight: 500;
}
.l-nav-list__child {
  padding: 10px 20px;
}
.l-nav-list__child-item-link {
  display: block;
  padding: 5px 0;
  font-size: 1.3rem;
  line-height: 1.2;
}
@media all and (max-width: 767px) {
  .l-nav-list__item-link {
    border-bottom: solid 1px rgb(var(--border));
  }
  .l-nav-list__item-link[class*=toggle] {
    padding-right: 50px;
    cursor: pointer;
  }
  .l-nav-list__item-link[class*=toggle]::before {
    position: absolute;
    content: "";
    width: 4px;
    height: 4px;
    border-top: solid 2px rgb(var(--darkblue));
    border-right: solid 2px rgb(var(--darkblue));
    top: 50%;
    right: 14px;
    transition: all 0.3s ease;
  }
  .l-nav-list__item-link[class*=toggle]::before {
    transform: translateY(-50%) rotate(135deg);
  }
  .l-nav-list__item-link[class*=toggle].is-active::before {
    transform: translateY(-50%) rotate(-45deg);
  }
}
@media all and (min-width: 768px) {
  .l-nav-list {
    position: relative;
    width: 245px;
  }
  .l-nav-list + .l-nav-list {
    margin-left: 65px;
  }
  .l-nav-list__wrap {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .l-nav-list__item {
    margin-bottom: 40px;
  }
  .l-nav-list__item-link {
    position: relative;
    padding-top: 21px;
  }
  .l-nav-list__item-link-en {
    font-size: 5rem;
    line-height: 1;
    margin: 0;
  }
  .l-nav-list__item-link-ja {
    font-size: 1.4rem;
    position: absolute;
    top: 0;
    left: 0;
  }
  .l-nav-list__child-wrap {
    display: block !important;
    visibility: visible;
    opacity: 1;
    width: auto;
  }
  .l-nav-list__child {
    padding: 0;
  }
  .l-nav-list__child-item-link {
    font-size: 2rem;
    padding: 8px 0;
  }
}

/* .l-nav-contact
================================================ */
.l-nav-contact {
  color: rgb(var(--darkblue));
  margin: 40px 33px 0;
}
.l-nav-contact__btn {
  margin-top: 10px;
}
.l-nav-contact__btn-link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 54px;
  background: #fff;
  border: solid 1px rgb(var(--border));
  border-radius: 9999px;
  box-sizing: border-box;
}
.l-nav-contact__btn-txt {
  font-weight: 500;
}
.l-nav-contact__btn-ico {
  width: 15px;
  font-size: 0;
  margin: 0 10px 3px 0;
}
.l-nav-contact__btn.is-contact .l-nav-contact__btn-link {
  font-size: 2.2rem;
}
.l-nav-contact__btn.is-contact .l-nav-contact__btn-txt {
  transform: translateY(2px);
}
.l-nav-contact__btn.is-contact .l-nav-contact__btn-ico {
  width: 19px;
}
.l-nav-contact__btn.youtube .l-nav-contact__btn-link {
  font-size: 1.0rem;
}
.l-nav-contact__btn.youtube .l-nav-contact__btn-ico {
  width: 19px;
}
@media(min-width:751px){
    .l-nav-contact__btn.youtube {
      display: none !important;
  }
}
.l-nav-contact__btn.is-tel .l-nav-contact__btn-link {
  font-size: 1.8rem;
}
.l-nav-contact__btn.is-tel .l-nav-contact__btn-ico {
  width: 17px;
}
.l-nav-contact__note {
  font-size: 1.2rem;
  text-align: center;
  margin-top: 4px;
}
@media all and (min-width: 768px) {
  .l-nav-contact {
    margin: 20px 0 0;
    padding-top: 65px;
    border-top: solid 1px rgb(var(--border));
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .l-nav-contact__btn {
    width: 304px;
    margin-top: 0;
    margin-right: 20px;
  }
  .l-nav-contact__btn-link {
    height: 80px;
  }
  .l-nav-contact__btn.is-tel {
    width: auto;
    height: 32px;
    margin: 0;
  }
  .l-nav-contact__btn.is-tel .l-nav-contact__btn-link {
    height: 32px;
    font-size: 2.2rem;
    border: none;
  }
  .l-nav-contact__tel {
    width: calc(100% - 648px);
  }
}

/* .l-nav-menu
================================================== */
@media all and (min-width: 768px) {
  .l-nav-menu {
    position: absolute;
    top: 30px;
    right: 154px;
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
  }
  .l-nav-menu__item {
    position: relative;
  }
  .l-nav-menu__item + .l-nav-menu__item {
    margin-left: 30px;
  }
  .l-nav-menu__item.is-contact .l-nav-menu__link {
    font-size: 2rem;
    border: solid 1px rgb(var(--border));
    border-radius: 9999px;
    padding: 11px 27px 8px;
    line-height: 1;
  }
  .l-nav-menu__link {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    display: block;
    transition: all 0.3s ease;
    position: relative;
  }
  .l-nav-menu__link[class*=meganav] {
    padding-left: 18px;
    position: relative;
    cursor: pointer;
  }
  .l-nav-menu__link[class*=meganav]::before {
    position: absolute;
    content: "";
    width: 4px;
    height: 4px;
    border-top: solid 2px;
    border-right: solid 2px;
    position: absolute;
    left: 2px;
    top: 12px;
    transform: rotate(135deg);
    background: none;
  }
  .l-nav-menu-content {
    display: none !important;
    min-width: var(--contents_width_with_padding);
    width: 100%;
    max-height: calc(100vh - 130px);
    position: fixed;
    top: 90px;
    left: 0;
    -webkit-animation: appear 0.6s ease;
    animation: appear 0.6s ease;
  }
  .l-nav-menu-content::before {
    position: absolute;
    content: "";
    width: 100%;
    max-width: 1400px;
    height: 100%;
    background: #fff;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 15px;
    box-shadow: 0 0 10px rgba(0, 96, 176, 0.2);
  }
  .l-nav-menu-content.is-active {
    display: block !important;
    z-index: 4000;
  }
  .l-nav-menu-content__inner {
    padding-top: 60px;
    padding-bottom: 70px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
  }
  .l-nav-menu-content__head {
    width: 100%;
    line-height: 1;
    padding-bottom: 20px;
    border-bottom: solid 1px rgb(var(--border));
    margin-bottom: 40px;
  }
  .l-nav-menu-content__head-link[href] .l-nav-menu-content__head-en:after {
    display: inline-block;
    width: 20px;
    height: 11px;
    vertical-align: middle;
    color: currentColor;
    background: currentColor;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    content: "";
    transition: all 0.3s ease;
    color: rgb(var(--darkblue));
    margin: 0 0 8px 30px;
  }
  .l-nav-menu-content__head-main {
    font-size: 1.4rem;
    font-weight: 500;
    margin-bottom: 10px;
  }
  .l-nav-menu-content__head-en {
    font-size: 4.6rem;
  }
  .l-nav-menu-list {
    display: flex;
    flex-wrap: wrap;
  }
  .l-nav-menu-list__item {
    width: 550px;
  }
  .l-nav-menu-list__item + .l-nav-menu-list__item {
    margin-left: 20px;
  }
  .l-nav-menu-list__item-txt {
    font-weight: 500;
    margin-top: 6px;
    margin-bottom:6px;
  }
  .l-nav-menu-list.is-col5 .l-nav-menu-list__item {
    width: 208px;
  }
  .l-nav-menu.is-open {
    display: none;
  }
}
@media all and (min-width: 1480px ) {
  .l-nav-menu {
    top: 60px;
    right: 184px;
  }
  .l-nav-menu__item + .l-nav-menu__item {
    margin-left: 50px;
  }
  .l-nav-menu__item.is-contact .l-nav-menu__link {
    font-size: 2.2rem;
    padding: 10px 35px 7px;
  }
  .l-nav-menu__link {
    font-size: 2.2rem;
  }
  .l-nav-menu__link[class*=meganav]::before {
    top: 14px;
  }
  .l-nav-menu-content {
    top: 120px;
    max-width: 1400px;
    left: 50%;
    transform: translateX(-50%);
  }
}

/* .l-nav-overlay
================================================ */
.l-nav-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0);
  z-index: 1000;
}
.l-nav-overlay.is-active {
  display: block !important;
}

/* .l-cursor
================================================ */
.l-cursor {
  display: none;
}
@media (hover: hover) and (pointer: fine) {
  .l-cursor {
    display: block;
    pointer-events: none;
    position: fixed;
    z-index: 9999;
  }
  .l-cursor::before {
    position: absolute;
    content: "";
    background: #A1CBEB;
    border: 1px solid #A1CBEB;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s ease;
  }
  .l-cursor.hov_::before {
    width: 70px;
    height: 70px;
    background: none;
    border: solid 1px rgb(var(--main));
  }
}

/* .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
================================================ */
@-webkit-keyframes rotation {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes rotation {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.l-main-img {
  position: relative;
  background: url(../img/home/bg_mv01_sp.jpg) no-repeat top center/cover;
}
.l-main-img.is-animated .l-main-img__copy {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.6s;
}
.l-main-img.is-animated .l-main-img__txt {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 1.2s;
}
.l-main-img__wrap {
  overflow: hidden;
  padding-bottom: 30px;
}
.l-main-img__circle {
  position: absolute;
  overflow: hidden;
}
.l-main-img__circle::before {
  position: absolute;
  content: "";
  -webkit-animation: 10s linear infinite rotation;
  animation: 10s linear infinite rotation;
}
.l-main-img__circle.is-01 {
  width: 125px;
  height: 125px;
  -webkit-clip-path: url(#clip01);
  clip-path: url(#clip01);
  top: -15px;
  right: 45px;
}
.l-main-img__circle.is-01::before {
  width: 150px;
  height: 150px;
  background: url(../img/home/gradation_mv01.png) no-repeat 0 100%/cover;
  top: -45px;
  left: -15px;
}
.l-main-img__circle.is-02 {
  width: 125px;
  height: 125px;
  -webkit-clip-path: url(#clip02);
  clip-path: url(#clip02);
  bottom: -33px;
  left: -33px;
}
.l-main-img__circle.is-02::before {
  width: 300px;
  height: 300px;
  background: url(../img/home/gradation_mv02.png) no-repeat 0 100%/cover;
  top: -50px;
  left: -130px;
}
.l-main-img__circle.is-02::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 30px;
  bottom: 0;
  left: 0;
  background: linear-gradient(to top, white 10%, rgba(255, 255, 255, 0) 100%);
}
.l-main-img__circle.is-03 {
  width: 66px;
  height: 98px;
  -webkit-clip-path: url(#clip03);
  clip-path: url(#clip03);
  bottom: 43px;
  right: 0;
}
.l-main-img__circle.is-03::before {
  width: 140px;
  height: 140px;
  background: url(../img/home/gradation_mv03.png) no-repeat 0 100%/cover;
  top: -10px;
  right: -60px;
}
.l-main-img__circle.is-03::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 30px;
  bottom: 0;
  left: 0;
  background: linear-gradient(to top, #F9F9F9 10%, rgba(249, 249, 249, 0) 100%);
}
.l-main-img__inner {
  padding-top: 113px;
  padding-bottom: 135px;
  position: relative;
}
.l-main-img__img {
  border-radius: 8px;
  overflow: hidden;
  width: 67%;
  margin: 0 20px 0 auto;
}
.l-main-img__area-txt {
  margin-top: 45px;
}
.l-main-img__copy {
  font-size: 4.2rem;
  line-height: 1.1;
  position: relative;
  opacity: 0;
  transform: translateX(-30px);
  transition: all 0.6s ease;
}
.l-main-img__copy::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgb(var(--main));
  top: -9px;
  left: 0;
}
.l-main-img__txt {
  font-size: 1.3rem;
  font-weight: 500;
  margin-top: 10px;
  opacity: 0;
  transform: translateX(-30px);
  transition: all 0.6s ease;
}
.l-main-img__link {
  position: absolute;
  bottom: 31px;
  left: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border: solid 1px rgb(var(--black));
  border-radius: 50%;
  box-sizing: border-box;
}
.l-main-img__link-ico {
  color: rgb(var(--black));
  width: 18px;
  font-size: 0;
  transform: rotate(90deg);
}
@media all and (min-width: 768px) {
  .l-main-img {
    background: url(../img/home/bg_mv01_pc.jpg) no-repeat top center/cover;
  }
  .l-main-img__wrap {
    padding-bottom: 105px;
  }
  .l-main-img__circle.is-01 {
    width: 292px;
    height: 292px;
    top: -56px;
    right: auto;
    left: 375px;
  }
  .l-main-img__circle.is-01::before {
    width: 350px;
    height: 350px;
    top: -100px;
    left: -30px;
  }
  .l-main-img__circle.is-02 {
    width: 290px;
    height: 290px;
    bottom: -90px;
    left: -80px;
  }
  .l-main-img__circle.is-02::before {
    width: 600px;
    height: 600px;
    top: -50px;
    left: -260px;
  }
  .l-main-img__circle.is-02::after {
    height: 80px;
    bottom: -10px;
  }
  .l-main-img__circle.is-03 {
    width: 162px;
    height: 228px;
    bottom: -105px;
    right: 0;
  }
  .l-main-img__circle.is-03::before {
    width: 350px;
    height: 350px;
    top: -30px;
    right: -140px;
  }
  .l-main-img__circle.is-03::after {
    height: 100px;
    background: linear-gradient(to top, white 10%, rgba(255, 255, 255, 0) 100%);
  }
  .l-main-img__inner {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    padding-top: 182px;
    padding-bottom: 175px;
  }
  .l-main-img__img {
    width: 379px;
    border-radius: 15px;
  }
  .l-main-img__copy {
    font-size: 10rem;
  }
  .l-main-img__copy::before {
    width: 20px;
    height: 20px;
    top: -34px;
  }
  .l-main-img__txt {
    font-size: 2.2rem;
    margin-top: 18px;
  }
  .l-main-img__link {
    width: 106px;
    height: 106px;
    left: 257px;
    bottom: 70px;
    transition: all 0.3s ease;
  }
  .l-main-img__link:hover {
    opacity: 0.7;
  }
  .l-main-img__link-ico {
    width: 30px;
  }
}
@media all and (min-width: 1480px ) {
  .l-main-img__wrap {
    padding-bottom: 135px;
  }
  .l-main-img__circle.is-01 {
    width: 418px;
    height: 418px;
    top: -56px;
    right: auto;
    left: 480px;
  }
  .l-main-img__circle.is-01::before {
    width: 505px;
    height: 505px;
    top: -150px;
    left: -40px;
  }
  .l-main-img__circle.is-02 {
    width: 415px;
    height: 415px;
    bottom: -90px;
    left: -80px;
  }
  .l-main-img__circle.is-02::before {
    width: 900px;
    height: 900px;
    top: -80px;
    left: -390px;
  }
  .l-main-img__circle.is-02::after {
    height: 90px;
  }
  .l-main-img__circle.is-03 {
    width: 234px;
    height: 326px;
    bottom: -135px;
    right: 0;
  }
  .l-main-img__circle.is-03::before {
    width: 505px;
    height: 505px;
    top: -40px;
    right: -230px;
  }
  .l-main-img__inner {
    padding-top: 272px;
    padding-bottom: 153px;
  }
  .l-main-img__img {
    width: 560px;
  }
  .l-main-img__copy {
    font-size: 11.5rem;
  }
  .l-main-img__area-txt {
    margin-top: 110px;
  }
  .l-main-img__link {
    width: 126px;
    height: 126px;
    left: 288px;
    bottom: 100px;
  }
}

/* .l-service-img
================================================ */
.l-service-img {
  position: relative;
  background: rgb(var(--bg));
}
.l-service-img:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% + 40px);
  background: url(../img/common/bg_mv01_sp.png) no-repeat top center/cover;
}
.l-service-img__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  padding: 48px 30px 65px;
}
.l-service-img__area-txt {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-height: 170px;
  padding: 35px 0 15px;
}
.l-service-img__en {
  position: relative;
  line-height: 1.1;
  margin-bottom: 12px;
  padding-left: 15px;
}
.l-service-img__en::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgb(var(--main));
}
.l-service-img__head {
  line-height: 1.4;
  font-weight: 500;
  font-size: 2.8rem;
  letter-spacing: 0.1em;
}
.l-service-img__img {
  position: relative;
  width: 63.4920634921%;
  max-width: 428px;
  margin: 0 auto;
  border-radius: 15px;
}
.l-service-img__img:before {
  content: "";
  position: absolute;
  top: -10px;
  right: -10px;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: url(../img/common/bg_shadow01.jpg) no-repeat 0 0/cover;
  border-radius: 15px;
}
.l-service-img__img img {
  border-radius: 15px;
}
.l-service-img__img-ico {
  position: absolute;
  bottom: -10px;
  left: 0;
  transform: translateX(-50%);
  width: auto;
  height: 48.7179487179%;
}
.l-service-img__img-ico img {
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  border-radius: 0;
}
@media all and (min-width: 768px) {
  .l-service-img:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 127px);
    background: url(../img/common/bg_mv01_pc.png) no-repeat center/cover;
  }
  .l-service-img__inner {
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
    padding: 193px 40px 104px;
  }
  .l-service-img__area-txt {
    width: 50%;
    padding: 0 0 70px;
  }
  .l-service-img__en {
    padding-left: 25px;
    font-size: 2.7rem;
  }
  .l-service-img__en:before {
    top: 7px;
    width: 11px;
    height: 11px;
  }
  .l-service-img__head {
    font-size: 5rem;
  }
  .l-service-img__area-img {
    width: 50%;
    max-width: 670px;
  }
  .l-service-img__img {
    margin: 0 0 0 auto;
  }
  .l-service-img__img:before {
    top: -25px;
    right: -30px;
  }
  .l-service-img__img-ico {
    bottom: -20px;
  }
}
@media all and (min-width: 1480px ) {
  .l-service-img__area-img {
    width: 48vw;
    margin-right: calc(50% - 48vw);
  }
}

/* .l-sub-img
================================================ */
.l-sub-img {
  position: relative;
  z-index: 1;
  background: rgb(var(--bg));
}
.l-sub-img__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  padding: 48px 15px 65px;
}
.l-sub-img__area-txt {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-height: 198px;
  padding: 35px 15px 15px;
}
.l-sub-img__en {
  position: relative;
  line-height: 1.1;
  font-size: 4.2rem;
}
.l-sub-img__en::before {
  content: "";
  position: absolute;
  top: -9px;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgb(var(--main));
}
.l-sub-img__head {
  margin-top: 12px;
  line-height: 1.4;
  font-weight: 500;
  font-size: 1.3rem;
}
.l-sub-img__img {
  border-radius: 8px;
}
.l-sub-img__img img {
  border-radius: 8px;
}
.l-sub-img__img iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
}
.l-sub-img__deco01 {
  position: absolute;
  top: 0;
  left: 55%;
  z-index: -1;
  width: 33.3333333333%;
  height: 0;
  padding-top: 21.3333333333%;
  background: url(../img/common/l-sub-img/bg_deco01.png) no-repeat 0 0/contain;
}
.l-sub-img__deco02 {
  position: absolute;
  bottom: -37px;
  left: 0;
  z-index: -1;
  width: 24.2666666667%;
  height: 0;
  padding-top: 33.6%;
  background: url(../img/common/l-sub-img/bg_deco02.png) no-repeat 0 0/contain;
}
.l-sub-img__deco03 {
  position: absolute;
  top: 123px;
  left: 0;
  z-index: -1;
  width: 29.0666666667%;
  height: 0;
  padding-top: 33.6%;
  background: url(../img/common/l-sub-img/bg_deco03.png) no-repeat 0 0/contain;
}
.l-sub-img__deco04 {
  position: absolute;
  bottom: 30px;
  right: 0;
  z-index: -1;
  width: 17.6%;
  height: 0;
  padding-top: 26.1333333333%;
  background: url(../img/common/l-sub-img/bg_deco04.png) no-repeat 0 0/contain;
}
.l-sub-img__deco05 {
  position: absolute;
  top: 94px;
  right: 0;
  z-index: -1;
  width: 15.2%;
  height: 0;
  padding-top: 33.6%;
  background: url(../img/common/l-sub-img/bg_deco05.png) no-repeat 0 0/contain;
}
@media all and (min-width: 768px) {
  .l-sub-img__inner {
    display: flex;
    flex-wrap: wrap;
    max-width: 1480px;
    margin: 0 auto;
    padding: 190px 40px 125px;
  }
  .l-sub-img__area-txt {
    width: 50%;
    padding: 30px 0 20px;
  }
  .l-sub-img__en {
    font-size: 8rem;
  }
  .l-sub-img__en:before {
    top: -28px;
    left: 10px;
    width: 20px;
    height: 20px;
  }
  .l-sub-img__head {
    margin-top: 8px;
    font-size: 1.8rem;
  }
  .l-sub-img__img {
    border-radius: 15px;
    width: 50%;
    height: auto;
    aspect-ratio: >16 / 9;
    max-width: 790px;
  }
  .l-sub-img__img img {
    border-radius: 15px;
  }
  .l-sub-img__img iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    border-radius: 8px;
  }
  .l-sub-img__deco01 {
    left: 25%;
    max-width: 418px;
    width: 21.7708333333%;
    padding-top: 13.4375%;
  }
  .l-sub-img__deco02 {
    bottom: -170px;
    max-width: 334px;
    width: 17.3958333333%;
    padding-top: 21.9270833333%;
  }
  .l-sub-img__deco03 {
    top: 0;
    max-width: 320px;
    width: 16.6666666667%;
    padding-top: 21.6145833333%;
  }
  .l-sub-img__deco04 {
    bottom: -40px;
    max-width: 234px;
    width: 12.1875%;
    padding-top: 16.9791666667%;
  }
  .l-sub-img__deco05 {
    top: 0;
    max-width: 208px;
    width: 10.8333333333%;
    padding-top: 21.9270833333%;
  }
}
@media all and (min-width: 1480px ) {
  .l-sub-img__img {
    width: 48vw;
    margin-right: calc(50% - 48vw);
  }
}

/* .l-recruit-img
================================================ */
.l-recruit-img {
  overflow: hidden;
  position: relative;
}
.l-recruit-img::after {
  content: "";
  width: 100%;
  height: 173px;
  background: url(../img/recruit/bg_mv01_sp.png) no-repeat center/cover;
  position: absolute;
  top: calc(50% + 10px);
  transform: translateY(-50%);
  z-index: -1;
}
.l-recruit-img__inner {
  padding: 48px 30px 82px;
  box-sizing: border-box;
}
.l-recruit-img__img {
  width: 114.2857142857%;
  max-width: 737px;
  margin-top: 60px;
  margin-right: -46px;
  margin-left: auto;
}
.l-recruit-img__img img {
  border-radius: 8px;
}
.l-recruit-img__main {
  width: 308px;
  margin-left: auto;
  margin-top: -12px;
}
.l-recruit-img__sub {
  width: 208px;
  margin-left: auto;
  margin-top: -23px;
}
.l-recruit-img__head {
  font-size: 1.4rem;
  font-weight: 700;
  color: rgb(var(--darkblue));
  line-height: 1.1428571429;
  letter-spacing: 0.1em;
  margin-top: 22px;
  margin-left: 11px;
}
@media all and (min-width: 768px) {
  .l-recruit-img::after {
    width: calc(100% - 159px);
    height: 45.7446808511%;
    background: url(../img/recruit/bg_mv01_pc.png) no-repeat center/cover;
    top: 244px;
    right: 0;
    transform: none;
  }
  .l-recruit-img__inner {
    max-width: 1760px;
    width: 100%;
    margin: 0 auto;
    padding: 164px 0 94px;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-end;
    justify-content: space-between;
  }
  .l-recruit-img__img {
    width: 100%;
    max-width: 1122px;
    margin: 0 20px 0 0;
  }
  .l-recruit-img__img img {
    border-radius: 15px;
  }
  .l-recruit-img__area-txt {
    max-width: 618px;
    width: 100%;
    position: relative;
    z-index: 1;
    margin-bottom: 70px;
  }
  .l-recruit-img__main {
    width: 679px;
    margin: 0 0 0 53px;
  }
  .l-recruit-img__sub {
    width: 349px;
    margin-top: -39px;
    margin-left: 219px;
  }
  .l-recruit-img__head {
    font-size: 1.7rem;
    line-height: 1.1764705882;
    margin-top: 29px;
    margin-left: 60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .l-recruit-img__area-txt {
    margin-bottom: 30px;
  }
  .l-recruit-img__main {
    max-width: 679px;
    width: 100%;
  }
  .l-recruit-img__sub {
    max-width: 349px;
    width: 100%;
  }
}

/* .l-sidebar
================================================== */
.l-sidebar {
  box-sizing: border-box;
  padding: 0 30px 80px;
}
@media all and (min-width: 768px) {
  .l-sidebar {
    padding: 0;
    padding-top: 165px;
  }
  .l-sidebar__inner {
    position: -webkit-sticky;
    position: sticky;
    top: 170px;
    left: 0;
    padding-bottom: 100px;
  }
}

/* l-sidebar-sec
------------------------------------------ */
.l-sidebar-sec + .l-sidebar-sec {
  margin-top: 36px;
}
.l-sidebar-sec__head {
  padding-bottom: 8px;
  border-bottom: 1px solid;
  letter-spacing: 0.1em;
  font-weight: 500;
  font-size: 1.6rem;
}
.l-sidebar-sec__head.has-mb {
  margin-bottom: 15px;
}
.l-sidebar-sec__list-item {
  border-bottom: 1px solid rgb(var(--border));
}
.l-sidebar-sec__list-item-in {
  position: relative;
  display: block;
  padding: 17px 30px 17px 0;
}
.l-sidebar-sec__list-item-ico {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: inline-block;
  width: 18px;
  height: 10px;
  vertical-align: middle;
  color: currentColor;
  background: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  content: "";
  transition: all 0.3s ease;
  mask-repeat: no-repeat;
  -webkit-mask-size: auto 100%;
  mask-size: auto 100%;
  -webkit-mask-position: center right;
  mask-position: center right;
}
@media all and (min-width: 768px) {
  .l-sidebar-sec + .l-sidebar-sec {
    margin-top: 55px;
  }
  .l-sidebar-sec__head {
    padding-bottom: 16px;
    font-size: 1.8rem;
  }
  .l-sidebar-sec__head.has-mb {
    margin-bottom: 17px;
  }
  .l-sidebar-sec__list-item-in {
    padding: 22px 40px 22px 0;
  }
  .l-sidebar-sec__list-item-in:hover {
    color: rgb(var(--main));
  }
  .l-sidebar-sec__list-item-ico {
    right: 10px;
  }
}

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

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

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

.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-cursor
-------------------------------------- */
.js-c-cursor {
  display: none;
}
@media (hover: hover) and (pointer: fine) {
  .js-c-cursor {
    position: fixed;
    display: block;
    z-index: 9999;
    pointer-events: none;
  }
  .js-c-cursor::before {
    position: absolute;
    content: "";
    background: #A1CBEB;
    border: 1px solid #A1CBEB;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s ease;
  }
  .js-c-cursor.is-hover::before {
    width: 100px;
    height: 100px;
    opacity: 0.95;
    background: rgba(161, 203, 235, 0);
    border-color: #0060B0;
  }
  .js-c-cursor.is-hover[data-cursor-option=white]::before {
    border-color: #A1CBEB;
  }
  .js-c-cursor.is-hover[data-cursor-option=white-small]::before {
    width: 50px;
    height: 50px;
    border-color: #fff;
  }
  .js-c-cursor.is-disabled {
    display: none;
  }
}

/* .js-c-slider
================================================== */
.js-c-slider__arrow {
  position: absolute;
  top: 0;
  z-index: 10;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: solid 1px rgb(var(--black));
}
.js-c-slider__arrow::before {
  display: inline-block;
  width: 20px;
  height: 11px;
  vertical-align: middle;
  color: currentColor;
  background: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  content: "";
  transition: all 0.3s ease;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 8px;
  background: rgb(var(--black));
  z-index: 2;
  mask-repeat: no-repeat;
}
.js-c-slider__arrow::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 50%;
  background: #fff;
  z-index: -1;
}
.js-c-slider__arrow.is-prev {
  right: 78px;
  border-color: #EFEFEF;
}
.js-c-slider__arrow.is-prev::before {
  background: #9A9EA1;
  transform: translate(-50%, -50%) scale(-1, 1);
}
.js-c-slider__arrow.is-prev::after {
  background: #EFEFEF;
}
.js-c-slider__arrow.is-next {
  right: 30px;
}
@media all and (min-width: 768px) {
  .js-c-slider__arrow {
    width: 80px;
    height: 80px;
    top: 0;
    cursor: pointer;
    transition: all 0.3s ease;
  }
  .js-c-slider__arrow::before {
    width: 30px;
    height: 16px;
  }
  .js-c-slider__arrow:hover {
    opacity: 0.7;
  }
  .js-c-slider__arrow.is-prev {
    right: auto;
    left: 50%;
    margin-left: 305px;
  }
  .js-c-slider__arrow.is-next {
    right: auto;
    left: 50%;
    margin-left: 405px;
  }
}
@media all and (min-width: 1480px ) {
  .js-c-slider__arrow.is-prev {
    margin-left: 390px;
  }
  .js-c-slider__arrow.is-next {
    margin-left: 490px;
  }
}

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

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-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 {
  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;
}

/**
 * Swiper 9.3.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: May 8, 2023
 */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

.swiper,
swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide,
swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-start: var(--swiper-centered-offset-before);
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-before: var(--swiper-centered-offset-before);
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  -webkit-animation: swiper-preloader-spin 1s infinite linear;
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@-webkit-keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
:root {
  /*
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  */
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  -ms-touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}
.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}
.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}
.swiper-vertical > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

/* pagination
================================================== */
/* navigation
================================================== */
.swiper-button-prev,
.swiper-button-next {
  transition: all 0.3s ease;
  box-sizing: border-box;
  background: #fff;
  border: none;
  border-radius: 50%;
  color: rgb(var(--black));
  border: solid 1px rgb(var(--black));
  display: block;
  height: 40px;
  width: 40px;
  overflow: hidden;
  position: relative;
  text-indent: 200%;
  white-space: nowrap;
  z-index: 2;
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  box-shadow: none;
  background: #EFEFEF;
  color: #9A9EA1;
  pointer-events: none;
  border: none;
}
.swiper-button-prev svg,
.swiper-button-next svg {
  height: 8px;
  width: 12px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media all and (min-width: 768px) {
  .swiper-button-prev,
.swiper-button-next {
    width: 80px;
    height: 80px;
    cursor: pointer;
  }
  .swiper-button-prev svg,
.swiper-button-next svg {
    width: 29px;
    height: 16px;
  }
  .swiper-button-prev:hover,
.swiper-button-next:hover {
    transform: scale(1.1);
  }
}

.swiper-button-prev svg {
  transform: translate(-50%, -50%) scale(-1, 1);
}

/* scrollbar
================================================== */
#about main {
  overflow: hidden;
}

/* about-intro
==================================== */
.about-intro {
  overflow: hidden;
}
.about-intro__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
.about-intro__head {
  margin-bottom: 22px;
  line-height: 1.7;
  font-size: 2.4rem;
  letter-spacing: 0.12em;
}
.about-intro__head-indent {
  display: inline-block;
  margin-left: -18px;
  margin-right: -10px;
}
.about-intro__txt {
  line-height: 2.2;
  letter-spacing: 0.08em;
}
.about-intro__area-img {
  text-align: center;
}
.about-intro__img {
  margin: 34px -30px 0;
}
@media all and (max-width: 767px) {
  .about-intro__head {
    margin-right: -10px;
  }
}
@media all and (min-width: 768px) {
  .about-intro__inner {
    padding-top: 230px;
    padding-bottom: 180px;
  }
  .about-intro__head {
    margin-bottom: 39px;
    line-height: 1.5;
    font-size: 5.4rem;
  }
  .about-intro__head-indent {
    margin-left: -32px;
    margin-right: -30px;
  }
  .about-intro__txt {
    font-size: 2rem;
  }
  .about-intro__img {
    margin: -43px -140px 0;
  }
}

/* about-network
============================== */
.about-network__inner {
  padding-top: 60px;
  padding-bottom: 100px;
}
.about-network__lead {
  margin-bottom: 30px;
}
@media all and (min-width: 768px) {
  .about-network__inner {
    padding-top: 167px;
    padding-bottom: 120px;
  }
  .about-network__lead {
    margin: 65px 0 45px;
  }
  .about-network__btn.c-btn01 {
    margin-top: 7px;
  }
}

/* about-feature
==================================== */
.about-feature {
  position: relative;
  z-index: 1;
}
.about-feature__inner {
  position: relative;
  padding-top: 64px;
  padding-bottom: 80px;
}
.about-feature__head {
  margin-bottom: 27px;
}
.about-feature-sec + .about-feature-sec {
  margin-top: 56px;
}
.about-feature-sec:nth-of-type(even) .about-feature-sec__img:before {
  right: auto;
  left: -83px;
}
.about-feature-sec__img {
  position: relative;
  width: 66.0317460317%;
  margin: 0 auto 30px;
  text-align: center;
  border-radius: 8px;
}
.about-feature-sec__img img {
  border-radius: 8px;
}
.about-feature-sec__img:before {
  content: "";
  position: absolute;
  top: -30px;
  right: -83px;
  z-index: -1;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  background: url(../img/about/bg_feature01.png) no-repeat 0 0/cover;
}
.about-feature-sec__head {
  margin-bottom: 25px;
  line-height: 1.5;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
.about-feature__deco01 {
  position: absolute;
  top: -60px;
  left: -53px;
  z-index: -1;
  width: 124px;
  height: 126px;
  background: url(../img/about/img_deco01.png) no-repeat 0 0/contain;
}
.about-feature__deco02 {
  position: absolute;
  top: 88px;
  right: -66px;
  z-index: -1;
  width: 123px;
  height: 122px;
  background: url(../img/about/img_deco02.png) no-repeat 0 0/contain;
}
.about-feature__deco03 {
  position: absolute;
  top: 53%;
  left: -60px;
  z-index: -1;
  width: 135px;
  height: 135px;
  background: url(../img/about/img_deco03.png) no-repeat 0 0/contain;
}
.about-feature__deco04 {
  position: absolute;
  right: -36px;
  bottom: -44px;
  z-index: -1;
  width: 125px;
  height: 144px;
  background: url(../img/about/img_deco04.png) no-repeat 0 0/contain;
}
@media all and (min-width: 768px) {
  .about-feature__inner {
    padding-top: 167px;
    padding-bottom: 140px;
  }
  .about-feature__head {
    margin-bottom: 67px;
  }
  .about-feature-sec {
    display: flex;
    flex-wrap: wrap;
  }
  .about-feature-sec + .about-feature-sec {
    margin-top: 101px;
  }
  .about-feature-sec:nth-of-type(even) .about-feature-sec__area-txt {
    padding: 0 0 0 30px;
  }
  .about-feature-sec:nth-of-type(even) .about-feature-sec__img {
    order: -1;
  }
  .about-feature-sec:nth-of-type(even) .about-feature-sec__img:before {
    left: -228px;
  }
  .about-feature-sec__area-txt {
    box-sizing: border-box;
    width: 50%;
    padding-right: 30px;
  }
  .about-feature-sec__head {
    font-size: 3.2rem;
  }
  .about-feature-sec__img {
    order: 2;
    box-sizing: border-box;
    width: 50%;
    padding: 0 58px;
  }
  .about-feature-sec__img:before {
    width: calc(100% - 116px);
    right: -228px;
    top: -80px;
    border-radius: 15px;
  }
  .about-feature-sec__img img {
    border-radius: 15px;
  }
  .about-feature__deco01 {
    top: -70px;
    left: -590px;
    width: 415px;
    height: 421px;
  }
  .about-feature__deco02 {
    top: 142px;
    right: -486px;
    width: 412px;
    height: 407px;
  }
  .about-feature__deco03 {
    top: 774px;
    left: -610px;
    width: 450px;
    height: 450px;
  }
  .about-feature__deco04 {
    right: -436px;
    bottom: -104px;
    width: 416px;
    height: 478px;
  }
}

/* about-imgs
==================== */
.about-imgs {
  padding-top: 8px;
  padding: 8px 15px 0;
}
.about-imgs__img {
  max-width: 688px;
  margin: 0 auto;
}
@media all and (min-width: 768px) {
  .about-imgs {
    padding: 97px 40px 145px;
  }
  .about-imgs__img {
    max-width: 1606px;
  }
}

/*
　.antisocial-force-main
 ================================================ */
.antisocial-force-main__inner {
  padding-top: 80px;
  padding-bottom: 60px;
}
.antisocial-force-main-sec + .antisocial-force-main-sec {
  margin-top: 35px;
}
.antisocial-force-main-sec__txt {
  line-height: 1.8571428571;
}
.antisocial-force-main-sec__txt + .antisocial-force-main-sec__txt {
  margin-top: 25px;
}
@media all and (min-width: 768px) {
  .antisocial-force-main__inner {
    padding-top: 170px;
    padding-bottom: 170px;
  }
  .antisocial-force-main-sec + .antisocial-force-main-sec {
    margin-top: 75px;
  }
  .antisocial-force-main-sec__txt {
    line-height: 1.875;
  }
  .antisocial-force-main-sec__txt + .antisocial-force-main-sec__txt {
    margin-top: 30px;
  }
}

/* .company-message
===================================== */
.company-message__inner {
  padding-top: 80px;
  padding-bottom: 75px;
}
.company-message__header {
  margin-bottom: 23px;
}
.company-message__lead {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.12em;
}
.company-message__con {
  margin-bottom: 25px;
}
.company-message__txt {
  line-height: 1.8571428571;
}
.company-message__txt + .company-message__txt {
  margin-top: 14px;
}
.company-message__company {
  font-size: 1.2rem;
  line-height: 1.8333333333;
  margin-bottom: 7px;
}
.company-message__director {
  font-size: 1.8rem;
  font-weight: 500;
}
.company-message__director span {
  display: inline-block;
  width: 130px;
}
@media all and (min-width: 768px) {
  .company-message__inner {
    padding-top: 170px;
    padding-bottom: 166px;
  }
  .company-message__main {
    display: flex;
    justify-content: space-between;
  }
  .company-message__header {
    max-width: 445px;
    width: 100%;
    margin-right: 53px;
    margin-bottom: 0;
  }
  .company-message__lead {
    font-size: 3.6rem;
    line-height: 1.59;
  }
  .company-message__info {
    max-width: 624px;
    width: 100%;
    margin-top: 51px;
  }
  .company-message__txt + .company-message__txt {
    margin-top: 32px;
  }
  .company-message__company {
    font-size: 1.4rem;
    line-height: 1.8571428571;
  }
  .company-message__director {
    font-size: 1.8rem;
  }
}

/* .company-info
===================================== */
.company-info__inner {
  padding-top: 64px;
  padding-bottom: 76px;
}
.company-info__head {
  margin-bottom: 25px;
}
.company-info__head-en {
  display: block;
  margin-right: 0;
  margin-bottom: -6px;
}
.company-info__name {
  width: 66px;
}
@media all and (min-width: 768px) {
  .company-info__inner {
    padding-top: 170px;
    padding-bottom: 198px;
  }
  .company-info__head {
    margin-bottom: 65px;
  }
  .company-info__head-en {
    margin-bottom: -12px;
  }
  .company-info__name {
    width: 70px;
  }
}

/* .company-base
===================================== */
.company-base__inner {
  padding-top: 64px;
  padding-bottom: 72px;
}
.company-base__head {
  margin-bottom: 25px;
}
.company-base__head-en {
  display: block;
  margin-bottom: -6px;
}
.company-base-list {
  max-width: 216px;
  width: 100%;
  margin: 0 auto;
}
.company-base-list__item + .company-base-list__item {
  margin-top: 35px;
}
.company-base-list__img {
  position: relative;
  margin-bottom: 6px;
}
.company-base-list__img::before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 116.6666666667%;
}
.company-base-list__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
  border-radius: 8px;
}
.company-base-list__info {
  color: #fff;
  position: relative;
}
.company-base-list__head {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 5px;
}
.company-base-list__txt {
  font-size: 1.2rem;
}
.company-base-list__btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  border: 1px solid currentColor;
  position: absolute;
  top: 0;
  right: 0;
}
.company-base-list__btn-ico {
  display: inline-flex;
  width: 15px;
  margin-bottom: 3px;
}
.company-base-list__btn-txt {
  font-size: 0.9rem;
  line-height: 1.1;
  letter-spacing: 0.02em;
}
@media all and (min-width: 768px) {
  .company-base__inner {
    padding-top: 170px;
    padding-bottom: 170px;
  }
  .company-base__head {
    margin-bottom: 77px;
  }
  .company-base__head-en {
    margin-bottom: -12px;
  }
  .company-base-list {
    max-width: 1120px;
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 -35px 0;
  }
  .company-base-list__item {
    max-width: 340px;
    width: 100%;
    margin: 0 50px 35px 0;
  }
  .company-base-list__item + .company-base-list__item {
    margin-top: 0;
  }
  .company-base-list__item:nth-child(3n-1) {
    margin-top: 90px;
  }
  .company-base-list__item:nth-child(3n) {
    margin-right: 0;
  }
  .company-base-list__img {
    margin-bottom: 15px;
  }
  .company-base-list__img img {
    border-radius: 15px;
  }
  .company-base-list__head {
    font-size: 2.2rem;
    margin-bottom: 11px;
  }
  .company-base-list__txt {
    font-size: 1.4rem;
  }
  .company-base-list__btn {
    width: 90px;
    height: 90px;
    top: 17px;
    transition: all 0.3s ease;
  }
  .company-base-list__btn:hover {
    background-color: #fff;
    color: rgb(var(--main));
  }
  .company-base-list__btn-ico {
    width: 29px;
    margin-bottom: 5px;
  }
  .company-base-list__btn-txt {
    font-size: 1.6rem;
  }
}

/* .company-history
===================================== */
.company-history__inner {
  padding-top: 60px;
  padding-bottom: 73px;
}
.company-history__head {
  position: relative;
  margin-bottom: 55px;
}
.company-history__head-en {
  display: block;
  margin-bottom: -6px;
}
.company-history__head-truck {
  width: 107px;
  position: absolute;
  top: 60px;
  right: 0;
}
.company-history-timeline {
  position: relative;
  overflow: hidden;
}
.company-history-timeline__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(var(--bgblue));
  z-index: 1;
}
.company-history-timeline canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.company-history-timeline__group + .company-history-timeline__group {
  margin-top: 23px;
}
.company-history-timeline__group:last-of-type {
  padding-bottom: 50px;
}
.company-history-timeline-list__item {
  position: relative;
  padding-left: 46px;
  opacity: 0;
  transform: translateX(30px);
  transition: all 0.6s ease;
  transition-duration: 1s;
}
.company-history-timeline-list__item + .company-history-timeline-list__item {
  margin-top: 28px;
}
.company-history-timeline-list__item.is-active {
  opacity: 1;
  transform: translateX(0);
}
.company-history-timeline-list__item::before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 3px solid #fff;
  box-sizing: border-box;
  background-color: rgb(var(--main));
  position: absolute;
  top: 0;
  left: 0;
}
.company-history-timeline-list__num {
  font-size: 2.7rem;
  line-height: 1.1;
  color: rgb(var(--main));
  letter-spacing: 0.02em;
  margin-bottom: 10px;
}
@-webkit-keyframes line_sp {
  0% {
    height: 0px;
  }
  100% {
    height: calc(100% + 35px);
  }
}
@keyframes line_sp {
  0% {
    height: 0px;
  }
  100% {
    height: calc(100% + 35px);
  }
}
@media all and (min-width: 768px) {
  .company-history__inner {
    padding-top: 170px;
    padding-bottom: 220px;
  }
  .company-history__head {
    margin-bottom: 13px;
  }
  .company-history__head-en {
    margin-bottom: -12px;
  }
  .company-history-timeline {
    z-index: 1;
  }
  .company-history-timeline__group {
    box-sizing: border-box;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 20px 0;
  }
  .company-history-timeline__group + .company-history-timeline__group {
    margin-top: 80px;
  }
  .company-history-timeline__group:first-of-type {
    padding-top: 50px;
  }
  .company-history-timeline__group:first-of-type .company-history-timeline-list__item:first-of-type {
    padding-top: 60px;
  }
  .company-history-timeline__group:first-of-type .company-history-timeline-list__item:first-of-type:before {
    margin-top: 30px;
  }
  .company-history-timeline__group:last-of-type {
    padding-bottom: 60px;
  }
  .company-history-timeline__group:last-of-type .company-history-timeline-list__item:last-of-type {
    padding-bottom: 100px;
  }
  .company-history-timeline__group:last-of-type .company-history-timeline-list__item:last-of-type:before {
    margin-top: -50px;
  }
  .company-history-timeline__group.is-right {
    margin-left: auto;
  }
  .company-history-timeline__group.is-right::before {
    left: unset;
    right: 6px;
  }
  .company-history-timeline__group.is-right .company-history-timeline-list__item {
    flex-direction: row-reverse;
    padding-left: 0;
    padding-right: 54px;
    transform: translateX(-30px);
  }
  .company-history-timeline__group.is-right .company-history-timeline-list__item::before {
    left: unset;
    right: 0;
  }
  .company-history-timeline__group.is-right .company-history-timeline-list__item.is-active {
    transform: translateX(0);
  }
  .company-history-timeline__group.is-right .company-history-timeline-list__num {
    margin-right: 0;
    margin-left: 27px;
  }
  .company-history-timeline__group.is-right .company-history-timeline-list__txt {
    text-align: right;
  }
  .company-history-timeline__group.is-group01 {
    margin-left: 200px;
  }
  .company-history-timeline__group.is-group02 {
    margin-right: 133px;
  }
  .company-history-timeline__group.is-group02 .company-history-timeline-list__item:not(:first-of-type) {
    margin-top: 40px;
  }
  .company-history-timeline__group.is-group03 {
    margin-left: 55px;
  }
  .company-history-timeline__group.is-group03 .company-history-timeline-list__item:not(:first-of-type) {
    margin-top: 34px;
  }
  .company-history-timeline__group.is-group03 .company-history-timeline-list__num {
    margin-right: 15px;
  }
  .company-history-timeline__group.is-group04 {
    margin-right: 215px;
  }
  .company-history-timeline__group.is-group04 .company-history-timeline-list__item {
    padding-right: 47px;
  }
  .company-history-timeline__group.is-group04 .company-history-timeline-list__item:not(:first-of-type) {
    margin-top: 38px;
  }
  .company-history-timeline__group.is-group04 .company-history-timeline-list__num {
    margin-left: 28px;
  }
  .company-history-timeline__group.is-group05 {
    margin-left: 118px;
  }
  .company-history-timeline__group.is-group06 {
    margin-right: 69px;
  }
  .company-history-timeline__group.is-group06 .company-history-timeline-list__item:not(:first-of-type) {
    margin-top: 38px;
  }
  .company-history-timeline__group.is-group07 {
    margin-left: 199px;
  }
  .company-history-timeline-list__item {
    opacity: 0;
    transform: translateX(30px);
    transition: all 0.6s ease;
    transition-duration: 1s;
    display: flex;
    align-items: center;
    padding-left: 67px;
  }
  .company-history-timeline-list__item.is-active {
    opacity: 1;
    transform: translateX(0);
  }
  .company-history-timeline-list__item + .company-history-timeline-list__item {
    margin-top: 28px;
  }
  .company-history-timeline-list__item::before {
    width: 32px;
    height: 32px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
  .company-history-timeline-list__num {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: 3.4rem;
    margin-bottom: 0;
    margin-right: 21px;
  }
  .company-history-timeline-list__truck {
    position: absolute;
    width: 171px;
    right: unset;
    top: -155px;
    left: 197px;
    transition: all 0.6s ease;
    opacity: 0;
    transform: translateX(50px);
  }
  .company-history-timeline-list__truck.is-active {
    opacity: 1;
    transform: translateX(0);
  }
  .company-history-timeline-list__people {
    width: 45px;
    position: absolute;
    top: -168px;
    right: 154px;
    opacity: 0;
    transition: all 0.6s ease;
  }
  .company-history-timeline-list__people.is-active {
    opacity: 1;
  }
  .company-history-timeline-list__box {
    width: 89px;
    position: absolute;
    top: -257px;
    right: 15px;
    opacity: 0;
    transition: all 0.6s ease;
  }
  .company-history-timeline-list__box.is-active {
    opacity: 1;
    -webkit-animation: companyHistoryBox 2s linear infinite;
    animation: companyHistoryBox 2s linear infinite;
  }
}
@-webkit-keyframes line_pc {
  0% {
    height: 0px;
  }
  100% {
    height: 2282px;
  }
}
@keyframes line_pc {
  0% {
    height: 0px;
  }
  100% {
    height: 2282px;
  }
}

@-webkit-keyframes companyHistoryBox {
  0% {
    tranform: translateY(0);
  }
  50% {
    transform: translateY(30px);
  }
  100% {
    tranform: translateY(0);
  }
}

@keyframes companyHistoryBox {
  0% {
    tranform: translateY(0);
  }
  50% {
    transform: translateY(30px);
  }
  100% {
    tranform: translateY(0);
  }
}
/* .company-sustainability
===================================== */
.company-sustainability__inner {
  padding-top: 64px;
  padding-bottom: 70px;
}
.company-sustainability__head {
  margin-bottom: 24px;
}
.company-sustainability__head-en {
  display: block;
  margin-right: 0;
  margin-bottom: -7px;
}
.company-sustainability__con {
  margin-bottom: 50px;
}
.company-sustainability__info {
  margin-bottom: 28px;
}
.company-sustainability__lead {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5555555556;
  letter-spacing: 0.1em;
  margin-bottom: 16px;
}
.company-sustainability__txt {
  line-height: 1.8571428571;
}
.company-sustainability__img img {
  border-radius: 15px;
}
.company-sustainability-list {
  max-width: 315px;
  width: 100%;
  margin: 0 auto;
}
.company-sustainability-list__item {
  position: relative;
  min-height: 140px;
  border-width: 2px;
  border-style: solid;
  border-radius: 8px;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}
.company-sustainability-list__item + .company-sustainability-list__item {
  margin-top: 15px;
}
.company-sustainability-list__item.is-num03 {
  border-color: rgb(var(--green));
}
.company-sustainability-list__item.is-num03 .company-sustainability-list__num {
  color: rgba(var(--green), 0.2);
}
.company-sustainability-list__item.is-num03 .company-sustainability-list__ico {
  background-color: rgba(var(--green));
}
.company-sustainability-list__item.is-num03 .company-sustainability-list__popup {
  border-color: rgb(var(--green));
}
.company-sustainability-list__item.is-num04 {
  border-color: rgb(var(--red02));
}
.company-sustainability-list__item.is-num04 .company-sustainability-list__num {
  color: rgba(var(--red02), 0.2);
}
.company-sustainability-list__item.is-num04 .company-sustainability-list__ico {
  background-color: rgba(var(--red02));
}
.company-sustainability-list__item.is-num04 .company-sustainability-list__popup {
  border-color: rgb(var(--red02));
}
.company-sustainability-list__item.is-num05 {
  border-color: rgb(var(--orange));
}
.company-sustainability-list__item.is-num05 .company-sustainability-list__num {
  color: rgba(var(--orange), 0.2);
}
.company-sustainability-list__item.is-num05 .company-sustainability-list__ico {
  background-color: rgba(var(--orange));
}
.company-sustainability-list__item.is-num05 .company-sustainability-list__popup {
  border-color: rgb(var(--orange));
}
.company-sustainability-list__item.is-num07 {
  border-color: rgb(var(--yellow));
}
.company-sustainability-list__item.is-num07 .company-sustainability-list__num {
  color: rgba(var(--yellow), 0.2);
}
.company-sustainability-list__item.is-num07 .company-sustainability-list__ico {
  background-color: rgba(var(--yellow));
}
.company-sustainability-list__item.is-num07 .company-sustainability-list__popup {
  border-color: rgb(var(--yellow));
}
.company-sustainability-list__item.is-num08 {
  border-color: rgb(var(--red03));
}
.company-sustainability-list__item.is-num08 .company-sustainability-list__num {
  color: rgba(var(--red03), 0.2);
}
.company-sustainability-list__item.is-num08 .company-sustainability-list__ico {
  background-color: rgba(var(--red03));
}
.company-sustainability-list__item.is-num08 .company-sustainability-list__popup {
  border-color: rgb(var(--red03));
}
.company-sustainability-list__item.is-num10 {
  border-color: rgb(var(--pink));
}
.company-sustainability-list__item.is-num10 .company-sustainability-list__num {
  color: rgba(var(--pink), 0.2);
}
.company-sustainability-list__item.is-num10 .company-sustainability-list__ico {
  background-color: rgba(var(--pink));
}
.company-sustainability-list__item.is-num10 .company-sustainability-list__popup {
  border-color: rgb(var(--pink));
}
.company-sustainability-list__item.is-num11 {
  border-color: rgb(var(--yellow02));
}
.company-sustainability-list__item.is-num11 .company-sustainability-list__num {
  color: rgba(var(--yellow02), 0.2);
}
.company-sustainability-list__item.is-num11 .company-sustainability-list__ico {
  background-color: rgba(var(--yellow02));
}
.company-sustainability-list__item.is-num11 .company-sustainability-list__popup {
  border-color: rgb(var(--yellow02));
}
.company-sustainability-list__item.is-num12 {
  border-color: rgb(var(--yellow03));
}
.company-sustainability-list__item.is-num12 .company-sustainability-list__num {
  color: rgba(var(--yellow03), 0.2);
}
.company-sustainability-list__item.is-num12 .company-sustainability-list__ico {
  background-color: rgba(var(--yellow03));
}
.company-sustainability-list__item.is-num12 .company-sustainability-list__popup {
  border-color: rgb(var(--yellow03));
}
.company-sustainability-list__item.is-num13 {
  border-color: rgb(var(--green02));
}
.company-sustainability-list__item.is-num13 .company-sustainability-list__num {
  color: rgba(var(--green02), 0.2);
}
.company-sustainability-list__item.is-num13 .company-sustainability-list__ico {
  background-color: rgba(var(--green02));
}
.company-sustainability-list__item.is-num13 .company-sustainability-list__popup {
  border-color: rgb(var(--green02));
}
.company-sustainability-list__item.is-num15 {
  border-color: rgb(var(--green03));
}
.company-sustainability-list__item.is-num15 .company-sustainability-list__num {
  color: rgba(var(--green03), 0.2);
}
.company-sustainability-list__item.is-num15 .company-sustainability-list__ico {
  background-color: rgba(var(--green03));
}
.company-sustainability-list__item.is-num15 .company-sustainability-list__popup {
  border-color: rgb(var(--green03));
}
.company-sustainability-list__num {
  font-size: 11.4rem;
  line-height: 1.1;
  letter-spacing: 0.02em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.company-sustainability-list__txt {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5625;
  letter-spacing: 0.1em;
}
.company-sustainability-list__ico {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  position: absolute;
  bottom: 10px;
  right: 10px;
}
.company-sustainability-list__ico svg {
  width: 17px;
  color: #fff;
}
.company-sustainability-list__popup {
  display: none;
  width: calc(100% - 60px);
  margin: 0 auto;
  background-color: #fff;
  border-width: 2px;
  border-style: solid;
  border-radius: 8px;
  box-sizing: border-box;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1001;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.company-sustainability-list__popup.is-active {
  opacity: 1;
  visibility: visible;
}
.company-sustainability-list__popup-in {
  width: 100%;
  height: 100%;
  padding: 40px 20px 35px;
  box-sizing: border-box;
  position: relative;
}
.company-sustainability-list__popup-img {
  width: 110px;
  margin: 0 auto 15px;
}
.company-sustainability-list__popup-head {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 10px;
}
.company-sustainability-list__popup-close {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 56px;
}
.company-sustainability-list__popup-close-ico {
  display: inline-flex;
  width: 28px;
  margin-bottom: 5px;
}
.company-sustainability-list__popup-close-ico svg {
  width: 28px;
  height: 28px;
}
.company-sustainability-list__popup-close-txt {
  font-size: 1.2rem;
  color: rgb(var(--darkblue));
  letter-spacing: 0.02em;
}
@media all and (min-width: 768px) {
  .company-sustainability__inner {
    padding-top: 170px;
    padding-bottom: 170px;
  }
  .company-sustainability__head {
    margin-bottom: 65px;
  }
  .company-sustainability__con {
    display: flex;
    justify-content: space-between;
    margin-bottom: 95px;
  }
  .company-sustainability__info {
    max-width: 552px;
    width: 100%;
    margin-bottom: 0;
    margin-right: 58px;
  }
  .company-sustainability__lead {
    font-size: 3.2rem;
    margin-bottom: 21px;
  }
  .company-sustainability__txt {
    padding-right: 20px;
  }
  .company-sustainability__img {
    max-width: 510px;
    width: 100%;
  }
  .company-sustainability-list {
    max-width: 1120px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px 30px;
  }
  .company-sustainability-list__item {
    min-height: 200px;
    border-radius: 15px;
  }
  .company-sustainability-list__item + .company-sustainability-list__item {
    margin-top: 0;
  }
  .company-sustainability-list__num {
    font-size: 12.8rem;
  }
  .company-sustainability-list__txt {
    font-size: 1.8rem;
    line-height: 1.5555555556;
  }
  .company-sustainability-list__ico {
    width: 40px;
    height: 40px;
    bottom: 15px;
    right: 15px;
    cursor: pointer;
    transition: all 0.3s ease;
  }
  .company-sustainability-list__ico:hover {
    opacity: 0.7;
  }
  .company-sustainability-list__ico svg {
    width: 19px;
  }
  .company-sustainability-list__popup {
    max-width: 1120px;
    width: 100%;
    border-radius: 15px;
  }
  .company-sustainability-list__popup-in {
    display: flex;
    padding: 100px;
  }
  .company-sustainability-list__popup-img {
    width: 220px;
    margin: 0 60px 0 0;
  }
  .company-sustainability-list__popup-info {
    flex: 1;
  }
  .company-sustainability-list__popup-head {
    font-size: 2.2rem;
    line-height: 1.5454545455;
    text-align: left;
    margin-bottom: 21px;
  }
  .company-sustainability-list__popup-close {
    top: 30px;
    right: 30px;
    cursor: pointer;
    transition: all 0.3s ease;
  }
  .company-sustainability-list__popup-close:hover {
    opacity: 0.7;
  }
}

/* company-certification
=============================== */
.company-certification__inner {
  padding-top: 70px;
  padding-bottom: 70px;
}
.company-certification__head {
  font-weight: 500;
  line-height: 1.5;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
.company-certification__sub {
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
.company-certification__img {
  margin: 30px 0;
  text-align: center;
  /* カルーセル全体 */
  .carousel {
    /* 水平方向中央寄せ */

    justify-content: center;
  }
  /* カルーセル内容 */
  .contains {
    /* サイズは自由に変更してください。*/
    /* 下の.slideも同じサイズにしてください。 */
    width: 100%;
    height: 480px;
    overflow: hidden;
    position: relative;
    padding: 0;
    list-style: none;
  }
  /* スライド切り換え用ラジオボタンは常に非表示 */
  .slide_select {
    display: none;
  }
  /* 各スライド */
  .slide {
    /* サイズは自由に変更してください。*/
    /* 上の.containsも同じサイズにしてください。 */
    width: 100%;
    height: 480px;
    position: absolute;
    /* スライドの初期値は選択されていないので透明にしておく */
    opacity: 0;
  }
  /* 前へ次へボタン */
  .scroll_button {
    position: absolute;
    display: block;
    height: 30px;
    width: 30px;
    /* 縦中央から20px上の位置 */
    top: 50%;
    margin-top: -20px;
  /* 上辺と右辺のみ幅5pxの枠線 */
    border-width: 5px 5px 0 0;
    border-style: solid;
    border-color: #dddddd;
    cursor: pointer;
    /* 普段はボタンはやや薄くする */
    opacity: 0.5;
    /* スライドよりも前面にする */
    z-index: 3;
  }
  /* ホバー時にボタンを強調 */
  .scroll_button:hover {
    opacity: 1;
  }
  /* 前へボタン */
  .scroll_prev {
    left: 15px;
    /* 上辺と右辺の枠線を回転して"＜"にする */
    transform: rotate(-135deg);
  }
  /* 次へボタン */
  .scroll_next {
    right: 15px;
    /* 上辺と右辺の枠線を回転して"＞"にする */
    transform: rotate(45deg);
  }
  /* スライド移動ボタンエリア */
  .move_controler {
    position: absolute;
    bottom: 20px;
    width: 100%;
    text-align: center;
  }
  /* スライド移動の各ボタン */
  .button_move {
    display: inline-block;
    height: 15px;
    width: 15px;
    margin: 0 2px;
    border-radius: 100%;
    cursor: pointer;
    /* 普段はやや薄くする */
    opacity: 0.5;
    /* スライドより前面にする */
    z-index: 2;
  }
  /* ホバー時はやや明るくする */
  .button_move:hover {
    opacity: 0.75;
  }

  /* 1番目のスライド選択時 */
  /* 1番目のスライドの透明度を0にして表示する */
  .slide_select:nth-of-type(1):checked ~ .slide:nth-of-type(1) {
    opacity: 1;
  }
  /* 1番目のスライドの前へ次へボタンの領域を */
  .slide_select:nth-of-type(1):checked
    ~ .move_controler
    .button_move:nth-of-type(1) {
    opacity: 1;
  }
  .slide_select:nth-of-type(2):checked ~ .slide:nth-of-type(2) {
    opacity: 1;
  }
  .slide_select:nth-of-type(2):checked
    ~ .move_controler
    .button_move:nth-of-type(2) {
    opacity: 1;
  }

  .slide img {
    width: 100%;
    height: 100%;
    border-radius: 16px;
  }
}

.company-certification__sec + .company-certification__sec {
  margin-top: 30px;
}
.company-certification__list {
  margin: 20px 0;
}
.company-certification__txt {
  letter-spacing: 0.1em;
}
@media all and (min-width: 768px) {
  .company-certification__inner {
    padding-top: 170px;
    padding-bottom: 170px;
  }
  .company-certification__box {
    display: grid;
    grid-template-columns: 420px auto;
    gap: 60px;
  }
  .company-certification__head {
    font-size: 3.2rem;
  }
  .company-certification__img {
    margin: 60px 0 0;
  }
  .company-certification__sec + .company-certification__sec {
    margin-top: 50px;
  }
  .company-certification__list {
    margin: 25px 0 30px;
  }

}

/* contact-form
======================== */
.contact-form__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
.contact-form__lead {
  margin-bottom: 26px;
  font-weight: 400;
}
@media all and (min-width: 768px) {
  .contact-form__inner {
    padding-top: 170px;
    padding-bottom: 130px;
  }
  .contact-form__lead {
    margin-bottom: 56px;
  }
}

.mw_wp_form_confirm .contact-form__lead,
.mw_wp_form_complete .contact-form__lead {
  display: none;
}

/* download-doc
================================= */
.download-doc__inner {
  padding-top: 80px;
  padding-bottom: 60px;
}
.download-doc__head {
  margin-bottom: 22px;
  line-height: 1.5;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
.download-doc-list {
  display: flex;
  flex-wrap: wrap;
  margin-right: -17px;
}
.download-doc-list__item {
  width: calc(50% - 17px);
  margin: 0 17px 20px 0;
}
.download-doc-list__item:nth-of-type(odd) {
  margin-top: 20px;
}
.download-doc-list__item:nth-of-type(2n+1):nth-last-of-type(-n+2) {
  margin-bottom: 0;
}
.download-doc-list__item:nth-of-type(2n+1):nth-last-of-type(-n+2) ~ .download-doc-list__item {
  margin-bottom: 0;
}
.download-doc-list__img {
  margin-bottom: 10px;
  border-radius: 8px;
}
.download-doc-list__img img {
  border-radius: 8px;
}
.download-doc-list__head {
  line-height: 1.5;
  text-align: center;
}
.download-doc-list__txt {
  margin-top: 8px;
  font-size: 1.3rem;
}
@media all and (min-width: 768px) {
  .download-doc__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-top: 170px;
    padding-bottom: 170px;
  }
  .download-doc__head {
    width: calc(50% - 40px);
    margin-bottom: 50px;
    font-size: 3.2rem;
  }
  .download-doc-list {
    width: calc(50% + 40px);
    margin: 0;
  }
  .download-doc-list__item {
    margin: 0 0 0 40px;
    width: 260px;
  }
  .download-doc-list__item:nth-of-type(odd) {
    margin-top: 50px;
  }
  .download-doc-list__img {
    margin-bottom: 20px;
    border-radius: 15px;
  }
  .download-doc-list__img img {
    border-radius: 15px;
  }
  .download-doc-list__txt {
    margin-top: 18px;
    font-size: 1.4rem;
  }
}

/* download-form
========================================= */
.download-form__inner {
  padding-top: 60px;
  padding-bottom: 80px;
}
.download-form__head {
  margin-bottom: 22px;
  line-height: 1.5;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
@media all and (min-width: 768px) {
  .download-form__inner {
    padding-top: 170px;
    padding-bottom: 130px;
  }
  .download-form__head {
    margin-bottom: 32px;
    font-size: 3.2rem;
  }
}

/* .error-page404
================================================ */
.error-page404__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
.error-page404__btn {
  margin-top: 40px;
}
@media all and (min-width: 768px) {
  .error-page404__inner {
    padding-top: 130px;
    padding-bottom: 130px;
  }
  .error-page404__btn {
    margin-top: 60px;
  }
}

#home .l-wrapper {
  overflow: hidden;
}

/* .home-about
================================================ */
.home-about {
  margin-top: 50px;
}
.home-about__inner {
  padding-bottom: 80px;
}
.home-about__head {
  margin-bottom: 25px;
}
.home-about__head-en {
  padding-left: 12px;
  position: relative;
  margin-bottom: 3px;
}
.home-about__head-en::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgb(var(--main));
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.home-about__head-main {
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
  font-feature-settings: "palt";
}
.home-about__txt {
  font-weight: 500;
  line-height: 2.2;
  margin-bottom: 35px;
  position: relative;
  z-index: 10;
}
.home-about__img {
  margin: -12vw -30px -22vw;
  pointer-events: none;
  position: relative;
  z-index: -1;
}
.home-about__btn {
  position: relative;
  z-index: 2;
}
@media all and (min-width: 768px) {
  .home-about {
    margin-top: 100px;
  }
  .home-about__area-txt {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .home-about__head-en {
    font-size: 2.7rem;
    padding-left: 21px;
  }
  .home-about__head-en::before {
    width: 11px;
    height: 11px;
  }
  .home-about__head-main {
    font-size: 5.4rem;
  }
  .home-about__txt {
    width: 630px;
    margin: 0;
    padding-top: 65px;
    font-size: 1.8rem;
  }
  .home-about__img {
    margin: 0 auto -2.3vw;
    transform: scale(1.3);
  }
}
@media all and (min-width: 1480px ) {
  .home-about {
    margin-top: 90px;
  }
  .home-about__txt {
    width: 844px;
    font-size: 2rem;
  }
}

/* .home-service
================================================ */
.home-service {
  position: relative;
  z-index: 1;
}
.home-service__bg {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: rgb(var(--main));
  -webkit-clip-path: circle(0 at 50% 50%);
  clip-path: circle(0 at 50% 50%);
}
.home-service__bg-wrap {
  position: absolute;
  top: -100vh;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.home-service__bg.is-large {
  display: none;
}
.home-service__deco {
  pointer-events: none;
  position: absolute;
  width: 128px;
  bottom: -50px;
  right: 38px;
  z-index: 2;
}
.home-service__inner {
  padding-top: 70px;
  padding-bottom: 100px;
  position: relative;
  z-index: 2;
}
.home-service__lead {
  color: rgb(var(--lightblue));
}
.home-service-list__item {
  margin-top: 40px;
}
.home-service-list__img {
  border-radius: 8px;
  overflow: hidden;
}
.home-service-list__head {
  font-size: 1.8rem;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.1em;
  margin-top: 5px;
}
.home-service__btn {
  width: 160px;
}
.home-service__btn .c-btn01__link {
  height: 160px;
  border-color: rgb(var(--lightblue));
}
.home-service__btn .c-btn01__txt {
  color: rgb(var(--lightblue));
}
.home-service__btn .c-btn01__txt::after {
  display: block;
  color: rgb(var(--lightblue));
  margin: 10px auto 0;
}
@media all and (max-width: 767px) {
  .home-service-list {
    margin: 0 50px;
  }
}
@media all and (min-width: 768px) {
  .home-service {
    margin-top: 30vh;
  }
  .home-service__bg-wrap {
    top: -100%;
  }
  .home-service__deco {
    right: -4vw;
    bottom: 208px;
    width: 178px;
  }
  .home-service__inner {
    padding-bottom: 260px;
    position: relative;
  }
  .home-service-list {
    display: flex;
    flex-wrap: wrap;
    margin: -16px;
    margin-top: 84px;
  }
  .home-service-list__item {
    width: calc(33.3% - 32px);
    margin: 16px;
  }
  .home-service-list__item:nth-child(2), .home-service-list__item:nth-child(5) {
    transform: translateY(90px);
  }
  .home-service-list__item:nth-child(n+4) {
    margin-top: 110px;
  }
  .home-service-list__link:hover .home-service-list__img::before {
    opacity: 0.65;
  }
  .home-service-list__link:hover .home-service-list__img::after,
.home-service-list__link:hover .home-service-list__ico,
.home-service-list__link:hover .home-service-list__txt {
    opacity: 1;
  }
  .home-service-list__area-img {
    position: relative;
  }
  .home-service-list__img {
    border-radius: 15px;
    position: relative;
  }
  .home-service-list__img::before {
    opacity: 0;
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    box-sizing: border-box;
    border-radius: 15px;
    background: rgb(var(--black));
    transition: all 0.3s ease;
  }
  .home-service-list__img::after {
    opacity: 0;
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    border: solid 5px #fff;
    top: 0;
    left: 0;
    box-sizing: border-box;
    border-radius: 15px;
    transition: all 0.3s ease;
  }
  .home-service-list__ico {
    opacity: 0;
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 118px;
    transition: all 0.3s ease;
  }
  .home-service-list__txt {
    opacity: 0;
    width: 270px;
    position: absolute;
    top: 140px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    transition: all 0.3s ease;
  }
  .home-service-list__head {
    font-size: 2.6rem;
    margin-top: 15px;
  }
  .home-service__btn {
    position: absolute;
    bottom: 356px;
    right: 60px;
    width: 250px;
  }
  .home-service__btn .c-btn01__link {
    height: 250px;
  }
  .home-service__btn .c-btn01__txt::after {
    width: 30px;
    height: 16px;
    margin-top: 20px;
  }
}
@media all and (min-width: 1480px ) {
  .home-service {
    padding-top: 0;
  }
  .home-service__bg.is-large {
    display: block;
  }
  .home-service-list {
    margin: -29px;
    margin-top: 71px;
  }
  .home-service-list__item {
    width: calc(33.3% - 58px);
    margin: 29px;
  }
  .home-service-list__ico {
    width: 140px;
    top: 90px;
  }
  .home-service-list__txt {
    width: 348px;
    top: 266px;
  }
  .home-service__btn {
    bottom: 383px;
    right: 90px;
  }
}

/* .home-works
================================================ */
.home-works {
  background: #fff;
  overflow: hidden;
  position: relative;
  margin-bottom: -1px;
}
.home-works::before {
  position: absolute;
  content: "";
  width: 30px;
  height: 100%;
  top: 0;
  right: 0;
  background: linear-gradient(to left, white, rgba(255, 255, 255, 0));
  z-index: 2;
}
.home-works__inner {
  padding-top: 64px;
  padding-bottom: 80px;
}
.home-works__lead {
  color: rgb(var(--darkblue));
  margin-bottom: 22px;
}
.home-works .swiper {
  overflow: visible;
}
.home-works__archive {
  position: relative;
}
.home-works__archive-wrap {
  position: relative;
  padding-top: 58px;
}
.home-works__archive-wrap .swiper-button-prev {
  position: absolute;
  top: 0;
  right: 48px;
}
.home-works__archive-wrap .swiper-button-next {
  position: absolute;
  top: 0;
  right: 0;
}
.home-works__archive .swiper-slide {
  width: 255px !important;
}
.home-works__archive .swiper-slide:nth-child(even) {
  margin-top: 30px;
}
.home-works__btn {
  margin-top: 40px;
  border-top: solid 1px rgb(var(--border));
}
@media all and (max-width: 767px) {
  .home-works__archive {
    padding: 0 30px;
  }
}
@media all and (min-width: 768px) {
  .home-works::before {
    width: 350px;
  }
  .home-works__inner {
    padding-top: 190px;
    padding-bottom: 150px;
    position: relative;
  }
  .home-works__deco {
    pointer-events: none;
    position: absolute;
    top: 124px;
    right: 212px;
    width: 300px;
  }
  .home-works__lead {
    margin-bottom: 22px;
  }
  .home-works__lead {
    margin-bottom: -85px;
  }
  .home-works__archive-wrap {
    padding-top: 180px;
  }
  .home-works__archive-wrap .swiper-button-prev {
    right: 100px;
  }
  .home-works__archive .swiper-slide {
    width: 321px !important;
  }
  .home-works__archive .swiper-slide:nth-child(even) {
    margin-top: 60px;
  }
  .home-works__archive::before {
    width: 350px;
  }
  .home-works__btn {
    margin-top: 100px;
    padding-top: 40px;
  }
}
@media all and (min-width: 1480px ) {
  .home-works__deco {
    top: 58px;
    right: 226px;
    width: 428px;
  }
}

/* .home-news
================================================ */
.home-news {
  background: rgb(var(--bgblue));
}
.home-news__inner {
  padding-top: 65px;
  padding-bottom: 100px;
}
.home-news-tab {
  display: flex;
  flex-wrap: wrap;
  margin: -4px;
  margin-bottom: 36px;
}
.home-news-tab__item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(50% - 8px);
  min-height: 46px;
  margin: 4px;
  color: #B5C3CE;
  border: solid 1px rgb(var(--lightblue));
  background: rgb(var(--lightblue));
  font-size: 1.3rem;
  line-height: 1.2;
  font-weight: 500;
  border-radius: 9999px;
  padding: 5px 15px;
  box-sizing: border-box;
}
.home-news-tab__item.is-active {
  background: transparent;
  color: rgb(var(--black));
  border: solid 1px rgb(var(--black));
}
@media all and (min-width: 768px) {
  .home-news__inner {
    padding-top: 170px;
    padding-bottom: 180px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
  }
  .home-news__head {
    width: 250px;
  }
  .home-news__head .c-head01__main {
    display: block;
    margin-top: -15px;
  }
  .home-news__area-archive {
    width: 809px;
    margin-top: 20px;
  }
  .home-news-tab {
    margin: 0 -10px;
    margin-bottom: 60px;
  }
  .home-news-tab__item {
    display: inline-block;
    width: auto;
    min-height: 54px;
    padding: 16px 40px;
    font-size: 1.6rem;
    margin: 10px;
  }
  .home-news__btn {
    position: absolute;
    top: 325px;
    left: 0;
  }
}
@media all and (min-width: 1480px ) {
  .home-news__area-archive {
    width: 1069px;
  }
}

/* .home-recruit
================================================ */
.home-recruit {
  background: rgb(var(--bg));
  overflow: hidden;
}
.home-recruit-sec {
  overflow: hidden;
  position: relative;
}
.home-recruit-wrap {
  position: relative;
}
.home-recruit-wrap::after {
  position: absolute;
  content: "";
  width: 121px;
  height: 122px;
  top: 27px;
  right: 51px;
  background: url(../img/home/ico_recruit02.jpg) no-repeat 0 100%/cover;
  mix-blend-mode: multiply;
}
.home-recruit__deco {
  pointer-events: none;
  position: absolute;
  width: 128px;
  top: -62px;
  right: 18px;
  z-index: 2;
}
.home-recruit__circle {
  position: absolute;
  overflow: hidden;
}
.home-recruit__circle.is-01 {
  width: 125px;
  top: -55px;
  left: -55px;
  z-index: 2;
}
.home-recruit__circle.is-02 {
  width: 110px;
  height: 110px;
  -webkit-clip-path: url(#clip-recruit01);
  clip-path: url(#clip-recruit01);
  bottom: 170px;
  left: -55px;
  z-index: 2;
}
.home-recruit__circle.is-02::before {
  position: absolute;
  content: "";
  -webkit-animation: 10s linear infinite rotation;
  animation: 10s linear infinite rotation;
  width: 150px;
  height: 150px;
  background: url(../img/home/gradation_recruit01.png) no-repeat 0 100%/cover;
  top: -10px;
  left: -10px;
}
.home-recruit__circle.is-03 {
  width: 123px;
  height: 122px;
  -webkit-clip-path: url(#clip-recruit02);
  clip-path: url(#clip-recruit02);
  top: 355px;
  right: -61px;
  z-index: 3;
}
.home-recruit__circle.is-03::before {
  position: absolute;
  content: "";
  -webkit-animation: 10s linear infinite rotation;
  animation: 10s linear infinite rotation;
  width: 150px;
  height: 150px;
  background: url(../img/home/gradation_recruit02.png) no-repeat 0 100%/cover;
  top: -10px;
  left: -10px;
  z-index: -1;
}
.home-recruit__circle.is-04 {
  width: 105px;
  bottom: -43px;
  right: 0;
  z-index: 2;
}
.home-recruit__inner {
  padding-top: 65px;
  padding-bottom: 136px;
  position: relative;
  z-index: 2;
}
.home-recruit__copy {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 500;
  margin-bottom: 15px;
  letter-spacing: 0.1em;
}
.home-recruit__img {
  margin: 5px -35px -20px 46px;
}
.home-recruit__btn {
  position: relative;
  z-index: 2;
}
.home-recruit__btn .c-btn01__link {
  background: rgb(var(--bg));
}
.home-recruit__marquee {
  position: absolute;
  bottom: 58px;
  left: 0;
}
@media all and (min-width: 768px) {
  .home-recruit-wrap::after {
    width: 282px;
    height: 286px;
    top: 83px;
    right: auto;
    left: 50%;
    margin-left: -326px;
  }
  .home-recruit__circle.is-01 {
    width: 290px;
    top: -112px;
    left: -100px;
  }
  .home-recruit__circle.is-02 {
    width: 260px;
    height: 260px;
    bottom: -100px;
    left: -143px;
  }
  .home-recruit__circle.is-02::before {
    width: 280px;
    height: 280px;
    top: -10px;
    left: -10px;
  }
  .home-recruit__circle.is-03 {
    width: 288px;
    height: 285px;
    top: 118px;
    right: -87px;
  }
  .home-recruit__circle.is-03::before {
    width: 400px;
    height: 400px;
    top: -50px;
    left: -50px;
  }
  .home-recruit__circle.is-04 {
    width: 219px;
    bottom: -105px;
  }
  .home-recruit__deco {
    top: -70px;
    right: auto;
    left: 50%;
    margin-left: -142px;
    width: 162px;
  }
  .home-recruit__inner {
    padding-top: 170px;
    padding-bottom: 200px;
    position: relative;
  }
  .home-recruit__head {
    margin-bottom: 65px;
  }
  .home-recruit__head .c-head01__main {
    display: block;
    margin-top: -15px;
  }
  .home-recruit__copy {
    font-size: 3.2rem;
    margin-bottom: 25px;
  }
  .home-recruit__img {
    width: 549px;
    position: absolute;
    top: 244px;
    right: -30px;
  }
  .home-recruit__marquee {
    bottom: 77px;
  }
}
@media all and (min-width: 1480px ) {
  .home-recruit-wrap::after {
    width: 403px;
    height: 409px;
    top: 21px;
    margin-left: -466px;
  }
  .home-recruit__circle.is-01 {
    width: 415px;
    top: -192px;
    left: -192px;
  }
  .home-recruit__circle.is-02 {
    width: 380px;
    height: 380px;
    bottom: -70px;
    left: -177px;
  }
  .home-recruit__circle.is-02::before {
    width: 456px;
    height: 456px;
    top: -40px;
    left: -40px;
  }
  .home-recruit__circle.is-03 {
    width: 412px;
    height: 407px;
    top: 79px;
  }
  .home-recruit__circle.is-03::before {
    width: 505px;
    height: 505px;
    left: -30px;
  }
  .home-recruit__circle.is-04 {
    width: 417px;
    bottom: -127px;
  }
  .home-recruit__deco {
    margin-left: -165px;
  }
  .home-recruit__inner {
    padding-top: 170px;
    padding-bottom: 230px;
  }
  .home-recruit__img {
    width: 718px;
    top: 123px;
    right: -70px;
  }
  .home-recruit__marquee {
    bottom: 63px;
  }
}

/* interview-archive
================================= */
.interview-archive__inner {
  padding-top: 20px;
}
@media all and (min-width: 768px) {
  .interview-archive__inner {
    padding-top: 30px;
  }
}

/* news-archive
============================= */
.news-archive__inner {
  padding-top: 80px;
  padding-bottom: 60px;
}
@media all and (min-width: 768px) {
  .news-archive__inner {
    padding-top: 170px;
    padding-bottom: 130px;
  }
}

/*
  .personal-data-intro
 ================================================ */
.personal-data-intro__inner {
  padding-top: 80px;
  padding-bottom: 70px;
}
.personal-data-intro-table__lead {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.625;
  background-color: rgb(var(--main));
  color: #fff;
  padding: 10px;
  box-sizing: border-box;
}
.personal-data-intro-table__lead span {
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8571428571;
}
.personal-data-intro-table tr:last-child {
  border-bottom: 1px solid rgb(var(--border));
  padding-bottom: 16.9px;
}
.personal-data-intro__txt {
  margin-bottom: 35px;
}
@media all and (min-width: 768px) {
  .personal-data-intro__inner {
    padding-top: 170px;
    padding-bottom: 170px;
  }
  .personal-data-intro__txt {
    margin-bottom: 75px;
  }
  .personal-data-intro-table__lead {
    display: flex;
    align-items: center;
    line-height: 1.875;
    padding: 15px 22px;
  }
  .personal-data-intro-table__lead span {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.875;
    margin-left: 178px;
  }
  .personal-data-intro-table tr:last-child {
    padding-bottom: 27.8px;
  }
}

/*
.personal-data-sec
================================================ */
.personal-data-sec__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}
.personal-data-sec#sec01 .personal-data-sec__inner {
  padding-top: 70px;
}
.personal-data-sec__set + .personal-data-sec__set {
  margin-top: 25px;
}
.personal-data-sec__group {
  margin-top: 25px;
}
.personal-data-sec__group-txt {
  line-height: 1.8571428571;
  margin-bottom: 15px;
}
.personal-data-sec__txt {
  line-height: 1.8571428571;
}
.personal-data-sec__txt + .personal-data-sec__txt {
  margin-top: 30px;
}
.personal-data-sec__txt.is-list {
  margin-top: 15px;
}
.personal-data-sec__txt.is-main {
  font-weight: 500;
  color: rgb(var(--main));
  margin-bottom: 5px;
}
.personal-data-sec__company {
  line-height: 1.8571428571;
  text-align: right;
  margin-top: 15px;
}
.personal-data-sec-list {
  margin-top: 15px;
}
.personal-data-sec-list.is-group {
  margin-top: 5px;
}
.personal-data-sec__note.is-in-list {
  margin-top: 0;
}
.personal-data-sec-contact {
  padding: 15px 20px;
  box-sizing: border-box;
  background-color: #fff;
  border-radius: 8px;
  margin-top: 15px;
}
.personal-data-sec-contact.is-last {
  margin-top: 25px;
}
.personal-data-sec-contact__list-item {
  display: flex;
}
.personal-data-sec-contact__list-lbl {
  width: 71px;
  padding-right: 10px;
  box-sizing: border-box;
}
.personal-data-sec-contact__list-txt {
  flex: 1;
}
@media all and (min-width: 768px) {
  .personal-data-sec__inner {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .personal-data-sec#sec01 .personal-data-sec__inner {
    padding-top: 170px;
  }
  .personal-data-sec__wrap {
    margin-left: 30px;
  }
  .personal-data-sec__set + .personal-data-sec__set {
    margin-top: 75px;
  }
  .personal-data-sec__group {
    margin-top: 35px;
  }
  .personal-data-sec__group-txt {
    line-height: 1.8571428571;
    margin-bottom: 0;
  }
  .personal-data-sec__txt {
    line-height: 1.875;
  }
  .personal-data-sec__txt + .personal-data-sec__txt {
    margin-top: 35px;
  }
  .personal-data-sec__txt.is-main {
    margin-bottom: 10px;
  }
  .personal-data-sec__company {
    line-height: 1.875;
    margin-top: 55px;
  }
  .personal-data-sec-list {
    margin-top: 10px;
  }
  .personal-data-sec-list.is-group {
    margin-top: 10px;
  }
  .personal-data-sec__note.is-in-list {
    margin-top: 5px;
  }
  .personal-data-sec-contact {
    padding: 45px 70px;
    border-radius: 15px;
    margin-top: 35px;
  }
  .personal-data-sec-contact.is-last {
    margin-top: 95px;
  }
  .personal-data-sec-contact__list-lbl {
    width: 91px;
  }
}

/*
  .privacypolicy-main
 ================================================ */
.privacypolicy-main__inner {
  padding-top: 80px;
  padding-bottom: 60px;
}
.privacypolicy-main-sec + .privacypolicy-main-sec {
  margin-top: 35px;
}
.privacypolicy-main-sec__txt {
  line-height: 1.8571428571;
}
.privacypolicy-main-sec__txt + .privacypolicy-main-sec__txt {
  margin-top: 25px;
}
.privacypolicy-main-sec-list {
  margin-top: 5px;
  margin-bottom: 15px;
}
.privacypolicy-main-sec__date {
  text-align: right;
  margin-bottom: 30px;
}
.privacypolicy-main-sec__company {
  text-align: right;
}
.privacypolicy-main-sec-contact {
  padding: 20px;
  box-sizing: border-box;
  border-radius: 8px;
  margin-top: 35px;
}
.privacypolicy-main-sec-contact__head {
  margin-bottom: 10px;
}
.privacypolicy-main-sec-contact__list-item {
  line-height: 1.8571428571;
  display: flex;
}
.privacypolicy-main-sec-contact__list-item + .privacypolicy-main-sec-contact__list-item {
  margin-top: 5px;
}
.privacypolicy-main-sec-contact__list-lbl {
  width: 71px;
  padding-right: 10px;
  box-sizing: border-box;
}
.privacypolicy-main-sec-contact__list-txt {
  flex: 1;
}
@media all and (min-width: 768px) {
  .privacypolicy-main__inner {
    padding-top: 170px;
    padding-bottom: 170px;
  }
  .privacypolicy-main-sec + .privacypolicy-main-sec {
    margin-top: 75px;
  }
  .privacypolicy-main-sec__txt {
    line-height: 1.875;
  }
  .privacypolicy-main-sec__txt + .privacypolicy-main-sec__txt {
    margin-top: 30px;
  }
  .privacypolicy-main-sec-list {
    margin-top: 20px;
    margin-bottom: 55px;
  }
  .privacypolicy-main-sec__date {
    margin-bottom: 35px;
  }
  .privacypolicy-main-sec-contact {
    padding: 50px 70px;
    border-radius: 15px;
    margin-top: 95px;
  }
  .privacypolicy-main-sec-contact__head {
    margin-bottom: 15px;
  }
  .privacypolicy-main-sec-contact__list-item {
    line-height: 1.875;
    display: flex;
  }
  .privacypolicy-main-sec-contact__list-lbl {
    width: 94px;
  }
}

/* .recruit-message
===================================== */
.recruit-message {
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.recruit-message::before, .recruit-message::after {
  content: "";
  width: 949px;
  height: 814px;
  border-radius: 15px;
  position: absolute;
  left: 50%;
  top: 127px;
  transform: translateX(-50%);
}
.recruit-message::before {
  background-color: #fff;
  z-index: -1;
  transform: translateX(-50%) rotate(-5deg);
}
.recruit-message::after {
  background-color: rgb(var(--bg));
  mix-blend-mode: multiply;
  z-index: -2;
}
.recruit-message__obj {
  width: 151px;
  position: absolute;
  bottom: 0;
  left: 15px;
}
.recruit-message__obj img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.recruit-message__deco {
  position: absolute;
  z-index: -2;
}
.recruit-message__deco.is-deco01 {
  width: 98px;
  height: 132px;
  top: -42px;
  left: -33px;
}
.recruit-message__deco.is-deco02 {
  width: 125px;
  height: 126px;
  top: 38px;
  right: -23px;
}
.recruit-message__deco.is-deco02:after {
  position: absolute;
  content: "";
  bottom: -20px;
  left: 0;
  width: 50px;
  height: 70px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, #f9f9f9 50%, #f9f9f9 100%);
  filter: blur(20px);
}
.recruit-message__deco.is-deco03 {
  width: 144px;
  height: 125px;
  bottom: 25px;
  right: 23px;
}
.recruit-message__deco img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.recruit-message__inner {
  padding-top: 102px;
  padding-bottom: 197px;
}
.recruit-message__head {
  margin-bottom: 25px;
}
.recruit-message__head-en {
  font-weight: 400;
}
.recruit-message__txt {
  font-weight: 700;
  line-height: 1.8571428571;
}
.recruit-message__txt + .recruit-message__txt {
  margin-top: 27px;
}
@media all and (min-width: 768px) {
  .recruit-message::before, .recruit-message::after {
    height: 823px;
    left: calc(50% - 0px);
    top: 205px;
  }
  .recruit-message__obj {
    width: 303px;
    left: 170px;
  }
  .recruit-message__deco.is-deco01 {
    width: 16.9791666667%;
    height: auto;
    top: 199px;
    left: 0;
  }
  .recruit-message__deco.is-deco02 {
    width: 21.6145833333%;
    height: auto;
    top: 117px;
    right: -67px;
  }
  .recruit-message__deco.is-deco03 {
    width: 478px;
    width: 24.8958333333%;
    height: auto;
    bottom: -61px;
    right: 129px;
  }
  .recruit-message__inner {
    padding-top: 171px;
    padding-bottom: 283px;
    padding-left: 227px;
  }
  .recruit-message__head {
    margin-bottom: 35px;
  }
  .recruit-message__txt {
    font-size: 1.7rem;
    line-height: 1.8823529412;
  }
  .recruit-message__txt + .recruit-message__txt {
    margin-top: 32px;
  }
}

/*
  .recruit-media
================================================ */
.recruit-media__inner {
  padding-top: 80px;
  padding-bottom: 80px;
  width: 100%;
}
.recruit-media__img {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.recruit-media__img iframe{
  width: 100%;
  height: 100%;
  border-radius: 16px;
}
.recruit-media__img img {
  border-radius: 8px;
}




/*
  .recruit-interview
================================================ */
.recruit-interview {
  overflow: hidden;
}
.recruit-interview__inner {
  padding-top: 64px;
  padding-bottom: 80px;
}
.recruit-interview__head {
  margin-bottom: 81px;
}
.recruit-interview__head-en {
  display: block;
  margin-bottom: -6px;
}
.recruit-interview-slider.swiper {
  overflow: visible;
}
.recruit-interview-slider .swiper-slide {
  width: 216px;
}
.recruit-interview-slider .swiper-slide:nth-child(even) {
  margin-top: 50px;
}
.recruit-interview-slider__wrap {
  position: relative;
}
.recruit-interview-slider__wrap .swiper-button-prev,
.recruit-interview-slider__wrap .swiper-button-next {
  position: absolute;
  top: -60px;
  border-color: #fff;
  background-color: transparent;
  color: #fff;
}
.recruit-interview-slider__wrap .swiper-button-disabled {
  background: #EFEFEF;
  color: #9A9EA1;
}
.recruit-interview-slider__wrap .swiper-button-prev {
  right: 48px;
}
.recruit-interview-slider__wrap .swiper-button-next {
  right: 0;
}
.recruit-interview-slider__img {
  position: relative;
  margin-bottom: 15px;
}
.recruit-interview-slider__img img {
  border-radius: 15px;
}
.recruit-interview-slider__img-txt {
  position: absolute;
  bottom: 15px;
  left: -15px;
  line-height: 1.6;
  white-space: nowrap;
}
.recruit-interview-slider__img-txt span {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: rgb(var(--bgblue));
  padding: 0 6px;
  box-sizing: border-box;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.recruit-interview-slider__img-txt span:first-child {
  margin-bottom: 2px;
}
.recruit-interview-slider__info {
  color: #fff;
}
.recruit-interview-slider__txt {
  line-height: 1.6;
  font-size: 1.2rem;
  margin-bottom: 3px;
}
.recruit-interview-slider__code {
  font-size: 1.8rem;
  font-weight: 500;
}
.recruit-interview__btn-txt {
  color: #fff;
}
.recruit-interview__btn-txt::after {
  color: #fff;
}
@media all and (min-width: 768px) {
  .recruit-interview__inner {
    padding-top: 170px;
    padding-bottom: 150px;
  }
  .recruit-interview__head {
    margin-left: -114px;
    margin-bottom: 66px;
  }
  .recruit-interview__head-en {
    margin-bottom: -12px;
  }
  .recruit-interview-slider__wrap {
    margin-left: -114px;
  }
  .recruit-interview-slider__wrap .swiper-button-prev,
.recruit-interview-slider__wrap .swiper-button-next {
    top: -130px;
  }
  .recruit-interview-slider__wrap .swiper-button-prev {
    right: 100px;
  }
  .recruit-interview-slider .swiper-slide {
    width: 360px;
  }
  .recruit-interview-slider .swiper-slide:nth-child(even) {
    margin-top: 64px;
  }
  .recruit-interview-slider__item:hover .recruit-interview-slider__img {
    opacity: 0.7;
  }
  .recruit-interview-slider__item:hover .recruit-interview-slider__img::before {
    border: 5px solid #fff;
  }
  .recruit-interview-slider__img {
    transition: all 0.3s ease;
  }
  .recruit-interview-slider__img::before {
    content: "";
    width: 100%;
    height: 100%;
    border: 5px solid transparent;
    border-radius: 15px;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .recruit-interview-slider__img-txt {
    line-height: 1.9;
    font-size: 1.8rem;
    font-weight: 500;
    bottom: 20px;
    left: -25px;
  }
  .recruit-interview-slider__img-txt span {
    padding: 2px 9px;
  }
  .recruit-interview-slider__img-txt span:first-child {
    margin-bottom: 3px;
  }
  .recruit-interview-slider__info {
    color: #fff;
  }
  .recruit-interview-slider__txt {
    margin-bottom: 5px;
  }
  .recruit-interview-slider__code {
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .recruit-interview__head {
    margin-left: 0;
  }
  .recruit-interview-slider__wrap {
    margin-left: 0;
  }
}

/*
  .recruit-gallery
================================================ */
.recruit-gallery {
  overflow: hidden;
}
.recruit-gallery__inner {
  box-sizing: border-box;
  padding: 60px 30px;
}
.recruit-gallery__img {
  margin-left: -15px;
  margin-right: -15px;
  text-align: center;
}
@media all and (min-width: 768px) {
  .recruit-gallery__inner {
    max-width: 1664px;
    margin: 0 auto;
    padding: 140px 40px 156px;
  }
  .recruit-gallery__img {
    max-width: 1584px;
    margin: 0 auto;
  }
}

/*
  .recruit-occupation
================================================ */
.recruit-occupation {
  position: relative;
}
.recruit-occupation__deco {
  position: absolute;
}
.recruit-occupation__deco img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.recruit-occupation__deco.is-deco01 {
  display: none;
}
.recruit-occupation__deco.is-deco02 {
  display: none;
}
.recruit-occupation__deco.is-deco03 {
  width: 60px;
  top: calc(50% - 98px);
  left: 0;
  transform: translateY(-50%);
}
.recruit-occupation__deco.is-deco04 {
  width: 100px;
  bottom: -70px;
  right: 0;
}
.recruit-occupation__inner {
  padding-top: 64px;
  padding-bottom: 80px;
  position: relative;
}
.recruit-occupation__obj {
  width: 76px;
  position: absolute;
  top: -19px;
  right: 30px;
}
.recruit-occupation__head-en {
  display: block;
  margin-bottom: -6px;
}
.recruit-occupation-list__item + .recruit-occupation-list__item {
  margin-top: 35px;
}
.recruit-occupation-list__img {
  margin-bottom: 15px;
  text-align: center;
}
.recruit-occupation-list__img img {
  border-radius: 8px;
}
.recruit-occupation-list__head {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}
@media all and (min-width: 768px) {
  .recruit-occupation__deco.is-deco01 {
    display: block;
    width: 11.4583333333%;
    top: -70px;
    left: 0;
  }
  .recruit-occupation__deco.is-deco02 {
    display: block;
    width: 14.53125%;
    top: 137px;
    right: 0;
  }
  .recruit-occupation__deco.is-deco03 {
    width: 10.3125%;
    top: calc(50% + 130px);
    left: 0;
  }
  .recruit-occupation__deco.is-deco04 {
    width: 18.5416666667%;
    bottom: -195px;
  }
  .recruit-occupation__inner {
    padding-top: 170px;
    padding-bottom: 170px;
  }
  .recruit-occupation__obj {
    width: 175px;
    top: 220px;
    right: 72px;
  }
  .recruit-occupation__head {
    margin-bottom: 70px;
  }
  .recruit-occupation__head-en {
    margin-bottom: -12px;
  }
  .recruit-occupation-list {
    display: flex;
    flex-wrap: wrap;
    margin-left: -80px;
    margin-bottom: -70px;
  }
  .recruit-occupation-list__item {
    width: calc(33.3333333333% - 80px);
    margin-left: 80px;
    margin-bottom: 70px;
  }
  .recruit-occupation-list__item + .recruit-occupation-list__item {
    margin-top: 0;
  }
  .recruit-occupation-list__item.is-large {
    width: calc(50% - 80px);
  }
  .recruit-occupation-list__img img {
    border-radius: 15px;
  }
  .recruit-occupation-list__head {
    font-size: 2.6rem;
    line-height: 1.5;
    margin-bottom: 11px;
  }
}

/*
  .recruit-faq
================================================ */
.recruit-faq__inner {
  padding-top: 64px;
  position: relative;
}
.recruit-faq__obj {
  width: 107px;
  position: absolute;
  top: 123px;
  right: 52px;
}
.recruit-faq__head {
  margin-bottom: 36px;
}
.recruit-faq__head-en {
  display: block;
  margin-bottom: -6px;
}
@media all and (min-width: 768px) {
  .recruit-faq__inner {
    padding-top: 170px;
  }
  .recruit-faq__obj {
    width: 215px;
    top: 268px;
    right: 89px;
  }
  .recruit-faq__head {
    margin-bottom: 70px;
  }
  .recruit-faq__head-en {
    margin-bottom: -12px;
  }
}

/* recruit-bnr
============================ */
.recruit-bnr__inner {
  padding-top: 70px;
}
.recruit-bnr__link {
  position: relative;
  box-sizing: border-box;
  display: block;
  padding: 31px 60px 21px 30px;
  border-radius: 8px;
  border: 2px solid rgb(var(--main));
  background: url(../img/recruit/bg_bnr01_sp.png) no-repeat 0 0/cover;
}
.recruit-bnr__link:after {
  content: "";
  position: absolute;
  width: 96px;
  height: 100px;
  top: -50px;
  right: 37px;
  background: url(../img/recruit/img_bnr01.png) no-repeat 0 0/contain;
}
.recruit-bnr__en {
  line-height: 1;
  font-size: 2.6rem;
  letter-spacing: 0.02em;
}
.recruit-bnr__en span.is-pink {
  color: #ed6caa;
}
.recruit-bnr__en span.is-blue {
  color: #0060b0;
}
.recruit-bnr__en span.is-purple {
  color: #967cc2;
}
.recruit-bnr__en span.is-green {
  color: #a4ecd9;
}
.recruit-bnr__txt {
  margin-top: 4px;
  font-weight: 500;
  font-size: 1.5rem;
}
.recruit-bnr__ico {
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border: 1px solid;
  border-radius: 50%;
  color: rgb(var(--main));
}
.recruit-bnr__ico:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  width: 12px;
  height: 8px;
  vertical-align: middle;
  color: currentColor;
  background: currentColor;
  -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 11"><g transform="translate(-882 678.707) rotate(-90)"><path d="M-13638-13733.6a1,1,0,0,1-.707-.293l-5-5,1.414-1.414,4.293,4.293,4.293-4.293,1.414,1.414-5,5A1,1,0,0,1-13638-13733.6Z" transform="translate(14311 14635.601)" fill="currentColor"/><path d="M-10273.794-8396.458a1,1,0,0,1-1-1v-18a1,1,0,0,1,1-1,1,1,0,0,1,1,1v18A1,1,0,0,1-10273.794-8396.458Z" transform="translate(10946.794 9298.458)" fill="currentColor"/></g></svg>');
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  content: "";
  transition: all 0.3s ease;
}
@media all and (min-width: 768px) {
  .recruit-bnr__inner {
    padding-top: 138px;
  }
  .recruit-bnr__link {
    max-width: 940px;
    margin: 0 auto;
    border-radius: 15px;
    padding: 53px 130px 41px 62px;
    background: url(../img/recruit/bg_bnr01_pc.png) no-repeat 0 0/cover;
    transition: opacity 0.3s ease;
  }
  .recruit-bnr__link:after {
    top: -65px;
    right: 198px;
    width: 256px;
    height: 264px;
  }
  .recruit-bnr__link:hover {
    opacity: 0.7;
  }
  .recruit-bnr__en {
    font-size: 4rem;
  }
  .recruit-bnr__txt {
    font-size: 2rem;
  }
  .recruit-bnr__ico {
    right: 50px;
    width: 80px;
    height: 80px;
    color: rgb(var(--darkblue));
  }
  .recruit-bnr__ico:before {
    width: 28px;
    height: 16px;
  }
}

/* requirements-info
=============================== */
.requirements-info__inner {
  padding-top: 80px;
  padding-bottom: 30px;
}
.requirements-info__detail + .requirements-info__detail {
  margin-top: 20px;
}
.requirements-info__head {
  margin-bottom: 20px;
}
.requirements-info__sub {
  position: relative;
  border-radius: 8px;
  box-sizing: border-box;
  background: rgb(var(--bg));
  padding: 15px 30px 15px 20px;
  margin-bottom: 20px;
  line-height: 1.6;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  cursor: pointer;
}
.requirements-info__sub.is-active .requirements-info__sub-ico:after {
  transform: translate(-50%, -50%) rotate(0);
}
.requirements-info__sub-ico {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
}
.requirements-info__sub-ico:before, .requirements-info__sub-ico:after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: rgb(var(--border));
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}
.requirements-info__sub-ico:after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.requirements-info__table {
  padding-bottom: 20px;
}
.requirements-info__table tr:last-of-type {
  border-bottom: 1px solid rgb(var(--border));
  padding-bottom: 20px;
}
.requirements-info__table-list01:not(:first-child) {
  margin-top: 8px;
}
.requirements-info__table-list02:not(:first-child) {
  margin-top: 17px;
}
.requirements-info__table-sub:not(:first-child) {
  margin-top: 1em;
}
.requirements-info__table-txt + .requirements-info__table-txt {
  margin-top: 1.9em;
}
.requirements-info__table-note {
  font-size: 1.2rem;
}
.requirements-info__table-note:not(:first-child) {
  margin-top: 0.4em;
}
@media all and (min-width: 768px) {
  .requirements-info__inner {
    padding-top: 170px;
    padding-bottom: 30px;
  }
  .requirements-info__head {
    margin-bottom: 40px;
  }
  .requirements-info__sub {
    margin-bottom: 30px;
    padding: 25px 50px 25px 30px;
    border-radius: 15px;
    font-size: 1.8rem;
  }
  .requirements-info__sub-ico {
    right: 30px;
    width: 20px;
    height: 20px;
  }
  .requirements-info__table {
    padding-bottom: 30px;
  }
  .requirements-info__table tr:last-of-type {
    padding-bottom: 30px;
  }
  .requirements-info__table-list01:not(:first-child) {
    margin-top: 14px;
  }
  .requirements-info__table-list02:not(:first-child) {
    margin-top: 30px;
  }
  .requirements-info__table-note {
    font-size: 1.4rem;
  }
  .requirements-info__table-note:not(:first-child) {
    margin-top: 0.2em;
  }
}

/* .service-intro
==================================== */
.service-intro__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
.service-intro__head {
  margin-bottom: 27px;
  line-height: 1.7;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
}
.service-intro__head-indent {
  display: inline-block;
  margin-left: -0.6em;
}
.service-intro__txt {
  line-height: 1.87;
}
.service-intro__txt + .service-intro__txt {
  margin-top: 1.8em;
}
.service-intro__img {
  margin: 37px -30px 0;
}
.service-intro__img img {
  border-radius: 8px;
}
@media all and (min-width: 768px) {
  .service-intro__inner {
    padding-top: 170px;
    padding-bottom: 170px;
  }
  .service-intro__head {
    line-height: 1.6;
    font-size: 3.6rem;
  }
  .service-intro__img {
    margin: 78px 0 0;
  }
  .service-intro__img img {
    border-radius: 15px;
  }
}

/* service-info
=========================== */
.service-info__inner {
  padding-top: 67px;
}
.service-info__head.c-head02 {
  margin-bottom: 53px;
}
.service-info__head.c-head02 .c-head02__en {
  font-size: 4rem;
}
@media all and (min-width: 768px) {
  .service-info__inner {
    padding-top: 167px;
    padding-bottom: 211px;
  }
  .service-info__head.c-head02 {
    margin-bottom: 95px;
  }
  .service-info__head.c-head02 .c-head02__en {
    font-size: 8rem;
  }
}

/* service-info-list
=========================== */
.service-info-list__item + .service-info-list__item {
  margin-top: 70px;
}
.service-info-list__img {
  position: relative;
  z-index: 1;
  width: 69.8412698413%;
  margin: 0 auto 30px;
  text-align: center;
}
.service-info-list__img img {
  border-radius: 15px;
}
.service-info-list__img:before {
  content: "";
  position: absolute;
  top: -13px;
  left: 15px;
  z-index: -1;
  width: 100%;
  height: 100%;
  border-radius: 15px;
  background: url(../img/service/bg_info01.jpg) no-repeat 0 0/cover;
}
.service-info-list__img-num {
  position: absolute;
  top: -23px;
  right: -32px;
  line-height: 1;
  font-size: 5.3rem;
}
.service-info-list__img-ico {
  position: absolute;
  bottom: -13px;
  left: 0;
  transform: translateX(-50%);
}
.service-info-list__img-ico img {
  border-radius: 0;
}
.service-info-list__img-ico.is-01 {
  width: 54px;
  margin-left: -6px;
}
.service-info-list__img-ico.is-02 {
  width: 113px;
}
.service-info-list__img-ico.is-03 {
  width: 68px;
  margin-left: -9px;
}
.service-info-list__img-ico.is-04 {
  width: 48px;
  margin-left: 5px;
}
.service-info-list__img-ico.is-05 {
  width: 95px;
  margin-left: 20px;
}
.service-info-list__head {
  margin-bottom: 15px;
  line-height: 1.5;
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
@media all and (min-width: 768px) {
  .service-info-list__item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .service-info-list__item + .service-info-list__item {
    margin-top: 145px;
  }
  .service-info-list__item:nth-of-type(even) {
    flex-direction: row-reverse;
  }
  .service-info-list__item:nth-of-type(even) .service-info-list__img {
    margin: 0 0 0 auto;
  }
  .service-info-list__item:nth-of-type(even) .service-info-list__area-txt {
    padding: 0 30px 0 0;
  }
  .service-info-list__area-img {
    box-sizing: border-box;
    width: 50%;
  }
  .service-info-list__img {
    width: 428px;
    margin: 0;
  }
  .service-info-list__img:before {
    top: -25px;
    left: 30px;
  }
  .service-info-list__img-num {
    top: -41px;
    right: -55px;
    font-size: 10rem;
  }
  .service-info-list__img-ico {
    bottom: -20px;
  }
  .service-info-list__img-ico.is-01 {
    width: 104px;
    height: 240px;
    margin-left: -13px;
  }
  .service-info-list__img-ico.is-02 {
    width: 236px;
    height: 240px;
    margin-left: 20px;
  }
  .service-info-list__img-ico.is-03 {
    width: 141px;
    height: 240px;
    margin-left: -19px;
  }
  .service-info-list__img-ico.is-04 {
    width: 91px;
    height: 240px;
  }
  .service-info-list__img-ico.is-05 {
    width: 187px;
    height: 324px;
    margin-left: 40px;
  }
  .service-info-list__area-txt {
    box-sizing: border-box;
    width: 50%;
    padding-left: 30px;
  }
  .service-info-list__head {
    margin-bottom: 30px;
    text-align: left;
    font-size: 3.2rem;
  }
  .service-info-list__btn.c-btn01 {
    margin: 80px auto 0 0;
  }
}

/* works-search
===================================== */
.works-search__inner {
  padding-top: 75px;
  padding-bottom: 70px;
}
.works-search__lead {
  margin-bottom: 37px;
}
@media all and (min-width: 768px) {
  .works-search__inner {
    padding-top: 165px;
    padding-bottom: 170px;
  }
  .works-search__lead {
    margin: 42px 0 100px;
  }
}

/* works-archive
===================================== */
.works-archive__inner {
  padding-top: 70px;
  padding-bottom: 80px;
}
@media all and (min-width: 768px) {
  .works-archive__inner {
    padding-top: 170px;
  }
}