@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Zen+Maru+Gothic&display=swap");
:root {
  --main-color: #1CB3C8;
}

/*! =======================================================================
 * File        : common.css
 * DESCRIPTION : PC CSS
 * AUTHOR      : FUCA
 * ------------------------------------------------------------------------
 * (C) F organics／Celvoke by CosmeKitchen
========================================================================== */
/* base
----------------------------------------------------------------- */
html {
  overflow: auto;
}

body {
  overflow-x: hidden;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  min-width: 1000px;
}

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

h1, h2, h3, h4, h5, h6 {
  font-size: 14px;
  margin: 0;
}

ul {
  list-style: none;
}

p, ul, ol, dl {
  margin: 0;
  padding: 0;
}

li, dt, dd {
  margin: 0;
  padding: 0;
}

a {
  transition: 0.7s;
  -webkit-transition: 0.7s;
}

img {
  vertical-align: bottom;
  height: auto;
}

.is-hide {
  display: none !important;
}

.lts-n {
  letter-spacing: -0.04em;
}
.lts-ss {
  letter-spacing: -0.08em;
}

.fz-ss {
  font-size: 0.6em !important;
}
.fz-s {
  font-size: 0.85em !important;
}
.fz-l {
  font-size: 1.2em !important;
}
.fz-ll {
  font-size: 1.4em !important;
}
.fz-lll {
  font-size: 1.6em !important;
}

.ta-c {
  text-align: center !important;
}
.ta-r {
  text-align: right !important;
}
.ta-l {
  text-align: left !important;
}
.ta-j {
  text-align: justify !important;
  text-justify: inter-ideograph !important;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.ta-pc-c {
  text-align: center !important;
}
.ta-pc-r {
  text-align: right !important;
}
.ta-pc-l {
  text-align: left !important;
}
.ta-pc-j {
  text-align: justify !important;
  text-justify: inter-ideograph !important;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.flx-l {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
}
.flx-c {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
}
.flx-r {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end !important;
      -ms-flex-pack: end !important;
          justify-content: flex-end !important;
}
.flx-pc-l {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
}
.flx-pc-c {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
}
.flx-pc-r {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end !important;
      -ms-flex-pack: end !important;
          justify-content: flex-end !important;
}
.va-m, .va-t, .va-b {
  display: table-cell !important;
}
.va-m {
  vertical-align: middle !important;
}
.va-t {
  vertical-align: top !important;
}
.va-b {
  vertical-align: bottom !important;
}
/*  margin
================================================== */
.mt-auto, .mh-auto, .ma-auto {
  margin-top: auto !important;
}

.mr-auto, .mw-auto, .ma-auto {
  margin-right: auto !important;
}

.mb-auto, .mh-auto, .ma-auto {
  margin-bottom: auto !important;
}

.ml-auto, .mw-auto, .ma-auto {
  margin-left: auto !important;
}

.mt-0, .mh-0, .ma-0 {
  margin-top: 0rem !important;
}

.mr-0, .mw-0, .ma-0 {
  margin-right: 0rem !important;
}

.mb-0, .mh-0, .ma-0 {
  margin-bottom: 0rem !important;
}

.ml-0, .mw-0, .ma-0 {
  margin-left: 0rem !important;
}

.pt-0, .ph-0, .pa-0 {
  padding-top: 0rem !important;
}

.pr-0, .pw-0, .pa-0 {
  padding-right: 0rem !important;
}

.pb-0, .ph-0, .pa-0 {
  padding-bottom: 0rem !important;
}

.pl-0, .pw-0, .pa-0 {
  padding-left: 0rem !important;
}

.mt-pc-0, .mh-pc-0, .ma-pc-0 {
  margin-top: 0rem !important;
}

.mr-pc-0, .mw-pc-0, .ma-pc-0 {
  margin-right: 0rem !important;
}

.mb-pc-0, .mh-pc-0, .ma-pc-0 {
  margin-bottom: 0rem !important;
}

.ml-pc-0, .mw-pc-0, .ma-pc-0 {
  margin-left: 0rem !important;
}

.pt-pc-0, .ph-pc-0, .pa-pc-0 {
  padding-top: 0rem !important;
}

.pr-pc-0, .pw-pc-0, .pa-pc-0 {
  padding-right: 0rem !important;
}

.pb-pc-0, .ph-pc-0, .pa-pc-0 {
  padding-bottom: 0rem !important;
}

.pl-pc-0, .pw-pc-0, .pa-pc-0 {
  padding-left: 0rem !important;
}

.mt-sp-0, .mh-sp-0, .ma-sp-0 {
  margin-top: 0rem !important;
}

.mr-sp-0, .mw-sp-0, .ma-sp-0 {
  margin-right: 0rem !important;
}

.mb-sp-0, .mh-sp-0, .ma-sp-0 {
  margin-bottom: 0rem !important;
}

.ml-sp-0, .mw-sp-0, .ma-sp-0 {
  margin-left: 0rem !important;
}

.pt-sp-0, .ph-sp-0, .pa-sp-0 {
  padding-top: 0rem !important;
}

.pr-sp-0, .pw-sp-0, .pa-sp-0 {
  padding-right: 0rem !important;
}

.pb-sp-0, .ph-sp-0, .pa-sp-0 {
  padding-bottom: 0rem !important;
}

.pl-sp-0, .pw-sp-0, .pa-sp-0 {
  padding-left: 0rem !important;
}

.mt-5, .mh-5, .ma-5 {
  margin-top: 0.5rem !important;
}

.mr-5, .mw-5, .ma-5 {
  margin-right: 0.5rem !important;
}

.mb-5, .mh-5, .ma-5 {
  margin-bottom: 0.5rem !important;
}

.ml-5, .mw-5, .ma-5 {
  margin-left: 0.5rem !important;
}

.pt-5, .ph-5, .pa-5 {
  padding-top: 0.5rem !important;
}

.pr-5, .pw-5, .pa-5 {
  padding-right: 0.5rem !important;
}

.pb-5, .ph-5, .pa-5 {
  padding-bottom: 0.5rem !important;
}

.pl-5, .pw-5, .pa-5 {
  padding-left: 0.5rem !important;
}

.mt-pc-5, .mh-pc-5, .ma-pc-5 {
  margin-top: 0.5rem !important;
}

.mr-pc-5, .mw-pc-5, .ma-pc-5 {
  margin-right: 0.5rem !important;
}

.mb-pc-5, .mh-pc-5, .ma-pc-5 {
  margin-bottom: 0.5rem !important;
}

.ml-pc-5, .mw-pc-5, .ma-pc-5 {
  margin-left: 0.5rem !important;
}

.pt-pc-5, .ph-pc-5, .pa-pc-5 {
  padding-top: 0.5rem !important;
}

.pr-pc-5, .pw-pc-5, .pa-pc-5 {
  padding-right: 0.5rem !important;
}

.pb-pc-5, .ph-pc-5, .pa-pc-5 {
  padding-bottom: 0.5rem !important;
}

.pl-pc-5, .pw-pc-5, .pa-pc-5 {
  padding-left: 0.5rem !important;
}

.mt-sp-5, .mh-sp-5, .ma-sp-5 {
  margin-top: 0.5rem !important;
}

.mr-sp-5, .mw-sp-5, .ma-sp-5 {
  margin-right: 0.5rem !important;
}

.mb-sp-5, .mh-sp-5, .ma-sp-5 {
  margin-bottom: 0.5rem !important;
}

.ml-sp-5, .mw-sp-5, .ma-sp-5 {
  margin-left: 0.5rem !important;
}

.pt-sp-5, .ph-sp-5, .pa-sp-5 {
  padding-top: 0.5rem !important;
}

.pr-sp-5, .pw-sp-5, .pa-sp-5 {
  padding-right: 0.5rem !important;
}

.pb-sp-5, .ph-sp-5, .pa-sp-5 {
  padding-bottom: 0.5rem !important;
}

.pl-sp-5, .pw-sp-5, .pa-sp-5 {
  padding-left: 0.5rem !important;
}

.mt-10, .mh-10, .ma-10 {
  margin-top: 1rem !important;
}

.mr-10, .mw-10, .ma-10 {
  margin-right: 1rem !important;
}

.mb-10, .mh-10, .ma-10 {
  margin-bottom: 1rem !important;
}

.ml-10, .mw-10, .ma-10 {
  margin-left: 1rem !important;
}

.pt-10, .ph-10, .pa-10 {
  padding-top: 1rem !important;
}

.pr-10, .pw-10, .pa-10 {
  padding-right: 1rem !important;
}

.pb-10, .ph-10, .pa-10 {
  padding-bottom: 1rem !important;
}

.pl-10, .pw-10, .pa-10 {
  padding-left: 1rem !important;
}

.mt-pc-10, .mh-pc-10, .ma-pc-10 {
  margin-top: 1rem !important;
}

.mr-pc-10, .mw-pc-10, .ma-pc-10 {
  margin-right: 1rem !important;
}

.mb-pc-10, .mh-pc-10, .ma-pc-10 {
  margin-bottom: 1rem !important;
}

.ml-pc-10, .mw-pc-10, .ma-pc-10 {
  margin-left: 1rem !important;
}

.pt-pc-10, .ph-pc-10, .pa-pc-10 {
  padding-top: 1rem !important;
}

.pr-pc-10, .pw-pc-10, .pa-pc-10 {
  padding-right: 1rem !important;
}

.pb-pc-10, .ph-pc-10, .pa-pc-10 {
  padding-bottom: 1rem !important;
}

.pl-pc-10, .pw-pc-10, .pa-pc-10 {
  padding-left: 1rem !important;
}

.mt-sp-10, .mh-sp-10, .ma-sp-10 {
  margin-top: 1rem !important;
}

.mr-sp-10, .mw-sp-10, .ma-sp-10 {
  margin-right: 1rem !important;
}

.mb-sp-10, .mh-sp-10, .ma-sp-10 {
  margin-bottom: 1rem !important;
}

.ml-sp-10, .mw-sp-10, .ma-sp-10 {
  margin-left: 1rem !important;
}

.pt-sp-10, .ph-sp-10, .pa-sp-10 {
  padding-top: 1rem !important;
}

.pr-sp-10, .pw-sp-10, .pa-sp-10 {
  padding-right: 1rem !important;
}

.pb-sp-10, .ph-sp-10, .pa-sp-10 {
  padding-bottom: 1rem !important;
}

.pl-sp-10, .pw-sp-10, .pa-sp-10 {
  padding-left: 1rem !important;
}

.mt-15, .mh-15, .ma-15 {
  margin-top: 1.5rem !important;
}

.mr-15, .mw-15, .ma-15 {
  margin-right: 1.5rem !important;
}

.mb-15, .mh-15, .ma-15 {
  margin-bottom: 1.5rem !important;
}

.ml-15, .mw-15, .ma-15 {
  margin-left: 1.5rem !important;
}

.pt-15, .ph-15, .pa-15 {
  padding-top: 1.5rem !important;
}

.pr-15, .pw-15, .pa-15 {
  padding-right: 1.5rem !important;
}

.pb-15, .ph-15, .pa-15 {
  padding-bottom: 1.5rem !important;
}

.pl-15, .pw-15, .pa-15 {
  padding-left: 1.5rem !important;
}

.mt-pc-15, .mh-pc-15, .ma-pc-15 {
  margin-top: 1.5rem !important;
}

.mr-pc-15, .mw-pc-15, .ma-pc-15 {
  margin-right: 1.5rem !important;
}

.mb-pc-15, .mh-pc-15, .ma-pc-15 {
  margin-bottom: 1.5rem !important;
}

.ml-pc-15, .mw-pc-15, .ma-pc-15 {
  margin-left: 1.5rem !important;
}

.pt-pc-15, .ph-pc-15, .pa-pc-15 {
  padding-top: 1.5rem !important;
}

.pr-pc-15, .pw-pc-15, .pa-pc-15 {
  padding-right: 1.5rem !important;
}

.pb-pc-15, .ph-pc-15, .pa-pc-15 {
  padding-bottom: 1.5rem !important;
}

.pl-pc-15, .pw-pc-15, .pa-pc-15 {
  padding-left: 1.5rem !important;
}

.mt-sp-15, .mh-sp-15, .ma-sp-15 {
  margin-top: 1.5rem !important;
}

.mr-sp-15, .mw-sp-15, .ma-sp-15 {
  margin-right: 1.5rem !important;
}

.mb-sp-15, .mh-sp-15, .ma-sp-15 {
  margin-bottom: 1.5rem !important;
}

.ml-sp-15, .mw-sp-15, .ma-sp-15 {
  margin-left: 1.5rem !important;
}

.pt-sp-15, .ph-sp-15, .pa-sp-15 {
  padding-top: 1.5rem !important;
}

.pr-sp-15, .pw-sp-15, .pa-sp-15 {
  padding-right: 1.5rem !important;
}

.pb-sp-15, .ph-sp-15, .pa-sp-15 {
  padding-bottom: 1.5rem !important;
}

.pl-sp-15, .pw-sp-15, .pa-sp-15 {
  padding-left: 1.5rem !important;
}

.mt-20, .mh-20, .ma-20 {
  margin-top: 2rem !important;
}

.mr-20, .mw-20, .ma-20 {
  margin-right: 2rem !important;
}

.mb-20, .mh-20, .ma-20 {
  margin-bottom: 2rem !important;
}

.ml-20, .mw-20, .ma-20 {
  margin-left: 2rem !important;
}

.pt-20, .ph-20, .pa-20 {
  padding-top: 2rem !important;
}

.pr-20, .pw-20, .pa-20 {
  padding-right: 2rem !important;
}

.pb-20, .ph-20, .pa-20 {
  padding-bottom: 2rem !important;
}

.pl-20, .pw-20, .pa-20 {
  padding-left: 2rem !important;
}

.mt-pc-20, .mh-pc-20, .ma-pc-20 {
  margin-top: 2rem !important;
}

.mr-pc-20, .mw-pc-20, .ma-pc-20 {
  margin-right: 2rem !important;
}

.mb-pc-20, .mh-pc-20, .ma-pc-20 {
  margin-bottom: 2rem !important;
}

.ml-pc-20, .mw-pc-20, .ma-pc-20 {
  margin-left: 2rem !important;
}

.pt-pc-20, .ph-pc-20, .pa-pc-20 {
  padding-top: 2rem !important;
}

.pr-pc-20, .pw-pc-20, .pa-pc-20 {
  padding-right: 2rem !important;
}

.pb-pc-20, .ph-pc-20, .pa-pc-20 {
  padding-bottom: 2rem !important;
}

.pl-pc-20, .pw-pc-20, .pa-pc-20 {
  padding-left: 2rem !important;
}

.mt-sp-20, .mh-sp-20, .ma-sp-20 {
  margin-top: 2rem !important;
}

.mr-sp-20, .mw-sp-20, .ma-sp-20 {
  margin-right: 2rem !important;
}

.mb-sp-20, .mh-sp-20, .ma-sp-20 {
  margin-bottom: 2rem !important;
}

.ml-sp-20, .mw-sp-20, .ma-sp-20 {
  margin-left: 2rem !important;
}

.pt-sp-20, .ph-sp-20, .pa-sp-20 {
  padding-top: 2rem !important;
}

.pr-sp-20, .pw-sp-20, .pa-sp-20 {
  padding-right: 2rem !important;
}

.pb-sp-20, .ph-sp-20, .pa-sp-20 {
  padding-bottom: 2rem !important;
}

.pl-sp-20, .pw-sp-20, .pa-sp-20 {
  padding-left: 2rem !important;
}

.mt-25, .mh-25, .ma-25 {
  margin-top: 2.5rem !important;
}

.mr-25, .mw-25, .ma-25 {
  margin-right: 2.5rem !important;
}

.mb-25, .mh-25, .ma-25 {
  margin-bottom: 2.5rem !important;
}

.ml-25, .mw-25, .ma-25 {
  margin-left: 2.5rem !important;
}

.pt-25, .ph-25, .pa-25 {
  padding-top: 2.5rem !important;
}

.pr-25, .pw-25, .pa-25 {
  padding-right: 2.5rem !important;
}

.pb-25, .ph-25, .pa-25 {
  padding-bottom: 2.5rem !important;
}

.pl-25, .pw-25, .pa-25 {
  padding-left: 2.5rem !important;
}

.mt-pc-25, .mh-pc-25, .ma-pc-25 {
  margin-top: 2.5rem !important;
}

.mr-pc-25, .mw-pc-25, .ma-pc-25 {
  margin-right: 2.5rem !important;
}

.mb-pc-25, .mh-pc-25, .ma-pc-25 {
  margin-bottom: 2.5rem !important;
}

.ml-pc-25, .mw-pc-25, .ma-pc-25 {
  margin-left: 2.5rem !important;
}

.pt-pc-25, .ph-pc-25, .pa-pc-25 {
  padding-top: 2.5rem !important;
}

.pr-pc-25, .pw-pc-25, .pa-pc-25 {
  padding-right: 2.5rem !important;
}

.pb-pc-25, .ph-pc-25, .pa-pc-25 {
  padding-bottom: 2.5rem !important;
}

.pl-pc-25, .pw-pc-25, .pa-pc-25 {
  padding-left: 2.5rem !important;
}

.mt-sp-25, .mh-sp-25, .ma-sp-25 {
  margin-top: 2.5rem !important;
}

.mr-sp-25, .mw-sp-25, .ma-sp-25 {
  margin-right: 2.5rem !important;
}

.mb-sp-25, .mh-sp-25, .ma-sp-25 {
  margin-bottom: 2.5rem !important;
}

.ml-sp-25, .mw-sp-25, .ma-sp-25 {
  margin-left: 2.5rem !important;
}

.pt-sp-25, .ph-sp-25, .pa-sp-25 {
  padding-top: 2.5rem !important;
}

.pr-sp-25, .pw-sp-25, .pa-sp-25 {
  padding-right: 2.5rem !important;
}

.pb-sp-25, .ph-sp-25, .pa-sp-25 {
  padding-bottom: 2.5rem !important;
}

.pl-sp-25, .pw-sp-25, .pa-sp-25 {
  padding-left: 2.5rem !important;
}

.mt-30, .mh-30, .ma-30 {
  margin-top: 3rem !important;
}

.mr-30, .mw-30, .ma-30 {
  margin-right: 3rem !important;
}

.mb-30, .mh-30, .ma-30 {
  margin-bottom: 3rem !important;
}

.ml-30, .mw-30, .ma-30 {
  margin-left: 3rem !important;
}

.pt-30, .ph-30, .pa-30 {
  padding-top: 3rem !important;
}

.pr-30, .pw-30, .pa-30 {
  padding-right: 3rem !important;
}

.pb-30, .ph-30, .pa-30 {
  padding-bottom: 3rem !important;
}

.pl-30, .pw-30, .pa-30 {
  padding-left: 3rem !important;
}

.mt-pc-30, .mh-pc-30, .ma-pc-30 {
  margin-top: 3rem !important;
}

.mr-pc-30, .mw-pc-30, .ma-pc-30 {
  margin-right: 3rem !important;
}

.mb-pc-30, .mh-pc-30, .ma-pc-30 {
  margin-bottom: 3rem !important;
}

.ml-pc-30, .mw-pc-30, .ma-pc-30 {
  margin-left: 3rem !important;
}

.pt-pc-30, .ph-pc-30, .pa-pc-30 {
  padding-top: 3rem !important;
}

.pr-pc-30, .pw-pc-30, .pa-pc-30 {
  padding-right: 3rem !important;
}

.pb-pc-30, .ph-pc-30, .pa-pc-30 {
  padding-bottom: 3rem !important;
}

.pl-pc-30, .pw-pc-30, .pa-pc-30 {
  padding-left: 3rem !important;
}

.mt-sp-30, .mh-sp-30, .ma-sp-30 {
  margin-top: 3rem !important;
}

.mr-sp-30, .mw-sp-30, .ma-sp-30 {
  margin-right: 3rem !important;
}

.mb-sp-30, .mh-sp-30, .ma-sp-30 {
  margin-bottom: 3rem !important;
}

.ml-sp-30, .mw-sp-30, .ma-sp-30 {
  margin-left: 3rem !important;
}

.pt-sp-30, .ph-sp-30, .pa-sp-30 {
  padding-top: 3rem !important;
}

.pr-sp-30, .pw-sp-30, .pa-sp-30 {
  padding-right: 3rem !important;
}

.pb-sp-30, .ph-sp-30, .pa-sp-30 {
  padding-bottom: 3rem !important;
}

.pl-sp-30, .pw-sp-30, .pa-sp-30 {
  padding-left: 3rem !important;
}

.mt-35, .mh-35, .ma-35 {
  margin-top: 3.5rem !important;
}

.mr-35, .mw-35, .ma-35 {
  margin-right: 3.5rem !important;
}

.mb-35, .mh-35, .ma-35 {
  margin-bottom: 3.5rem !important;
}

.ml-35, .mw-35, .ma-35 {
  margin-left: 3.5rem !important;
}

.pt-35, .ph-35, .pa-35 {
  padding-top: 3.5rem !important;
}

.pr-35, .pw-35, .pa-35 {
  padding-right: 3.5rem !important;
}

.pb-35, .ph-35, .pa-35 {
  padding-bottom: 3.5rem !important;
}

.pl-35, .pw-35, .pa-35 {
  padding-left: 3.5rem !important;
}

.mt-pc-35, .mh-pc-35, .ma-pc-35 {
  margin-top: 3.5rem !important;
}

.mr-pc-35, .mw-pc-35, .ma-pc-35 {
  margin-right: 3.5rem !important;
}

.mb-pc-35, .mh-pc-35, .ma-pc-35 {
  margin-bottom: 3.5rem !important;
}

.ml-pc-35, .mw-pc-35, .ma-pc-35 {
  margin-left: 3.5rem !important;
}

.pt-pc-35, .ph-pc-35, .pa-pc-35 {
  padding-top: 3.5rem !important;
}

.pr-pc-35, .pw-pc-35, .pa-pc-35 {
  padding-right: 3.5rem !important;
}

.pb-pc-35, .ph-pc-35, .pa-pc-35 {
  padding-bottom: 3.5rem !important;
}

.pl-pc-35, .pw-pc-35, .pa-pc-35 {
  padding-left: 3.5rem !important;
}

.mt-sp-35, .mh-sp-35, .ma-sp-35 {
  margin-top: 3.5rem !important;
}

.mr-sp-35, .mw-sp-35, .ma-sp-35 {
  margin-right: 3.5rem !important;
}

.mb-sp-35, .mh-sp-35, .ma-sp-35 {
  margin-bottom: 3.5rem !important;
}

.ml-sp-35, .mw-sp-35, .ma-sp-35 {
  margin-left: 3.5rem !important;
}

.pt-sp-35, .ph-sp-35, .pa-sp-35 {
  padding-top: 3.5rem !important;
}

.pr-sp-35, .pw-sp-35, .pa-sp-35 {
  padding-right: 3.5rem !important;
}

.pb-sp-35, .ph-sp-35, .pa-sp-35 {
  padding-bottom: 3.5rem !important;
}

.pl-sp-35, .pw-sp-35, .pa-sp-35 {
  padding-left: 3.5rem !important;
}

.mt-40, .mh-40, .ma-40 {
  margin-top: 4rem !important;
}

.mr-40, .mw-40, .ma-40 {
  margin-right: 4rem !important;
}

.mb-40, .mh-40, .ma-40 {
  margin-bottom: 4rem !important;
}

.ml-40, .mw-40, .ma-40 {
  margin-left: 4rem !important;
}

.pt-40, .ph-40, .pa-40 {
  padding-top: 4rem !important;
}

.pr-40, .pw-40, .pa-40 {
  padding-right: 4rem !important;
}

.pb-40, .ph-40, .pa-40 {
  padding-bottom: 4rem !important;
}

.pl-40, .pw-40, .pa-40 {
  padding-left: 4rem !important;
}

.mt-pc-40, .mh-pc-40, .ma-pc-40 {
  margin-top: 4rem !important;
}

.mr-pc-40, .mw-pc-40, .ma-pc-40 {
  margin-right: 4rem !important;
}

.mb-pc-40, .mh-pc-40, .ma-pc-40 {
  margin-bottom: 4rem !important;
}

.ml-pc-40, .mw-pc-40, .ma-pc-40 {
  margin-left: 4rem !important;
}

.pt-pc-40, .ph-pc-40, .pa-pc-40 {
  padding-top: 4rem !important;
}

.pr-pc-40, .pw-pc-40, .pa-pc-40 {
  padding-right: 4rem !important;
}

.pb-pc-40, .ph-pc-40, .pa-pc-40 {
  padding-bottom: 4rem !important;
}

.pl-pc-40, .pw-pc-40, .pa-pc-40 {
  padding-left: 4rem !important;
}

.mt-sp-40, .mh-sp-40, .ma-sp-40 {
  margin-top: 4rem !important;
}

.mr-sp-40, .mw-sp-40, .ma-sp-40 {
  margin-right: 4rem !important;
}

.mb-sp-40, .mh-sp-40, .ma-sp-40 {
  margin-bottom: 4rem !important;
}

.ml-sp-40, .mw-sp-40, .ma-sp-40 {
  margin-left: 4rem !important;
}

.pt-sp-40, .ph-sp-40, .pa-sp-40 {
  padding-top: 4rem !important;
}

.pr-sp-40, .pw-sp-40, .pa-sp-40 {
  padding-right: 4rem !important;
}

.pb-sp-40, .ph-sp-40, .pa-sp-40 {
  padding-bottom: 4rem !important;
}

.pl-sp-40, .pw-sp-40, .pa-sp-40 {
  padding-left: 4rem !important;
}

.mt-45, .mh-45, .ma-45 {
  margin-top: 4.5rem !important;
}

.mr-45, .mw-45, .ma-45 {
  margin-right: 4.5rem !important;
}

.mb-45, .mh-45, .ma-45 {
  margin-bottom: 4.5rem !important;
}

.ml-45, .mw-45, .ma-45 {
  margin-left: 4.5rem !important;
}

.pt-45, .ph-45, .pa-45 {
  padding-top: 4.5rem !important;
}

.pr-45, .pw-45, .pa-45 {
  padding-right: 4.5rem !important;
}

.pb-45, .ph-45, .pa-45 {
  padding-bottom: 4.5rem !important;
}

.pl-45, .pw-45, .pa-45 {
  padding-left: 4.5rem !important;
}

.mt-pc-45, .mh-pc-45, .ma-pc-45 {
  margin-top: 4.5rem !important;
}

.mr-pc-45, .mw-pc-45, .ma-pc-45 {
  margin-right: 4.5rem !important;
}

.mb-pc-45, .mh-pc-45, .ma-pc-45 {
  margin-bottom: 4.5rem !important;
}

.ml-pc-45, .mw-pc-45, .ma-pc-45 {
  margin-left: 4.5rem !important;
}

.pt-pc-45, .ph-pc-45, .pa-pc-45 {
  padding-top: 4.5rem !important;
}

.pr-pc-45, .pw-pc-45, .pa-pc-45 {
  padding-right: 4.5rem !important;
}

.pb-pc-45, .ph-pc-45, .pa-pc-45 {
  padding-bottom: 4.5rem !important;
}

.pl-pc-45, .pw-pc-45, .pa-pc-45 {
  padding-left: 4.5rem !important;
}

.mt-sp-45, .mh-sp-45, .ma-sp-45 {
  margin-top: 4.5rem !important;
}

.mr-sp-45, .mw-sp-45, .ma-sp-45 {
  margin-right: 4.5rem !important;
}

.mb-sp-45, .mh-sp-45, .ma-sp-45 {
  margin-bottom: 4.5rem !important;
}

.ml-sp-45, .mw-sp-45, .ma-sp-45 {
  margin-left: 4.5rem !important;
}

.pt-sp-45, .ph-sp-45, .pa-sp-45 {
  padding-top: 4.5rem !important;
}

.pr-sp-45, .pw-sp-45, .pa-sp-45 {
  padding-right: 4.5rem !important;
}

.pb-sp-45, .ph-sp-45, .pa-sp-45 {
  padding-bottom: 4.5rem !important;
}

.pl-sp-45, .pw-sp-45, .pa-sp-45 {
  padding-left: 4.5rem !important;
}

.mt-50, .mh-50, .ma-50 {
  margin-top: 5rem !important;
}

.mr-50, .mw-50, .ma-50 {
  margin-right: 5rem !important;
}

.mb-50, .mh-50, .ma-50 {
  margin-bottom: 5rem !important;
}

.ml-50, .mw-50, .ma-50 {
  margin-left: 5rem !important;
}

.pt-50, .ph-50, .pa-50 {
  padding-top: 5rem !important;
}

.pr-50, .pw-50, .pa-50 {
  padding-right: 5rem !important;
}

.pb-50, .ph-50, .pa-50 {
  padding-bottom: 5rem !important;
}

.pl-50, .pw-50, .pa-50 {
  padding-left: 5rem !important;
}

.mt-pc-50, .mh-pc-50, .ma-pc-50 {
  margin-top: 5rem !important;
}

.mr-pc-50, .mw-pc-50, .ma-pc-50 {
  margin-right: 5rem !important;
}

.mb-pc-50, .mh-pc-50, .ma-pc-50 {
  margin-bottom: 5rem !important;
}

.ml-pc-50, .mw-pc-50, .ma-pc-50 {
  margin-left: 5rem !important;
}

.pt-pc-50, .ph-pc-50, .pa-pc-50 {
  padding-top: 5rem !important;
}

.pr-pc-50, .pw-pc-50, .pa-pc-50 {
  padding-right: 5rem !important;
}

.pb-pc-50, .ph-pc-50, .pa-pc-50 {
  padding-bottom: 5rem !important;
}

.pl-pc-50, .pw-pc-50, .pa-pc-50 {
  padding-left: 5rem !important;
}

.mt-sp-50, .mh-sp-50, .ma-sp-50 {
  margin-top: 5rem !important;
}

.mr-sp-50, .mw-sp-50, .ma-sp-50 {
  margin-right: 5rem !important;
}

.mb-sp-50, .mh-sp-50, .ma-sp-50 {
  margin-bottom: 5rem !important;
}

.ml-sp-50, .mw-sp-50, .ma-sp-50 {
  margin-left: 5rem !important;
}

.pt-sp-50, .ph-sp-50, .pa-sp-50 {
  padding-top: 5rem !important;
}

.pr-sp-50, .pw-sp-50, .pa-sp-50 {
  padding-right: 5rem !important;
}

.pb-sp-50, .ph-sp-50, .pa-sp-50 {
  padding-bottom: 5rem !important;
}

.pl-sp-50, .pw-sp-50, .pa-sp-50 {
  padding-left: 5rem !important;
}

/*  width
================================================== */
.w-0 {
  width: 0% !important;
}

.w-5 {
  width: 5% !important;
}

.w-10 {
  width: 10% !important;
}

.w-15 {
  width: 15% !important;
}

.w-20 {
  width: 20% !important;
}

.w-25 {
  width: 25% !important;
}

.w-30 {
  width: 30% !important;
}

.w-35 {
  width: 35% !important;
}

.w-40 {
  width: 40% !important;
}

.w-45 {
  width: 45% !important;
}

.w-50 {
  width: 50% !important;
}

.w-55 {
  width: 55% !important;
}

.w-60 {
  width: 60% !important;
}

.w-65 {
  width: 65% !important;
}

.w-70 {
  width: 70% !important;
}

.w-75 {
  width: 75% !important;
}

.w-80 {
  width: 80% !important;
}

.w-85 {
  width: 85% !important;
}

.w-90 {
  width: 90% !important;
}

.w-95 {
  width: 95% !important;
}

.w-100 {
  width: 100% !important;
}

.w-pc-0 {
  width: 0% !important;
}

.w-pc-5 {
  width: 5% !important;
}

.w-pc-10 {
  width: 10% !important;
}

.w-pc-15 {
  width: 15% !important;
}

.w-pc-20 {
  width: 20% !important;
}

.w-pc-25 {
  width: 25% !important;
}

.w-pc-30 {
  width: 30% !important;
}

.w-pc-35 {
  width: 35% !important;
}

.w-pc-40 {
  width: 40% !important;
}

.w-pc-45 {
  width: 45% !important;
}

.w-pc-50 {
  width: 50% !important;
}

.w-pc-55 {
  width: 55% !important;
}

.w-pc-60 {
  width: 60% !important;
}

.w-pc-65 {
  width: 65% !important;
}

.w-pc-70 {
  width: 70% !important;
}

.w-pc-75 {
  width: 75% !important;
}

.w-pc-80 {
  width: 80% !important;
}

.w-pc-85 {
  width: 85% !important;
}

.w-pc-90 {
  width: 90% !important;
}

.w-pc-95 {
  width: 95% !important;
}

.w-pc-100 {
  width: 100% !important;
}

.px-100 {
  width: 100px !important;
}

.px-105 {
  width: 105px !important;
}

.px-110 {
  width: 110px !important;
}

.px-115 {
  width: 115px !important;
}

.px-120 {
  width: 120px !important;
}

.px-125 {
  width: 125px !important;
}

.px-130 {
  width: 130px !important;
}

.px-135 {
  width: 135px !important;
}

.px-140 {
  width: 140px !important;
}

.px-145 {
  width: 145px !important;
}

.px-150 {
  width: 150px !important;
}

.px-155 {
  width: 155px !important;
}

.px-160 {
  width: 160px !important;
}

.px-165 {
  width: 165px !important;
}

.px-170 {
  width: 170px !important;
}

.px-175 {
  width: 175px !important;
}

.px-180 {
  width: 180px !important;
}

.px-185 {
  width: 185px !important;
}

.px-190 {
  width: 190px !important;
}

.px-195 {
  width: 195px !important;
}

.px-200 {
  width: 200px !important;
}

.px-205 {
  width: 205px !important;
}

.px-210 {
  width: 210px !important;
}

.px-215 {
  width: 215px !important;
}

.px-220 {
  width: 220px !important;
}

.px-225 {
  width: 225px !important;
}

/* SPのみ表示用クラス */
.only-sp {
  display: none !important;
}

/* PCのみ表示用クラス */
/* スクリーンリーダー用非表示クラス */
.only-sr {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* body
-------------------------------------*/
body.bodyOpen {
  overflow: hidden;
  position: relative;
}

.wrap {
  padding-top: var(--headerHgt);
}

/* header
-------------------------------------*/
.header {
  border-bottom: 1px solid #D9D9D9;
  background: white;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 120;
}
@media only screen and (min-width: 1000px) {
  .header {
    width: 100%;
  }
}
.header .header__inner {
  background: white;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 0 0 20px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 960px;
}
@media only screen and (min-width: 1040px) {
  .header .header__inner {
    padding: 0 0 0 40px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
  }
}
.header .header__logo {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header .header__logo img {
  max-width: 16vw;
}
@media only screen and (min-width: 1040px) {
  .header .header__logo img {
    max-width: 245px;
  }
}
.header .header__logo > h1,
.header .header__logo > div {
  display: inline-block;
  margin: 0;
}
.header #nav-toggle {
  border: none;
  width: 58px;
  height: 58px;
  cursor: pointer;
  z-index: 101;
  background: #1CB3C8;
  position: relative;
  display: none;
}
.header #nav-toggle div span:nth-child(1), .header #nav-toggle div span:nth-child(2), .header #nav-toggle div span:nth-child(3) {
  display: block;
  position: absolute;
  height: 3px;
  width: 28px;
  background: white;
  border-radius: 5px;
  right: 15px;
  -webkit-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
}
.header #nav-toggle div span:nth-child(1) {
  top: 14px;
}
.header #nav-toggle div span:nth-child(2) {
  top: 23px;
  width: 20px;
}
.header #nav-toggle div span:nth-child(3) {
  top: 32px;
  width: 12px;
}
.header #nav-toggle div span:nth-child(4) {
  position: absolute;
  display: inline-block;
  bottom: 6px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-style: normal;
  font-weight: 600;
  font-size: 10px;
  line-height: 1.5;
  text-align: center;
  color: #FFFFFF;
}
.header .globalNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
.header .globalNav__bg {
  display: none;
}
.header .globalNav nav {
  height: 100%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.header .globalNav nav > ul {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
}
.header .globalNav nav > ul > li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header .globalNav nav > ul > li br {
  display: none;
}
.header .globalNav nav > ul > li:hover a {
  color: #1CB3C8;
}
.header .globalNav nav > ul > li > a {
  display: block;
  /* padding: 25px 35px 37px; */
  text-decoration: none;
  color: #000;
  font-size: 14px;
  font-weight: bold;
}
.header .globalNav nav > ul > li > div.nest-1 {
  width: 100%;
  list-style: none;
  background: #fff;
  text-align: center;
  position: absolute;
  position: fixed;
  top: 80px;
  left: 0;
  z-index: 9999;
  display: none;
  width: 100vw;
  padding-right: 20px;
}
@media only screen and (min-width: 1000px) {
  .header .globalNav nav > ul > li > div.nest-1 {
    width: 100vw;
    padding-right: 0;
  }
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__inner {
  margin: 0 auto;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  padding: 40px 40px 60px;
  max-width: 1000px;
  min-width: 1000px;
  min-width: 0;
  box-sizing: content-box;
}
@media only screen and (min-width: 1040px) {
  .header .globalNav nav > ul > li > div.nest-1 .nest-1__inner {
    min-width: 1000px;
  }
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__inner::before,
.header .globalNav nav > ul > li > div.nest-1 .nest-1__inner::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__inner::before {
  left: 1px;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__inner::after {
  right: 1px;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__head {
  max-width: 242px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__title {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
  border-bottom: 5px solid #1CB3C8;
  padding-bottom: 15px;
  position: relative;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__title:before, .header .globalNav nav > ul > li > div.nest-1 .nest-1__title:after {
  content: "";
  display: block;
  width: 35px;
  height: 35px;
  position: absolute;
  right: 15px;
  top: 50%;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__title:before {
  background-image: url('data:image/svg+xml,<svg width="35" height="35" viewBox="0 0 35 35" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_339_903)"><path d="M18.9579 12L24 17.0454M24 17.0454L18.9579 22.0876M24 17.0454L11.1665 17.0453" stroke="%231CB3C8" stroke-width="2" stroke-linejoin="round"/></g><defs><clipPath id="clip0_339_903"><rect width="15" height="12" fill="white" transform="translate(10 11)"/></clipPath></defs></svg>');
  background-size: cover;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__title:after {
  border: solid 2px #1CB3C8;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__title span {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__title span:first-child {
  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  color: #999999;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__title span:last-child {
  font-style: normal;
  font-weight: 700;
  font-size: 18px;
  line-height: 29px;
  color: #000000;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__title:hover:after {
  -webkit-transform: translateY(-50%) scale(1.2);
          transform: translateY(-50%) scale(1.2);
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__title:hover span {
  color: #1CB3C8;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__body {
  max-width: 680px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media only screen and (max-width: 999px) {
  .header .globalNav nav > ul > li > div.nest-1 .nest-1__body {
    max-width: 50vw;
  }
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__body ul {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 25px 1fr 25px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 25px;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__body ul li a {
  text-decoration: none;
  font-style: normal;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5714285714;
  text-align: center;
  color: #000000;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__body ul li a span {
  display: inline-block;
  overflow: hidden;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__body ul li a span:not(:has(img)) {
  display: inline-block;
  padding-right: 26px;
  background-repeat: no-repeat;
  background-size: 18px auto;
  background-position: right center;
  background-image: url('data:image/svg+xml,<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="9" cy="9" r="9" fill="%231CB3C8"/><path d="M8.05273 6.63159L10.4212 9.00001L8.05273 11.3684" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__body ul li a span:has(img) {
  margin-bottom: 10px;
  position: relative;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__body ul li a span:has(img):before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  z-index: 1;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__body ul li a span:has(img) img {
  max-width: 100%;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  position: relative;
  z-index: 0;
  vertical-align: bottom;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__body ul li a:hover {
  color: #1CB3C8;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__body ul li a:hover span:has(img):before {
  opacity: 1;
}
.header .globalNav nav > ul > li > div.nest-1 .nest-1__body ul li a:hover span:has(img) img {
  -webkit-transform: scale(105%);
          transform: scale(105%);
}
.header .globalNav nav > ul > li > div.nest-1 > li {
  display: inline-block;
  padding: 0 20px;
}
.header .globalNav nav > ul > li > div.nest-1 > li > a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: normal;
}
.header .globalNav nav > ul > li > div.nest-1 > li > a:hover {
  text-decoration: underline;
}
.header .globalNav nav > ul > li:has(.nest-1) > a {
  padding-right: 17px;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 9px auto;
  background-image: url('data:image/svg+xml,<svg width="11" height="8" viewBox="0 0 11 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10 1.5L5.5 6.5L1 1.5" stroke="%231CB3C8" stroke-width="2" stroke-linejoin="round"/></svg>');
}
.header .globalNav nav > ul > li:has(.nest-1):hover div.nest-1 {
  max-height: 100vh;
}
.header__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.header__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
  min-width: 120px;
  min-height: 80px;
  text-decoration: none;
  color: white;
  background: #1CB3C8;
  padding: 15px 10px 10px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.header__btn:hover {
  background: #007899;
}
.header__btn span {
  font-style: normal;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}
.header__subNav {
  margin-top: 40px;
  text-align: left;
  display: none;
}
.header__subNav > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
.header__subNav > ul > li > a {
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 120%;
  color: #000000;
  text-decoration: none;
  padding-left: 17px;
  position: relative;
}
.header__subNav > ul > li > a:before {
  content: "";
  display: block;
  width: 8px;
  height: 1px;
  background: #D9D9D9;
  position: absolute;
  top: 0.6em;
  left: 0;
}
.header.is-fixed .header__btn {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 4px;
  padding: 18px 10px;
  min-height: 60px;
}
.header.is-fixed .header__btn img {
  width: 18px;
}
.header.is-fixed .globalNav nav > ul > li > div.nest-1 {
  top: 60px;
}

/* footer
-------------------------------------*/
.footer__inner {
  margin: 0 auto;
  padding: 0 20px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  max-width: 960px;
}
@media only screen and (min-width: 1000px) {
  .footer__inner {
    max-width: 1000px;
  }
}
.footer__primary {
  padding: 60px 0 40px;
  border-bottom: 1px solid #D9D9D9;
  border-top: 1px solid #D9D9D9;
}
.footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 58px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.footer__nav a {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.footer__nav a:hover {
  color: #1CB3C8;
}
.footer__nav > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
.footer__nav > ul > li > a {
  font-weight: 700;
  font-size: 16px;
  line-height: 120%;
  color: #000000;
  text-decoration: none;
  position: relative;
  padding-left: 14px;
}
.footer__nav > ul > li > a:before {
  content: "";
  display: block;
  width: 6px;
  height: 1em;
  background-repeat: no-repeat;
  background-size: 6px auto;
  background-position: center center;
  background-image: url('data:image/svg+xml,<svg width="6" height="9" viewBox="0 0 6 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.75 1L4.75 4.5L0.75 8" stroke="%231CB3C8" stroke-width="2" stroke-linejoin="round"/></svg>');
  position: absolute;
  top: 0.65em;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.footer__nav > ul > li > ul {
  padding-left: 12px;
  padding-top: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
.footer__nav > ul > li > ul > li > a {
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  line-height: 120%;
  color: #595757;
  display: inline-block;
  position: relative;
  padding-left: 12px;
}
.footer__nav > ul > li > ul > li > a:before {
  content: "";
  display: block;
  width: 6px;
  height: 1px;
  background: #1CB3C8;
  position: absolute;
  top: 0.5em;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.footer__secondary {
  padding: 42px 0 122px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.footer__subNav > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.footer__subNav > ul > li {
  font-weight: 500;
  font-size: 12px;
  line-height: 120%;
}
.footer__subNav > ul > li:not(:last-child) {
  margin-right: 16px;
  padding-right: 16px;
  border-right: 1px solid #D9D9D9;
}
.footer__subNav > ul > li a {
  text-decoration: none;
  color: #000000;
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.footer__subNav > ul > li a:hover {
  opacity: 0.55;
}
.footer__ssl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
}
.footer__licenses {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
.footer__secure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 400;
  font-size: 12px;
  line-height: 140%;
  color: #595757;
}
.footer__secure div {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  letter-spacing: 0.08em;
}
.footer__tertiary {
  padding: 10px 0 30px;
}
.footer__copy > span {
  display: block;
}
.footer__copy > span:first-child {
  font-weight: 500;
  font-size: 12px;
  line-height: 1.5833333333;
  color: #595757;
  margin-bottom: 4px;
}
.footer__copy > span:last-child {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5714285714;
}

/* 上に戻るボタン
--------------------------------*/
#pageTop {
  position: fixed;
  bottom: 30px;
  right: 40px;
  z-index: 10;
}
#pageTop a {
  display: block;
  width: 50px;
  height: 50px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 25px auto;
  background-image: url('data:image/svg+xml,<svg width="27" height="15" viewBox="0 0 27 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 14L13.5 1L26 14" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-color: #1CB3C8;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
#pageTop a:hover {
  opacity: 0.7;
}

/* パンくずリスト
---------------------------------------*/
.topic-path {
  max-width: 1000px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  padding: 0 20px;
  margin: 20px auto 100px;
}
.topic-path li {
  display: inline-block;
  margin: 0;
  font-size: 14px;
}
.topic-path li:not(:last-child) {
  padding-right: 30px;
  position: relative;
}
.topic-path li:not(:last-child):after {
  content: "";
  display: block;
  width: 6px;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  background-image: url('data:image/svg+xml,<svg width="7" height="12" viewBox="0 0 7 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1.5L6 6L1 10.5" stroke="%23595757" stroke-width="2" stroke-linejoin="round"/></svg>');
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translate(50%, -60%);
          transform: translate(50%, -60%);
}
.topic-path li:last-child {
  font-weight: bold;
  color: #1CB3C8;
}
.topic-path li a {
  text-decoration: underline;
  color: #595757;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.topic-path li a:hover {
  color: #1CB3C8;
}

/*  セクション
-------------------------------------*/
.section:last-of-type {
  margin-bottom: 200px;
}
.section__inner {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin: 0 auto;
  padding: 0 20px;
  max-width: 960px;
}
@media only screen and (min-width: 1000px) {
  .section__inner {
    max-width: 1000px;
  }
}
.section__inner > *:last-child {
  margin-bottom: 0;
}

/*  カラム
-------------------------------------*/
.row01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  grid-row-gap: 60px;
  grid-column-gap: 32px;
  margin-bottom: 80px;
}
.row01__col > *:last-child {
  margin-bottom: 0;
}
.row01__col.--col1 {
  width: calc(8.3333333333% - 29.3333333333px);
}
.row01__col.--col2 {
  width: calc(16.6666666667% - 26.6666666667px);
}
.row01__col.--col3 {
  width: calc(25% - 24px);
}
.row01__col.--col4 {
  width: calc(33.3333333333% - 21.3333333333px);
}
.row01__col.--col5 {
  width: calc(41.6666666667% - 18.6666666667px);
}
.row01__col.--col6 {
  width: calc(50% - 16px);
}
.row01__col.--col7 {
  width: calc(58.3333333333% - 13.3333333333px);
}
.row01__col.--col8 {
  width: calc(66.6666666667% - 10.6666666667px);
}
.row01__col.--col9 {
  width: calc(75% - 8px);
}
.row01__col.--col10 {
  width: calc(83.3333333333% - 5.3333333333px);
}
.row01__col.--col11 {
  width: calc(91.6666666667% - 2.6666666667px);
}
.row01__col.--col12 {
  width: calc(100% - 0px);
}

/* headng styles
--------------------------------*/
[class^=hdg-1] {
  text-align: center;
  line-height: 1;
  color: #fff;
}

.hdg-1 {
  font-size: 80px;
  line-height: 1;
}
.hdg-1__em {
  color: #1CB3C8;
}
.hdg-1__small {
  font-size: 60px;
  line-height: 1;
  position: relative;
  top: -0.15em;
  display: inline-block;
}

.hdg-1_2 {
  font-size: 50px;
}

.hdg-1_3 {
  color: #1CB3C8;
  font-size: 28px;
}

[class^=hdg-2], [class^=hdg-3], [class^=hdg-5] {
  display: inline-block;
  position: relative;
  z-index: 1;
}

.hdg-2 {
  padding-bottom: 10px;
  color: #1CB3C8;
  font-size: 30px;
  font-weight: normal;
  border-bottom: 5px solid #1CB3C8;
}

.hdg-2_2 {
  font-size: 30px;
}

.hdg-3 {
  margin-top: 15px;
  line-height: 1.4;
  color: #000;
  font-size: 26px;
}

.hdg-3_2 {
  color: #000;
  font-size: 28px;
  padding-bottom: 10px;
  border-bottom: 5px solid #1CB3C8;
}

[class^=hdg-4] {
  width: 100%;
  font-size: 20px;
  border-bottom: 1px solid #1CB3C8;
}

.hdg-4 {
  padding-bottom: 10px;
}

.hdg-4_2 {
  padding: 0 0 10px 40px;
}

.hdg-5 {
  padding: 10px 0 10px 20px;
  font-size: 20px;
  border-left: 3px solid #1CB3C8;
}

.hdg-6 {
  display: inline-block;
  font-size: 22px;
}

.hdg-7 {
  font-size: 26px;
}

/* paragraph styles
--------------------------------*/
.txt_lead-1 {
  color: #fff;
  font-weight: 500;
  font-size: 17px;
  line-height: 160%;
}

.txt_lead-2 {
  line-height: 1.5;
  font-size: 16px;
  font-weight: normal;
}

/* btn styles
--------------------------------*/
[class^=btn-] a {
  display: block;
  padding: 10px 0;
  text-align: center;
  text-decoration: none;
  font-size: 20px;
  font-weight: bold;
}

.btn-1 a {
  color: #fff;
  border: 1px solid #fff;
}
.btn-1 a:hover {
  border: 1px solid #000;
  background: #fff;
  color: #000;
}

.btn-2 a {
  color: #000;
  border: 1px solid #000;
}
.btn-2 a:hover {
  background: #000;
  color: #fff;
}

.btn-3 {
  margin: 20px auto 70px;
  max-width: 220px;
}
.btn-3 a {
  color: #000;
  border: 1px solid #000;
  font-size: 15px;
  font-weight: normal;
}
.btn-3 a:hover {
  background: #000;
  color: #fff;
}

/* トップメインビジュアル
---------------------------------------*/
.mv {
  margin: 0 auto;
  min-width: 1000px;
}
.mv .flexslider:after {
  content: "●";
  color: #54DCEF;
  font-size: 17px;
  position: absolute;
  bottom: -10px;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.mv ul li {
  position: relative;
}
.mv .mv_ph {
  /* min-width: 1400px; */
  max-height: 812px;
}
.mv .mv_caption {
  width: 50%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.mv .mv_caption p {
  padding: 40px 105px 0;
  line-height: 1.6;
  text-shadow: 0 0 15px #000, 0 0 15px #000;
}

/* ニュースリスト
---------------------------------------*/
.news-list {
  width: 900px;
  margin: 50px auto;
  position: relative;
  z-index: 1;
}
.news-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 16px;
}
.news-list ul li {
  margin-bottom: 15px;
  padding-bottom: 15px;
}
.news-list ul li > * {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  text-decoration: none;
  color: #000;
}
.news-list ul li > *:not(.news-list ul li > * span):hover {
  opacity: 0.7;
}
.news-list ul li:not(:last-child) {
  border-bottom: 1px solid #dfdfdf;
}
.news-list ul li time {
  width: 15%;
}
.news-list ul li p {
  width: 85%;
  line-height: 1.5;
}

/* ニュースセクション
---------------------------------------*/
.news-section {
  margin: 0 20px;
}
.news-section .inner {
  width: 100%;
  max-width: 1000px;
  margin: 80px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.news-section h3 {
  margin-right: 50px;
}
.news-section h3 a {
  text-decoration: none;
  color: #1CB3C8;
}
.news-section h3 a:hover {
  opacity: 0.7;
}
.news-section .news-bl {
  width: 100%;
}
.news-section .news-bl .news-desc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 16px;
}
.news-section .news-bl .news-desc li {
  margin-bottom: 15px;
  padding-left: 10px;
  padding-bottom: 15px;
}
.news-section .news-bl .news-desc li:not(:last-child) {
  border-bottom: 1px solid #dfdfdf;
}
.news-section .news-bl .news-desc li > * {
  text-decoration: none;
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.news-section .news-bl .news-desc li > *:not(.news-section .news-bl .news-desc li > * span):hover {
  opacity: 0.7;
}
.news-section .news-bl .news-desc li > * time {
  width: 17%;
}
.news-section .news-bl .news-desc li > * p {
  line-height: 1.5;
  width: 83%;
}

/* トップコンテンツ
---------------------------------------*/
.top_contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  /* min-width: 1000px; */
  margin: 50px auto 0;
  position: relative;
}
.top_contents:after {
  content: "●";
  color: #1CB3C8;
  font-size: 17px;
  position: absolute;
  top: -10px;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: 10;
}
.top_contents__col {
  text-align: center;
  color: #fff;
  position: relative;
  padding: 93px 11%;
  width: 50%;
}
.top_contents__col:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.top_contents__col h3,
.top_contents__col p,
.top_contents__col [class^=btn] {
  position: relative;
  z-index: 10;
}
.top_contents__col p {
  margin-top: 20px;
  text-align: left;
  font-weight: lighter;
}
.top_contents__col.--col1 {
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
  min-height: 536px;
  width: 100%;
}
.top_contents__col.--col1 h3 {
  margin-top: 40px;
}
.top_contents__col.--col1 p {
  margin: 35px 30.5% 30px;
  text-align: left;
}
.top_contents__col.--col1 .btn-1 {
  margin: 0 33%;
}
.top_contents__col.--col2 {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  min-height: 465px;
}
.top_contents__col.--col2 h3 {
  margin-top: 0;
}
.top_contents__col.--col2 .btn-1 {
  margin: 35px 30px 0;
}
.top_contents__col.solution {
  background: url(../images/top/ph_01.jpg) no-repeat top center/cover;
}
.top_contents__col.solution:before {
  background: rgba(28, 179, 200, 0.75);
}
.top_contents__col.partner {
  background: url(../images/top/ph_02.jpg) no-repeat top center/cover;
}
.top_contents__col.partner:before {
  background: rgba(0, 160, 81, 0.75);
}
.top_contents__col.engineer {
  background: url(../images/top/ph_03.jpg) no-repeat top center/cover;
}
.top_contents__col.engineer:before {
  background: rgba(145, 172, 12, 0.65);
}
.top_contents__col.recruit {
  background: url(../images/top/ph_04.jpg) no-repeat top center/cover;
  color: #000;
}
.top_contents__col.recruit:before {
  background: rgba(255, 255, 255, 0.7);
}
.top_contents__col.recruit .btn-1 a {
  color: #000;
  border: 1px solid #000;
}
.top_contents__col.recruit .btn-1 a:hover {
  background: #000;
  color: #fff;
  border: 1px solid #fff;
}

/* 下層キービジュアル
---------------------------------------*/
.hdg-box {
  width: 100%;
  display: table;
  padding-top: 30px;
  background: -webkit-gradient(linear, left top, right top, from(#B7D332), color-stop(50%, #B7D332), color-stop(50%, #1CB3C8), to(#1CB3C8));
  background: linear-gradient(to right, #B7D332 0%, #B7D332 50%, #1CB3C8 50%, #1CB3C8 100%);
}
.hdg-box__inner {
  width: 100%;
  color: #FFFFFF;
  text-align: center;
  padding: 100px 0;
  height: 234px;
  display: table-cell;
  vertical-align: middle;
  position: relative;
  background-color: #1CB3C8;
  background-size: cover;
  background-position: bottom;
}
.hdg-box__inner.--solution {
  background-image: url(../images/solution/bg.jpg);
}
.hdg-box__inner * {
  position: relative;
}
.hdg-box__inner > h1 + p {
  max-width: 700px;
  margin: 40px auto 0;
  text-align: left;
  line-height: 1.8;
  font-size: 18px;
}
.hdg-box__inner > p {
  max-width: 700px;
  margin: 0 auto;
  text-align: left;
  line-height: 1.8;
  font-size: 18px;
}
.hdg-box__inner:before {
  background-color: rgba(28, 179, 200, 0.8);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  height: 100%;
}
.hdg-box__inner:after {
  background-color: #1CB3C8;
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  content: "";
  z-index: 2;
}
.hdg-box__title {
  font-size: 30px;
}

/*  カテゴリトップ用インデックスボックス
-------------------------------------*/
.indexBox01 {
  text-decoration: none;
}
.indexBox01__figure {
  margin-bottom: 15px;
  overflow: hidden;
  position: relative;
}
.indexBox01__figure::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.indexBox01__figure img {
  width: 100%;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  position: relative;
  z-index: 0;
}
.indexBox01__text {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.625;
  color: #000000;
  position: relative;
  padding-bottom: 15px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.indexBox01__text:before, .indexBox01__text:after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #D9D9D9;
}
.indexBox01__text:after {
  width: 20px;
  background: #1CB3C8;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.indexBox01__text > span {
  display: block;
  background-repeat: no-repeat;
  background-size: 14px auto;
  background-position: right 10px center;
  background-image: url('data:image/svg+xml,<svg width="14" height="12" viewBox="0 0 14 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.95801 0.956212L13.0001 6.00163L7.95801 11.0438" stroke="%231CB3C8" stroke-width="2" stroke-linejoin="round"/><path d="M13.0003 6.00153L0.166992 6.00153" stroke="%231CB3C8" stroke-width="2" stroke-linejoin="round"/></svg>');
}
.indexBox01:hover .indexBox01__figure:before {
  opacity: 1;
}
.indexBox01:hover .indexBox01__figure img {
  -webkit-transform: scale(103.9487179487%);
          transform: scale(103.9487179487%);
}
.indexBox01:hover .indexBox01__text {
  color: #1CB3C8;
}
.indexBox01:hover .indexBox01__text:after {
  width: 100%;
}