@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;
  --insta-color-hv:#f7228c;
  --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);
  }
}
/* ==========================================================================
   HTML5 Reset
========================================================================== */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

audio:not([controls]) {
  height: 0;
  display: none;
}

blockquote, q {
  quotes: none;
}

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

/* ==========================================================================
   Base
========================================================================== */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}

html,
button,
input,
select,
textarea {
  font-family: sans-serif;
}

body {
  margin: 0;
  padding: 0;
}

/* ==========================================================================
   Links
========================================================================== */
a:active,
a:hover,
a:focus {
  outline: 0;
}

/* ==========================================================================
   Typography
========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6,
p,
span {
  margin: 0;
  font-size: 100%;
}

b,
strong {
  font-weight: bold;
}

p,
pre {
  margin: 0;
  padding: 0;
}

caption {
  text-align: left;
}

/* ==========================================================================
   Lists
========================================================================== */
dl,
menu,
ol,
ul,
li,
dt,
dd {
  margin: 0;
  padding: 0;
}

ul,
ol {
  list-style: none;
  list-style-image: none;
}

/* ==========================================================================
   Embedded content
========================================================================== */
img {
  border: 0;
  -ms-interpolation-mode: bicubic;
}

svg:not(:root) {
  overflow: hidden;
}

/* ==========================================================================
	Figures
========================================================================== */
figure {
  margin: 0;
}

/* ==========================================================================
	Forms
========================================================================== */
form {
  margin: 0;
  padding: 0;
}

input, textarea {
  margin: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

fieldset {
  border: 0;
}

button,
input,
select,
textarea {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

button,
input {
  line-height: normal;
}

button,
select {
  ext-transform: none;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

input[type=checkbox],
input[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}

input[type=search] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/* ==========================================================================
   Tables
========================================================================== */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td {
  padding: 0;
}

th {
  text-align: left;
}

/* ==========================================================================
	html
========================================================================== */
html.wf-active {
  visibility: visible;
}

html {
  font: normal normal normal 62.5%/1 "Zen Kaku Gothic New", "Zen Kaku Gothic Antique", Hiragino Kaku Gothic Pro, "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "メイリオ", "游ゴシック体", "ＭＳ Ｐゴシック", "Yu Gothic", YuGothic, "Meiryo", メイリオ, "MS PGothic", sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  scroll-behavior: smooth;
  word-break: break-word;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  position: relative;
  margin: 0;
  padding: 0;
  color: var(--base-text-color);
  text-rendering: optimizeLegibility;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-kerning: normal;
  font-kerning: normal;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  letter-spacing: 0;
  font-size: 62.5%;
  scroll-behavior: smooth;
}

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

span {
  font-weight: inherit;
  font-size: inherit;
}

body.nav-open {
  overflow: hidden;
}

/*
	htmlのフォントサイズは、下記のブラウザ幅では62.5%ではなくvwに。
	・1280px ~ 1024px
	・768px ~ 561px
	・375px ~
 */
@media screen and (max-width: 1050px) and (min-width: 801px) {
  html {
    font-size: 1.11111vw;
  }
}
@media screen and (max-width: 800px) and (min-width: 376px) {
  html {
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 430px) and (min-width: 376px) {
  html {
    font-size: 2.659vw;
  }
}
@media screen and (max-width: 375px) {
  html {
    font-size: 2.66667vw;
    /*
    font-size: 3vw;
    */
  }
}
button, input, select, textarea {
  font-family: inherit;
  font-size: 100%;
}

a {
  color: var(--base-text-color);
  text-decoration: none;
  -webkit-transition: all 0.4s var(--easeOutCubic);
  transition: all 0.4s var(--easeOutCubic);
}

a:hover,
.trns:hover {
  -webkit-transition: all 0.4s var(--easeOutCubic);
  transition: all 0.4s var(--easeOutCubic);
}

input,
select,
textarea,
button,
*:before,
*:after {
  -webkit-transition: opacity 0.4s all var(--easeOutQuad);
  -webkit-transition: opacity 0.4s var(--easeOutQuad);
  transition: opacity 0.4s var(--easeOutQuad);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

a:focus,
input:focus,
select:focus,
textarea:focus,
button:focus {
  outline: none;
}

img {
  width: 100%;
  vertical-align: bottom;
  -ms-interpolation-mode: bicubic;
  interpolation-mode: bicubic;
  -webkit-backface-visibility: hidden !important;
}

svg {
  width: 100%;
  height: auto;
}

.svg {
  -o-object-fit: contain;
     object-fit: contain;
  visibility: hidden;
  display: none;
}
.svg.replaced-svg {
  display: block;
  visibility: visible;
}

path {
  -webkit-transition: fill 0.4s var(--easeOutQuad);
  transition: fill 0.4s var(--easeOutQuad);
}

.pc_off {
  display: none !important;
}

.sp_off {
  display: block !important;
}

img.preload {
  display: none;
}

::-moz-selection {
  background: #bae2e5;
}

::selection {
  background: #bae2e5;
}

/* Safari */
::-moz-selection {
  background: #bae2e5;
}

.of-wrap {
  position: relative;
  overflow: clip;
}

@media (min-width: 851px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
.en {
  font-family: "Marcellus", sans-serif;
  font-optical-sizing: auto;
}

/* ==========================================================================
	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;
  --insta-color-hv:#f7228c;
  --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);
  }
}
/* ==========================================================================
	アニメーション
========================================================================== */
/* --------------------------------------------------------------------------
	横から出現
-------------------------------------------------------------------------- */
@-webkit-keyframes box-grow {
  to {
    clip-path: inset(0 0 0 0);
  }
}
@keyframes box-grow {
  to {
    clip-path: inset(0 0 0 0);
  }
}
@-webkit-keyframes cover-wipe {
  to {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
@keyframes cover-wipe {
  to {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
/* --------------------------------------------------------------------------
	スライド関連
-------------------------------------------------------------------------- */
@-webkit-keyframes loop-slide {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes loop-slide {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@-webkit-keyframes loop-slide-rev {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes loop-slide-rev {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes loop-slideY {
  0% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  100% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}
@keyframes loop-slideY {
  0% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  100% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}
@-webkit-keyframes loop-slideY-rev {
  0% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  100% {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@keyframes loop-slideY-rev {
  0% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  100% {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
/* --------------------------------------------------------------------------
	ハンバーガーメニュー
-------------------------------------------------------------------------- */
@-webkit-keyframes hamburger_top {
  0% {
    top: 0;
  }
  50% {
    bottom: 0;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg);
    bottom: 0;
  }
}
@keyframes hamburger_top {
  0% {
    top: 0;
  }
  50% {
    bottom: 0;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg);
    bottom: 0;
  }
}
@-webkit-keyframes hamburger_top_rev {
  0% {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg);
    bottom: 0;
  }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    bottom: 0;
  }
  100% {
    bottom: auto;
    -webkit-transform: rotate(0);
  }
}
@keyframes hamburger_top_rev {
  0% {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg);
    bottom: 0;
  }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    bottom: 0;
  }
  100% {
    bottom: auto;
    -webkit-transform: rotate(0);
  }
}
@-webkit-keyframes hamburger_center {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    top: 0;
  }
  100% {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg);
    top: 0;
  }
}
@keyframes hamburger_center {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    top: 0;
  }
  100% {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg);
    top: 0;
  }
}
@-webkit-keyframes hamburger_center_rev {
  0% {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg);
    top: 0;
  }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    top: 0;
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    top: auto;
  }
}
@keyframes hamburger_center_rev {
  0% {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg);
    top: 0;
  }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    top: 0;
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    top: auto;
  }
}
@-webkit-keyframes hamburger_bottom {
  0% {
    bottom: 0;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    top: 0;
  }
  100% {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg);
    top: 0;
  }
}
@keyframes hamburger_bottom {
  0% {
    bottom: 0;
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    top: 0;
  }
  100% {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg);
    top: 0;
  }
}
@-webkit-keyframes hamburger_bottom_rev {
  0% {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg);
    top: 0;
  }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    top: 0;
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    top: auto;
  }
}
@keyframes hamburger_bottom_rev {
  0% {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg);
    top: 0;
  }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    top: 0;
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    top: auto;
  }
}
@-webkit-keyframes flipY {
  0% {
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg);
  }
  5% {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
  }
  10% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
  100% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}
@keyframes flipY {
  0% {
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg);
  }
  5% {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
  }
  10% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
  100% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}
/* --------------------------------------------------------------------------
	雲
-------------------------------------------------------------------------- */
@-webkit-keyframes cloudFlow {
  0% {
    /* right:0 を基準に、さらに右の画面外へ押し出す */
    -webkit-transform: translate3d(var(--gap), 0, 0);
            transform: translate3d(var(--gap), 0, 0);
  }
  100% {
    /* 雲自身の幅 + gap 分、左へ抜ける */
    -webkit-transform: translate3d(calc(-90vw - 100% - var(--gap)), 0, 0);
            transform: translate3d(calc(-90vw - 100% - var(--gap)), 0, 0);
  }
}
@keyframes cloudFlow {
  0% {
    /* right:0 を基準に、さらに右の画面外へ押し出す */
    -webkit-transform: translate3d(var(--gap), 0, 0);
            transform: translate3d(var(--gap), 0, 0);
  }
  100% {
    /* 雲自身の幅 + gap 分、左へ抜ける */
    -webkit-transform: translate3d(calc(-90vw - 100% - var(--gap)), 0, 0);
            transform: translate3d(calc(-90vw - 100% - var(--gap)), 0, 0);
  }
}
@-webkit-keyframes cloudFloat1 {
  0% {
    -webkit-transform: translate3d(0, 0, 0) rotate(0deg);
            transform: translate3d(0, 0, 0) rotate(0deg);
  }
  25% {
    -webkit-transform: translate3d(10px, -6px, 0) rotate(0.6deg);
            transform: translate3d(10px, -6px, 0) rotate(0.6deg);
  }
  50% {
    -webkit-transform: translate3d(0, -12px, 0) rotate(0deg);
            transform: translate3d(0, -12px, 0) rotate(0deg);
  }
  75% {
    -webkit-transform: translate3d(-10px, -6px, 0) rotate(-0.6deg);
            transform: translate3d(-10px, -6px, 0) rotate(-0.6deg);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0) rotate(0deg);
            transform: translate3d(0, 0, 0) rotate(0deg);
  }
}
@keyframes cloudFloat1 {
  0% {
    -webkit-transform: translate3d(0, 0, 0) rotate(0deg);
            transform: translate3d(0, 0, 0) rotate(0deg);
  }
  25% {
    -webkit-transform: translate3d(10px, -6px, 0) rotate(0.6deg);
            transform: translate3d(10px, -6px, 0) rotate(0.6deg);
  }
  50% {
    -webkit-transform: translate3d(0, -12px, 0) rotate(0deg);
            transform: translate3d(0, -12px, 0) rotate(0deg);
  }
  75% {
    -webkit-transform: translate3d(-10px, -6px, 0) rotate(-0.6deg);
            transform: translate3d(-10px, -6px, 0) rotate(-0.6deg);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0) rotate(0deg);
            transform: translate3d(0, 0, 0) rotate(0deg);
  }
}
@-webkit-keyframes cloudFloat2 {
  0% {
    -webkit-transform: translate3d(-18px, 0, 0);
            transform: translate3d(-18px, 0, 0);
  }
  20% {
    -webkit-transform: translate3d(-6px, -4px, 0);
            transform: translate3d(-6px, -4px, 0);
  }
  40% {
    -webkit-transform: translate3d(6px, -2px, 0);
            transform: translate3d(6px, -2px, 0);
  }
  60% {
    -webkit-transform: translate3d(14px, 3px, 0);
            transform: translate3d(14px, 3px, 0);
  }
  80% {
    -webkit-transform: translate3d(4px, 6px, 0);
            transform: translate3d(4px, 6px, 0);
  }
  100% {
    -webkit-transform: translate3d(-18px, 0, 0);
            transform: translate3d(-18px, 0, 0);
  }
}
@keyframes cloudFloat2 {
  0% {
    -webkit-transform: translate3d(-18px, 0, 0);
            transform: translate3d(-18px, 0, 0);
  }
  20% {
    -webkit-transform: translate3d(-6px, -4px, 0);
            transform: translate3d(-6px, -4px, 0);
  }
  40% {
    -webkit-transform: translate3d(6px, -2px, 0);
            transform: translate3d(6px, -2px, 0);
  }
  60% {
    -webkit-transform: translate3d(14px, 3px, 0);
            transform: translate3d(14px, 3px, 0);
  }
  80% {
    -webkit-transform: translate3d(4px, 6px, 0);
            transform: translate3d(4px, 6px, 0);
  }
  100% {
    -webkit-transform: translate3d(-18px, 0, 0);
            transform: translate3d(-18px, 0, 0);
  }
}
@-webkit-keyframes cloudFloat3 {
  0% {
    -webkit-transform: translate3d(0, 0, 0) scale(1);
            transform: translate3d(0, 0, 0) scale(1);
  }
  18% {
    -webkit-transform: translate3d(0, -2px, 0) scale(1.01);
            transform: translate3d(0, -2px, 0) scale(1.01);
  }
  35% {
    -webkit-transform: translate3d(0, -14px, 0) scale(1.02);
            transform: translate3d(0, -14px, 0) scale(1.02);
  }
  55% {
    -webkit-transform: translate3d(0, -12px, 0) scale(1.015);
            transform: translate3d(0, -12px, 0) scale(1.015);
  }
  78% {
    -webkit-transform: translate3d(0, -3px, 0) scale(1.005);
            transform: translate3d(0, -3px, 0) scale(1.005);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0) scale(1);
            transform: translate3d(0, 0, 0) scale(1);
  }
}
@keyframes cloudFloat3 {
  0% {
    -webkit-transform: translate3d(0, 0, 0) scale(1);
            transform: translate3d(0, 0, 0) scale(1);
  }
  18% {
    -webkit-transform: translate3d(0, -2px, 0) scale(1.01);
            transform: translate3d(0, -2px, 0) scale(1.01);
  }
  35% {
    -webkit-transform: translate3d(0, -14px, 0) scale(1.02);
            transform: translate3d(0, -14px, 0) scale(1.02);
  }
  55% {
    -webkit-transform: translate3d(0, -12px, 0) scale(1.015);
            transform: translate3d(0, -12px, 0) scale(1.015);
  }
  78% {
    -webkit-transform: translate3d(0, -3px, 0) scale(1.005);
            transform: translate3d(0, -3px, 0) scale(1.005);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0) scale(1);
            transform: translate3d(0, 0, 0) scale(1);
  }
}
/* --------------------------------------------------------------------------
	鳥
-------------------------------------------------------------------------- */
@-webkit-keyframes bird-float {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, -40px, 0);
            transform: translate3d(0, -40px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes bird-float {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, -40px, 0);
            transform: translate3d(0, -40px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes bird-float-rev {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 40px, 0);
            transform: translate3d(0, 40px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes bird-float-rev {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 40px, 0);
            transform: translate3d(0, 40px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes bird-float-s {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes bird-float-s {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes bird-float-rev-s {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 20px, 0);
            transform: translate3d(0, 20px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes bird-float-rev-s {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 20px, 0);
            transform: translate3d(0, 20px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes bird-float-ss {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, -14px, 0);
            transform: translate3d(0, -14px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes bird-float-ss {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, -14px, 0);
            transform: translate3d(0, -14px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes bird-sway {
  0% {
    -webkit-transform: translate3d(0, 0, 0) rotate(-2deg);
            transform: translate3d(0, 0, 0) rotate(-2deg);
  }
  50% {
    -webkit-transform: translate3d(6px, 0, 0) rotate(2deg);
            transform: translate3d(6px, 0, 0) rotate(2deg);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0) rotate(-2deg);
            transform: translate3d(0, 0, 0) rotate(-2deg);
  }
}
@keyframes bird-sway {
  0% {
    -webkit-transform: translate3d(0, 0, 0) rotate(-2deg);
            transform: translate3d(0, 0, 0) rotate(-2deg);
  }
  50% {
    -webkit-transform: translate3d(6px, 0, 0) rotate(2deg);
            transform: translate3d(6px, 0, 0) rotate(2deg);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0) rotate(-2deg);
            transform: translate3d(0, 0, 0) rotate(-2deg);
  }
}
@-webkit-keyframes bird-sway-rev {
  0% {
    -webkit-transform: translate3d(0, 0, 0) rotate(2deg);
            transform: translate3d(0, 0, 0) rotate(2deg);
  }
  50% {
    -webkit-transform: translate3d(6px, 0, 0) rotate(-2deg);
            transform: translate3d(6px, 0, 0) rotate(-2deg);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0) rotate(2deg);
            transform: translate3d(0, 0, 0) rotate(2deg);
  }
}
@keyframes bird-sway-rev {
  0% {
    -webkit-transform: translate3d(0, 0, 0) rotate(2deg);
            transform: translate3d(0, 0, 0) rotate(2deg);
  }
  50% {
    -webkit-transform: translate3d(6px, 0, 0) rotate(-2deg);
            transform: translate3d(6px, 0, 0) rotate(-2deg);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0) rotate(2deg);
            transform: translate3d(0, 0, 0) rotate(2deg);
  }
}
@-webkit-keyframes bird-sway-rev2 {
  0% {
    -webkit-transform: translate3d(0, 0, 0) rotate(2deg);
            transform: translate3d(0, 0, 0) rotate(2deg);
  }
  50% {
    -webkit-transform: translate3d(6px, -5px, 0) rotate(-2deg);
            transform: translate3d(6px, -5px, 0) rotate(-2deg);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0) rotate(2deg);
            transform: translate3d(0, 0, 0) rotate(2deg);
  }
}
@keyframes bird-sway-rev2 {
  0% {
    -webkit-transform: translate3d(0, 0, 0) rotate(2deg);
            transform: translate3d(0, 0, 0) rotate(2deg);
  }
  50% {
    -webkit-transform: translate3d(6px, -5px, 0) rotate(-2deg);
            transform: translate3d(6px, -5px, 0) rotate(-2deg);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0) rotate(2deg);
            transform: translate3d(0, 0, 0) rotate(2deg);
  }
}
@-webkit-keyframes bird-sway-s {
  0% {
    -webkit-transform: translate3d(0, 0, 0) rotate(-1deg);
            transform: translate3d(0, 0, 0) rotate(-1deg);
  }
  50% {
    -webkit-transform: translate3d(2px, 0, 0) rotate(0deg);
            transform: translate3d(2px, 0, 0) rotate(0deg);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0) rotate(-1deg);
            transform: translate3d(0, 0, 0) rotate(-1deg);
  }
}
@keyframes bird-sway-s {
  0% {
    -webkit-transform: translate3d(0, 0, 0) rotate(-1deg);
            transform: translate3d(0, 0, 0) rotate(-1deg);
  }
  50% {
    -webkit-transform: translate3d(2px, 0, 0) rotate(0deg);
            transform: translate3d(2px, 0, 0) rotate(0deg);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0) rotate(-1deg);
            transform: translate3d(0, 0, 0) rotate(-1deg);
  }
}
/* --------------------------------------------------------------------------
	葉っぱ
-------------------------------------------------------------------------- */
@-webkit-keyframes leafRotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  25% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  50% {
    -webkit-transform: rotate(180deg) translate3d(0, -10px, 0);
            transform: rotate(180deg) translate3d(0, -10px, 0);
  }
  75% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  100% {
    -webkit-transform: rotate(0deg) translate3d(0, 0, 0);
            transform: rotate(0deg) translate3d(0, 0, 0);
  }
}
@keyframes leafRotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  25% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  50% {
    -webkit-transform: rotate(180deg) translate3d(0, -10px, 0);
            transform: rotate(180deg) translate3d(0, -10px, 0);
  }
  75% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  100% {
    -webkit-transform: rotate(0deg) translate3d(0, 0, 0);
            transform: rotate(0deg) translate3d(0, 0, 0);
  }
}
@-webkit-keyframes leafRotate02 {
  0% {
    -webkit-transform: rotate(0deg) translate3d(0, 0, 0);
            transform: rotate(0deg) translate3d(0, 0, 0);
  }
  18% {
    -webkit-transform: rotate(10deg) translate3d(0, -2px, 0);
            transform: rotate(10deg) translate3d(0, -2px, 0);
  }
  38% {
    -webkit-transform: rotate(-5deg) translate3d(0, -5px, 0);
            transform: rotate(-5deg) translate3d(0, -5px, 0);
  }
  62% {
    -webkit-transform: rotate(16deg) translate3d(0, -10px, 0);
            transform: rotate(16deg) translate3d(0, -10px, 0);
  }
  82% {
    -webkit-transform: rotate(4deg) translate3d(0, -4px, 0);
            transform: rotate(4deg) translate3d(0, -4px, 0);
  }
  100% {
    -webkit-transform: rotate(0deg) translate3d(0, 0, 0);
            transform: rotate(0deg) translate3d(0, 0, 0);
  }
}
@keyframes leafRotate02 {
  0% {
    -webkit-transform: rotate(0deg) translate3d(0, 0, 0);
            transform: rotate(0deg) translate3d(0, 0, 0);
  }
  18% {
    -webkit-transform: rotate(10deg) translate3d(0, -2px, 0);
            transform: rotate(10deg) translate3d(0, -2px, 0);
  }
  38% {
    -webkit-transform: rotate(-5deg) translate3d(0, -5px, 0);
            transform: rotate(-5deg) translate3d(0, -5px, 0);
  }
  62% {
    -webkit-transform: rotate(16deg) translate3d(0, -10px, 0);
            transform: rotate(16deg) translate3d(0, -10px, 0);
  }
  82% {
    -webkit-transform: rotate(4deg) translate3d(0, -4px, 0);
            transform: rotate(4deg) translate3d(0, -4px, 0);
  }
  100% {
    -webkit-transform: rotate(0deg) translate3d(0, 0, 0);
            transform: rotate(0deg) translate3d(0, 0, 0);
  }
}
@-webkit-keyframes leafRotate03 {
  0% {
    -webkit-transform: rotate(0deg) translate3d(0, 0, 0);
            transform: rotate(0deg) translate3d(0, 0, 0);
  }
  18% {
    -webkit-transform: rotate(10deg) translate3d(0, -1px, 0);
            transform: rotate(10deg) translate3d(0, -1px, 0);
  }
  38% {
    -webkit-transform: rotate(-6deg) translate3d(0, -3px, 0);
            transform: rotate(-6deg) translate3d(0, -3px, 0);
  }
  62% {
    -webkit-transform: rotate(18deg) translate3d(0, -7px, 0);
            transform: rotate(18deg) translate3d(0, -7px, 0);
  }
  82% {
    -webkit-transform: rotate(4deg) translate3d(0, -2px, 0);
            transform: rotate(4deg) translate3d(0, -2px, 0);
  }
  100% {
    -webkit-transform: rotate(0deg) translate3d(0, 0, 0);
            transform: rotate(0deg) translate3d(0, 0, 0);
  }
}
@keyframes leafRotate03 {
  0% {
    -webkit-transform: rotate(0deg) translate3d(0, 0, 0);
            transform: rotate(0deg) translate3d(0, 0, 0);
  }
  18% {
    -webkit-transform: rotate(10deg) translate3d(0, -1px, 0);
            transform: rotate(10deg) translate3d(0, -1px, 0);
  }
  38% {
    -webkit-transform: rotate(-6deg) translate3d(0, -3px, 0);
            transform: rotate(-6deg) translate3d(0, -3px, 0);
  }
  62% {
    -webkit-transform: rotate(18deg) translate3d(0, -7px, 0);
            transform: rotate(18deg) translate3d(0, -7px, 0);
  }
  82% {
    -webkit-transform: rotate(4deg) translate3d(0, -2px, 0);
            transform: rotate(4deg) translate3d(0, -2px, 0);
  }
  100% {
    -webkit-transform: rotate(0deg) translate3d(0, 0, 0);
            transform: rotate(0deg) translate3d(0, 0, 0);
  }
}
/* --------------------------------------------------------------------------
	リンクボタン
-------------------------------------------------------------------------- */
@-webkit-keyframes arrow-move {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(3px);
            transform: translateX(3px);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes arrow-move {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(3px);
            transform: translateX(3px);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
/* --------------------------------------------------------------------------
	その他
-------------------------------------------------------------------------- */
@-webkit-keyframes anim-bounce {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  15% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  35% {
    -webkit-transform: translateY(-14px);
            transform: translateY(-14px);
  }
  55% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  70% {
    -webkit-transform: translateY(-7px);
            transform: translateY(-7px);
  }
  85% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes anim-bounce {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  15% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  35% {
    -webkit-transform: translateY(-14px);
            transform: translateY(-14px);
  }
  55% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  70% {
    -webkit-transform: translateY(-7px);
            transform: translateY(-7px);
  }
  85% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes anim-wiggle {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  10% {
    -webkit-transform: translate(-1px, 0) rotate(-0.5deg);
            transform: translate(-1px, 0) rotate(-0.5deg);
  }
  20% {
    -webkit-transform: translate(1px, 0) rotate(0.5deg);
            transform: translate(1px, 0) rotate(0.5deg);
  }
  30% {
    -webkit-transform: translate(-2px, 0) rotate(-0.8deg);
            transform: translate(-2px, 0) rotate(-0.8deg);
  }
  40% {
    -webkit-transform: translate(2px, 0) rotate(0.8deg);
            transform: translate(2px, 0) rotate(0.8deg);
  }
  50% {
    -webkit-transform: translate(-1px, 0) rotate(-0.5deg);
            transform: translate(-1px, 0) rotate(-0.5deg);
  }
  60% {
    -webkit-transform: translate(1px, 0) rotate(0.5deg);
            transform: translate(1px, 0) rotate(0.5deg);
  }
  70% {
    -webkit-transform: translate(-1px, 0) rotate(-0.3deg);
            transform: translate(-1px, 0) rotate(-0.3deg);
  }
  80% {
    -webkit-transform: translate(1px, 0) rotate(0.3deg);
            transform: translate(1px, 0) rotate(0.3deg);
  }
  90% {
    -webkit-transform: translate(-1px, 0) rotate(-0.2deg);
            transform: translate(-1px, 0) rotate(-0.2deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
}
@keyframes anim-wiggle {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  10% {
    -webkit-transform: translate(-1px, 0) rotate(-0.5deg);
            transform: translate(-1px, 0) rotate(-0.5deg);
  }
  20% {
    -webkit-transform: translate(1px, 0) rotate(0.5deg);
            transform: translate(1px, 0) rotate(0.5deg);
  }
  30% {
    -webkit-transform: translate(-2px, 0) rotate(-0.8deg);
            transform: translate(-2px, 0) rotate(-0.8deg);
  }
  40% {
    -webkit-transform: translate(2px, 0) rotate(0.8deg);
            transform: translate(2px, 0) rotate(0.8deg);
  }
  50% {
    -webkit-transform: translate(-1px, 0) rotate(-0.5deg);
            transform: translate(-1px, 0) rotate(-0.5deg);
  }
  60% {
    -webkit-transform: translate(1px, 0) rotate(0.5deg);
            transform: translate(1px, 0) rotate(0.5deg);
  }
  70% {
    -webkit-transform: translate(-1px, 0) rotate(-0.3deg);
            transform: translate(-1px, 0) rotate(-0.3deg);
  }
  80% {
    -webkit-transform: translate(1px, 0) rotate(0.3deg);
            transform: translate(1px, 0) rotate(0.3deg);
  }
  90% {
    -webkit-transform: translate(-1px, 0) rotate(-0.2deg);
            transform: translate(-1px, 0) rotate(-0.2deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
}
@-webkit-keyframes anim-sway-right {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(3px);
            transform: translateX(3px);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes anim-sway-right {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(3px);
            transform: translateX(3px);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes anim-sway-left {
  0% {
    -webkit-transform: translateX(0) rotate(0deg);
            transform: translateX(0) rotate(0deg);
  }
  50% {
    -webkit-transform: translateX(-12px) rotate(-2.2deg);
            transform: translateX(-12px) rotate(-2.2deg);
  }
  100% {
    -webkit-transform: translateX(0) rotate(0deg);
            transform: translateX(0) rotate(0deg);
  }
}
@keyframes anim-sway-left {
  0% {
    -webkit-transform: translateX(0) rotate(0deg);
            transform: translateX(0) rotate(0deg);
  }
  50% {
    -webkit-transform: translateX(-12px) rotate(-2.2deg);
            transform: translateX(-12px) rotate(-2.2deg);
  }
  100% {
    -webkit-transform: translateX(0) rotate(0deg);
            transform: translateX(0) rotate(0deg);
  }
}
@-webkit-keyframes move-x-left-to-right {
  0% {
    -webkit-transform: translateX(-120%);
            transform: translateX(-120%);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes move-x-left-to-right {
  0% {
    -webkit-transform: translateX(-120%);
            transform: translateX(-120%);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes anim-move-lr {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(var(--dist), 0, 0);
            transform: translate3d(var(--dist), 0, 0);
  }
}
@keyframes anim-move-lr {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(var(--dist), 0, 0);
            transform: translate3d(var(--dist), 0, 0);
  }
}
@-webkit-keyframes pyoko-bounce {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  12% {
    -webkit-transform: translateY(-16px);
            transform: translateY(-16px);
  }
  18% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  32% {
    -webkit-transform: translateY(-14px);
            transform: translateY(-14px);
  }
  38% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  52% {
    -webkit-transform: translateY(-16px);
            transform: translateY(-16px);
  }
  58% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  72% {
    -webkit-transform: translateY(-12px);
            transform: translateY(-12px);
  }
  78% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes pyoko-bounce {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  12% {
    -webkit-transform: translateY(-16px);
            transform: translateY(-16px);
  }
  18% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  32% {
    -webkit-transform: translateY(-14px);
            transform: translateY(-14px);
  }
  38% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  52% {
    -webkit-transform: translateY(-16px);
            transform: translateY(-16px);
  }
  58% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  72% {
    -webkit-transform: translateY(-12px);
            transform: translateY(-12px);
  }
  78% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes pyoko-bounce-s {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  12% {
    -webkit-transform: translateY(4px);
            transform: translateY(4px);
  }
  18% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  32% {
    -webkit-transform: translateY(2px);
            transform: translateY(2px);
  }
  38% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  52% {
    -webkit-transform: translateY(4px);
            transform: translateY(4px);
  }
  58% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  72% {
    -webkit-transform: translateY(2px);
            transform: translateY(2px);
  }
  78% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes pyoko-bounce-s {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  12% {
    -webkit-transform: translateY(4px);
            transform: translateY(4px);
  }
  18% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  32% {
    -webkit-transform: translateY(2px);
            transform: translateY(2px);
  }
  38% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  52% {
    -webkit-transform: translateY(4px);
            transform: translateY(4px);
  }
  58% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  72% {
    -webkit-transform: translateY(2px);
            transform: translateY(2px);
  }
  78% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes lightBlink {
  0% {
    opacity: var(--base, 0.2);
  }
  20% {
    opacity: 0.6;
  }
  40% {
    opacity: var(--base, 0.2);
  }
  100% {
    opacity: var(--base, 0.2);
  }
}
@keyframes lightBlink {
  0% {
    opacity: var(--base, 0.2);
  }
  20% {
    opacity: 0.6;
  }
  40% {
    opacity: var(--base, 0.2);
  }
  100% {
    opacity: var(--base, 0.2);
  }
}
@-webkit-keyframes Blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 1;
  }
}
@keyframes Blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes LoopY {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, -50%, 0);
            transform: translate3d(0, -50%, 0);
  }
}
@keyframes LoopY {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, -50%, 0);
            transform: translate3d(0, -50%, 0);
  }
}
@-webkit-keyframes LoopY02 {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
}
@keyframes LoopY02 {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
}
@-webkit-keyframes LoopX {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}
@keyframes LoopX {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}
@-webkit-keyframes LoopX-rev {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes LoopX-rev {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes LoopX02 {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
  }
}
@keyframes LoopX02 {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
  }
}
@-webkit-keyframes LoopX02-rev {
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes LoopX02-rev {
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes p-risumove {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(-250%);
            transform: translateX(-250%);
  }
}
@keyframes p-risumove {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  100% {
    -webkit-transform: translateX(-250%);
            transform: translateX(-250%);
  }
}
@-webkit-keyframes animalHop {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, -8px, 0);
            transform: translate3d(0, -8px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes animalHop {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, -8px, 0);
            transform: translate3d(0, -8px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes bg-rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes bg-rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/* ==========================================================================
	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;
  --insta-color-hv:#f7228c;
  --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);
  }
}
/* ==========================================================================
	ヘッダー
========================================================================== */
.head {
  position: absolute;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 100;
  opacity: 1;
  container-type: inline-size;
  -webkit-transition: opacity 0.4s var(--easeOutSine);
  transition: opacity 0.4s var(--easeOutSine);
}
.head.index:not(.fix) {
  display: none;
}
.head:not(.index) {
  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;
  padding: 28px 2.7666666667% 0 2.4666666667%;
}
.head.index {
  height: 100%;
}
.head .logo {
  width: clamp(180px, 15.7042253521%, 223px);
}
.head .index_head_link-area {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 50;
}
.head .index_head_link-area .main-nav {
  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;
  gap: 24px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  left: 3.1333333333%;
  bottom: 14.472361809%;
}
.head .index_head_link-area .hv_ar {
  font-size: 16px;
  letter-spacing: 0.04em;
  color: var(--base-color-blue);
}
.head .index_head_link-area .copy {
  font-size: 11px;
  padding-left: 12px;
  color: var(--base-color-blue);
  margin-top: 25px;
  letter-spacing: 0.13em;
}
.head .index_head_link-area .info-nav {
  position: absolute;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: -webkit-max-content 12px -webkit-max-content;
  -ms-grid-columns: max-content 12px max-content;
  grid-template-columns: repeat(2, -webkit-max-content);
  grid-template-columns: repeat(2, max-content);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12px;
  width: 168px;
  right: 4%;
  top: 4.5226130653%;
}
.head .index_head_link-area .w_link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 30px;
  padding: 0 14px;
  background: #fff;
  border-radius: 999px;
  color: var(--base-text-color02);
  font-size: 13px;
  letter-spacing: 0.04em;
  -webkit-box-shadow: 1.4px 1.4px 6px 0 rgba(203, 250, 252, 0.8);
          box-shadow: 1.4px 1.4px 6px 0 rgba(203, 250, 252, 0.8);
  -webkit-transition: background 0.4s var(--easeOutSine);
  transition: background 0.4s var(--easeOutSine);
}
.head .index_head_link-area .contact_link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-column: 1/-1;
  width: 100%;
  aspect-ratio: 169/50;
  color: #fff;
  background: url(../img/common/head_contact-btn_bg.png);
  background-size: cover;
}
.head .index_head_link-area .contact_link::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../img/common/head_contact-btn_bg-af.png);
  background-size: cover;
  background-position: center;
  opacity: 0;
  -webkit-transition: opacity 0.4s var(--easeOutSine);
  transition: opacity 0.4s var(--easeOutSine);
  pointer-events: none;
}
.head .index_head_link-area .contact_link:hover::after {
  opacity: 1;
}
.head .index_head_link-area .contact_link img {
  position: relative;
  width: 49.1124260355%;
  z-index: 10;
}
.head .head_link-area {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: flex-start;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  z-index: 20;
}
.head .g-nav {
  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;
}
.head .g-nav .info-nav {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: -webkit-max-content 6px -webkit-max-content 6px -webkit-max-content;
  -ms-grid-columns: max-content 6px max-content 6px max-content;
  grid-template-columns: repeat(3, -webkit-max-content);
  grid-template-columns: repeat(3, max-content);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  width: 340px;
}
.head .g-nav .w_link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 30px;
  padding: 0 14px 2px;
  background: var(--base-color-black);
  border-radius: 999px;
  color: var(--base-color-white);
  font-size: 13px;
  letter-spacing: 0.04em;
  -webkit-transition: background 0.4s var(--easeOutSine);
  transition: background 0.4s var(--easeOutSine);
}
.head .g-nav .w_link:hover {
  background: var(--base-btn-color01);
}
.head .g-nav .contact_link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 152px;
  margin-left: 12px;
  aspect-ratio: 169/50;
  color: #fff;
  background: url(../img/common/head_contact-btn_bg.png);
  background-size: cover;
}
.head .g-nav .contact_link::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../img/common/head_contact-btn_bg-af.png);
  background-size: cover;
  background-position: center;
  opacity: 0;
  -webkit-transition: opacity 0.4s var(--easeOutSine);
  transition: opacity 0.4s var(--easeOutSine);
  pointer-events: none;
}
.head .g-nav .contact_link:hover::after {
  opacity: 1;
}
.head .g-nav .contact_link img {
  position: relative;
  width: 49.1124260355%;
  z-index: 10;
}
.head .main-nav {
  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: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  gap: 18px;
  margin-right: 25px;
}
.head .text {
  position: relative;
  display: inline-block;
  --color:var(--base-text-color);
  font-size: var(--fz14);
  font-size: clamp(12px, 0.9333333333cqw, 16px);
  font-weight: 500;
}
@media screen and (min-width: 801px) {
  .head .text:hover {
    color: var(--base-color-blue);
    font-weight: 700;
  }
}
.head .corner {
  display: none;
}
.head.ready {
  opacity: 0;
  pointer-events: none;
  -webkit-transition: none;
  transition: none;
}
.head.fix {
  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;
  opacity: 0;
  padding: 0;
  height: auto;
  pointer-events: none;
  -webkit-transition: opacity 0.4s var(--easeOutSine);
  transition: opacity 0.4s var(--easeOutSine);
}
.head.fix.op {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.head.fix .logo {
  width: 220ox;
  padding-top: 20px;
  margin-left: 40px;
}
.head.fix .head_link-area {
  padding: 12px min(40px, 2.6vw) 12px;
  -webkit-box-flex: initial;
      -ms-flex: initial;
          flex: initial;
  border-radius: 0 0 0 30px;
  background: var(--base-color-white);
  -webkit-box-shadow: 0px 0px 40px 0px rgba(162, 233, 234, 0.2);
          box-shadow: 0px 0px 40px 0px rgba(162, 233, 234, 0.2);
}
.head.fix .contact-nav, .head.fix .company-nav {
  top: 0;
}
.head.fix .corner {
  width: 80px;
  height: 80px;
  display: block;
  position: absolute;
  top: 100%;
  right: 0;
  -webkit-filter: drop-shadow(0px 0px 40px rgba(162, 233, 234, 0.2));
          filter: drop-shadow(0px 0px 40px rgba(162, 233, 234, 0.2));
  z-index: 20;
}

@media screen and (max-width: 1101px) {
  .head .g-nav {
    display: none;
  }
  .head_link-area {
    display: none !important;
  }
  .corner {
    display: none !important;
  }
}
@media screen and (max-width: 1330px) {
  .head .head_link-area .w_link {
    display: none;
  }
  .head .g-nav .info-nav {
    width: 152px;
  }
}
@media screen and (min-width: 801px) {
  .head.fix {
    position: fixed;
    top: 0;
  }
}
@media screen and (max-width: 800px) {
  .head {
    padding: 24px 5% 0;
  }
  .head:not(.index) {
    padding: 24px 5% 0;
  }
  .head .logo {
    width: 52.1333333333%;
    max-width: 200px;
  }
}
/* ==========================================================================
	hamburger
========================================================================== */
@media screen and (min-width: 1101px) {
  .hamburger {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  .hamburger {
    display: table;
    position: fixed;
    right: 5vw;
    top: min(35px, 8.25vw);
    cursor: pointer;
    z-index: 9999;
    opacity: 100;
    width: auto;
    padding-left: 55px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    z-index: 9999;
  }
  .hamburger .line_area {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    top: 0;
    margin: auto;
    width: 40px;
    height: 13px;
  }
  .hamburger .border {
    display: block;
    position: absolute;
    width: 100%;
    height: 2px;
    z-index: 5;
    margin: auto;
    -webkit-transition: all 0.6s ease;
    transition: all 0.6s ease;
    -webkit-transform-origin: center center;
            transform-origin: center center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: var(--base-color-blue);
  }
  .hamburger .border:first-child {
    top: 0;
    bottom: auto;
  }
  .hamburger .border:nth-child(2) {
    top: 0;
    bottom: 0;
  }
  .hamburger .border:nth-child(3) {
    top: auto;
    bottom: 0;
  }
  .hamburger .en {
    font-size: clamp(17px, 4.25vw, 22px);
    font-weight: 500;
    color: var(--base-color-blue);
  }
}
@media screen and (max-width: 800px) {
  .hamburger {
    top: 33px;
    padding-left: 28px;
  }
  .hamburger .line_area {
    width: 20px;
    height: 10px;
  }
  .hamburger .border {
    height: 1px;
  }
  .hamburger .en {
    font-size: clamp(17px, 4.25vw, 22px);
  }
}
.nav-open .hamburger span {
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.nav-open .hamburger span:first-child {
  -webkit-animation: hamburger_top ease 0.4s forwards;
  animation: hamburger_top ease 0.4s forwards;
}
.nav-open .hamburger span:nth-child(2) {
  opacity: 0;
}
.nav-open .hamburger span:nth-child(3) {
  -webkit-animation: hamburger_bottom ease 0.4s forwards;
  animation: hamburger_bottom ease 0.4s forwards;
}

.nav-close .hamburger span {
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.nav-close .hamburger span:first-child {
  -webkit-animation: hamburger_top_rev ease 0.4s forwards;
  animation: hamburger_top_rev ease 0.4s forwards;
}
.nav-close .hamburger span:nth-child(2) {
  opacity: 1;
}
.nav-close .hamburger span:nth-child(3) {
  -webkit-animation: hamburger_bottom_rev ease 0.4s forwards;
  animation: hamburger_bottom_rev ease 0.4s forwards;
}

/*==========================================================================
	global-nav
========================================================================== */
/*ハンバーガーメニュー*/
.global-nav {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-size: cover;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: -1;
  opacity: 0;
  visibility: hidden;
  background: rgba(255, 255, 255, 0.9);
  overflow: scroll;
  height: 100vh;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
  transition: all 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.nav-open .global-nav {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 9997;
}

.global-nav .nav_inr {
  position: relative;
  width: 100%;
  padding: 100px 10%;
  margin-inline: auto;
  z-index: 10;
  overflow: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.is-safari .nav_inr {
  padding-bottom: 8rem;
}

.global-nav .links {
  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;
}
.global-nav .nav_link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 25px 0;
  font-weight: 500;
  border-bottom: 1px solid var(--base-border-color09);
  font-size: clamp(16px, 4vw, 19px);
  width: 100%;
}
.global-nav .nav_link.-half {
  width: 48.4375%;
}
.global-nav .nav_link .arrow {
  width: clamp(12px, 3vw, 18px);
  margin-right: 12px;
}
.global-nav .bird {
  position: absolute;
  width: clamp(135px, 42.34375%, 150px);
  left: 70.3125%;
  top: 95px;
  z-index: 10;
  -webkit-animation: bird-float-rev 8s ease-in-out infinite;
          animation: bird-float-rev 8s ease-in-out infinite;
  pointer-events: none;
}
.global-nav .bird img {
  -webkit-animation: bird-sway-rev 4s ease-in-out infinite;
          animation: bird-sway-rev 4s ease-in-out infinite;
  will-change: transform;
  -webkit-transform-origin: 50% 60%;
          transform-origin: 50% 60%;
}
.global-nav .info {
  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;
  padding-top: 60px;
}
.global-nav .info .logo {
  width: 60.9375%;
  max-width: 300px;
  margin-bottom: 12px;
}
.global-nav .info .c_txt {
  font-size: clamp(13px, 3.25vw, 16px);
  line-height: 1.6923076923;
  margin-bottom: 18px;
  text-align: center;
  font-weight: 500;
}
.global-nav .info .link_btn {
  padding-left: 30px;
}
.global-nav .info .link_btn .text {
  font-size: 16px;
}
.global-nav .info .tokushu_title {
  width: 94.6428571429%;
  max-width: 570px;
  margin: 30px auto 15px;
}
.global-nav .info .tokushu_links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 570px;
  gap: 12px;
  margin-bottom: 20px;
}
.global-nav .info .tokushu_links a {
  display: block;
  width: 39.6875%;
}
@media screen and (min-width: 801px) {
  .global-nav .info .tokushu_links a:hover {
    opacity: 0.7;
  }
}
.global-nav .info .insta_link {
  position: relative;
  display: table;
  margin: 0 auto;
  width: 71.875%;
  text-align: center;
  padding: 8px 0 10px;
  border-radius: 999px;
  border: 1px solid #030000;
}
.global-nav .info .insta_link .icon {
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 18px;
  height: 18px;
}
.global-nav .info .insta_link span {
  font-size: clamp(13px, 3.25vw, 16px);
  text-transform: uppercase;
  font-weight: 500;
  -webkit-transition: color 0.4s var(--easeOutSine);
  transition: color 0.4s var(--easeOutSine);
}
@media screen and (min-width: 801px) {
  .global-nav .info .insta_link:hover {
    background: var(--insta-color-hv);
    border-color: var(--insta-color-hv);
  }
  .global-nav .info .insta_link:hover span {
    color: #fff;
  }
}
@media screen and (max-width: 800px) {
  .global-nav .nav_link {
    padding: 20px 0;
  }
  .global-nav .nav_link .arrow {
    margin-right: 8px;
  }
}

/* ==========================================================================
	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;
  --insta-color-hv:#f7228c;
  --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 {
  width: 96%;
  container-type: inline-size;
}
.fv .inr .fv-img {
  position: relative;
  aspect-ratio: 1440/640;
  overflow: hidden;
  border-radius: 60px;
}
.fv .inr .fv-img.-small {
  aspect-ratio: 1440/400;
}
.fv .inr .fv-img:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 10px solid var(--base-color-white);
  border-radius: 60px;
  z-index: 5;
}
.fv .inr .fv-img:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 1px solid var(--base-text-color);
  border-radius: 60px;
  z-index: 10;
  -webkit-mask-image: linear-gradient(to right, #000 0, #000 80px, transparent 80px, transparent calc(100% - 80px), #000 calc(100% - 80px), #000 100%);
  mask-image: linear-gradient(to right, #000 0, #000 80px, transparent 80px, transparent calc(100% - 80px), #000 calc(100% - 80px), #000 100%);
}
.fv .inr .cloud {
  display: block;
  position: absolute;
  z-index: 15;
}
.fv .inr .cloud.-left {
  width: 65.2083333333%;
  right: 69.9305555556%;
  bottom: 1.5277777778cqw;
}
.fv .inr .cloud.-right {
  width: 99.1666666667%;
  left: 64.375%;
  bottom: 2.9166666667cqw;
  bottom: 42px;
}
.fv .inr h1 {
  position: relative;
  margin-left: 4.8611111111%;
  z-index: 20;
  margin-bottom: 3rem;
  opacity: 0;
  -webkit-mask-image: -webkit-gradient(linear, left top, right top, color-stop(0, #000));
  -webkit-mask-image: linear-gradient(to right, #000 0 100%);
  mask-image: -webkit-gradient(linear, left top, right top, color-stop(0, #000));
  mask-image: linear-gradient(to right, #000 0 100%);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: left top;
  mask-position: left top;
  -webkit-mask-size: 0% 100%;
  mask-size: 0% 100%;
  transition: opacity 0.4s ease, -webkit-mask-size 1.2s cubic-bezier(0.22, 1, 0.36, 1), mask-size 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.fv .inr h1.move {
  opacity: 1;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}
.fv .inr .pan {
  position: relative;
  margin-left: 4.8611111111%;
  z-index: 20;
  color: var(--base-btn-color03);
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}
.fv .inr .pan a {
  position: relative;
  display: inline-block;
  font-size: max(13px, 0.9027777778cqw);
  margin-right: 38px;
  -webkit-transition: color 0.4s var(--easeOutSine);
  transition: color 0.4s var(--easeOutSine);
  font-weight: 500;
  color: var(--base-btn-color03);
}
.fv .inr .pan a:after {
  content: "›";
  display: block;
  position: absolute;
  left: calc(100% + 15px);
  top: 50%;
  -webkit-transform: translateY(-54%);
          transform: translateY(-54%);
  font-size: max(22px, 1.5277777778cqw);
  line-height: 1;
}
.fv .inr .pan p {
  display: inline-block;
  font-size: max(13px, 0.9027777778cqw);
  font-weight: 500;
  text-decoration: underline;
}
@media screen and (max-width: 1050px) {
  .fv .inr {
    width: 92.5%;
  }
  .fv .inr .fv-img {
    width: 100%;
    aspect-ratio: 740/950;
    max-height: 1000px;
    border-radius: 30px;
  }
  .fv .inr .fv-img.-small {
    aspect-ratio: 740/560;
  }
  .fv .inr .fv-img:before {
    border: 8px solid var(--base-color-white);
    border-radius: 30px;
  }
  .fv .inr .fv-img:after {
    border-radius: 30px;
    z-index: 10;
    -webkit-mask-image: linear-gradient(to right, #000 0, #000 45px, transparent 45px, transparent calc(100% - 45px), #000 calc(100% - 45px), #000 100%);
    mask-image: linear-gradient(to right, #000 0, #000 45px, transparent 45px, transparent calc(100% - 45px), #000 calc(100% - 45px), #000 100%);
  }
  .fv .inr .cloud {
    display: block;
    position: absolute;
    z-index: 15;
  }
  .fv .inr .cloud.-left {
    width: 126.8918918919%;
    right: 47.2972972973%;
    bottom: min(100px, 22.972972973cqw);
  }
  .fv .inr .cloud.-right {
    display: none;
  }
  .fv .inr h1 {
    margin-left: 6.7567567568%;
    margin-top: min(60px, 12.1621621622cqw);
    margin-bottom: 2rem;
    opacity: 0;
  }
  .fv .inr .pan {
    margin-left: 6.7567567568%;
  }
  .fv .inr .pan a {
    font-size: min(15px, 3.2432432432cqw);
    margin-right: 28px;
  }
  .fv .inr .pan a:after {
    left: calc(100% + 12px);
    font-size: min(23px, 5.6756756757cqw);
    -webkit-transform: translateY(-59%);
            transform: translateY(-59%);
  }
  .fv .inr .pan p {
    font-size: min(15px, 3.2432432432cqw);
  }
}

/* ==========================================================================
	layout
========================================================================== */
.inr {
  position: relative;
  margin-inline: auto;
}
.inr.-m2000 {
  max-width: 2000px;
}
@media screen and (min-width: 2000px) {
  .inr.-m2000.-rg {
    -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(rgb(0, 0, 0)), color-stop(88%, rgb(0, 0, 0)), to(rgba(0, 0, 0, 0)));
    -webkit-mask-image: linear-gradient(to right, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 88%, rgba(0, 0, 0, 0) 100%);
    mask-image: -webkit-gradient(linear, left top, right top, from(rgb(0, 0, 0)), color-stop(88%, rgb(0, 0, 0)), to(rgba(0, 0, 0, 0)));
    mask-image: linear-gradient(to right, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 88%, rgba(0, 0, 0, 0) 100%);
  }
  .inr.-m2000.-lrg {
    -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0)), color-stop(7%, rgb(0, 0, 0)), color-stop(93%, rgb(0, 0, 0)), to(rgba(0, 0, 0, 0)));
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 7%, rgb(0, 0, 0) 93%, rgba(0, 0, 0, 0) 100%);
    mask-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0)), color-stop(7%, rgb(0, 0, 0)), color-stop(93%, rgb(0, 0, 0)), to(rgba(0, 0, 0, 0)));
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 7%, rgb(0, 0, 0) 93%, rgba(0, 0, 0, 0) 100%);
  }
}
.inr.-w1400 {
  width: clamp(840px, 93.3333333333vw, 1792px);
}
@media screen and (max-width: 1050px) {
  .inr.-w1400 {
    width: 95%;
  }
}
.inr.-w1300 {
  width: clamp(780px, 86.6666666667vw, 1664px);
}
.inr.-w1200 {
  width: clamp(780px, 86.6666666667vw, 1664px);
}
.inr.-w1140 {
  width: clamp(684px, 76vw, 1459.2px);
}
.inr.-w980 {
  width: clamp(588px, 65.3333333333vw, 1254.4px);
}
@media screen and (min-width: 2000px) {
  .inr.-m2000.-rg {
    -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(rgb(0, 0, 0)), color-stop(88%, rgb(0, 0, 0)), to(rgba(0, 0, 0, 0)));
    -webkit-mask-image: linear-gradient(to right, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 88%, rgba(0, 0, 0, 0) 100%);
    mask-image: -webkit-gradient(linear, left top, right top, from(rgb(0, 0, 0)), color-stop(88%, rgb(0, 0, 0)), to(rgba(0, 0, 0, 0)));
    mask-image: linear-gradient(to right, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 88%, rgba(0, 0, 0, 0) 100%);
  }
}

.round-con {
  position: relative;
  border-radius: 60px;
}
.round-con:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 1px solid var(--base-text-color);
  border-radius: 60px;
  z-index: 10;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to right, #000 0, #000 85px, transparent 85px, transparent calc(100% - 85px), #000 calc(100% - 85px), #000 100%);
  mask-image: linear-gradient(to right, #000 0, #000 85px, transparent 85px, transparent calc(100% - 85px), #000 calc(100% - 85px), #000 100%);
}
@media screen and (max-width: 1050px) {
  .round-con {
    border-radius: 30px;
  }
  .round-con:after {
    border-radius: 30px;
    -webkit-mask-image: -webkit-gradient(linear, left top, right top, color-stop(0, #000), color-stop(5.5%, #000), color-stop(5.5%, transparent), color-stop(94.5%, transparent), color-stop(94.5%, #000), to(#000));
    -webkit-mask-image: linear-gradient(to right, #000 0, #000 5.5%, transparent 5.5%, transparent 94.5%, #000 94.5%, #000 100%);
            mask-image: -webkit-gradient(linear, left top, right top, color-stop(0, #000), color-stop(5.5%, #000), color-stop(5.5%, transparent), color-stop(94.5%, transparent), color-stop(94.5%, #000), to(#000));
            mask-image: linear-gradient(to right, #000 0, #000 5.5%, transparent 5.5%, transparent 94.5%, #000 94.5%, #000 100%);
  }
}

.kiji_area {
  --mt:3rem;
  --mth2:6rem;
  --mth3:7rem;
}
.kiji_area h2:not([class]) {
  position: relative;
  display: block;
  -webkit-transform-origin: left center;
          transform-origin: left center;
  font-weight: 500;
  letter-spacing: -0.08em;
  color: var(--base-btn-color03);
}
.kiji_area h2:not([class]) + * {
  margin-top: var(--mt);
}
.kiji_area h2:not([class]) + h2 {
  margin-top: var(--mth2);
}
.kiji_area h2:not([class]) + h3 {
  margin-top: var(--mth3);
}
.kiji_area .tit_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4rem;
}
.kiji_area .tit_area h2 span {
  position: relative;
  display: inline-block;
  color: var(--base-text-color02);
  font-weight: 500;
  letter-spacing: -0.08em;
}
.kiji_area .tit_area h2 span::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  z-index: 2;
  color: transparent;
  background: url(../img/common/texture.webp);
  background-size: cover;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 0.7;
  mix-blend-mode: soft-light;
}
.kiji_area .tit_area + * {
  margin-top: var(--mt);
}
.kiji_area .tit_area + h2 {
  margin-top: var(--mth2);
}
.kiji_area .tit_area + h3 {
  margin-top: var(--mth3);
}
.kiji_area h3:not([class]) {
  display: inline-block;
  position: relative;
  line-height: 1.725;
  color: var(--base-btn-color03);
  font-weight: 500;
  letter-spacing: -0.04em;
  background: var(--base-color-white);
  -webkit-box-shadow: 10px 10px 0 #cfe9ed;
  box-shadow: 10px 10px 0 #cfe9ed;
  padding: 0 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.kiji_area h3:not([class]) + * {
  margin-top: var(--mt);
}
.kiji_area h3:not([class]) + h2 {
  margin-top: var(--mth2);
}
.kiji_area h3:not([class]) + h3 {
  margin-top: var(--mth3);
}
.kiji_area p:not([class]) {
  font-weight: 500;
  line-height: 2.5;
}
.kiji_area p:not([class]) + * {
  margin-top: var(--mt);
}
.kiji_area p:not([class]) + h2 {
  margin-top: var(--mth2);
}
.kiji_area p:not([class]) + h3 {
  margin-top: var(--mth3);
}
.kiji_area a:not([class]) {
  position: relative;
  display: inline;
  font-weight: 500;
  --b_color:var(--base-color-black);
  background-image: -webkit-gradient(linear, left top, right top, from(var(--b_color)), to(var(--b_color)));
  background-image: linear-gradient(90deg, var(--b_color), var(--b_color));
  background-repeat: no-repeat;
  background-position: 0px 90%;
  background-size: 100% 1px;
  -webkit-transition: all 0.4s var(--easeOutQuad);
  transition: all 0.4s var(--easeOutQuad);
}
@media (hover: hover) {
  .kiji_area a:not([class]):hover {
    color: var(--theme-color);
    --b_color:var(--theme-color);
  }
}
.kiji_area strong {
  font-weight: bold;
}
.kiji_area img {
  max-width: 100%;
  height: auto;
  border: 2px solid var(--base-color-white);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 800px) {
  .kiji_area img {
    border-radius: 0.5rem;
  }
}
.kiji_area img + * {
  margin-top: var(--mt);
}
.kiji_area img + h2 {
  margin-top: var(--mth2);
}
.kiji_area img + h3 {
  margin-top: var(--mth3);
}
.kiji_area .wp-caption {
  max-width: 100%;
  height: auto;
}
.kiji_area .wp-caption + * {
  margin-top: 3rem;
}
.kiji_area .wp-caption-text {
  font-size: var(--fz14);
  font-weight: 700;
  margin-top: 2rem;
}
@media screen and (max-width: 800px) {
  .kiji_area .wp-caption-text {
    font-size: var(--fz11);
    margin-top: 1.5rem;
  }
}
.kiji_area blockquote {
  position: relative;
  padding: 2rem 3rem;
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.kiji_area blockquote + * {
  margin-top: var(--mt);
}
.kiji_area blockquote + h2 {
  margin-top: var(--mth2);
}
.kiji_area blockquote + h3 {
  margin-top: var(--mth3);
}
.kiji_area blockquote > * {
  margin-bottom: 0;
}
.kiji_area blockquote p {
  font-size: var(--fz14);
  --lh:calc(92/34);
  position: relative;
  line-height: calc(var(--lh) * 1em);
  padding-top: 0.1px;
  padding-bottom: 0.1px;
}
.kiji_area blockquote p::before {
  content: "";
  display: block;
  height: 0;
  width: 0;
  margin-top: calc((1 - var(--lh)) * 0.5em);
}
.kiji_area blockquote p::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
  margin-bottom: calc((1 - var(--lh)) * 0.5em);
}
@media screen and (max-width: 800px) {
  .kiji_area blockquote p {
    font-size: var(--fz10);
  }
}
.kiji_area blockquote p + * {
  margin-top: 2.5rem;
}
.kiji_area blockquote a {
  font-size: var(--fz14);
  --b_color:var(--base-color-black);
  background-image: -webkit-gradient(linear, left top, right top, from(var(--b_color)), to(var(--b_color)));
  background-image: linear-gradient(90deg, var(--b_color), var(--b_color));
  background-repeat: no-repeat;
  background-position: 0px 90%;
  background-size: 100% 1px;
  -webkit-transition: all 0.4s var(--easeOutQuad);
  transition: all 0.4s var(--easeOutQuad);
}
@media (hover: hover) {
  .kiji_area blockquote a:hover {
    color: var(--theme-color);
    --b_color:var(--theme-color);
  }
}
.kiji_area ol {
  position: relative;
  counter-reset: number;
  list-style-type: none !important;
}
.kiji_area ol + * {
  margin-top: var(--mt);
}
.kiji_area ol + h2 {
  margin-top: var(--mth2);
}
.kiji_area ol + h3 {
  margin-top: var(--mth3);
}
.kiji_area ol li {
  position: relative;
  line-height: 1.5;
  font-weight: 500;
  padding-left: 22px;
  letter-spacing: 0.02em;
  counter-increment: number;
}
@media screen and (max-width: 800px) {
  .kiji_area ol li {
    font-size: var(--fz13);
    padding-left: 20px;
  }
}
.kiji_area ol li:before {
  content: counter(number) ". ";
  font-family: var(--en);
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: var(--base-color-blue);
}
.kiji_area ol li + li {
  margin-top: 1.5rem;
}
.kiji_area ol li > * {
  margin-bottom: 0;
}
.kiji_area ol + * {
  margin-top: var(--mt);
}
.kiji_area ol + h2 {
  margin-top: var(--mth2);
}
.kiji_area ol + h3 {
  margin-top: var(--mth3);
}
.kiji_area ul {
  position: relative;
  counter-reset: number;
}
.kiji_area ul + * {
  margin-top: var(--mt);
}
.kiji_area ul + h2 {
  margin-top: var(--mth2);
}
.kiji_area ul + h3 {
  margin-top: var(--mth3);
}
.kiji_area ul li {
  position: relative;
  font-size: var(--fz16);
  line-height: 1.5;
  font-weight: 500;
  padding-left: 30px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 800px) {
  .kiji_area ul li {
    font-size: var(--fz13);
    padding-left: 20px;
  }
}
.kiji_area ul li + li {
  margin-top: 1.5rem;
}
.kiji_area ul li:before {
  content: "";
  position: absolute;
  display: block;
  top: 0.8rem;
  left: 0;
  width: 16px;
  height: 8px;
  border-radius: 4px;
  background-color: var(--base-color-blue);
}
@media screen and (max-width: 800px) {
  .kiji_area ul li:before {
    width: 10px;
    height: 5px;
    left: 0;
  }
}
.kiji_area ul li > * {
  margin-bottom: 0;
}
.kiji_area ul + * {
  margin-top: var(--mt);
}
.kiji_area ul + h2 {
  margin-top: var(--mth2);
}
.kiji_area ul + h3 {
  margin-top: var(--mth3);
}
.kiji_area .column-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.6315789474%;
}
.kiji_area .column-image + * {
  margin-top: var(--mt);
}
.kiji_area .column-image + h2 {
  margin-top: var(--mth2);
}
.kiji_area .column-image + h3 {
  margin-top: var(--mth3);
}
.kiji_area .column-image.-full > div {
  width: 100%;
}
.kiji_area .column-image.-full > div .img {
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.kiji_area .column-image.-half > div {
  width: 48.6842105263%;
}
.kiji_area .column-image.-half > div .img {
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.kiji_area .column-image.-third > div {
  width: 31.5789473684%;
}
.kiji_area .column-image.-third > div .img {
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.kiji_area .column-image + .column-image {
  margin-top: 2rem;
}
.kiji_area .column-image .wp-image {
  margin-top: 0;
}
.kiji_area .column-image div + div {
  margin-top: 0;
}
.kiji_area .link_wrap + * {
  margin-top: var(--mt);
}
.kiji_area .link_wrap + h2 {
  margin-top: var(--mth2);
}
.kiji_area .link_wrap + h3 {
  margin-top: var(--mth3);
}
@media screen and (min-width: 801px) {
  .kiji_area .link_wrap:hover:before {
    opacity: 0;
  }
  .kiji_area .link_wrap:hover .arrow {
    -webkit-animation-play-state: paused;
            animation-play-state: paused;
  }
  .kiji_area .link_wrap:hover.-blue {
    --color:var(--base-btn-color01-hv);
  }
}
.kiji_area div + div {
  margin-top: var(--mt);
}
@media screen and (max-width: 1050px) {
  .kiji_area {
    --mt:2rem;
    --mth2:3rem;
    --mth3:4rem;
  }
  .kiji_area .tit_area {
    gap: 1.6rem;
  }
  .kiji_area .column-image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
  }
  .kiji_area .column-image.-full > div img {
    border: 1px solid var(--base-color-white);
  }
  .kiji_area .column-image.-half > div {
    width: 48.4375%;
  }
  .kiji_area .column-image.-half > div img {
    border: 1px solid var(--base-color-white);
  }
  .kiji_area .column-image.-third > div {
    width: 48.4375%;
  }
  .kiji_area .column-image.-third > div img {
    border: 1px solid var(--base-color-white);
  }
  .kiji_area .column-image + .column-image {
    margin-top: 1rem;
  }
}

/* ==========================================================================
	data-list
========================================================================== */
.data-list {
  width: 100%;
  background: var(--base-bg-color02);
  border-radius: 30px;
}
.data-list .data_row {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 18.5204081633% 1fr;
  grid-template-columns: 18.5204081633% 1fr;
  padding: 1rem 0;
}
.data-list .data_row + .data_row {
  border-top: 1px solid var(--base-bg-color);
}
.data-list .data_head {
  color: var(--base-color-green05);
  font-weight: 500;
  line-height: 2.0666666667;
  letter-spacing: 0.04em;
}
.data-list .data_body {
  font-weight: 500;
  line-height: 2.0666666667;
  letter-spacing: 0.04em;
}
.data-list .n_txt {
  display: inline-block;
}
.data-list .map_link {
  line-height: 1;
  margin-left: 14px;
}
.data-list li {
  position: relative;
  margin: 0;
  padding-left: 1.1em;
}
.data-list li:before {
  content: "";
  position: absolute;
  left: 0.2em;
  top: 0.95em;
  width: 0.38em;
  height: 0.12em;
  background: #4aa8ad;
}

.contact_wrap {
  position: relative;
  z-index: 20;
}
.contact_wrap .inr {
  position: relative;
  container-type: inline-size;
  z-index: 10;
}
.contact_wrap .round-con {
  background: var(--base-color-white);
}
.contact_wrap .form {
  padding: 10cqw 8.9285714286cqw 10.3571428571cqw;
}
.contact_wrap .form.-conf {
  margin-top: 8.5714285714cqw;
}
.contact_wrap .form .bird {
  position: absolute;
  width: 18.5%;
  right: -1.4285714286%;
  top: 15cqw;
  z-index: 20;
  -webkit-animation: bird-float-s 6s ease-in-out infinite;
  animation: bird-float-s 6s ease-in-out infinite;
}
.contact_wrap .form .bird img {
  -webkit-animation: bird-sway-s 4.6s ease-in-out infinite;
          animation: bird-sway-s 4.6s ease-in-out infinite;
  will-change: transform;
  -webkit-transform-origin: 50% 60%;
          transform-origin: 50% 60%;
}
.contact_wrap .form .bird.-recruit {
  width: 17.7857142857%;
  right: -1.4285714286%;
  top: 3.9285714286cqw;
}
.contact_wrap .form .tit_area {
  position: relative;
  width: 100%;
  margin-bottom: 5.7142857143cqw;
}
.contact_wrap .form .tit_area h2 {
  width: 35.350877193%;
  margin-bottom: 1.5714285714cqw;
}
.contact_wrap .form .tit_area .en {
  font-size: 1.4285714286cqw;
  color: var(--base-text-color02);
  letter-spacing: 0.08em;
}
.contact_wrap .form .tit_area .n_txt {
  position: absolute;
  left: 48.2456140351%;
  top: 0;
  width: 51.7543859649%;
  font-size: 1.1428571429cqw;
  line-height: 1.875;
  font-weight: 500;
}
.contact_wrap .form .step {
  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;
  width: 56.1403508772%;
  min-width: 500px;
  margin: 0 auto 4.6428571429cqw;
}
.contact_wrap .form .step:before, .contact_wrap .form .step:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 9.375%;
  height: 1px;
  background: var(--base-color-green08);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
}
.contact_wrap .form .step::before {
  left: 29.6875%;
}
.contact_wrap .form .step::after {
  left: 70.3125%;
  background: var(--base-bg-color10);
}
.contact_wrap .form .step.-conf::before {
  background: var(--base-bg-color10);
}
.contact_wrap .form .step.-conf::after {
  background: var(--base-color-green08);
}
.contact_wrap .form .step li {
  position: relative;
  width: 18.75%;
  aspect-ratio: 1/1;
  padding-top: 1.4285714286cqw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  background: var(--base-bg-color10);
}
.contact_wrap .form .step li::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: url(../img/common/texture.webp);
  background-size: cover;
  opacity: 0.2;
  mix-blend-mode: overlay;
}
.contact_wrap .form .step li.this {
  background: var(--base-color-green08);
}
.contact_wrap .form .step .en {
  position: relative;
  display: block;
  font-size: max(13px, 1.0714285714cqw);
  margin-bottom: 1.2857142857cqw;
  color: var(--base-color-white);
  z-index: 10;
}
.contact_wrap .form .step .step-text {
  position: relative;
  display: inline-block;
  width: 69.1666666667%;
  z-index: 10;
}
.contact_wrap .form .step li:nth-child(2) .step-text {
  width: 72.5%;
}
.contact_wrap .form .step li:nth-child(3) .step-text {
  width: 71.6666666667%;
}
.contact_wrap .form_wrap {
  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;
}
.contact_wrap .form_wrap .box {
  width: 48.2456140351%;
}
.contact_wrap .form_wrap .box.-full {
  width: 100%;
}
.contact_wrap .form_wrap.-contact .box:not(:first-child) {
  margin-top: 2.5cqw;
}
.contact_wrap .form_wrap.-recruit .box:nth-child(n+3) {
  margin-top: 2.5cqw;
}
.contact_wrap .form_wrap .form_tit {
  position: relative;
  display: table;
  width: auto;
}
.contact_wrap .form_wrap .form_tit label {
  font-size: max(14px, 1.1428571429cqw);
  color: var(--base-color-green05);
  font-weight: 500;
}
.contact_wrap .form_wrap .form_tit.req:after {
  content: "必須";
  position: absolute;
  left: 100%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  white-space: nowrap;
  font-size: 0.8571428571cqw;
  color: var(--base-color-white);
  background: var(--base-color-black02);
  font-size: var(--fz12);
  font-weight: 600;
  padding: 5px 15px 8px;
  border-radius: 99px;
  margin-left: 12px;
}
.contact_wrap .form_wrap .form_input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: none;
  background: transparent;
  font-weight: 500;
  letter-spacing: 0.03em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: var(--base-bg-color06);
  margin-top: 0.8571428571cqw;
}
.contact_wrap .form_wrap .form_input .form-item {
  width: 100%;
  font-size: max(14px, 1.1428571429cqw);
  line-height: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  background: none;
  font-weight: 500;
  padding: 2.1428571429cqw 1.7857142857cqw;
}
.contact_wrap .form_wrap .form_input .form-item::-webkit-input-placeholder {
  color: #b1b1b1;
}
.contact_wrap .form_wrap .form_input .form-item::-moz-placeholder {
  color: #b1b1b1;
}
.contact_wrap .form_wrap .form_input .form-item:-ms-input-placeholder {
  color: #b1b1b1;
}
.contact_wrap .form_wrap .form_input .form-item::-ms-input-placeholder {
  color: #b1b1b1;
}
.contact_wrap .form_wrap .form_input .form-item::placeholder {
  color: #b1b1b1;
}
.contact_wrap .form_wrap .form_input .conf-text {
  font-size: max(14px, 1.1428571429cqw);
  line-height: 1;
  font-weight: 500;
}
.contact_wrap .form_wrap .form_input.b-item {
  height: clamp(280px, 24.2857142857cqw, 340px);
}
.contact_wrap .form_wrap .form_input.b-item .form-item {
  height: clamp(280px, 24.2857142857cqw, 340px);
}
.contact_wrap .form_wrap .input-radio {
  margin-top: 2.8571428571cqw;
}
.contact_wrap .form_wrap .input-radio li {
  position: relative;
  display: inline-block;
  margin-right: 3.5714285714cqw;
  margin-bottom: 2.5rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.contact_wrap .form_wrap .input-radio input {
  opacity: 0;
  position: absolute;
  left: 0;
  z-index: 0;
  -webkit-transition: none;
  transition: none;
}
.contact_wrap .form_wrap .input-radio input:checked + span:after {
  opacity: 1;
}
.contact_wrap .form_wrap .input-radio span {
  position: relative;
  font-size: max(14px, 1.1428571429cqw);
  line-height: 1;
  font-weight: 500;
  padding-left: 3.2142857143cqw;
  cursor: pointer;
}
.contact_wrap .form_wrap .input-radio span:before {
  content: "";
  display: block;
  position: absolute;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 2.1428571429cqw;
  height: 2.1428571429cqw;
  background: var(--base-bg-color06);
  top: -0.1428571429cqw;
  left: 0;
  z-index: 0;
  border-radius: 50%;
}
.contact_wrap .form_wrap .input-radio span:after {
  content: "";
  display: block;
  position: absolute;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 1.0714285714cqw;
  height: 1.0714285714cqw;
  left: 0.5714285714cqw;
  top: 0.3571428571cqw;
  background: var(--base-color-blue);
  border-radius: 50%;
  opacity: 0;
}
.contact_wrap .form_wrap textarea {
  resize: none;
}
.contact_wrap .form_wrap select {
  width: 100%;
  font-size: max(14px, 1.1428571429cqw);
  line-height: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: none;
  background: none;
  font-weight: 500;
  padding: 2.1428571429cqw 1.7857142857cqw;
  margin-top: 0.8571428571cqw;
  background-color: var(--base-bg-color06);
  background-image: url(../img/common/select-arrow.png);
  background-repeat: no-repeat;
  background-position: right 2rem center;
  background-size: 50px 30px;
  -webkit-box-sizing: brder-box;
          box-sizing: brder-box;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  color: var(--base-text-color);
}
.contact_wrap .form_wrap select:invalid {
  color: #b1b1b1;
}
.contact_wrap .form_wrap .btn_wrap {
  margin: 8.5714285714cqw auto 0;
}
.contact_wrap .form_wrap .btn_wrap.-conf {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 3rem;
}
.contact_wrap .form_wrap .btn_wrap input {
  opacity: 0;
  position: absolute;
  left: 0;
  z-index: 10;
  -webkit-transition: none;
  transition: none;
  width: 100%;
  height: 100%;
}
.contact_wrap .form_wrap .btn_wrap .link_btn {
  width: auto;
  aspect-ratio: auto;
  padding: 23px 120px 25px 40px;
}
.contact_wrap .form_wrap .btn_wrap .link_btn .arrow {
  right: 35px;
}
.contact_wrap .form_wrap .btn_wrap .link_btn.-rev {
  padding-right: 60px;
  padding-left: 110px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.contact_wrap .form_wrap .btn_wrap .link_btn.-rev .arrow {
  right: auto;
  left: 20px;
}
.contact_wrap .form_wrap .btn_wrap .link_btn.-rev .arrow img {
  -webkit-transform: var(--hantenX);
          transform: var(--hantenX);
}
.contact_wrap .thanks_tit {
  text-align: center;
  font-size: 2.1428571429cqw;
  margin-bottom: 4rem;
  font-weight: 500;
  font-family: var(--line-seed);
}
.contact_wrap .thanks_txt {
  text-align: center;
  font-size: 1.1428571429cqw;
  line-height: 1.875;
  font-weight: 500;
  margin-bottom: 3rem;
}
.contact_wrap .link_wrap {
  margin: 0 auto;
}
@media screen and (max-width: 1050px) {
  .contact_wrap .form {
    padding: min(90px, 17.1052631579cqw) 0 min(80px, 15.7894736842cqw);
  }
  .contact_wrap .form.-conf {
    margin-top: 15.7894736842cqw;
  }
  .contact_wrap .form .tit_area {
    margin-bottom: 10.5263157895cqw;
    text-align: center;
  }
  .contact_wrap .form .tit_area h2 {
    width: 62.3684210526%;
    margin: 0 auto 3.2894736842cqw;
  }
  .contact_wrap .form .tit_area .en {
    font-size: 3.1578947368cqw;
  }
  .contact_wrap .form .tit_area .n_txt {
    position: relative;
    width: 84.2105263158%;
    left: auto;
    top: auto;
    font-size: 3.6842105263cqw;
    line-height: 2.3571428571;
    margin: 10.5263157895cqw auto 11.1842105263cqw;
    text-align: left;
  }
  .contact_wrap .form .step {
    width: 84.2105263158%;
    min-width: 10px;
    margin: 0 auto 11.1842105263cqw;
  }
  .contact_wrap .form .step:before, .contact_wrap .form .step:after {
    width: 6.25%;
  }
  .contact_wrap .form .step li {
    width: 25%;
    padding-top: 4.3421052632cqw;
  }
  .contact_wrap .form .step .en {
    font-size: min(14px, 2.8947368421cqw);
    margin-bottom: 2.3684210526cqw;
  }
  .contact_wrap .form .step .step-text {
    width: 66.25%;
  }
  .contact_wrap .form .step li:nth-child(2) .step-text {
    width: 68.75%;
  }
  .contact_wrap .form .step li:nth-child(3) .step-text {
    width: 69.375%;
  }
  .contact_wrap .form_wrap {
    width: 84.2105263158%;
    margin-inline: auto;
  }
  .contact_wrap .form_wrap .box {
    width: 100%;
  }
  .contact_wrap .form_wrap.-contact .box:not(:first-child) {
    margin-top: 7.8947368421cqw;
  }
  .contact_wrap .form_wrap.-recruit .box:not(:first-child) {
    margin-top: 7.8947368421cqw;
  }
  .contact_wrap .form_wrap .form_tit label {
    font-size: min(16px, 3.6842105263cqw);
  }
  .contact_wrap .form_wrap .form_tit.req:after {
    font-size: min(14px, 2.8947368421cqw);
    font-weight: 600;
    padding: 5px 12px 8px;
    margin-left: 8px;
  }
  .contact_wrap .form_wrap .form_input {
    margin-top: 2.6315789474cqw;
  }
  .contact_wrap .form_wrap .form_input .form-item {
    font-size: max(14px, 3.1578947368cqw);
    padding: 5.2631578947cqw;
  }
  .contact_wrap .form_wrap .form_input .conf-text {
    font-size: max(14px, 3.1578947368cqw);
  }
  .contact_wrap .form_wrap .form_input.b-item {
    height: clamp(220px, 57.8947368421cqw, 300px);
  }
  .contact_wrap .form_wrap .form_input.b-item .form-item {
    height: clamp(220px, 57.8947368421cqw, 300px);
  }
  .contact_wrap .form_wrap .input-radio {
    margin-top: 5.2631578947cqw;
  }
  .contact_wrap .form_wrap .input-radio li {
    margin-right: 6.5789473684cqw;
    margin-bottom: 1.2rem;
  }
  .contact_wrap .form_wrap .input-radio span {
    font-size: max(15px, 3.1578947368cqw);
    padding-left: 6.3157894737cqw;
  }
  .contact_wrap .form_wrap .input-radio span:before {
    width: 5.2631578947cqw;
    height: 5.2631578947cqw;
    top: -0.2631578947cqw;
  }
  .contact_wrap .form_wrap .input-radio span:after {
    content: "";
    display: block;
    position: absolute;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 2.7631578947cqw;
    height: 2.7631578947cqw;
    left: 1.3157894737cqw;
    top: 0.9210526316cqw;
  }
  .contact_wrap .form_wrap select {
    margin-top: 3.0263157895cqw;
    font-size: max(14px, 3.1578947368cqw);
    padding: 5.2631578947cqw;
    background-position: right 2rem center;
    background-size: 40px 30px;
    -webkit-box-sizing: brder-box;
            box-sizing: brder-box;
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
    color: var(--base-text-color);
  }
  .contact_wrap .form_wrap select:invalid {
    color: #b1b1b1;
  }
  .contact_wrap .form_wrap .btn_wrap {
    margin: 15.7894736842cqw auto 0;
  }
  .contact_wrap .form_wrap .btn_wrap input {
    opacity: 0;
    position: absolute;
    left: 0;
    z-index: 10;
    -webkit-transition: none;
    transition: none;
    width: 100%;
    height: 100%;
  }
  .contact_wrap .form_wrap .btn_wrap .link_btn {
    padding: 15px 80px 15px 30px;
  }
  .contact_wrap .form_wrap .btn_wrap .link_btn .text {
    font-size: 16px;
  }
  .contact_wrap .form_wrap .btn_wrap .link_btn.-rev {
    padding-right: 30px;
    padding-left: 80px;
  }
  .contact_wrap .form_wrap .btn_wrap.-conf {
    display: block;
  }
  .contact_wrap .form_wrap .btn_wrap.-conf form + form {
    margin-top: 2rem;
  }
  .contact_wrap .thanks_tit {
    font-size: max(25px, 4.7368421053cqw);
    margin-bottom: 3rem;
  }
  .contact_wrap .thanks_txt {
    text-align: left;
    font-size: max(16px, 3.6842105263cqw);
    width: 85%;
    margin: 0 auto 2rem;
  }
}

.archive-pager_wrap {
  position: relative;
  width: 84.2105263158%;
  max-width: 610px;
  margin: 0 auto;
}
.archive-pager_wrap .archive-pager_num {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 15px;
  padding: 0;
  margin: 0;
  list-style: none;
  z-index: 20;
}
.archive-pager_wrap .archive-pager_num li {
  margin: 0;
  padding: 0;
}
.archive-pager_wrap .archive-pager__page {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 999px;
  font-family: var(--line-seed);
  font-size: 18px;
  line-height: 1;
  font-weight: 700;
  text-decoration: none;
  color: #309c9d;
  background: var(--base-color-white);
}
.archive-pager_wrap .archive-pager__page.is-current {
  pointer-events: none;
  background: var(--base-btn-color01);
  color: var(--base-color-white);
}
.archive-pager_wrap .archive-pager__page:hover {
  background: var(--base-btn-color01);
  color: var(--base-color-white);
}
.archive-pager_wrap .archive-pager_nav {
  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;
  position: absolute;
  right: 0;
  top: 0;
  height: 0;
  width: 100%;
  z-index: 30;
}
.archive-pager_wrap .nav-btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 120px;
  height: 60px;
  border-radius: 60px;
  background: var(--base-btn-color01);
  overflow: hidden;
}
.archive-pager_wrap .nav-btn:before {
  content: "";
  display: block;
  width: 91.6666666667%;
  height: 83.3333333333%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  z-index: 2;
  border: 1px solid var(--base-color-white);
  border-radius: 30px;
  background-size: cover;
  -webkit-mask-image: linear-gradient(to right, #000 0, #000 25px, transparent 25px, transparent calc(100% - 25px), #000 calc(100% - 25px), #000 100%);
          mask-image: linear-gradient(to right, #000 0, #000 25px, transparent 25px, transparent calc(100% - 25px), #000 calc(100% - 25px), #000 100%);
  -webkit-transition: opacity 0.4s var(--easeOutSine);
  transition: opacity 0.4s var(--easeOutSine);
}
.archive-pager_wrap .nav-btn .arrow {
  width: 16px;
  z-index: 50;
}
@media screen and (min-width: 801px) {
  .archive-pager_wrap .nav-btn:hover {
    background: var(--base-btn-color02);
  }
}
.archive-pager_wrap .prev .arrow {
  -webkit-transform: var(--hanten);
          transform: var(--hanten);
}
@media screen and (min-width: 801px) {
  .archive-pager_wrap .prev:hover .arrow {
    -webkit-transform: var(--hanten) translateX(3px);
            transform: var(--hanten) translateX(3px);
  }
}
.archive-pager_wrap .is-disabled {
  pointer-events: none;
  background: #ccc;
}
@media screen and (max-width: 700px) {
  .archive-pager_wrap {
    container-type: inline-size;
  }
  .archive-pager_wrap .archive-pager_num {
    gap: 8px;
  }
  .archive-pager_wrap .archive-pager__page {
    width: 10.9375cqw;
    height: 10.9375cqw;
    font-size: 3.75cqw;
  }
  .archive-pager_wrap .nav-btn {
    width: 21.875cqw;
    height: 10.9375cqw;
    border-radius: 5.3125cqw;
  }
  .archive-pager_wrap .nav-btn:before {
    border-radius: 5.3125cqw;
    -webkit-mask-image: linear-gradient(to right, #000 0, #000 16px, transparent 16px, transparent calc(100% - 16px), #000 calc(100% - 16px), #000 100%);
            mask-image: linear-gradient(to right, #000 0, #000 16px, transparent 16px, transparent calc(100% - 16px), #000 calc(100% - 16px), #000 100%);
    -webkit-transition: opacity 0.4s var(--easeOutSine);
    transition: opacity 0.4s var(--easeOutSine);
  }
  .archive-pager_wrap .nav-btn .arrow {
    width: 2.8125cqw;
  }
}

.d-pager_wrap {
  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;
  width: 88.5714285714%;
  margin-inline: auto;
  container-type: inline-size;
  margin-top: 160px;
  z-index: 10;
}
.d-pager_wrap .pager_link {
  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;
  width: 35.4838709677%;
  padding: 2.4193548387cqw 3.2258064516cqw;
  background: var(--base-color-white);
  border-radius: 4.8387096774cqw;
  box-siizn: border-box;
}
.d-pager_wrap .pager_link.-prev .arrow {
  margin-right: 10px;
  -webkit-transition: -webkit-transform 0.4s var(--easeOutSine);
  transition: -webkit-transform 0.4s var(--easeOutSine);
  transition: transform 0.4s var(--easeOutSine);
  transition: transform 0.4s var(--easeOutSine), -webkit-transform 0.4s var(--easeOutSine);
}
.d-pager_wrap .pager_link.-prev .arrow img {
  -webkit-transform: var(--hantenX);
          transform: var(--hantenX);
}
.d-pager_wrap .pager_link.-next {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-left: auto;
}
.d-pager_wrap .pager_link.-next .arrow {
  margin-left: 10px;
}
@media screen and (min-width: 801px) {
  .d-pager_wrap .pager_link:hover .img {
    -webkit-transform: translate(4px, 4px);
            transform: translate(4px, 4px);
  }
  .d-pager_wrap .pager_link:hover .img:before {
    background: none;
  }
  .d-pager_wrap .pager_link:hover.-prev .arrow {
    -webkit-transform: translateX(-4px);
            transform: translateX(-4px);
  }
  .d-pager_wrap .pager_link:hover.-next .arrow {
    -webkit-transform: translateX(4px);
            transform: translateX(4px);
  }
}
.d-pager_wrap .img {
  position: relative;
  width: 50%;
  aspect-ratio: 350/230;
  -webkit-transition: -webkit-transform 0.4s var(--easeOutSine);
  transition: -webkit-transform 0.4s var(--easeOutSine);
  transition: transform 0.4s var(--easeOutSine);
  transition: transform 0.4s var(--easeOutSine), -webkit-transform 0.4s var(--easeOutSine);
}
.d-pager_wrap .img img {
  position: relative;
  z-index: 5;
}
.d-pager_wrap .img:before {
  content: "";
  display: block;
  position: absolute;
  left: 8px;
  top: 8px;
  width: 100%;
  height: 100%;
  background: #efefef;
  z-index: 1;
  -webkit-transition: background 0.4s var(--easeOutSine);
  transition: background 0.4s var(--easeOutSine);
}
.d-pager_wrap .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;
}
.d-pager_wrap .text_area {
  width: 40%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.d-pager_wrap .text_area .en {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  font-weight: 500;
  color: var(--base-color-blue02);
}
.d-pager_wrap .text_area .en .arrow {
  display: inline-block;
  width: 16px;
  -webkit-transition: -webkit-transform 0.4s var(--easeOutSine);
  transition: -webkit-transform 0.4s var(--easeOutSine);
  transition: transform 0.4s var(--easeOutSine);
  transition: transform 0.4s var(--easeOutSine), -webkit-transform 0.4s var(--easeOutSine);
}
.d-pager_wrap .text_area p {
  margin-top: 1.4516129032cqw;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: -0.06em;
}
.d-pager_wrap .link_wrap {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width: 1050px) {
  .d-pager_wrap {
    display: block;
    width: 89.4736842105%;
    margin-top: 65px;
  }
  .d-pager_wrap .pager_link {
    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;
    width: 100%;
    padding: 7.3529411765cqw 8.8235294118cqw;
  }
  .d-pager_wrap .pager_link.-next {
    margin-top: 2.9411764706cqw;
  }
  .d-pager_wrap .img {
    width: 46.4285714286%;
  }
  .d-pager_wrap .img:before {
    left: 3px;
    top: 4px;
  }
  .d-pager_wrap .img:after {
    border: 1px solid var(--base-color-white);
  }
  .d-pager_wrap .text_area {
    width: 46.4285714286%;
  }
  .d-pager_wrap .text_area .en {
    font-size: 4.1176470588cqw;
  }
  .d-pager_wrap .text_area .en .arrow {
    display: inline-block;
    width: min(20px, 4.4117647059cqw);
  }
  .d-pager_wrap .text_area p {
    margin-top: 0 !important;
    font-size: max(18px, 3.8235294118cqw);
  }
  .d-pager_wrap .link_wrap {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    margin: 16.1764705882cqw auto 0;
    width: 69.1176470588%;
  }
  .d-pager_wrap .link_btn {
    width: 100%;
    border-radius: 8.8235294118cqw;
  }
  .d-pager_wrap .link_btn:before {
    border-radius: 8.8235294118cqw;
  }
}

.arrow img {
  display: block;
}

/* ==========================================================================
	parts
========================================================================== */
.link_wrap {
  display: table;
}

.link_btn {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  isolation: isolate;
  background: var(--color);
  width: 250px;
  aspect-ratio: 250/60;
  padding-left: 38px;
  border-radius: 30px;
  overflow: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: background 0.4s var(--easeOutSine);
  transition: background 0.4s var(--easeOutSine);
  border-radius: 999px;
}
.link_btn:before {
  content: "";
  display: block;
  width: 96%;
  height: 85%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  z-index: 2;
  border: 1px solid var(--base-color-white);
  border-radius: 30px;
  background-size: cover;
  -webkit-mask-image: -webkit-gradient(linear, left top, right top, color-stop(0, #000), color-stop(12%, #000), color-stop(12%, transparent), color-stop(88%, transparent), color-stop(88%, #000), to(#000));
  -webkit-mask-image: linear-gradient(to right, #000 0, #000 12%, transparent 12%, transparent 88%, #000 88%, #000 100%);
  mask-image: linear-gradient(to right, #000 0, #000 25px, transparent 25px, transparent calc(100% - 25px), #000 calc(100% - 25px), #000 100%);
  -webkit-transition: opacity 0.4s var(--easeOutSine);
  transition: opacity 0.4s var(--easeOutSine);
  border-radius: 999px;
}
.link_btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: url(../img/common/texture.webp);
  background-size: cover;
  opacity: 0.2;
  mix-blend-mode: overlay;
  border-radius: 999px;
}
.link_btn .text {
  color: #fff;
  font-size: 19px;
  font-weight: 500;
}
.link_btn .arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 20px;
  width: 16px;
  height: 16px;
  -webkit-animation: arrow-move 1.1s ease-in-out infinite;
          animation: arrow-move 1.1s ease-in-out infinite;
  will-change: transform;
}
.link_btn .arrow img {
  display: block;
}
.link_btn.-border {
  background: var(--base-bg-color02);
  border: 1px solid var(--color);
}
.link_btn.-blue {
  --color:var(--base-btn-color01);
}
.link_btn.-blue2 {
  --color:var(--base-btn-color03);
}
.link_btn.-red {
  --color:var(--base-btn-color02);
}
.link_btn.-gray {
  --color: var(--base-border-color03);
}

@media screen and (min-width: 801px) {
  a:hover .link_btn:before {
    opacity: 0;
  }
  a:hover .link_btn .arrow {
    -webkit-animation-play-state: paused;
            animation-play-state: paused;
  }
  a:hover .link_btn.-blue, a:hover .link_btn.-blue2 {
    --color:var(--base-btn-color01-hv);
  }
  a:hover .link_btn.-red {
    --color:var(--base-btn-color02-hv) ;
  }
}
@media screen and (max-width: 800px) {
  .link_btn.-xxlarge {
    padding: 22px 13px 22px 20px;
    gap: 10px;
  }
  .link_btn.-xxlarge .en {
    font-size: var(--fz12);
  }
  .link_btn.-xlarge {
    padding: 2.1rem 2.7rem 2.1rem 3.9rem;
    gap: 10px;
  }
  .link_btn.-xlarge .en, .link_btn.-xlarge span {
    font-size: var(--fz12);
    letter-spacing: 0;
    font-weight: 500;
  }
  .link_btn.-large {
    padding: 31px 38px 29px 58px;
    gap: 13px;
  }
  .link_btn.-large .en {
    font-size: var(--fz14);
  }
  .link_btn.-midium {
    padding: 29px 38px 28px 58px;
    gap: 10px;
  }
  .link_btn.-midium .en {
    font-size: var(--fz14);
  }
  .link_btn.-black .en {
    color: #fff;
  }
  .link_btn.-w230 {
    max-width: 120px;
    padding-left: 0;
    padding-right: 0;
    gap: 10px;
  }
  .link_btn.-soa {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0;
    width: 65px;
    height: 50px;
  }
  .link_btn.-soa .en {
    display: none;
  }
}
/* --------------------------------------------------------------------------
	テクスチャ
-------------------------------------------------------------------------- */
.-texure::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: url(../img/common/texture.webp);
  background-size: cover;
  opacity: 0.2;
  mix-blend-mode: overlay;
}

/* --------------------------------------------------------------------------
	縦に潰したテキスト
-------------------------------------------------------------------------- */
.scaleX-wrap {
  display: inline-block;
  vertical-align: top;
}

.scaleX {
  display: inline-block;
  -webkit-transform-origin: left center;
          transform-origin: left center;
}

.scaleX-only {
  position: relative;
  display: inline-block;
  -webkit-transform-origin: left center;
          transform-origin: left center;
}

.scaleX-text {
  position: relative;
  display: inline-block;
  -webkit-transform: scaleX(0.75);
          transform: scaleX(0.75);
  -webkit-transform-origin: left center;
          transform-origin: left center;
}

/* --------------------------------------------------------------------------
	svg関連
-------------------------------------------------------------------------- */
.svg.-theme {
  --color:var(--theme-color);
}
.svg.-black {
  --color:#000;
}
.svg svg, .svg path, .svg polygon, .svg .cls-1 {
  fill: var(--color);
}
.text .svg {
  width: var(--width);
}

/* --------------------------------------------------------------------------
	色関連
-------------------------------------------------------------------------- */
.-white {
  --color:#fff;
}

.-black {
  --color:var(--base-color-black);
}

.-theme {
  --color:var(--theme-color);
}

.-gray {
  --color:var(--base-bg-color);
}

@media screen and (min-width: 1051px) {
  .tab_on {
    display: none;
  }
}
@media screen and (max-width: 1050px) {
  .tab_off {
    display: none !important;
  }
  .tab_on {
    display: block;
  }
}
@media screen and (max-width: 800px) {
  .pc_off {
    display: block !important;
  }
  .sp_off {
    display: none !important;
  }
  .spv_txt {
    -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
    -webkit-font-feature-settings: normal;
            font-feature-settings: normal;
    vertical-align: top;
    display: inline-block;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
  .spy_txt {
    -ms-writing-mode: lr-tb !important;
        writing-mode: horizontal-tb !important;
    -webkit-font-feature-settings: normal;
            font-feature-settings: normal;
    vertical-align: baseline;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    -o-writing-mode: horizontal-tb;
  }
}
.-bg_blue {
  background: var(--base-color-blue);
}

.hv_ul {
  position: relative;
}
.hv_ul:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  background: var(--ul_color);
  -webkit-transition: -webkit-transform 0.6s var(--easeOutCubic);
  transition: -webkit-transform 0.6s var(--easeOutCubic);
  transition: transform 0.6s var(--easeOutCubic);
  transition: transform 0.6s var(--easeOutCubic), -webkit-transform 0.6s var(--easeOutCubic);
}

@media screen and (min-width: 801px) {
  a:hover .h.hv_ul::after,
  a.hv_ul:hover::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  a .hv_ul:after,
  a.hv_ul::after {
    -webkit-transform-origin: right;
            transform-origin: right;
  }
}
.sb:after {
  content: "";
  display: block;
  position: absolute;
  width: calc(var(--bW) / var(--W) * 100%);
  top: calc(var(--bT) / var(--H) * 100%);
  left: calc(var(--bL) / var(--W) * 100%);
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  background-image: var(--imgURL);
  background-size: cover;
  -webkit-transition: opacity 1s ease, -webkit-transform 1s var(--easeOutQuad);
  transition: opacity 1s ease, -webkit-transform 1s var(--easeOutQuad);
  transition: transform 1s var(--easeOutQuad), opacity 1s ease;
  transition: transform 1s var(--easeOutQuad), opacity 1s ease, -webkit-transform 1s var(--easeOutQuad);
}
.sb.move:after {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.move .shift-bg > img, .move .shift-bg > picture > *, .shift-bg.move > img, .shift-bg.move > picture > * {
  opacity: 1;
  -webkit-transform: translate(0) !important;
          transform: translate(0) !important;
}

@media screen and (max-width: 800px) {
  .shift-bg {
    position: relative;
  }
  .shift-bg:before {
    border-radius: 5px;
  }
  .shift-bg:not(img, figure):after {
    border-radius: 5px;
  }
  .shift-bg > img, .shift-bg > picture > * {
    border-radius: 5px;
  }
  .shift-bg.-lb:before {
    left: -10px;
    bottom: -10px;
  }
  .shift-bg.-lb > img, .shift-bg.-lb > picture > * {
    -webkit-transform: translate(-10px, 10px);
            transform: translate(-10px, 10px);
  }
  .shift-bg.-rt:before {
    right: -10px;
    top: -10px;
  }
  .shift-bg.-rt > img, .shift-bg.-rt > picture > * {
    -webkit-transform: translate(10px, -10px);
            transform: translate(10px, -10px);
  }
  .shift-bg.-rb:before, .shift-bg.-rb.-midium:before {
    right: -10px;
    top: 10px;
  }
  .shift-bg > :not(img) {
    border-radius: 5px;
  }
  > img, > picture > * {
    border-radius: 5px;
  }
}
.loop-text {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-inline: auto;
  width: var(--W);
  height: var(--H);
  --gap:0;
  gap: var(--gap);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  z-index: 1;
}
.loop-text p, .loop-text figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: loop-slide var(--speed) infinite linear 1s both;
          animation: loop-slide var(--speed) infinite linear 1s both;
}
.loop-text p img, .loop-text figure img {
  width: var(--imgW);
}
.loop-text.-rev p, .loop-text.-rev figure {
  -webkit-animation: loop-slide-rev var(--speed) infinite linear 1s both;
          animation: loop-slide-rev var(--speed) infinite linear 1s both;
}

.loop-slide {
  position: relative;
  overflow: hidden;
  width: var(--W);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 5;
}
.loop-slide .slide_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-animation: loop-slide var(--speed) infinite linear 1s both;
  animation: loop-slide var(--speed) infinite linear 1s both;
  gap: var(--gap);
  margin-right: var(--gap);
}
.loop-slide figure {
  position: relative;
  overflow: hidden;
  height: var(--H);
  width: var(--imgW);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* ==========================================================================
	text
========================================================================== */
.n_txt {
  position: relative;
  font-size: var(--fz15);
  letter-spacing: 0.04em;
  --lh:calc(56/30);
  line-height: 1.8666666667;
  /*
  @include lhCrop();
  */
}
.n_txt.-xlrge {
  font-size: var(--fz20);
}
.n_txt.-large {
  font-size: var(--fz19);
}
.n_txt.-midium {
  font-size: var(--fz17);
  line-height: 2.0588235294;
}
.n_txt.-regular {
  font-size: var(--fz16);
}
.n_txt.-small, .n_txt.s_txt {
  font-size: var(--fz13);
  line-height: 2.1538461538;
}
.n_txt.-center {
  text-align: center;
}
.n_txt.-mid {
  font-weight: 500;
}
.n_txt.-bld {
  font-weight: 700;
}

@media screen and (max-width: 800px) {
  .n_txt {
    letter-spacing: 0;
  }
  .n_txt.-xlrge {
    font-size: var(--fz20);
  }
  .n_txt.-large {
    font-size: var(--fz15);
  }
  .n_txt.-midium {
    font-size: var(--fz13);
  }
  .n_txt.-regular {
    font-size: var(--fz13);
  }
  .n_txt.-small, .n_txt.s_txt {
    font-size: var(--fz13);
    line-height: 2.1538461538;
  }
  .n_txt.-center {
    text-align: center;
  }
  .n_txt.-mid {
    font-weight: 500;
  }
  .n_txt.-bld {
    font-weight: 700;
  }
}
.b_txt {
  font-weight: 700;
}

.v_txt {
  -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
  vertical-align: top;
  display: inline-block;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

.paren-label {
  display: inline-block;
  line-height: 1;
  color: var(--base-color-blue);
  font-size: var(--fz11);
  --pad: 2.5rem;
}
.paren-label.-theme {
  color: var(--theme-color);
}
.paren-label > span {
  position: relative;
  display: inline-block;
  padding-inline: var(--pad);
  text-transform: uppercase;
  white-space: nowrap;
  -webkit-transform: scaleY(0.95);
          transform: scaleY(0.95);
}
.paren-label > span::before,
.paren-label > span::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-55%) scaleY(0.95);
          transform: translateY(-55%) scaleY(0.95);
  font-family: "Zen Kaku Gothic new";
  font-weight: 400;
  font-size: var(--fz24);
  line-height: 1;
  pointer-events: none;
}
.paren-label > span::before {
  content: "（";
  left: -12px;
}
.paren-label > span::after {
  content: "）";
  right: -12px;
}
.paren-label.-small {
  font-size: var(--fz10);
  font-weight: 500;
  letter-spacing: 0.04em;
}
.paren-label.-small > span::before {
  left: -15px;
  font-size: var(--fz24);
  font-weight: 400;
}
.paren-label.-small > span::after {
  right: -15px;
  font-size: var(--fz24);
  font-weight: 400;
}
.paren-label.-midium {
  font-size: var(--fz12);
  font-weight: 500;
}
.paren-label.-midium > span::before {
  left: -29px;
  font-size: var(--fz28);
}
.paren-label.-midium > span::after {
  font-size: var(--fz28);
  right: -31px;
}
.paren-label.-large {
  font-size: var(--fz13);
  padding-top: 2px;
  font-weight: 500;
}
.paren-label.-large > span::before {
  left: -26px;
  font-size: var(--fz30);
}
.paren-label.-large > span::after {
  font-size: var(--fz30);
  right: -33px;
}
.paren-label.-xlarge {
  font-size: var(--fz14);
  padding-top: 2px;
  font-weight: 500;
}
.paren-label.-xlarge > span::before {
  left: -33px;
  font-size: var(--fz33);
}
.paren-label.-xlarge > span::after {
  font-size: var(--fz33);
  right: -35px;
}
.paren-label.blue {
  color: var(--base-color-blue);
}

@media screen and (max-width: 800px) {
  .paren-label {
    font-size: var(--fz8);
    --pad: 1.5rem;
  }
  .paren-label > span::before,
  .paren-label > span::after {
    font-size: var(--fz14);
  }
  .paren-label > span::before {
    content: "（";
    left: -17px;
  }
  .paren-label > span::after {
    content: "）";
    right: -17px;
  }
  .paren-label.-small {
    font-size: var(--fz7);
  }
  .paren-label.-small > span::before {
    left: -12px;
    font-size: var(--fz14);
  }
  .paren-label.-small > span::after {
    right: -12px;
    font-size: var(--fz14);
  }
  .paren-label.-midium {
    font-size: var(--fz7);
  }
  .paren-label.-midium > span::before {
    left: -12px;
    font-size: var(--fz14);
  }
  .paren-label.-midium > span::after {
    font-size: var(--fz14);
    right: -12px;
  }
  .paren-label.-large, .paren-label.-xlarge {
    font-size: var(--fz8);
  }
  .paren-label.-large > span::before, .paren-label.-xlarge > span::before {
    left: -12px;
    font-size: var(--fz16);
  }
  .paren-label.-large > span::after, .paren-label.-xlarge > span::after {
    font-size: var(--fz16);
    right: -12px;
  }
  .paren-label.-sp6 {
    font-size: var(--fz6);
  }
  .paren-label.-sp7 {
    font-size: var(--fz7);
  }
  .paren-label.-sp7 > span::before {
    left: -12px;
    font-size: var(--fz14);
  }
  .paren-label.-sp7 > span::after {
    right: -12px;
    font-size: var(--fz14);
  }
  .paren-label.blue {
    color: var(--base-color-blue);
  }
}
.fit_img {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  background-position: center center;
  background-size: cover;
  z-index: 1;
  -webkit-transition: -webkit-transform 1.2s ease;
  transition: -webkit-transform 1.2s ease;
  transition: transform 1.2s ease;
  transition: transform 1.2s ease, -webkit-transform 1.2s ease;
}

.img_area {
  z-index: 10;
}

.inview.bt_one,
.inview.bt > * {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: opacity 1.3s var(--easeOutQuad), -webkit-transform 1.3s var(--easeOutQuad);
  transition: opacity 1.3s var(--easeOutQuad), -webkit-transform 1.3s var(--easeOutQuad);
  transition: opacity 1.3s var(--easeOutQuad), transform 1.3s var(--easeOutQuad);
  transition: opacity 1.3s var(--easeOutQuad), transform 1.3s var(--easeOutQuad), -webkit-transform 1.3s var(--easeOutQuad);
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.inview.bt.move > * {
  opacity: 100;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.inview.bt.move > *:nth-child(1) {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.inview.bt.move > *:nth-child(2) {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}
.inview.bt.move > *:nth-child(3) {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
.inview.bt.move > *:nth-child(4) {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}
.inview.bt.move > *:nth-child(5) {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}
.inview.bt.move > *:nth-child(6) {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}
.inview.bt.move > *:nth-child(7) {
  -webkit-transition-delay: 1.4s;
          transition-delay: 1.4s;
}
.inview.bt.move > *:nth-child(8) {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}
.inview.bt.move > *:nth-child(9) {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}
.inview.bt.move > *:nth-child(10) {
  -webkit-transition-delay: 2s;
          transition-delay: 2s;
}
.inview.bt.move > *:nth-child(11) {
  -webkit-transition-delay: 2.2s;
          transition-delay: 2.2s;
}
.inview.bt.move > *:nth-child(12) {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}
.inview.bt.move > *:nth-child(13) {
  -webkit-transition-delay: 2.6s;
          transition-delay: 2.6s;
}

.inview.bt_one.move {
  opacity: 100;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.inview.op {
  opacity: 0;
  visibility: hidden;
}
.inview.op.move {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s;
}

/* ==========================================================================
	map_link
========================================================================== */
.map_link {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid var(--base-color-black02);
  font-size: 13px;
  font-weight: 500;
  border-radius: 15px;
  padding: 5px 20px 7px 35px;
  text-transform: uppercase;
  background: var(--base-color-white);
  -webkit-transition: color 0.4s var(--easeOutSine), border 0.4s var(--easeOutSine);
  transition: color 0.4s var(--easeOutSine), border 0.4s var(--easeOutSine);
}
.map_link .map_icon {
  display: block;
  position: absolute;
  width: 24px;
  z-index: 10;
  left: 10px;
  bottom: 6px;
}
@media screen and (min-width: 801px) {
  .map_link:hover {
    border-color: var(--base-btn-color03);
    color: var(--base-btn-color03);
  }
}
@media screen and (max-width: 1050px) {
  .map_link {
    font-size: 14px;
    border-radius: 15px;
    padding: 5px 17px 7px 36px;
  }
  .map_link .map_icon {
    width: 21px;
    left: 11px;
    bottom: 7px;
  }
}

/* ==========================================================================
	hover arrow link
========================================================================== */
.hv_ar {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: font-weight 0.4s ease;
  transition: font-weight 0.4s ease;
}

/* 矢印：初期は非表示（スペースも取らない） */
.hv_ar .arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 12px;
  margin-right: -12px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  opacity: 0;
  -webkit-transform: translateX(-0.4em);
          transform: translateX(-0.4em);
  pointer-events: none;
  -webkit-transition: opacity 0.4s ease, margin 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, margin 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease, margin 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s ease, margin 0.4s ease, -webkit-transform 0.4s ease;
}
.hv_ar .arrow.-w10 {
  width: 10px;
  margin-right: -10px;
}

.hv_ar .arrow img {
  display: block;
  width: 100%;
  height: 100%;
}

.hv_ar {
  padding-left: 0;
  font-weight: 400; /* ベース */
  -webkit-transition: padding-left 0.4s ease;
  transition: padding-left 0.4s ease;
}

.hv_ar:hover,
.hv_ar:focus-visible {
  font-weight: 500;
}

.hv_ar:hover .arrow,
.hv_ar:focus-visible .arrow {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  margin-right: 3px !important;
}

.grecaptcha-badge {
  z-index: 500;
}

/* ==========================================================================
	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;
  --insta-color-hv:#f7228c;
  --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);
  }
}
.footer {
  position: relative;
  width: 100%;
  background: var(--base-bg-color05);
}
.footer.index {
  background: rgb(197, 252, 253);
}
.footer .contents_wrap {
  position: relative;
  width: 100%;
  max-width: 2000px;
  z-index: 10;
  margin-inline: auto;
  padding-top: min(13.3333333333vw, 266.6666666667px);
}
.footer .cloud {
  position: absolute;
  width: 24.2666666667cqw;
  left: -3.3333333333cqw;
  top: 6.0666666667cqw;
}
.footer .-w1400 {
  container-type: inline-size;
  width: 93.333%;
  max-width: 1866px;
  z-index: 50;
  opacity: 0;
  -webkit-transform: translateY(-20px);
          transform: translateY(-20px);
  -webkit-transition: opacity 0.5s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.5s ease, -webkit-transform 0.7s ease;
  transition: opacity 0.5s ease, transform 0.7s ease;
  transition: opacity 0.5s ease, transform 0.7s ease, -webkit-transform 0.7s ease;
  pointer-events: none;
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
.footer .-w1400.move {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  pointer-events: auto;
}
.footer .-w1400 .contents {
  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;
  padding: 6.4285714286cqw 5cqw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: var(--base-color-white);
  border-radius: 6rem;
}
.footer .-w1400 .contents .footer_logo-area {
  width: 20cqw;
}
.footer .-w1400 .contents .footer_logo-area h2 {
  width: 72.1428571429%;
  margin: 0 auto 2.1428571429cqw;
}
.footer .-w1400 .contents .footer_logo-area .n_txt {
  font-size: max(12px, 1cqw);
  line-height: 1.8571428571;
  text-align: center;
  margin-bottom: 2.6428571429cqw;
}
.footer .-w1400 .contents .footer_logo-area .n_txt span {
  font-size: 0.8571428571cqw;
  letter-spacing: -0.1em;
}
.footer .-w1400 .contents .footer_logo-area .link_btn {
  display: block;
  width: 20cqw;
  border-radius: 2.1428571429cqw;
  aspect-ratio: auto;
  padding-top: 1.2857142857cqw;
  padding-bottom: 1.5cqw;
  padding-left: 3.2142857143cqw;
}
.footer .-w1400 .contents .footer_logo-area .link_btn:before {
  border-radius: 2.4193548387cqw;
}
.footer .-w1400 .contents .footer_logo-area .link_btn .text {
  font-size: clamp(10px, 1.2857142857cqw, 20px);
}
.footer .-w1400 .contents .footer_logo-area .link_btn .arrow {
  width: 1.2903225806cqw;
  height: 1.2903225806cqw;
}
.footer .-w1400 .contents .footer_logo-area .tokushu_title {
  width: 94.6428571429%;
  margin: 2.4193548387cqw auto 1.2096774194cqw;
}
.footer .-w1400 .contents .footer_logo-area .tokushu_links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.9677419355cqw;
  margin-bottom: 1.6129032258cqw;
}
.footer .-w1400 .contents .footer_logo-area .tokushu_links a {
  display: block;
  width: 8.7903225806cqw;
}
@media screen and (min-width: 801px) {
  .footer .-w1400 .contents .footer_logo-area .tokushu_links a:hover {
    opacity: 0.7;
  }
}
.footer .-w1400 .contents .footer_logo-area .insta_link {
  position: relative;
  display: table;
  margin: 0 auto;
  padding: 6px 2.2580645161cqw 8px 3.2258064516cqw;
  background: var(--base-color-white);
  border-radius: 999px;
  border: 1px solid #030000;
}
.footer .-w1400 .contents .footer_logo-area .insta_link .icon {
  position: absolute;
  left: 0.7258064516cqw;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 18px;
  height: 18px;
}
.footer .-w1400 .contents .footer_logo-area .insta_link span {
  font-size: max(12px, 1.0483870968cqw);
  text-transform: uppercase;
  font-weight: 500;
  -webkit-transition: color 0.4s var(--easeOutSine);
  transition: color 0.4s var(--easeOutSine);
}
@media screen and (min-width: 801px) {
  .footer .-w1400 .contents .footer_logo-area .insta_link:hover {
    background: var(--insta-color-hv);
    border-color: var(--insta-color-hv);
  }
  .footer .-w1400 .contents .footer_logo-area .insta_link:hover span {
    color: #fff;
  }
}
.footer .-w1400 .contents .footer_link-area {
  width: 68.5483870968%;
}
.footer .-w1400 .contents .company-area {
  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;
  padding-bottom: 4.2857142857cqw;
  border-bottom: 1px solid var(--base-color-green02);
}
.footer .-w1400 .contents .company-block {
  width: 31%;
}
.footer .-w1400 .contents .company-block h3 {
  font-size: 1.1428571429cqw;
  font-size: max(14px, 1.1428571429cqw);
  font-weight: 500;
  margin-bottom: 1.5cqw;
}
.footer .-w1400 .contents .company-block .n_txt {
  font-size: 0.9285714286cqw;
  font-size: max(12px, 0.9285714286cqw);
  line-height: 2;
  font-weight: 500;
  margin-bottom: 1.5cqw;
}
.footer .-w1400 .contents .link-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 3.5714285714cqw;
}
.footer .-w1400 .contents .link-area li {
  width: 29.7647058824%;
}
.footer .-w1400 .contents .link-area .link {
  display: block;
  font-size: 1.0714285714cqw;
  margin-bottom: 1.2857142857cqw;
  font-weight: 500;
}
@media screen and (min-width: 801px) {
  .footer .-w1400 .contents .link-area .link:hover {
    font-weight: 700;
    color: var(--base-btn-color03);
  }
}
.footer .-w1400 .contents .link-area .s_link {
  position: relative;
  display: table;
  padding-left: 1cqw;
  font-size: 0.9285714286cqw;
  margin-bottom: 1.2857142857cqw;
  font-weight: 500;
}
@media screen and (min-width: 801px) {
  .footer .-w1400 .contents .link-area .s_link:hover {
    color: var(--base-btn-color03);
  }
}
.footer .-w1400 .contents .link-area .s_link:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0.4285714286cqw;
  width: 5px;
  height: 1px;
  background: var(--base-color-black);
}
.footer .-w1400 .contents .link-area .s_link + .s_link {
  margin-top: 1.0714285714cqw;
}
@media screen and (min-width: 801px) {
  .footer .-w1400 .contents .link-area a:hover {
    color: var(--base-btn-color03);
  }
}
.footer .-w1400 .contents .pagetop {
  position: absolute;
  width: 12.8571428571cqw;
  right: 3.5cqw;
  bottom: 0;
}
@media screen and (min-width: 801px) {
  .footer .-w1400 .contents .pagetop:hover .arrow-area {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px);
  }
  .footer .-w1400 .contents .pagetop:hover .tori {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px);
  }
  .footer .-w1400 .contents .pagetop:hover .tori img {
    -webkit-animation: bird-float-s 2s ease-in-out infinite;
            animation: bird-float-s 2s ease-in-out infinite;
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s;
  }
  .footer .-w1400 .contents .pagetop:hover .bf {
    opacity: 0;
  }
  .footer .-w1400 .contents .pagetop:hover .af {
    opacity: 1;
  }
}
.footer .-w1400 .contents .arrow-area {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 8.8571428571cqw;
  aspect-ratio: 1/1;
  margin-left: auto;
  margin-bottom: 6.4285714286cqw;
  -webkit-transition: -webkit-transform 1s ease;
  transition: -webkit-transform 1s ease;
  transition: transform 1s ease;
  transition: transform 1s ease, -webkit-transform 1s ease;
}
.footer .-w1400 .contents .arrow-area:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: url(../img/common/pagetop-circle.png);
  background-size: cover;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-animation: bg-rotate 30s linear infinite;
          animation: bg-rotate 30s linear infinite;
  will-change: transform;
}
.footer .-w1400 .contents .arrow-area .arrow {
  position: absolute;
  width: 20.9677419355%;
  aspect-ratio: 1/1;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.footer .-w1400 .contents .illust_area {
  position: relative;
  width: 10.0714285714cqw;
}
.footer .-w1400 .contents .tori {
  position: absolute;
  width: 127.6595744681%;
  left: -17.7304964539%;
  bottom: 90.4761904762%;
}
.footer .-w1400 .contents .tori img {
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transition: opacity 0.35s ease;
  transition: opacity 0.35s ease;
  will-change: opacity, transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.footer .-w1400 .contents .tori .bf {
  opacity: 1;
  z-index: 1;
}
.footer .-w1400 .contents .tori .af {
  opacity: 0;
  z-index: 2;
}
.footer .-w1400 .copy {
  display: block;
  text-align: center;
  font-size: 0.8571428571cqw;
  color: #fff;
  margin-top: 5.3571428571cqw;
  margin-bottom: 5cqw;
  text-transform: uppercase;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 1050px) {
  .footer .-w1400 {
    width: 90%;
  }
  .footer .-w1400 .contents {
    position: relative;
    display: block;
    padding: 17.3611111111cqw 11.1111111111cqw;
    border-radius: 3rem;
  }
  .footer .-w1400 .contents .footer_logo-area {
    width: 100%;
    padding-bottom: 8.9285714286cqw;
  }
  .footer .-w1400 .contents .footer_logo-area h2 {
    width: 69.8214285714%;
    margin: 0 auto 3.4722222222cqw;
  }
  .footer .-w1400 .contents .footer_logo-area .n_txt {
    font-size: max(12px, 3.6111111111cqw);
    line-height: 1.6923076923;
    margin-bottom: 6.25cqw;
  }
  .footer .-w1400 .contents .footer_logo-area .n_txt span {
    font-size: max(12px, 3.6111111111cqw);
  }
  .footer .-w1400 .contents .footer_logo-area .link_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto;
  }
  .footer .-w1400 .contents .footer_logo-area .link_btn {
    width: 82.1428571429%;
    aspect-ratio: auto;
    border-radius: 999px;
    padding-top: clamp(10px, 4.1666666667cqw, 30px);
    padding-bottom: clamp(10px, 4.1666666667cqw, 30px);
    padding-left: clamp(10px, 8.3333333333cqw, 60px);
  }
  .footer .-w1400 .contents .footer_logo-area .link_btn:before {
    border-radius: 6.9444444444cqw;
    background: none;
  }
  .footer .-w1400 .contents .footer_logo-area .link_btn .text {
    font-size: clamp(14px, 4.4444444444cqw, 28px);
  }
  .footer .-w1400 .contents .footer_logo-area .link_btn .arrow {
    width: min(24px, 3.3333333333cqw);
    height: min(24px, 3.3333333333cqw);
  }
  .footer .-w1400 .contents .footer_logo-area .tokushu_title {
    width: 100%;
    max-width: 570px;
    margin: 14.2857142857cqw auto 6.6071428571cqw;
  }
  .footer .-w1400 .contents .footer_logo-area .tokushu_links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 3.2142857143cqw;
    margin-bottom: 6.25cqw;
  }
  .footer .-w1400 .contents .footer_logo-area .tokushu_links a {
    display: block;
    width: 45.3571428571%;
    max-width: 254px;
  }
  .footer .-w1400 .contents .footer_logo-area .insta_link {
    width: 82.1428571429%;
    text-align: center;
    padding: 8px 0 10px;
  }
  .footer .-w1400 .contents .footer_logo-area .insta_link .icon {
    width: 26px;
    height: 26px;
  }
  .footer .-w1400 .contents .footer_logo-area .insta_link span {
    font-size: min(17px, 3.9285714286cqw);
  }
  .footer .-w1400 .contents .footer_link-area {
    width: 100%;
  }
  .footer .-w1400 .contents .company-area {
    display: block;
    padding-bottom: 0;
    border-bottom: 1px solid var(--base-color-green02);
  }
  .footer .-w1400 .contents .company-block {
    width: 100%;
    border-top: 1px solid var(--base-color-green02);
    padding: 9.8214285714cqw 0;
    text-align: center;
  }
  .footer .-w1400 .contents .company-block h3 {
    font-size: 3.8888888889cqw;
    margin-bottom: 4.1666666667cqw;
  }
  .footer .-w1400 .contents .company-block .n_txt {
    font-size: 3.6111111111cqw;
    margin-bottom: 5.5555555556cqw;
    line-height: 1.6923076923;
  }
  .footer .-w1400 .contents .link-area {
    position: relative;
    display: block;
    padding-top: 10.2777777778cqw;
  }
  .footer .-w1400 .contents .link-area li {
    width: 57.1428571429%;
  }
  .footer .-w1400 .contents .link-area li:last-child {
    position: absolute;
    width: 41.9642857143%;
    right: 0;
    top: 10.2777777778cqw;
  }
  .footer .-w1400 .contents .link-area .link {
    display: block;
    font-size: 3.4722222222cqw;
    margin-bottom: 2.7777777778cqw;
  }
  .footer .-w1400 .contents .link-area .link.-ls {
    letter-spacing: -0.1em;
  }
  .footer .-w1400 .contents .link-area .s_link {
    padding-left: 4.1666666667cqw;
    font-size: 3.3333333333cqw;
    margin-bottom: 3.3333333333cqw;
  }
  .footer .-w1400 .contents .link-area .s_link:before {
    top: 1.6666666667cqw;
    width: 1.4285714286cqw;
  }
  .footer .-w1400 .contents .pagetop {
    width: 24.5833333333cqw;
    right: 13.1944444444cqw;
    bottom: 14.3055555556cqw;
  }
  .footer .-w1400 .contents .arrow-area {
    width: 24.5833333333cqw;
    margin-bottom: 0;
  }
  .footer .-w1400 .contents .arrow-area .arrow {
    width: 21.4689265537%;
  }
  .footer .-w1400 .copy {
    font-size: 3.4722222222cqw;
    line-height: 1.7692307692;
    color: var(--base-color-blue03);
    margin-top: 40.9722222222cqw;
    margin-bottom: 23.6111111111cqw;
  }
}
.footer .footer_illust-area {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 1;
}
@media screen and (max-width: 1050px) {
  .footer .footer_illust-area {
    position: relative;
  }
}