@charset "UTF-8";
/* ==========================================================================
	transition
========================================================================== */
/* ==========================================================================
	行数でトリミング
========================================================================== */
/* ==========================================================================
	コンテナクエリ
========================================================================== */
:root {
  --base-max-width:1920;
  --base-pc-width:1500;
  --base-sp-width:400;
  --vwPC: calc(100vw / 1500);
  --vwSP: calc(100vw / 400);
  --easeInQuad:cubic-bezier(.55, .085, .68, .53);
  --easeInQuint:cubic-bezier(0.0, 0, 0.99, 0);
  --easeOutQuad:cubic-bezier(0.23, 1, 0.32, 1);
  --easeOutQuint:cubic-bezier(.25, .46, .45, .94);
  --easeOutSine:cubic-bezier(0.39, 0.575, 0.565, 1);
  --easeOutCubic:cubic-bezier(0.215, 0.61, 0.355, 1);
  --easeInOutQuad:cubic-bezier(0.45, 0, 0.55, 1);
  --easeInOutCubic:cubic-bezier(0.65, 0, 0.35, 1);
  --easePopUp:cubic-bezier(0.17, 0.88, 0.30, 1.28);
  --easeInCirc:cubic-bezier(0.55, 0, 1, 0.45);
  --theme-color:#b93937;
  --base-text-color:#29221f;
  --base-text-color02:#1e525a;
  --base-text-color03:#383838;
  --base-text-color04:#3a3939;
  --base-bg-color:#e8ebed;
  --base-bg-color02:#fafcfd;
  --base-bg-color03:#c3ced5;
  --base-bg-color04:#f5f5f5;
  --base-bg-color05:#c5fcfd;
  --base-bg-color06:#e6f0f2;
  --base-bg-color07:#f1f1f1;
  --base-bg-color08:#f6f6f6;
  --base-bg-color09:#eee;
  --base-bg-color10:#c9d9dc;
  --base-bg-color11:#b9fbfc;
  --base-bg-color12:#0c405b;
  --base-color-green:#32929e;
  --base-color-green02:#9dd1d0;
  --base-color-green03:#2c6c76;
  --base-color-green04:#2c6c76;
  --base-color-green05:#309c9d;
  --base-color-green06:#207372;
  --base-color-green07:#27989b;
  --base-color-green08:#4eb0b2;
  --base-color-green09:#2b9594;
  --base-color-green10:#5eb195;
  --base-color-green11:#cbedef;
  --base-color-green12:#d7f1f1;
  --base-color-green13:#3da4a3;
  --base-color-green14:#58a783;
  --base-color-green15:#206e81;
  --base-color-wood:#6d240e;
  --base-color-blue:#14a5b6;
  --base-color-blue02:#32a4ab;
  --base-color-blue03:#37a9af;
  --base-color-mizu:#00b4b2;
  --base-color-orange:#e78a14;
  --base-color-black:#29221f;
  --base-color-black02:#131313;
  --base-color-white:#fff;
  --base-color-white02:#f1f3f4;
  --base-color-gray:#888;
  --base-color-gray02:#777;
  --base-color-gray03:#8a979f;
  --base-color-gray04:#e5e5e5;
  --base-color-gray05:#a4a4a4;
  --base-color-gray06:#ccc;
  --base-color-gray07:#b4c0c8;
  --base-color-gray08:#e4e4e4;
  --base-color-gray09:#a7a7a7;
  --base-color-gold:#977f4b;
  --base-color-silver:#97a4ad;
  --base-color-bronze:#664e1a;
  --base-border-color:#000;
  --base-border-color02:#d2d2d2;
  --base-border-color03:#a8a9a8;
  --base-border-color04:#d3d9dd;
  --base-border-color05:#eaeaea;
  --base-border-color06:#ddd;
  --base-border-color07:#e6e6e6;
  --base-border-color08:#188383;
  --base-border-color09:#1c0604;
  --base-shadow-color:#ade2e3;
  --base-color-uchi:#c13e02;
  --base-color-soto:#32a4ab;
  --base-btn-color01:#1f858b;
  --base-btn-color01-hv:#136a80;
  --base-btn-color02:#c93c02;
  --base-btn-color02-hv:#a22200;
  --base-btn-color03:#3da4a3;
  --base-btn-color01-hv:#137a80;
  --base-bubble-bg:#dbe2e2;
  --base-bubble-bg02:#cff0f1;
  --base-bubble-bg03:#a8c4c4;
  --hanten:scale(-1, -1);
  --hantenX:scale(-1, 1);
  --hantenY:scaleY(-1);
  --transition-scale:transform 0.8s var(--easeOutCubic);
  --en: "Marcellus", sans-serif;
  --gothic: "Zen Kaku Gothic New","Zen Kaku Gothic Antique",sans-serif;
  --line-seed:"LINE Seed JP", sans-serif;
  --delay: 0s;
}

:root {
  --head-mt:100px;
}

@media screen and (max-width: 800px) {
  :root {
    --head-mt:80px;
  }
}
@media screen and (min-width: 801px) {
  :root {
    --vwPC: calc(100vw / 1500);
    --fz8: max(.8rem, 8px);
    --fz9: max(.9rem, 9px);
    --fz10: max(1rem, 9px);
    --fz11: max(1.1rem, 10px);
    --fz12: max(1.2rem, 11px);
    --fz13: max(1.3rem, 12px);
    --fz14: max(1.4rem, 12px);
    --fz15: max(1.5rem, 13px);
    --fz16: max(1.6rem, 14px);
    --fz17: max(1.7rem, 15px);
    --fz18: max(1.8rem, 16px);
    --fz19: max(1.9rem, 17px);
    --fz20: max(2.0rem, 18px);
    --fz21: max(2.1rem, 18px);
    --fz22: max(2.2rem, 18px);
    --fz23: max(2.3rem, 20px);
    --fz24: max(2.4rem, 20px);
    --fz25: max(2.5rem, 21px);
    --fz26: max(2.6rem, 22px);
    --fz27: max(2.7rem, 23px);
    --fz28: max(2.8rem, 24px);
    --fz29: max(2.9rem, 25px);
    --fz30: max(3rem, 26px);
    --fz32: max(3.2rem, 28px);
    --fz33: max(3.3rem, 29px);
    --fz34: max(3.4rem, 30px);
    --fz35: max(3.5rem, 31px);
    --fz36: max(3.6rem, 32px);
    --fz37: max(3.7rem, 33px);
    --fz38: max(3.8rem, 34px);
    --fz39: max(3.9rem, 35px);
    --fz40: max(4rem, 36px);
    --fz41: max(4.1rem, 37px);
    --fz42: max(4.2rem, 38px);
    --fz44: max(4.4rem, 40px);
    --fz45: max(4.5rem, 41px);
    --fz46: max(4.6rem, 42px);
    --fz48: max(4.8rem, 44px);
    --fz50: max(5rem, 48px);
    --fz52: max(5.2rem, 48px);
    --fz54: max(5.4rem, 50px);
    --fz55: max(5.5rem, 51px);
    --fz56: max(5.6rem, 52px);
    --fz58: max(5.8rem, 54px);
    --fz59: max(5.9rem, 55px);
    --fz60: max(6rem, 56px);
    --fz64: max(6.4rem, 60px);
    --fz72: max(7.2rem, 68px);
    --fz78: max(7.8rem, 74px);
    --fz96: max(9.6rem, 90px);
  }
}
@media screen and (max-width: 800px) {
  :root {
    --vwSP: calc(100vw / 400);
    --fz6: clamp(.6rem, calc(6 * var(--vwSP)), .8rem);
    --fz7: clamp(.7rem, calc(7 * var(--vwSP)), .9rem);
    --fz8: clamp(.8rem, calc(8 * var(--vwSP)), 1rem);
    --fz9: clamp(.9rem, calc(9 * var(--vwSP)), 1.1rem);
    --fz10: clamp(1rem, calc(10 * var(--vwSP)), 1.2rem);
    --fz11: clamp(1.1rem, calc(11 * var(--vwSP)), 1.3rem);
    --fz12: clamp(1.2rem, calc(12 * var(--vwSP)), 1.4rem);
    --fz13: clamp(1.3rem, calc(13 * var(--vwSP)), 1.4rem);
    --fz14: clamp(1.4rem, calc(14 * var(--vwSP)), 1.6rem);
    --fz15: clamp(1.5rem, calc(15 * var(--vwSP)), 1.7rem);
    --fz16: clamp(1.6rem, calc(16 * var(--vwSP)), 1.8rem);
    --fz17: clamp(1.7rem, calc(17 * var(--vwSP)), 1.9rem);
    --fz18: clamp(1.8rem, calc(18 * var(--vwSP)), 2rem);
    --fz19: clamp(1.9rem, calc(19 * var(--vwSP)), 2.1rem);
    --fz20: clamp(2rem, calc(20 * var(--vwSP)), 2.2rem);
    --fz21: clamp(2.1rem, calc(21 * var(--vwSP)), 2.3rem);
    --fz22: clamp(2.2rem, calc(22 * var(--vwSP)), 2.4rem);
    --fz23: clamp(2.3rem, calc(23 * var(--vwSP)), 2.5rem);
    --fz24: clamp(2.4rem, calc(24 * var(--vwSP)), 2.6rem);
    --fz25: clamp(2.5rem, calc(25 * var(--vwSP)), 2.7rem);
    --fz26: clamp(2.6rem, calc(26 * var(--vwSP)), 2.8rem);
    --fz27: clamp(2.7rem, calc(27 * var(--vwSP)), 2.9rem);
    --fz28: clamp(2.8rem, calc(28 * var(--vwSP)), 3rem);
    --fz30: clamp(3rem, calc(30 * var(--vwSP)), 3.2rem);
    --fz31: clamp(3.1rem, calc(31 * var(--vwSP)), 3.3rem);
    --fz32: clamp(3.2rem, calc(32 * var(--vwSP)), 3.5rem);
    --fz33: clamp(3.3rem, calc(33 * var(--vwSP)), 3.5rem);
    --fz34: clamp(3.4rem, calc(34 * var(--vwSP)), 3.7rem);
    --fz35: clamp(3.5rem, calc(35 * var(--vwSP)), 3.9rem);
    --fz37: clamp(3.7rem, calc(37 * var(--vwSP)), 4.1rem);
    --fz36: clamp(3.6rem, calc(36 * var(--vwSP)), 4rem);
    --fz38: clamp(3.8rem, calc(38 * var(--vwSP)), 4.2rem);
    --fz40: clamp(4rem, calc(40 * var(--vwSP)), 4.4rem);
    --fz42: clamp(4.2rem, calc(42 * var(--vwSP)), 4.6rem);
    --fz44: clamp(4.4rem, calc(44 * var(--vwSP)), 4.8rem);
    --fz45: clamp(4.5rem, calc(45 * var(--vwSP)), 4.9rem);
    --fz47: clamp(4.7rem, calc(47 * var(--vwSP)), 5.1rem);
    --fz48: clamp(4.8rem, calc(48 * var(--vwSP)), 5.2rem);
    --fz49: clamp(4.9rem, calc(49 * var(--vwSP)), 5.3rem);
    --fz51: clamp(5.1rem, calc(51 * var(--vwSP)), 5.6rem);
    --fz56: clamp(5.6rem, calc(56 * var(--vwSP)), 6rem);
    --fz64: clamp(6.4rem, calc(64 * var(--vwSP)), 6.8rem);
  }
}
/* ==========================================================================
	fv
========================================================================== */
.fv {
  position: relative;
  padding-top: var(--head-mt);
}
.fv .inr h1 {
  width: 12.7083333333%;
  min-width: 183px;
}
@media screen and (max-width: 1050px) {
  .fv .inr h1 {
    width: 30.4054054054%;
    min-width: 112px;
  }
}

/* ==========================================================================
	company-wrap
========================================================================== */
.company-wrap {
  position: relative;
  z-index: 30;
  container-type: inline-size;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(var(--base-bg-color05)));
  background: linear-gradient(to bottom, transparent 0%, var(--base-bg-color05) 100%);
}
.company-wrap .inr {
  position: relative;
  background: var(--base-bg-color06);
}
.company-wrap .inr:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../img/common/bg-pattern.webp);
  background-repeat: repeat;
  background-size: cover;
  opacity: 0.7;
  mix-blend-mode: soft-light;
  pointer-events: none;
  border-radius: 60px;
  z-index: 1;
}
.company-wrap .company-sec {
  position: relative;
  margin-top: 10cqw;
  width: 81.4285714286%;
  margin-inline: auto;
  z-index: 15;
}
.company-wrap .tit_area {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.company-wrap .tit_area .en {
  font-size: max(13px, 1.3333333333cqw);
}
.company-wrap h2 {
  margin-right: 2cqw;
}
.company-wrap .kumo {
  position: absolute;
  z-index: 30;
  -webkit-animation: bird-float 6s ease-in-out infinite;
          animation: bird-float 6s ease-in-out infinite;
}
.company-wrap .-risu {
  width: 14.1333333333%;
  left: 64%;
  bottom: calc(100% - 4cqw);
}
.company-wrap .-kumonchu {
  width: 28.7333333333%;
  left: 71%;
  bottom: calc(100% - 15cqw);
  -webkit-animation-delay: -0.5s;
          animation-delay: -0.5s;
}
.company-wrap .-message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-top: 9.3333333333cqw;
  margin-top: 5.3333333333cqw;
}
.company-wrap .-message h2 {
  width: 19.5333333333cqw;
}
.company-wrap .-message .img_area {
  position: relative;
  width: 45.6140350877%;
  padding-top: 20px;
  padding-right: 20px;
  padding-left: 20px;
  margin-top: 5.3333333333cqw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.company-wrap .-message .img_area:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 20px solid var(--base-color-green09);
  z-index: 20;
}
.company-wrap .-message .img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 960/1320;
}
.company-wrap .-message .img:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 6px solid var(--base-color-green04);
  z-index: 20;
}
.company-wrap .-message .risu {
  position: absolute;
  width: 15cqw;
  bottom: -2.4cqw;
  left: -6.3333333333cqw;
  z-index: 30;
}
.company-wrap .-message .text_area {
  width: 49.1228070175%;
  margin-top: 5.3333333333cqw;
}
.company-wrap .-message .text_area .n_txt {
  font-size: max(15px, 1.0714285714cqw);
  line-height: 2.4375;
  font-weight: 500;
  letter-spacing: -0.08em;
}
.company-wrap .-message .text_area .r_txt {
  display: block;
  text-align: right;
}
.company-wrap .-company {
  position: relative;
}
.company-wrap .-company h2 {
  width: 13cqw;
}
.company-wrap .-company .-kumonchu02 {
  width: 37.8070175439%;
  left: 81.5789473684%;
  top: 0;
  -webkit-animation-delay: -0.5s;
          animation-delay: -0.5s;
  --W:431;
  --H:595;
}
.company-wrap .-company .-kumonchu02:after {
  --bW:207;
  --bT:29;
  --bL:-73;
  --imgURL: url("../img/company/company-kumonchu-sb.png");
  aspect-ratio: 207/68;
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}
.company-wrap .-company .data-list {
  padding: 4cqw 5.3333333333cqw;
  margin-top: 5.3333333333cqw;
}
.company-wrap .-company .data_head, .company-wrap .-company .data_body {
  font-size: max(14px, 1cqw);
  line-height: 2;
  font-weight: 500;
}
.company-wrap .-company .data_row {
  padding: 1.7rem 0;
}
.company-wrap .-company li {
  position: relative;
  font-size: max(15px, 1cqw);
  line-height: 2;
  font-weight: 500;
  padding-left: 1.1333333333cqw;
  letter-spacing: -0.06em;
}
.company-wrap .-company li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8666666667cqw;
  width: 0.5333333333cqw;
  height: 3px;
  border-radius: 3px;
  background: var(--base-btn-color03);
}
.company-wrap .-office {
  position: relative;
  padding-bottom: 12.6666666667cqw;
}
.company-wrap .-office h2 {
  width: 25.8cqw;
}
.company-wrap .-office .duck {
  position: absolute;
  width: 10.7894736842%;
  right: 3.9473684211%;
  top: max(35px, 3.3333333333cqw);
  z-index: 1;
  --W:123;
  --H:140;
}
.company-wrap .-office .duck:after {
  --bW:164;
  --bT:-74;
  --bL:-75;
  --imgURL: url("../img/company/office-duck-sb.png");
  aspect-ratio: 164/65;
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}
.company-wrap .-office ul {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 5.3333333333cqw;
  z-index: 10;
}
.company-wrap .-office li {
  width: 30.7%;
}
.company-wrap .-office .img {
  position: relative;
  width: calc(100% - 10px);
  margin-bottom: 2.3333333333cqw;
}
.company-wrap .-office .img img {
  position: relative;
  z-index: 5;
}
.company-wrap .-office .img:before {
  content: "";
  display: block;
  position: absolute;
  left: 10px;
  top: 10px;
  width: 100%;
  height: 100%;
  background: #d5dee1;
  z-index: 1;
}
.company-wrap .-office .img:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  border: 2px solid var(--base-color-white);
  z-index: 30;
}
.company-wrap .-office h3 {
  font-size: max(17px, 1.2cqw);
  line-height: 1;
  color: var(--base-color-green05);
  font-weight: 500;
  margin-bottom: 1.3333333333cqw;
}
.company-wrap .-office .n_txt {
  font-size: max(13px, 0.9333333333cqw);
  line-height: 1.8571428571;
  margin-bottom: 1.1333333333cqw;
  letter-spacing: -0.05em;
  font-weight: 500;
}
@media screen and (max-width: 1050px) {
  .company-wrap .inr:before {
    border-radius: 30px;
  }
  .company-wrap .company-sec {
    margin-top: 15.7894736842cqw;
    width: 84.2105263158%;
  }
  .company-wrap .tit_area {
    display: block;
    text-align: center;
  }
  .company-wrap .tit_area .en {
    font-size: 3.1578947368cqw;
  }
  .company-wrap h2 {
    margin: 0 auto 3.1578947368cqw;
  }
  .company-wrap .-risu {
    width: 30.2631578947%;
    left: 47.1052631579%;
    bottom: calc(100% + 13.5526315789cqw);
  }
  .company-wrap .-kumonchu {
    width: 68.0263157895%;
    left: 56.5789473684%;
    bottom: calc(100% - 13.1578947368cqw);
  }
  .company-wrap .-message {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-top: 18.4210526316cqw;
  }
  .company-wrap .-message h2 {
    width: 43.8157894737cqw;
  }
  .company-wrap .-message .img_area {
    width: 81.25%;
    padding-top: 10px;
    padding-right: 10px;
    padding-left: 10px;
    margin-top: 9.2105263158cqw;
    margin-inline: auto;
  }
  .company-wrap .-message .img_area:after {
    border-width: 10px;
  }
  .company-wrap .-message .risu {
    width: 29.7368421053cqw;
    bottom: -4.7368421053cqw;
    left: -8.4210526316cqw;
  }
  .company-wrap .-message .text_area {
    width: 100%;
    margin-top: 16.4473684211cqw;
  }
  .company-wrap .-message .text_area .n_txt {
    font-size: min(18px, 3.6842105263cqw);
    line-height: 2.3571428571;
  }
  .company-wrap .-company {
    width: 94.7368421053%;
    margin-top: 61.8421052632cqw;
  }
  .company-wrap .-company h2 {
    width: 29.6052631579cqw;
  }
  .company-wrap .-company .-kumonchu02 {
    width: 71.8055555556%;
    left: auto;
    right: 54.8611111111%;
    top: -44.7368421053cqw;
    z-index: 1;
    --W:259;
    --H:358;
  }
  .company-wrap .-company .-kumonchu02:after {
    --bW:141;
    --bT:18;
    --bL:181;
    --imgURL: url("../img/company/company-kumonchu-sb-sp.png");
    aspect-ratio: 141/49;
    -webkit-transition-delay: 0.4s;
            transition-delay: 0.4s;
  }
  .company-wrap .-company .-kumonchu02 img {
    -webkit-transform: var(--hantenX);
            transform: var(--hantenX);
  }
  .company-wrap .-company .data-list {
    position: relative;
    padding: 10cqw 7.2368421053cqw;
    margin-top: 11.1842105263cqw;
    z-index: 10;
  }
  .company-wrap .-company .data-list .map_link {
    margin-left: 0;
    margin-bottom: 10px;
  }
  .company-wrap .-company .data_row {
    display: block;
    padding: 1.2rem 0;
  }
  .company-wrap .-company .data_head, .company-wrap .-company .data_body {
    font-size: min(17px, 3.6842105263cqw);
    line-height: 2.1428571429;
  }
  .company-wrap .-company li {
    font-size: min(17px, 3.6842105263cqw);
    line-height: 2.1428571429;
    padding-left: 5.2631578947cqw;
  }
  .company-wrap .-company li:before {
    top: 2.6315789474cqw;
    left: 1.5789473684cqw;
    width: 8px;
  }
  .company-wrap .-office {
    padding-bottom: 39.4736842105cqw;
  }
  .company-wrap .-office h2 {
    width: 58.8157894737cqw;
  }
  .company-wrap .-office .duck {
    width: 65.303030303%;
    right: auto;
    left: 62.1212121212%;
    top: auto;
    bottom: -9.2105263158cqw;
    --W:216;
    --H:175;
  }
  .company-wrap .-office .duck:after {
    --bW:121;
    --bT:3;
    --bL:-95;
    --imgURL: url("../img/company/office-duck-sb-sp.png");
    aspect-ratio: 121/49;
    -webkit-transition-delay: 0.4s;
            transition-delay: 0.4s;
  }
  .company-wrap .-office ul {
    display: block;
    margin-top: 10.5263157895cqw;
  }
  .company-wrap .-office li {
    width: 100%;
  }
  .company-wrap .-office li + li {
    margin-top: 13.1578947368cqw;
  }
  .company-wrap .-office .img {
    width: calc(100% - 5px);
    margin-bottom: 6.5789473684cqw;
  }
  .company-wrap .-office .img:before {
    left: 5px;
    top: 5px;
  }
  .company-wrap .-office .img:after {
    border: 1px solid var(--base-color-white);
  }
  .company-wrap .-office h3 {
    font-size: min(24px, 4.2105263158cqw);
    margin-bottom: 2.6315789474cqw;
  }
  .company-wrap .-office .n_txt {
    font-size: min(18px, 3.6842105263cqw);
    line-height: 1.7857142857;
    margin-bottom: 5.2631578947cqw;
  }
}