@charset "UTF-8";
/* -------------------------------------------
* 【rem単位の設定】
* 16pxを1remとした時の、1px分の計算用ベース
* padding: calc(24 * var(--px)); →24px相当
* font-size: calc(32 * var(--px)); → 32px相当
* ------------------------------------------- */
:root {
  --px: calc(1rem / 16);
}

/* -------------------------------------------
 * フォントサイズのroot
 * SP(375px)時点でPCと同じ比率になるよう、min値は
 * 「n × 0.6(下限12px)」で統一して算出
 * -------------------------------------------*/
:root {
  /* --- 1 to 10 --- */
  --f1: calc(1 * var(--px));
  --f2: calc(2 * var(--px));
  --f3: calc(3 * var(--px));
  --f4: calc(4 * var(--px));
  --f5: calc(5 * var(--px));
  --f6: calc(6 * var(--px));
  --f7: calc(7 * var(--px));
  --f8: calc(8 * var(--px));
  --f9: calc(9 * var(--px));
  --f10: calc(10 * var(--px));
  /* --- 11 to 13 --- */
  --f11: calc(11 * var(--px));
  --f12: calc(12 * var(--px));
  --f13: calc(13 * var(--px));
  /* --- 14 to 20 --- */
  --f14: clamp(
    calc(13 * var(--px)),
    calc(14 / 1680 * 100vw),
    calc(14 * var(--px))
  );
  --f15: clamp(
    calc(13 * var(--px)),
    calc(15 / 1680 * 100vw),
    calc(15 * var(--px))
  );
  --f16: clamp(
    calc(14 * var(--px)),
    calc(16 / 1680 * 100vw),
    calc(16 * var(--px))
  );
  --f17: clamp(
    calc(15 * var(--px)),
    calc(17 / 1680 * 100vw),
    calc(17 * var(--px))
  );
  --f18: clamp(
    calc(16 * var(--px)),
    calc(18 / 1680 * 100vw),
    calc(18 * var(--px))
  );
  --f19: clamp(
    calc(17 * var(--px)),
    calc(19 / 1680 * 100vw),
    calc(19 * var(--px))
  );
  --f20: clamp(
    calc(18 * var(--px)),
    calc(20 / 1680 * 100vw),
    calc(20 * var(--px))
  );
  /* --- 21 to 30 --- */
  --f21: clamp(
    calc(18 * var(--px)),
    calc(21 / 1680 * 100vw),
    calc(21 * var(--px))
  );
  --f22: clamp(
    calc(19 * var(--px)),
    calc(22 / 1680 * 100vw),
    calc(22 * var(--px))
  );
  --f23: clamp(
    calc(20 * var(--px)),
    calc(23 / 1680 * 100vw),
    calc(23 * var(--px))
  );
  --f24: clamp(
    calc(21 * var(--px)),
    calc(24 / 1680 * 100vw),
    calc(24 * var(--px))
  );
  --f25: clamp(
    calc(22 * var(--px)),
    calc(25 / 1680 * 100vw),
    calc(25 * var(--px))
  );
  --f26: clamp(
    calc(23 * var(--px)),
    calc(26 / 1680 * 100vw),
    calc(26 * var(--px))
  );
  --f27: clamp(
    calc(23 * var(--px)),
    calc(27 / 1680 * 100vw),
    calc(27 * var(--px))
  );
  --f28: clamp(
    calc(24 * var(--px)),
    calc(28 / 1680 * 100vw),
    calc(28 * var(--px))
  );
  --f29: clamp(
    calc(25 * var(--px)),
    calc(29 / 1680 * 100vw),
    calc(29 * var(--px))
  );
  --f30: clamp(
    calc(26 * var(--px)),
    calc(30 / 1680 * 100vw),
    calc(30 * var(--px))
  );
  /* --- 31 to 40 --- */
  --f31: clamp(
    calc(26 * var(--px)),
    calc(31 / 1680 * 100vw),
    calc(31 * var(--px))
  );
  --f32: clamp(
    calc(27 * var(--px)),
    calc(32 / 1680 * 100vw),
    calc(32 * var(--px))
  );
  --f33: clamp(
    calc(28 * var(--px)),
    calc(33 / 1680 * 100vw),
    calc(33 * var(--px))
  );
  --f34: clamp(
    calc(29 * var(--px)),
    calc(34 / 1680 * 100vw),
    calc(34 * var(--px))
  );
  --f35: clamp(
    calc(29 * var(--px)),
    calc(35 / 1680 * 100vw),
    calc(35 * var(--px))
  );
  --f36: clamp(
    calc(30 * var(--px)),
    calc(36 / 1680 * 100vw),
    calc(36 * var(--px))
  );
  --f37: clamp(
    calc(31 * var(--px)),
    calc(37 / 1680 * 100vw),
    calc(37 * var(--px))
  );
  --f38: clamp(
    calc(32 * var(--px)),
    calc(38 / 1680 * 100vw),
    calc(38 * var(--px))
  );
  --f39: clamp(
    calc(32 * var(--px)),
    calc(39 / 1680 * 100vw),
    calc(39 * var(--px))
  );
  --f40: clamp(
    calc(33 * var(--px)),
    calc(40 / 1680 * 100vw),
    calc(40 * var(--px))
  );
  /* --- 41 to 50 --- */
  --f41: clamp(
    calc(34 * var(--px)),
    calc(41 / 1680 * 100vw),
    calc(41 * var(--px))
  );
  --f42: clamp(
    calc(34 * var(--px)),
    calc(42 / 1680 * 100vw),
    calc(42 * var(--px))
  );
  --f43: clamp(
    calc(35 * var(--px)),
    calc(43 / 1680 * 100vw),
    calc(43 * var(--px))
  );
  --f44: clamp(
    calc(36 * var(--px)),
    calc(44 / 1680 * 100vw),
    calc(44 * var(--px))
  );
  --f45: clamp(
    calc(37 * var(--px)),
    calc(45 / 1680 * 100vw),
    calc(45 * var(--px))
  );
  --f46: clamp(
    calc(37 * var(--px)),
    calc(46 / 1680 * 100vw),
    calc(46 * var(--px))
  );
  --f47: clamp(
    calc(38 * var(--px)),
    calc(47 / 1680 * 100vw),
    calc(47 * var(--px))
  );
  --f48: clamp(
    calc(39 * var(--px)),
    calc(48 / 1680 * 100vw),
    calc(48 * var(--px))
  );
  --f49: clamp(
    calc(39 * var(--px)),
    calc(49 / 1680 * 100vw),
    calc(49 * var(--px))
  );
  --f50: clamp(
    calc(40 * var(--px)),
    calc(50 / 1680 * 100vw),
    calc(50 * var(--px))
  );
  /* --- 51 to 60 --- */
  --f51: clamp(
    calc(41 * var(--px)),
    calc(51 / 1680 * 100vw),
    calc(51 * var(--px))
  );
  --f52: clamp(
    calc(41 * var(--px)),
    calc(52 / 1680 * 100vw),
    calc(52 * var(--px))
  );
  --f53: clamp(
    calc(42 * var(--px)),
    calc(53 / 1680 * 100vw),
    calc(53 * var(--px))
  );
  --f54: clamp(
    calc(42 * var(--px)),
    calc(54 / 1680 * 100vw),
    calc(54 * var(--px))
  );
  --f55: clamp(
    calc(43 * var(--px)),
    calc(55 / 1680 * 100vw),
    calc(55 * var(--px))
  );
  --f56: clamp(
    calc(44 * var(--px)),
    calc(56 / 1680 * 100vw),
    calc(56 * var(--px))
  );
  --f57: clamp(
    calc(44 * var(--px)),
    calc(57 / 1680 * 100vw),
    calc(57 * var(--px))
  );
  --f58: clamp(
    calc(45 * var(--px)),
    calc(58 / 1680 * 100vw),
    calc(58 * var(--px))
  );
  --f59: clamp(
    calc(46 * var(--px)),
    calc(59 / 1680 * 100vw),
    calc(59 * var(--px))
  );
  --f60: clamp(
    calc(46 * var(--px)),
    calc(60 / 1680 * 100vw),
    calc(60 * var(--px))
  );
  /* --- 61 to 70 --- */
  --f61: clamp(
    calc(47 * var(--px)),
    calc(61 / 1680 * 100vw),
    calc(61 * var(--px))
  );
  --f62: clamp(
    calc(47 * var(--px)),
    calc(62 / 1680 * 100vw),
    calc(62 * var(--px))
  );
  --f63: clamp(
    calc(48 * var(--px)),
    calc(63 / 1680 * 100vw),
    calc(63 * var(--px))
  );
  --f64: clamp(
    calc(49 * var(--px)),
    calc(64 / 1680 * 100vw),
    calc(64 * var(--px))
  );
  --f65: clamp(
    calc(49 * var(--px)),
    calc(65 / 1680 * 100vw),
    calc(65 * var(--px))
  );
  --f66: clamp(
    calc(50 * var(--px)),
    calc(66 / 1680 * 100vw),
    calc(66 * var(--px))
  );
  --f67: clamp(
    calc(50 * var(--px)),
    calc(67 / 1680 * 100vw),
    calc(67 * var(--px))
  );
  --f68: clamp(
    calc(51 * var(--px)),
    calc(68 / 1680 * 100vw),
    calc(68 * var(--px))
  );
  --f69: clamp(
    calc(51 * var(--px)),
    calc(69 / 1680 * 100vw),
    calc(69 * var(--px))
  );
  --f70: clamp(
    calc(52 * var(--px)),
    calc(70 / 1680 * 100vw),
    calc(70 * var(--px))
  );
  /* --- 71 to 80 --- */
  --f71: clamp(
    calc(52 * var(--px)),
    calc(71 / 1680 * 100vw),
    calc(71 * var(--px))
  );
  --f72: clamp(
    calc(53 * var(--px)),
    calc(72 / 1680 * 100vw),
    calc(72 * var(--px))
  );
  --f73: clamp(
    calc(54 * var(--px)),
    calc(73 / 1680 * 100vw),
    calc(73 * var(--px))
  );
  --f74: clamp(
    calc(54 * var(--px)),
    calc(74 / 1680 * 100vw),
    calc(74 * var(--px))
  );
  --f75: clamp(
    calc(55 * var(--px)),
    calc(75 / 1680 * 100vw),
    calc(75 * var(--px))
  );
  --f76: clamp(
    calc(55 * var(--px)),
    calc(76 / 1680 * 100vw),
    calc(76 * var(--px))
  );
  --f77: clamp(
    calc(56 * var(--px)),
    calc(77 / 1680 * 100vw),
    calc(77 * var(--px))
  );
  --f78: clamp(
    calc(56 * var(--px)),
    calc(78 / 1680 * 100vw),
    calc(78 * var(--px))
  );
  --f79: clamp(
    calc(57 * var(--px)),
    calc(79 / 1680 * 100vw),
    calc(79 * var(--px))
  );
  --f80: clamp(
    calc(57 * var(--px)),
    calc(80 / 1680 * 100vw),
    calc(80 * var(--px))
  );
  /* --- 81 to 90 --- */
  --f81: clamp(
    calc(58 * var(--px)),
    calc(81 / 1680 * 100vw),
    calc(81 * var(--px))
  );
  --f82: clamp(
    calc(58 * var(--px)),
    calc(82 / 1680 * 100vw),
    calc(82 * var(--px))
  );
  --f83: clamp(
    calc(58 * var(--px)),
    calc(83 / 1680 * 100vw),
    calc(83 * var(--px))
  );
  --f84: clamp(
    calc(59 * var(--px)),
    calc(84 / 1680 * 100vw),
    calc(84 * var(--px))
  );
  --f85: clamp(
    calc(59 * var(--px)),
    calc(85 / 1680 * 100vw),
    calc(85 * var(--px))
  );
  --f86: clamp(
    calc(60 * var(--px)),
    calc(86 / 1680 * 100vw),
    calc(86 * var(--px))
  );
  --f87: clamp(
    calc(60 * var(--px)),
    calc(87 / 1680 * 100vw),
    calc(87 * var(--px))
  );
  --f88: clamp(
    calc(61 * var(--px)),
    calc(88 / 1680 * 100vw),
    calc(88 * var(--px))
  );
  --f89: clamp(
    calc(61 * var(--px)),
    calc(89 / 1680 * 100vw),
    calc(89 * var(--px))
  );
  --f90: clamp(
    calc(62 * var(--px)),
    calc(90 / 1680 * 100vw),
    calc(90 * var(--px))
  );
  /* --- 91 to 100 --- */
  --f91: clamp(
    calc(62 * var(--px)),
    calc(91 / 1680 * 100vw),
    calc(91 * var(--px))
  );
  --f92: clamp(
    calc(62 * var(--px)),
    calc(92 / 1680 * 100vw),
    calc(92 * var(--px))
  );
  --f93: clamp(
    calc(63 * var(--px)),
    calc(93 / 1680 * 100vw),
    calc(93 * var(--px))
  );
  --f94: clamp(
    calc(63 * var(--px)),
    calc(94 / 1680 * 100vw),
    calc(94 * var(--px))
  );
  --f95: clamp(
    calc(64 * var(--px)),
    calc(95 / 1680 * 100vw),
    calc(95 * var(--px))
  );
  --f96: clamp(
    calc(64 * var(--px)),
    calc(96 / 1680 * 100vw),
    calc(96 * var(--px))
  );
  --f97: clamp(
    calc(65 * var(--px)),
    calc(97 / 1680 * 100vw),
    calc(97 * var(--px))
  );
  --f98: clamp(
    calc(65 * var(--px)),
    calc(98 / 1680 * 100vw),
    calc(98 * var(--px))
  );
  --f99: clamp(
    calc(65 * var(--px)),
    calc(99 / 1680 * 100vw),
    calc(99 * var(--px))
  );
  --f100: clamp(
    calc(66 * var(--px)),
    calc(100 / 1680 * 100vw),
    calc(100 * var(--px))
  );
  /* --- 101 to 110 --- */
  --f101: clamp(
    calc(66 * var(--px)),
    calc(101 / 1680 * 100vw),
    calc(101 * var(--px))
  );
  --f102: clamp(
    calc(66 * var(--px)),
    calc(102 / 1680 * 100vw),
    calc(102 * var(--px))
  );
  --f103: clamp(
    calc(67 * var(--px)),
    calc(103 / 1680 * 100vw),
    calc(103 * var(--px))
  );
  --f104: clamp(
    calc(67 * var(--px)),
    calc(104 / 1680 * 100vw),
    calc(104 * var(--px))
  );
  --f105: clamp(
    calc(67 * var(--px)),
    calc(105 / 1680 * 100vw),
    calc(105 * var(--px))
  );
  --f106: clamp(
    calc(68 * var(--px)),
    calc(106 / 1680 * 100vw),
    calc(106 * var(--px))
  );
  --f107: clamp(
    calc(68 * var(--px)),
    calc(107 / 1680 * 100vw),
    calc(107 * var(--px))
  );
  --f108: clamp(
    calc(68 * var(--px)),
    calc(108 / 1680 * 100vw),
    calc(108 * var(--px))
  );
  --f109: clamp(
    calc(69 * var(--px)),
    calc(109 / 1680 * 100vw),
    calc(109 * var(--px))
  );
  --f110: clamp(
    calc(69 * var(--px)),
    calc(110 / 1680 * 100vw),
    calc(110 * var(--px))
  );
  /* --- 111 to 120 --- */
  --f111: clamp(
    calc(69 * var(--px)),
    calc(111 / 1680 * 100vw),
    calc(111 * var(--px))
  );
  --f112: clamp(
    calc(70 * var(--px)),
    calc(112 / 1680 * 100vw),
    calc(112 * var(--px))
  );
  --f113: clamp(
    calc(70 * var(--px)),
    calc(113 / 1680 * 100vw),
    calc(113 * var(--px))
  );
  --f114: clamp(
    calc(70 * var(--px)),
    calc(114 / 1680 * 100vw),
    calc(114 * var(--px))
  );
  --f115: clamp(
    calc(71 * var(--px)),
    calc(115 / 1680 * 100vw),
    calc(115 * var(--px))
  );
  --f116: clamp(
    calc(71 * var(--px)),
    calc(116 / 1680 * 100vw),
    calc(116 * var(--px))
  );
  --f117: clamp(
    calc(71 * var(--px)),
    calc(117 / 1680 * 100vw),
    calc(117 * var(--px))
  );
  --f118: clamp(
    calc(71 * var(--px)),
    calc(118 / 1680 * 100vw),
    calc(118 * var(--px))
  );
  --f119: clamp(
    calc(72 * var(--px)),
    calc(119 / 1680 * 100vw),
    calc(119 * var(--px))
  );
  --f120: clamp(
    calc(72 * var(--px)),
    calc(120 / 1680 * 100vw),
    calc(120 * var(--px))
  );
  --f160: clamp(
    calc(96 * var(--px)),
    calc(160 / 1680 * 100vw),
    calc(160 * var(--px))
  );
}

@media screen and (max-width: 834px) {
  .pc {
    display: none !important;
  }
}

@media screen and (min-width: 835px) {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 640px) {
  .pc-sm {
    display: none !important;
  }
}

@media screen and (min-width: 641px) {
  .sp-sm {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  .pc-tb {
    display: none !important;
  }
}

@media screen and (min-width: 1025px) {
  .sp-tb {
    display: none !important;
  }
}

/* ====================================================
HTML
==================================================== */
html {
  scroll-behavior: smooth;
}

body {
  font-size: 16px;
  font-feature-settings: "palt";
  font-weight: 300;
  line-height: 2;
  background: #f7f6fb;
  color: #505366;
  font-family: "Noto Sans", sans-serif;
  position: relative;
  letter-spacing: 0.05em;
  z-index: 1;
  overflow-x: clip;
}
@media screen and (max-width: 834px) {
  body {
    font-size: 14px;
  }
}

.inner {
  max-width: 1350px;
  width: 90%;
  margin: 0 auto;
}

.inner-s {
  max-width: 1100px;
  width: 90%;
  margin: 0 auto;
}

.inner-xs {
  max-width: 987px;
  width: 90%;
  margin: 0 auto;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  text-decoration: none;
}

/* ====================================================
FONTS
==================================================== */
.ja-title {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0.05em;
}

.ja {
  font-family: "Noto Sans", sans-serif;
}

.en {
  font-family: "Belleza", sans-serif;
  font-weight: 400;
  line-height: 1.3;
}

.f-number {
  font-family: "Arsenal", sans-serif;
}

/* ====================================================
Animation
==================================================== */
.fadein.scroll-activate {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
  transform-origin: 50% 0;
  transition: opacity 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s, transform 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
}

.fadein.scroll-activate.active {
  opacity: 1;
  transform: translateZ(0);
}

.fadein-mask {
  overflow: hidden;
}
.fadein-mask .fadein-up {
  display: block;
  transform: translateY(100%);
  transition: transform 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.fadein-mask.active .fadein-up {
  transform: translateY(0);
}

/* A Modern CSS Reset */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg*, symbol*)) {
  all: unset;
  display: revert;
}

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

body,
h1,
h2,
h3,
h4,
h5,
h6,
figure,
blockquote,
dl,
dd,
ul,
ol {
  margin: 0;
  font-weight: 400;
}

p {
  margin: 0;
  font-weight: 300;
}

a,
button {
  cursor: revert;
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  padding-left: 0;
}

img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

table {
  border-collapse: collapse;
}

th {
  font-weight: normal;
  text-align: left;
}

input,
textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
}

:where(pre) {
  all: revert;
}

::-moz-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

::marker {
  content: initial;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
}

/* ====================================================
Module
==================================================== */
/* ====================================================
Header
==================================================== */
.header {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  width: 100%;
  position: fixed;
  width: 100%;
  top: 0px;
  right: 0;
  left: 0;
  position: fixed;
  z-index: 1000;
}
@media screen and (min-width: 835px) {
  .header {
    margin: 0 auto;
    padding: 20px 2% 20px 5.7%;
    transition: transform 0.6s ease, opacity 0.6s ease;
  }
}
@media screen and (max-width: 834px) {
  .header {
    padding: 10px 3% 5px;
    position: absolute;
  }
}

.company__logo {
  opacity: 1;
  width: 80px;
  height: auto;
  transition: width 0.4s ease, opacity 0.4s ease;
}
@media screen and (max-width: 834px) {
  .company__logo {
    max-width: 40px;
  }
}

/* ====================================================
Footer
==================================================== */
.footer {
  padding: 160px 0 60px;
  background: url(../img/top/footer-bg.webp) center/cover no-repeat;
  color: #fff;
}
@media screen and (max-width: 834px) {
  .footer {
    padding: 70px 0 30px;
  }
}
.footer__contents {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 834px) {
  .footer__contents {
    flex-direction: column;
    gap: 30px 0;
    justify-content: center;
    text-align: center;
    align-items: center;
  }
}
.footer__main {
  width: 40%;
  display: flex;
  flex-direction: column;
  text-align: left;
}
@media screen and (max-width: 834px) {
  .footer__main {
    width: 100%;
  }
}
.footer__title {
  text-align: left;
  font-size: var(--f24);
  line-height: 1.5;
}
.footer__title-en {
  margin-bottom: 30px;
  font-size: var(--f120);
  line-height: 1;
}
@media screen and (max-width: 834px) {
  .footer__title-en {
    margin-bottom: 20px;
  }
}
.footer__text {
  font-weight: 400;
}
.footer__btns {
  width: 50%;
  gap: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
}
@media screen and (max-width: 834px) {
  .footer__btns {
    flex-direction: column;
    gap: 15px;
    width: 100%;
  }
}
.footer__btns img {
  width: 25px;
  height: auto;
  margin-right: 10px;
}
.footer__btn {
  width: 100%;
}
.footer .btn {
  width: 100%;
  max-width: none;
}
.footer .tel {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.footer .tel .link-text-en {
  display: flex;
  align-items: baseline;
  font-size: var(--f24);
  font-weight: 400;
  line-height: 1;
}
.footer .tel .link-text-en span {
  font-size: var(--f32);
  font-weight: 400;
}
.footer .tel .link-text {
  font-size: var(--f12);
  font-weight: 300;
}
.footer .instagram .link-text {
  font-size: var(--f18);
  font-weight: 400;
}
.footer .instagram .link-text span {
  font-size: var(--f24);
  font-weight: 400;
}
.footer .mail {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.footer .mail .link-text {
  font-size: var(--f18);
  font-weight: 400;
  display: flex;
  align-items: center;
}
.footer .mail .link-text span {
  font-size: var(--f21);
  font-weight: 400;
}
.footer .mail .link-note {
  font-size: var(--f12);
  font-weight: 300;
  display: block;
}
.footer .line:hover {
  background-position: unset;
}
.footer .copyright {
  margin-top: 140px;
  text-align: center;
  color: #fff;
  font-size: var(--f14);
}
@media screen and (max-width: 834px) {
  .footer .copyright {
    margin-top: 30px;
    font-size: 12px;
  }
}

/* ====================================================
floating-banner
==================================================== */
.floating-banner {
  position: fixed;
  z-index: 1000;
  bottom: 30px;
  left: 2%;
  background: linear-gradient(122deg, rgb(174, 186, 177) 10%, rgb(85, 164, 177) 50%, rgb(174, 186, 177) 100%);
  background-size: 200% 200%;
  background-position: 0% 0%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  line-height: 1.2;
  width: 178px;
  height: 178px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  color: #fff;
  transition: background-position 0.8s ease, opacity 0.5s ease, visibility 0.5s ease;
}
@media screen and (max-width: 834px) {
  .floating-banner {
    max-width: 250px;
    width: 90%;
    height: 70px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border-radius: 70px;
  }
}
.floating-banner.is-hidden {
  opacity: 0;
  visibility: hidden;
}
.floating-banner:hover {
  background-position: 100% 100%;
}
.floating-banner span.en {
  font-size: clamp(18px, 1.6vw, 24px);
}
.floating-banner p.ja {
  font-weight: 400;
  font-size: clamp(12px, 0.9vw, 14px);
}
/* ====================================================
common
==================================================== */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* ====================================================
bg-gradient
==================================================== */
.bg-gradient-p {
  background: linear-gradient(70deg, rgb(221, 229, 223) 0%, #d8bddc 100%);
  position: relative;
}

/* ====================================================
BTN
==================================================== */
.btn {
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  width: clamp(250px, 28.5vw, 360px);
  overflow: hidden;
  max-width: 100%;
  height: 100px;
  border-radius: 0;
  color: #505366;
  background: #f1e5e8;
  background-size: 200% 200%;
  background-position: 0% 0%;
  transition: background-position 0.8s ease;
  text-align: center;
  position: relative;
}
.btn:hover {
  background-position: 100% 100%;
}
@media screen and (max-width: 834px) {
  .btn {
    height: 75px;
  }
}

/* ====================================================
共通レイアウト、テキストのスタイル
==================================================== */
.layout--2-columns {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 834px) {
  .layout--2-columns {
    flex-direction: column;
  }
}

.text {
  font-weight: 300;
}/*# sourceMappingURL=common.css.map */