@charset "UTF-8";
/* ==========================================================================
	root
========================================================================== */
:root {
  --base-pc-width:1500;
  --base-sp-width:400;
  --vwPC: calc(100vw / 1500);
  --vwSP: calc(100vw / 400);
  --easeInQuad:cubic-bezier(.55, .085, .68, .53);
  --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:#f55b96;
  --base-text-color:#333;
  --base-color-blue:#4bc3e5;
  --base-color-blue02:#00aae2;
  --base-color-green:#2bb063;
  --base-color-perple:#6367b0;
  --base-color-orange:#fb9b00;
  --base-color-yellow:#ffcf19;
  --base-color-beige:#f5f4ef;
  --base-color-gray:#a4a4a4;
  --base-color-gray02:#aeaaaf;
  --base-color-gray03:#b3b3b3;
  --base-color-gray04:#848484;
  --base-color-gray05:#c4c4c4;
  --base-color-gray06:#7e7e7e;
  --base-color-gray07:#666;
  --base-color-gray08:#bebebe;
  --base-color-gray09:#dfdfdf;
  --base-color-gray10:#676767;
  --base-color-tv:#22f2f2;
  --base-border-color:#cdc4c5;
  --base-border-color02:#d3d3d3;
  --base-border-color03:#a1a1a1;
  --base-border-color04:#bbb;
  --base-border-color05:#999;
  --hanten:scale(-1, -1);
  --hantenX:scale(-1, 1);
  --hantenY:scaleY(-1);
  --transition-scale:transform 0.8s var(--easeOutCubic); }

@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);
    --fz7: clamp(7px, calc(7 * var(--vwSP)), 9px);
    --fz8: clamp(8px, calc(8 * var(--vwSP)), 10px);
    --fz9: clamp(9px, calc(9 * var(--vwSP)), 11px);
    --fz10: clamp(10px, calc(10 * var(--vwSP)), 12px);
    --fz11: clamp(11px, calc(11 * var(--vwSP)), 13px);
    --fz12: clamp(12px, calc(12 * var(--vwSP)), 14px);
    --fz13: clamp(13px, calc(13 * var(--vwSP)), 14px);
    --fz14: clamp(14px, calc(14 * var(--vwSP)), 16px);
    --fz15: clamp(15px, calc(15 * var(--vwSP)), 17px);
    --fz16: clamp(16px, calc(16 * var(--vwSP)), 18px);
    --fz17: clamp(17px, calc(17 * var(--vwSP)), 19px);
    --fz18: clamp(18px, calc(18 * var(--vwSP)), 20px);
    --fz19: clamp(19px, calc(19 * var(--vwSP)), 21px);
    --fz20: clamp(20px, calc(20 * var(--vwSP)), 22px);
    --fz21: clamp(21px, calc(21 * var(--vwSP)), 23px);
    --fz22: clamp(22px, calc(22 * var(--vwSP)), 24px);
    --fz23: clamp(23px, calc(23 * var(--vwSP)), 25px);
    --fz24: clamp(24px, calc(24 * var(--vwSP)), 26px);
    --fz25: clamp(25px, calc(25 * var(--vwSP)), 27px);
    --fz26: clamp(26px, calc(26 * var(--vwSP)), 28px);
    --fz27: clamp(27px, calc(27 * var(--vwSP)), 29px);
    --fz28: clamp(28px, calc(28 * var(--vwSP)), 30px);
    --fz30: clamp(30px, calc(30 * var(--vwSP)), 32px);
    --fz31: clamp(31px, calc(31 * var(--vwSP)), 33px);
    --fz32: clamp(32px, calc(32 * var(--vwSP)), 35px);
    --fz33: clamp(33px, calc(33 * var(--vwSP)), 35px);
    --fz34: clamp(34px, calc(34 * var(--vwSP)), 37px);
    --fz35: clamp(35px, calc(35 * var(--vwSP)), 39px);
    --fz37: clamp(37px, calc(37 * var(--vwSP)), 41px);
    --fz36: clamp(36px, calc(36 * var(--vwSP)), 40px);
    --fz38: clamp(38px, calc(38 * var(--vwSP)), 42px);
    --fz40: clamp(40px, calc(40 * var(--vwSP)), 44px);
    --fz42: clamp(42px, calc(42 * var(--vwSP)), 46px);
    --fz44: clamp(44px, calc(44 * var(--vwSP)), 48px);
    --fz45: clamp(45px, calc(45 * var(--vwSP)), 49px);
    --fz47: clamp(47px, calc(47 * var(--vwSP)), 51px);
    --fz48: clamp(48px, calc(48 * var(--vwSP)), 52px);
    --fz49: clamp(49px, calc(49 * var(--vwSP)), 53px);
    --fz51: clamp(51px, calc(51 * var(--vwSP)), 56px);
    --fz56: clamp(56px, calc(56 * var(--vwSP)), 60px);
    --fz64: clamp(64px, calc(64 * var(--vwSP)), 68px); } }
/* ==========================================================================
	html
========================================================================== */
html.wf-active {
  visibility: visible; }

html {
  font: normal normal normal 62.5%/1 "Noto Sans JP", 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;
  background-color: var(--base-bg-color);
  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: 1280px) and (min-width: 801px) {
  html {
    font-size: 0.78125vw; } }
/*
@media screen and (max-width: 768px) and (min-width: 376px) {
	html {
		font-size: 1.30208vw;
	}
}
*/
@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 {
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
  visibility: hidden; }
  .svg.replaced-svg {
    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: #fffcf8; }

::selection {
  background: #fffcf8; }

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

.of_wrap {
  position: relative;
  overflow: hidden; }

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

.zen-kaku {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-style: normal;
  letter-spacing: 0.02em; }

.zen-maru {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal; }

/* ==========================================================================
    アニメーション
========================================================================== */
@-webkit-keyframes arrowSlide {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; }
  30% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    opacity: 0; }
  31% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }
@keyframes arrowSlide {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; }
  30% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    opacity: 0; }
  31% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }
@-webkit-keyframes arrowSlidev2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; }
  6.5% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    opacity: 0; }
  6.6% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0; }
  13% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; }
  13.5% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; }
  14%,
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }
@keyframes arrowSlidev2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; }
  6.5% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    opacity: 0; }
  6.6% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0; }
  13% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; }
  13.5% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; }
  14%,
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }
@-webkit-keyframes arrowSlidev3 {
  0% {
    -webkit-transform: rotate(-45deg) translateX(0);
            transform: rotate(-45deg) translateX(0);
    opacity: 1; }
  30% {
    -webkit-transform: rotate(-45deg) translateX(100%);
            transform: rotate(-45deg) translateX(100%);
    opacity: 0; }
  31% {
    -webkit-transform: rotate(-45deg) translateX(-100%);
            transform: rotate(-45deg) translateX(-100%);
    opacity: 0; }
  100% {
    -webkit-transform: rotate(-45deg) translateX(0);
            transform: rotate(-45deg) translateX(0);
    opacity: 1; } }
@keyframes arrowSlidev3 {
  0% {
    -webkit-transform: rotate(-45deg) translateX(0);
            transform: rotate(-45deg) translateX(0);
    opacity: 1; }
  30% {
    -webkit-transform: rotate(-45deg) translateX(100%);
            transform: rotate(-45deg) translateX(100%);
    opacity: 0; }
  31% {
    -webkit-transform: rotate(-45deg) translateX(-100%);
            transform: rotate(-45deg) translateX(-100%);
    opacity: 0; }
  100% {
    -webkit-transform: rotate(-45deg) translateX(0);
            transform: rotate(-45deg) translateX(0);
    opacity: 1; } }
@-webkit-keyframes swingRotateSmooth {
  0% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg); }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg); }
  100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg); } }
@keyframes swingRotateSmooth {
  0% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg); }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg); }
  100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg); } }
@-webkit-keyframes swingRotateRandomish {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  20% {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg); }
  40% {
    -webkit-transform: rotate(4deg);
            transform: rotate(4deg); }
  60% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg); }
  80% {
    -webkit-transform: rotate(2deg);
            transform: rotate(2deg); }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); } }
@keyframes swingRotateRandomish {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  20% {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg); }
  40% {
    -webkit-transform: rotate(4deg);
            transform: rotate(4deg); }
  60% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg); }
  80% {
    -webkit-transform: rotate(2deg);
            transform: rotate(2deg); }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); } }
@-webkit-keyframes swingRotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  10% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg); }
  20% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg); }
  30% {
    -webkit-transform: rotate(-2.5deg);
            transform: rotate(-2.5deg); }
  40% {
    -webkit-transform: rotate(2.5deg);
            transform: rotate(2.5deg); }
  50% {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg); }
  60% {
    -webkit-transform: rotate(2deg);
            transform: rotate(2deg); }
  70% {
    -webkit-transform: rotate(-1deg);
            transform: rotate(-1deg); }
  80% {
    -webkit-transform: rotate(1deg);
            transform: rotate(1deg); }
  90% {
    -webkit-transform: rotate(0.5deg);
            transform: rotate(0.5deg); }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); } }
@keyframes swingRotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  10% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg); }
  20% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg); }
  30% {
    -webkit-transform: rotate(-2.5deg);
            transform: rotate(-2.5deg); }
  40% {
    -webkit-transform: rotate(2.5deg);
            transform: rotate(2.5deg); }
  50% {
    -webkit-transform: rotate(-2deg);
            transform: rotate(-2deg); }
  60% {
    -webkit-transform: rotate(2deg);
            transform: rotate(2deg); }
  70% {
    -webkit-transform: rotate(-1deg);
            transform: rotate(-1deg); }
  80% {
    -webkit-transform: rotate(1deg);
            transform: rotate(1deg); }
  90% {
    -webkit-transform: rotate(0.5deg);
            transform: rotate(0.5deg); }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); } }
@-webkit-keyframes swingRotateSoft {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  25% {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg); }
  50% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  75% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg); }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); } }
@keyframes swingRotateSoft {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  25% {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg); }
  50% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  75% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg); }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); } }
@-webkit-keyframes floatSmooth {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  20% {
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px); }
  40% {
    -webkit-transform: translateY(5px);
            transform: translateY(5px); }
  60% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px); }
  80% {
    -webkit-transform: translateY(3px);
            transform: translateY(3px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes floatSmooth {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  20% {
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px); }
  40% {
    -webkit-transform: translateY(5px);
            transform: translateY(5px); }
  60% {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px); }
  80% {
    -webkit-transform: translateY(3px);
            transform: translateY(3px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@-webkit-keyframes floatWavy {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  30% {
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px); }
  60% {
    -webkit-transform: translateY(6px);
            transform: translateY(6px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes floatWavy {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  30% {
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px); }
  60% {
    -webkit-transform: translateY(6px);
            transform: translateY(6px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@-webkit-keyframes cloudDrift {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  25% {
    -webkit-transform: translate(10px, -5px);
            transform: translate(10px, -5px); }
  50% {
    -webkit-transform: translate(20px, 0px);
            transform: translate(20px, 0px); }
  75% {
    -webkit-transform: translate(10px, 5px);
            transform: translate(10px, 5px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }
@keyframes cloudDrift {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  25% {
    -webkit-transform: translate(10px, -5px);
            transform: translate(10px, -5px); }
  50% {
    -webkit-transform: translate(20px, 0px);
            transform: translate(20px, 0px); }
  75% {
    -webkit-transform: translate(10px, 5px);
            transform: translate(10px, 5px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }
@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }
@-webkit-keyframes waveHand {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(-46deg);
            transform: rotate(-46deg); }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); } }
@keyframes waveHand {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(-46deg);
            transform: rotate(-46deg); }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); } }
@-webkit-keyframes showTextFromBottom {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  100% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }
@keyframes showTextFromBottom {
  0% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  100% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }
@-webkit-keyframes cloudFloatUpDown {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); } }
@keyframes cloudFloatUpDown {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); } }
@-webkit-keyframes dropIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-80px) scale(1.1);
            transform: translateY(-80px) scale(1.1); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(10px) scale(0.97);
            transform: translateY(10px) scale(0.97); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1); } }
@keyframes dropIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-80px) scale(1.1);
            transform: translateY(-80px) scale(1.1); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(10px) scale(0.97);
            transform: translateY(10px) scale(0.97); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1); } }
@-webkit-keyframes UpIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(80px) scale(1.1);
            transform: translateY(80px) scale(1.1); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-10px) scale(0.97);
            transform: translateY(-10px) scale(0.97); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1); } }
@keyframes UpIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(80px) scale(1.1);
            transform: translateY(80px) scale(1.1); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-10px) scale(0.97);
            transform: translateY(-10px) scale(0.97); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1); } }
@-webkit-keyframes hopUp {
  0% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1); }
  30% {
    -webkit-transform: translateY(-8px) scale(1.02);
            transform: translateY(-8px) scale(1.02); }
  100% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1); } }
@keyframes hopUp {
  0% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1); }
  30% {
    -webkit-transform: translateY(-8px) scale(1.02);
            transform: translateY(-8px) scale(1.02); }
  100% {
    -webkit-transform: translateY(0) scale(1);
            transform: translateY(0) scale(1); } }
@-webkit-keyframes jumpY {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px); } }
@keyframes jumpY {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px); } }
@-webkit-keyframes sway {
  0%, 100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  25% {
    -webkit-transform: rotate(4deg);
            transform: rotate(4deg); }
  75% {
    -webkit-transform: rotate(-4deg);
            transform: rotate(-4deg); } }
@keyframes sway {
  0%, 100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  25% {
    -webkit-transform: rotate(4deg);
            transform: rotate(4deg); }
  75% {
    -webkit-transform: rotate(-4deg);
            transform: rotate(-4deg); } }
@-webkit-keyframes pop-bounce {
  0% {
    opacity: 0;
    -webkit-transform: scale(0) rotate(0deg);
            transform: scale(0) rotate(0deg); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.2) rotate(15deg);
            transform: scale(1.2) rotate(15deg); }
  70% {
    -webkit-transform: scale(0.9) rotate(-10deg);
            transform: scale(0.9) rotate(-10deg); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg); } }
@keyframes pop-bounce {
  0% {
    opacity: 0;
    -webkit-transform: scale(0) rotate(0deg);
            transform: scale(0) rotate(0deg); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.2) rotate(15deg);
            transform: scale(1.2) rotate(15deg); }
  70% {
    -webkit-transform: scale(0.9) rotate(-10deg);
            transform: scale(0.9) rotate(-10deg); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg); } }
@-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 loop-fv_wave {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -2064px 0; } }
@keyframes loop-fv_wave {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -2064px 0; } }
@media screen and (max-width: 800px) {
  @-webkit-keyframes loop-fv_wave {
    0% {
      background-position: 0 0; }
    100% {
      background-position: -1375px 0; } }
  @keyframes loop-fv_wave {
    0% {
      background-position: 0 0; }
    100% {
      background-position: -1375px 0; } } }
@-webkit-keyframes wave-mask-loop {
  0% {
    -webkit-mask-position: 0 100%;
    mask-position: 0 100%; }
  100% {
    -webkit-mask-position: -2064px 100%;
    mask-position: -2064px 100%; } }
@keyframes wave-mask-loop {
  0% {
    -webkit-mask-position: 0 100%;
    mask-position: 0 100%; }
  100% {
    -webkit-mask-position: -2064px 100%;
    mask-position: -2064px 100%; } }
@media screen and (max-width: 800px) {
  @-webkit-keyframes wave-mask-loop {
    0% {
      -webkit-mask-position: 0 100%;
      mask-position: 0 100%; }
    100% {
      -webkit-mask-position: -1375px 100%;
      mask-position: -1375px 100%; } }
  @keyframes wave-mask-loop {
    0% {
      -webkit-mask-position: 0 100%;
      mask-position: 0 100%; }
    100% {
      -webkit-mask-position: -1375px 100%;
      mask-position: -1375px 100%; } } }
@-webkit-keyframes wave-mask-loopv2 {
  0% {
    -webkit-mask-position: 0 100%;
    mask-position: 0 100%; }
  100% {
    -webkit-mask-position: -2744px 100%;
    mask-position: -2744px 100%; } }
@keyframes wave-mask-loopv2 {
  0% {
    -webkit-mask-position: 0 100%;
    mask-position: 0 100%; }
  100% {
    -webkit-mask-position: -2744px 100%;
    mask-position: -2744px 100%; } }
@-webkit-keyframes hamburger_top {
  0% {
    top: 0; }
  50% {
    top: calc(50% - 3px);
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  100% {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: calc(50% - 3px); } }
@keyframes hamburger_top {
  0% {
    top: 0; }
  50% {
    top: calc(50% - 3px);
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  100% {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: calc(50% - 3px); } }
@-webkit-keyframes hamburger_top_rev {
  0% {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: calc(50% - 3px); }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    top: calc(50% - 3px); }
  100% {
    top: 0;
    -webkit-transform: rotate(0); } }
@keyframes hamburger_top_rev {
  0% {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: calc(50% - 3px); }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
    top: calc(50% - 3px); }
  100% {
    top: 0;
    -webkit-transform: rotate(0); } }
@-webkit-keyframes hamburger_center {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  100% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); } }
@keyframes hamburger_center {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  100% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); } }
@-webkit-keyframes hamburger_center_rev {
  0% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0); } }
@keyframes hamburger_center_rev {
  0% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0); } }
@-webkit-keyframes hamburger_bottom {
  0% {
    bottom: 0;
    margin: auto;
    opacity: 1; }
  50% {
    bottom: calc(50% - 3px);
    opacity: 0; }
  100% {
    bottom: calc(50% - 3px);
    opacity: 0; } }
@keyframes hamburger_bottom {
  0% {
    bottom: 0;
    margin: auto;
    opacity: 1; }
  50% {
    bottom: calc(50% - 3px);
    opacity: 0; }
  100% {
    bottom: calc(50% - 3px);
    opacity: 0; } }
@-webkit-keyframes hamburger_bottom_rev {
  0% {
    bottom: calc(50% - 3px);
    opacity: 0; }
  50% {
    bottom: calc(50% - 3px);
    opacity: 1; }
  100% {
    bottom: 0;
    margin: auto;
    opacity: 1; } }
@keyframes hamburger_bottom_rev {
  0% {
    bottom: calc(50% - 3px);
    opacity: 0; }
  50% {
    bottom: calc(50% - 3px);
    opacity: 1; }
  100% {
    bottom: 0;
    margin: auto;
    opacity: 1; } }
@media screen and (max-width: 800px) {
  @-webkit-keyframes hamburger_top {
    0% {
      top: 0; }
    50% {
      top: calc(50% - 2.5px);
      -webkit-transform: rotate(0);
      transform: rotate(0); }
    100% {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      top: calc(50% - 2.5px); } }
  @keyframes hamburger_top {
    0% {
      top: 0; }
    50% {
      top: calc(50% - 2.5px);
      -webkit-transform: rotate(0);
      transform: rotate(0); }
    100% {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      top: calc(50% - 2.5px); } }
  @-webkit-keyframes hamburger_top_rev {
    0% {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      top: calc(50% - 2.5px); }
    50% {
      -webkit-transform: rotate(0);
      transform: rotate(0);
      top: calc(50% - 2.5px); }
    100% {
      top: 0;
      -webkit-transform: rotate(0); } }
  @keyframes hamburger_top_rev {
    0% {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      top: calc(50% - 2.5px); }
    50% {
      -webkit-transform: rotate(0);
      transform: rotate(0);
      top: calc(50% - 2.5px); }
    100% {
      top: 0;
      -webkit-transform: rotate(0); } }
  @-webkit-keyframes hamburger_bottom {
    0% {
      bottom: 0;
      margin: auto;
      opacity: 1; }
    50% {
      bottom: calc(50% - 2.5px);
      opacity: 0; }
    100% {
      bottom: calc(50% - 2.5px);
      opacity: 0; } }
  @keyframes hamburger_bottom {
    0% {
      bottom: 0;
      margin: auto;
      opacity: 1; }
    50% {
      bottom: calc(50% - 2.5px);
      opacity: 0; }
    100% {
      bottom: calc(50% - 2.5px);
      opacity: 0; } }
  @-webkit-keyframes hamburger_bottom_rev {
    0% {
      bottom: calc(50% - 2.5px);
      opacity: 0; }
    50% {
      bottom: calc(50% - 2.5px);
      opacity: 1; }
    100% {
      bottom: 0;
      margin: auto;
      opacity: 1; } }
  @keyframes hamburger_bottom_rev {
    0% {
      bottom: calc(50% - 2.5px);
      opacity: 0; }
    50% {
      bottom: calc(50% - 2.5px);
      opacity: 1; }
    100% {
      bottom: 0;
      margin: auto;
      opacity: 1; } } }
@-webkit-keyframes fadeInFix {
  0% {
    opacity: 0.3; }
  100% {
    opacity: 1; } }
@keyframes fadeInFix {
  0% {
    opacity: 0.3; }
  100% {
    opacity: 1; } }
.page-transition {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out; }

.page-transition.active {
  opacity: 1; }

/* ==========================================================================
	ヘッダー
========================================================================== */
.head {
  position: absolute;
  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: 22px 126px 0 1.9%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 100;
  --color:#fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .head.-black {
    --color:var(--base-text-color); }
    .head.-black .text-link {
      border-color: var(--color); }
  .head .logo {
    width: 172px; }
    .head .logo svg,
    .head .logo .cls-1 {
      fill: var(--color); }
  .head .head_link-area {
    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;
    margin-top: 7px;
    z-index: 20; }
  .head .g-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .head .text-link {
    position: relative;
    padding: .6rem 1.4rem .9rem;
    border-right: 1px solid rgba(255, 255, 255, 0.5);
    font-size: var(--fz15);
    color: var(--color);
    line-height: 1;
    font-weight: 700; }
    .head .text-link:after {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      margin: auto;
      bottom: 100%;
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--color);
      opacity: 0;
      -webkit-transition: opacity 0.4s var(--easeOutQuint);
      transition: opacity 0.4s var(--easeOutQuint); }
    @media screen and (min-width: 801px) {
      .head .text-link:hover:after {
        opacity: 1; } }
  .head .link-world {
    display: inline-block;
    width: 38px;
    margin-top: -9px;
    margin-left: 2.6rem; }
  .head .link-friends {
    display: inline-block;
    width: 47px;
    margin-top: -5px;
    margin-left: 12px; }
  @media (min-width: 801px) {
    .head .link-world:hover img {
      -webkit-animation: jumpY 1.2s ease-out infinite;
              animation: jumpY 1.2s ease-out infinite; }
    .head .link-friends:hover img {
      -webkit-animation: sway 1.5s ease-out infinite;
              animation: sway 1.5s ease-out infinite;
      -webkit-transform-origin: bottom center;
              transform-origin: bottom center; } }
  .head.index .logo, .head.index .head_link-area {
    display: none; }

@media screen and (max-width: 1040px) {
  .head .head_link-area {
    display: none; } }
@media screen and (max-width: 800px) {
  .head {
    padding: 17px 5%; }
    .head.fix {
      padding-top: 23px;
      padding-bottom: 20px;
      height: auto; }
      .head.fix .logo {
        width: 93px; }
    .head .logo {
      width: 130px; } }
/* ==========================================================================
	hamburger
========================================================================== */
.hamburger {
  display: block;
  position: fixed;
  right: 0;
  top: 0;
  cursor: pointer;
  z-index: 9999;
  opacity: 100;
  padding-top: 60px;
  width: 99px;
  height: 96px;
  border-radius: 0 0 0 65px;
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all .4s ease;
  transition: all .4s ease;
  -webkit-filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.15));
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.15));
  z-index: 9999; }
  .hamburger .line_area {
    display: block;
    position: absolute;
    left: 35px;
    top: 21px;
    width: 40px;
    height: 32px; }
  .hamburger .border {
    display: block;
    position: absolute;
    width: 100%;
    height: 7px;
    z-index: 5;
    margin: auto;
    -webkit-transition: all .6s ease;
    transition: all .6s ease;
    -webkit-transform-origin: center center;
            transform-origin: center center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .hamburger .border:first-child {
      top: 0;
      bottom: auto; }
    .hamburger .border:nth-child(2) {
      top: 0;
      bottom: 0;
      margin: auto; }
    .hamburger .border:nth-child(3) {
      bottom: 0; }
    .hamburger .border img {
      vertical-align: top; }
  .hamburger p {
    position: relative;
    padding-left: 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .hamburger p:before {
      content: "MENU";
      font-size: 9px;
      font-weight: 600;
      letter-spacing: 0.12em; }

.nav-open .hamburger {
  -webkit-filter: none;
          filter: none;
  background: none; }
  .nav-open .hamburger span {
    -webkit-transition: all .4s ease;
    transition: all .4s ease; }
    .nav-open .hamburger span:first-child {
      -webkit-animation: hamburger_top ease .4s forwards;
      animation: hamburger_top ease .4s forwards; }
    .nav-open .hamburger span:nth-child(2) {
      -webkit-animation: hamburger_center ease .4s forwards;
      animation: hamburger_center ease .4s forwards; }
    .nav-open .hamburger span:last-child {
      -webkit-animation: hamburger_bottom ease .4s forwards;
      animation: hamburger_bottom ease .4s forwards; }
  .nav-open .hamburger p:before {
    content: "CLOSE"; }

.nav-close .hamburger span {
  -webkit-transition: all .4s ease;
  transition: all .4s ease; }
  .nav-close .hamburger span:first-child {
    -webkit-animation: hamburger_top_rev ease .4s forwards;
    animation: hamburger_top_rev ease .4s forwards; }
  .nav-close .hamburger span:nth-child(2) {
    -webkit-animation: hamburger_center_rev ease .4s forwards;
    animation: hamburger_center_rev ease .4s forwards; }
  .nav-close .hamburger span:last-child {
    -webkit-animation: hamburger_bottom_rev ease .4s forwards;
    animation: hamburger_bottom_rev ease .4s forwards; }

@media screen and (max-width: 800px) {
  .hamburger {
    padding-top: 36px;
    width: 65px;
    height: 61px;
    border-radius: 0 0 0 41px; }
    .hamburger .line_area {
      left: 23px;
      top: 13px;
      width: 25px;
      height: 20px; }
    .hamburger .border {
      width: 100%;
      height: 5px; }
    .hamburger p {
      padding-left: 24px; }
      .hamburger p:before {
        font-size: 7px; } }
/* ==========================================================================
	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(0, 0, 0, 0.5);
  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: 95%;
    max-width: 1360px;
    padding: 32px clamp(90px, 6.9852941176%, 95px) 85px 5.4411764706%;
    margin-left: auto;
    z-index: 10;
    overflow: hidden;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: #fff;
    margin-left: auto;
    border-radius: 0 0 0 132px; }
  .is-safari .nav_inr {
    padding-bottom: 100px; }
  .global-nav .menu-logo {
    position: relative;
    width: 100%; }
    .global-nav .menu-logo .ja {
      display: block;
      position: absolute;
      left: 15px;
      top: calc(100% + 30px);
      width: 21.6421052632%;
      max-width: 257px; }
  .global-nav .c_area {
    position: relative;
    width: 69.7478991597%;
    margin-top: 5.5rem;
    margin-left: auto;
    z-index: 20;
    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 .c_area ul {
      width: 48.1927710843%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin-bottom: 4rem; }
      .global-nav .c_area ul li {
        width: 47.5%; }
        .global-nav .c_area ul li.wide {
          width: 100%; }
      .global-nav .c_area ul li:not(.wide) .b_link {
        border-bottom: 1px solid var(--base-border-color05); }
      .global-nav .c_area ul .b_link {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        font-size: var(--fz17);
        font-weight: 600;
        padding: 2.3rem 0;
        -webkit-box-sizing: border-box;
                box-sizing: border-box; }
        .global-nav .c_area ul .b_link .only-arrow {
          width: 12px;
          margin-right: .8rem;
          margin-left: 1rem;
          margin-top: 2px;
          --color:var(--theme-color);
          -webkit-transition: all .4s ease;
          transition: all .4s ease; }
          .global-nav .c_area ul .b_link .only-arrow path, .global-nav .c_area ul .b_link .only-arrow .cls-1 {
            fill: var(--color);
            -webkit-transition: all .4s ease;
            transition: all .4s ease; }
        .global-nav .c_area ul .b_link .icon-key {
          width: 14px;
          margin-right: .8rem;
          margin-left: 1.6rem; }
        @media screen and (min-width: 801px) {
          .global-nav .c_area ul .b_link:hover {
            color: var(--theme-color); }
            .global-nav .c_area ul .b_link:hover .only-arrow {
              --color:var(--theme-color);
              -webkit-transform: translateX(3px);
                      transform: translateX(3px); } }
      .global-nav .c_area ul .s_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;
        padding-bottom: 1.2rem;
        border-bottom: 1px solid var(--base-border-color05); }
        .global-nav .c_area ul .s_links div {
          width: 50%;
          padding-left: 3rem;
          -webkit-box-sizing: border-box;
                  box-sizing: border-box; }
      .global-nav .c_area ul .s_link {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        font-size: var(--fz14);
        font-weight: 600;
        margin-bottom: 1.5rem;
        b-xising: border-box;
        gap: 1rem; }
        .global-nav .c_area ul .s_link:before {
          content: "";
          display: block;
          width: 12px;
          height: 3px;
          border-radius: 50%;
          margin-top: 2px;
          background: var(--base-color-orange); }
        @media screen and (min-width: 801px) {
          .global-nav .c_area ul .s_link:hover {
            color: var(--base-color-orange); } }
    .global-nav .c_area .bnr_area {
      width: 100%;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 3.4rem;
      margin-bottom: 4.5rem; }
      .global-nav .c_area .bnr_area a {
        position: relative;
        display: block; }
        .global-nav .c_area .bnr_area a img {
          position: relative;
          border-radius: 19px;
          z-index: 10;
          -webkit-transition: background 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
          transition: background 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
          transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
          transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease; }
        .global-nav .c_area .bnr_area a:after {
          content: "";
          display: block;
          position: absolute;
          left: 10px;
          top: 10px;
          background: rgba(0, 0, 0, 0.15);
          mix-blend-mode: multiply;
          width: 100%;
          height: 100%;
          border-radius: 19px;
          z-index: 1; }
        @media screen and (min-width: 801px) {
          .global-nav .c_area .bnr_area a:hover img {
            -webkit-transform: translate(10px, 10px);
                    transform: translate(10px, 10px); } }
    .global-nav .c_area .sns_area {
      width: 100%;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px; }
      .global-nav .c_area .sns_area a {
        display: block;
        width: 100%;
        max-width: 297px;
        text-align: center;
        background: var(--base-color-beige);
        padding: 20px 0 19px;
        border-radius: 31px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        --fill:#676767; }
        .global-nav .c_area .sns_area a svg, .global-nav .c_area .sns_area a .cls-1, .global-nav .c_area .sns_area a .cls-2, .global-nav .c_area .sns_area a .cls-3 {
          fill: var(--fill);
          -webkit-transition: fill 0.4s var(--easeOutQuad);
          transition: fill 0.4s var(--easeOutQuad); }
        .global-nav .c_area .sns_area a p {
          width: 90%;
          display: inline-block; }
        .global-nav .c_area .sns_area a.-line {
          padding-right: 10px; }
          .global-nav .c_area .sns_area a.-line p {
            max-width: 183px; }
        .global-nav .c_area .sns_area a.-insta {
          padding: 21px 0 20px; }
          .global-nav .c_area .sns_area a.-insta p {
            max-width: 192px; }
        .global-nav .c_area .sns_area a.-youtube {
          padding: 24px 5px 22px 0; }
          .global-nav .c_area .sns_area a.-youtube p {
            max-width: 195px; }
        @media screen and (min-width: 801px) {
          .global-nav .c_area .sns_area a.-line:hover {
            --fill:#fff;
            background: #1bbe5b; }
          .global-nav .c_area .sns_area a.-insta:hover {
            --fill:#fff;
            background: #705ac2; }
          .global-nav .c_area .sns_area a.-youtube:hover {
            --fill:#fff;
            background: #ff3330; } }
  .global-nav .copy_area {
    position: absolute;
    left: 8%;
    bottom: 85px;
    width: 20.1680672269%;
    text-align: center; }
    .global-nav .copy_area .btm-logo {
      margin-bottom: 2.4rem; }
    .global-nav .copy_area .en {
      font-size: 9px;
      font-weight: 600;
      color: #abbcb5; }

@media screen and (max-width: 900px) {
  .global-nav .c_area ul {
    width: 100%;
    margin-bottom: 0; }
    .global-nav .c_area ul + ul {
      margin-bottom: 4rem; }

  .global-nav .c_area .sns_area {
    display: block; }
    .global-nav .c_area .sns_area a {
      width: 90%;
      max-width: 90%;
      margin: 0 auto; }
      .global-nav .c_area .sns_area a + a {
        margin-top: 1.5rem; } }
@media screen and (max-width: 800px) {
  /*ハンバーガーメニュー*/
  .global-nav .nav_inr {
    width: 94.75%;
    padding: 30px 9.234828496% 48px;
    border-radius: 0 0 0 90px;
    margin-bottom: 3rem; }
  .is-safari .nav_inr {
    padding-bottom: 100px; }
  .global-nav .menu-logo {
    position: relative;
    width: 98.0738362761%; }
    .global-nav .menu-logo .ja {
      display: block;
      position: absolute;
      left: 45.3355155483%;
      top: 5.9360730594%;
      width: 37.4795417349%; }
  .global-nav .c_area {
    width: 100%;
    margin-top: 1.5rem; }
    .global-nav .c_area ul {
      /* 202508一時的に
      display: block;
      width: get_calc(290,623);
      margin-bottom: 4rem;
      li{
      	width: 100%;
      }
      */ }
      .global-nav .c_area ul .b_link {
        font-size: var(--fz15);
        padding: 1.7rem 0; }
        .global-nav .c_area ul .b_link .only-arrow {
          width: 10px;
          margin-right: .8rem;
          margin-top: 2px;
          margin-left: .5rem; }
        .global-nav .c_area ul .b_link .icon-key {
          width: 13px;
          margin-right: .8rem;
          margin-left: .7rem; }
      .global-nav .c_area ul .s_links {
        padding-bottom: 0; }
        .global-nav .c_area ul .s_links div {
          width: 100%;
          padding-left: 0; }
      .global-nav .c_area ul .s_link {
        font-size: var(--fz13);
        margin-bottom: 1.2rem;
        gap: .8rem; }
        .global-nav .c_area ul .s_link:before {
          width: 11px;
          height: 3px;
          margin-top: 2px; }
    .global-nav .c_area .bnr_area {
      width: 100%;
      display: block;
      margin-bottom: 4.5rem; }
      .global-nav .c_area .bnr_area a {
        width: 100%; }
        .global-nav .c_area .bnr_area a + a {
          margin-top: 2rem; }
        .global-nav .c_area .bnr_area a img {
          border-radius: 10px; }
        .global-nav .c_area .bnr_area a:after {
          border-radius: 10px; }
    .global-nav .c_area .sns_area a {
      padding: 18px 0 18px;
      border-radius: 31px; }
      .global-nav .c_area .sns_area a.-line p {
        max-width: 181px; }
      .global-nav .c_area .sns_area a.-insta {
        padding: 19px 0 19px; }
        .global-nav .c_area .sns_area a.-insta p {
          max-width: 189px; }
      .global-nav .c_area .sns_area a.-youtube {
        padding: 22px 5px 21px 0; }
        .global-nav .c_area .sns_area a.-youtube p {
          max-width: 191px; }
  .global-nav .copy_area {
    position: relative;
    left: auto;
    bottom: auto;
    width: 55.2166934189%;
    margin: 5rem auto 0; }
    .global-nav .copy_area .btm-logo {
      margin-bottom: 3rem; }
    .global-nav .copy_area .en {
      font-size: 9px; } }
/* ==========================================================================
	fix-bnr
========================================================================== */
.fix-bnr {
  position: fixed;
  z-index: 500;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s; }
  .fix-bnr.index {
    opacity: 0; }
  .load .fix-bnr {
    opacity: 1; }

@media screen and (min-width: 501px) {
  .fix-bnr {
    right: 1vw;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 42px;
    height: 390px; }
    .fix-bnr .pc_none {
      display: none; }
    .fix-bnr a {
      position: relative;
      display: block;
      -webkit-filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.15));
              filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.15));
      mix-blend-mode: multiply;
      -webkit-transition: -webkit-transform 0.3s ease;
      transition: -webkit-transform 0.3s ease;
      transition: transform 0.3s ease;
      transition: transform 0.3s ease, -webkit-transform 0.3s ease; }
      .fix-bnr a.tilt-left {
        -webkit-transform: rotate(-4deg);
                transform: rotate(-4deg); }
      .fix-bnr a.tilt-right {
        -webkit-transform: rotate(4deg);
                transform: rotate(4deg); }
      .fix-bnr a img {
        position: relative;
        z-index: 10; }
      .fix-bnr a + a {
        margin-top: .6rem; }
      .fix-bnr a:first-child figure {
        -webkit-mask-image: url(../img/common/fix-bnr01.svg);
                mask-image: url(../img/common/fix-bnr01.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-position: center;
                mask-position: center; }
      .fix-bnr a:nth-child(2) figure {
        -webkit-mask-image: url(../img/common/fix-bnr02.svg);
                mask-image: url(../img/common/fix-bnr02.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-position: center;
                mask-position: center; }
      .fix-bnr a:nth-child(3) figure {
        -webkit-mask-image: url(../img/common/fix-bnr03.svg);
                mask-image: url(../img/common/fix-bnr03.svg);
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat;
        -webkit-mask-size: contain;
                mask-size: contain;
        -webkit-mask-position: center;
                mask-position: center; } }
@media screen and (max-width: 500px) {
  .fix-bnr {
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 95.625%;
    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; }
    .fix-bnr .sp_none {
      display: none; }
    .fix-bnr .pc_none {
      display: block; }
    .fix-bnr:after {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 84%;
      margin: auto;
      background: var(--base-border-color02);
      width: 1px; }
    .fix-bnr a {
      display: block;
      width: calc(50% - 0.5px);
      -webkit-filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.15));
              filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.15)); }
      .fix-bnr a:first-child {
        display: none; } }
/* ==========================================================================
	h_fv
========================================================================== */
#h_fv {
  position: relative;
  z-index: 5;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-mask-repeat: repeat-x;
          mask-repeat: repeat-x;
  -webkit-mask-position: 0 100%;
          mask-position: 0 100%;
  -webkit-animation: wave-mask-loop 100s linear infinite;
          animation: wave-mask-loop 100s linear infinite; }
  #h_fv.-h500 {
    height: 500px;
    padding-top: 190px;
    -webkit-mask-image: url(../img/common/h-fv_bg-500.webp);
            mask-image: url(../img/common/h-fv_bg-500.webp);
    -webkit-mask-size: 2064px 500px;
            mask-size: 2064px 500px; }
    #h_fv.-h500:before {
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      background: rgba(0, 0, 0, 0.4);
      z-index: 2; }
    #h_fv.-h500 h1 {
      position: relative;
      display: block;
      --lh:1.2;
      position: relative;
      /*
      overflow: hidden;
      */
      line-height: calc(var(--lh)* 1em);
      padding-top: .1px;
      padding-bottom: .1px;
      margin-bottom: 2.5rem; }
      #h_fv.-h500 h1::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        /*
        margin-top: calc((1 - var(--lh)) * 0.5em);
        */
        margin-top: calc((1 - var(--lh))* .5em); }
      #h_fv.-h500 h1::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-bottom: calc((1 - var(--lh))* .5em); }
      #h_fv.-h500 h1 span {
        position: relative;
        font-size: var(--fz54);
        font-weight: 700;
        color: #fff; }
        #h_fv.-h500 h1 span:after {
          content: "";
          display: block;
          position: absolute;
          background-size: cover;
          z-index: 10; }
  #h_fv.-h700 {
    height: 700px;
    padding-top: 223px;
    -webkit-mask-image: url(../img/common/h-fv_bg-700.webp);
            mask-image: url(../img/common/h-fv_bg-700.webp);
    -webkit-mask-size: 2064px 706px;
            mask-size: 2064px 706px; }
  #h_fv.-h745 {
    height: 745px;
    padding-top: 223px;
    -webkit-mask-image: url(../img/common/h-fv_bg-745.webp);
            mask-image: url(../img/common/h-fv_bg-745.webp);
    -webkit-mask-size: 2064px 745px;
            mask-size: 2064px 745px; }
  #h_fv.-h760 {
    height: 760px;
    padding-top: 165px;
    -webkit-mask-image: url(../img/common/h-fv_bg-760.png);
            mask-image: url(../img/common/h-fv_bg-760.png);
    -webkit-mask-size: 2064px 760px;
            mask-size: 2064px 760px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    #h_fv.-h760:before {
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      background: rgba(0, 0, 0, 0.6);
      z-index: 2; }
    #h_fv.-h760 .inr {
      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-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; }
    #h_fv.-h760 .img_area {
      position: relative;
      width: 440px; }
      #h_fv.-h760 .img_area .img {
        position: relative;
        overflow: hidden;
        aspect-ratio: 1/1;
        border-radius: 80px;
        z-index: 5; }
      #h_fv.-h760 .img_area .illust {
        position: absolute;
        width: 104px;
        top: 13px;
        left: -73px;
        z-index: 1;
        -webkit-transform: translateX(10px);
                transform: translateX(10px);
        opacity: 0;
        -webkit-transition: opacity 0.1s ease, -webkit-transform 0.4s var(--easePopUp);
        transition: opacity 0.1s ease, -webkit-transform 0.4s var(--easePopUp);
        transition: transform 0.4s var(--easePopUp), opacity 0.1s ease;
        transition: transform 0.4s var(--easePopUp), opacity 0.1s ease, -webkit-transform 0.4s var(--easePopUp);
        -webkit-transition-delay: .5s;
                transition-delay: .5s; }
      .loaded #h_fv.move .illust {
        opacity: 1;
        -webkit-transform: translateY(0);
                transform: translateY(0); }
    #h_fv.-h760 .text_area {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      max-width: 51.8828451883%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-right: 2rem; }
    #h_fv.-h760 .cate {
      font-size: var(--fz12);
      font-weight: bold;
      display: inline-block;
      padding: 6px 15px;
      border: 1px solid #fff;
      border-radius: 13px;
      color: #fff;
      margin-right: 8px; }
      @media screen and (min-width: 801px) {
        #h_fv.-h760 .cate:hover {
          background: #fff;
          color: #333; } }
    #h_fv.-h760 .day {
      font-size: var(--fz12);
      letter-spacing: 0.04em;
      font-weight: 600;
      color: #fff;
      margin-right: 12px; }
    #h_fv.-h760 .new {
      display: inline-block;
      margin-left: 5px;
      font-size: var(--fz9);
      font-weight: 500;
      color: var(--theme-color);
      padding: 5px 10px 6px;
      border: 1px solid var(--theme-color);
      border-radius: 50%; }
    #h_fv.-h760 h1 {
      font-size: var(--fz36);
      font-weight: 600;
      --lh:calc(53/36);
      position: relative;
      /*
      overflow: hidden;
      */
      line-height: calc(var(--lh)* 1em);
      padding-top: .1px;
      padding-bottom: .1px;
      margin-top: 2.5rem;
      margin-bottom: 2.5rem;
      color: #fff; }
      #h_fv.-h760 h1::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        /*
        margin-top: calc((1 - var(--lh)) * 0.5em);
        */
        margin-top: calc((1 - var(--lh))* .5em); }
      #h_fv.-h760 h1::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-bottom: calc((1 - var(--lh))* .5em); }
    #h_fv.-h760 .bg-img img {
      -webkit-filter: blur(15px);
              filter: blur(15px); }
  #h_fv .inr {
    z-index: 10; }
  #h_fv .bg-img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1; }

.fv-pan {
  display: inline-block;
  display: table;
  padding: 10px 1.7rem;
  background: #fff;
  font-size: var(--fz11);
  border-radius: 14px; }
  .fv-pan a {
    position: relative;
    display: inline-block;
    font-weight: 600;
    color: var(--theme-color);
    letter-spacing: 0.04em; }
    .fv-pan a:before {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 0;
      height: 1px;
      background: var(--theme-color);
      -webkit-transition: width .4s ease;
      transition: width .4s ease; }
    .fv-pan a:after {
      content: "-";
      display: inline;
      font-size: var(--fz11);
      margin: 0 .5rem;
      font-weight: 600;
      color: var(--base-text-color);
      opacity: .5; }
    @media screen and (min-width: 801px) {
      .fv-pan a:hover:before {
        width: calc(100% - 1.5em); } }
  .fv-pan p {
    display: inline-block;
    font-weight: 600;
    letter-spacing: 0.04em;
    opacity: .5; }

@media screen and (max-width: 800px) {
  #h_fv {
    -webkit-animation: wave-mask-loop 50s linear infinite;
            animation: wave-mask-loop 50s linear infinite; }
    #h_fv.-h500 {
      height: 333px;
      padding-top: 13.4rem;
      -webkit-mask-image: url(../img/common/h-fv_bg-500_sp.png);
              mask-image: url(../img/common/h-fv_bg-500_sp.png);
      -webkit-mask-size: 1375px 333px;
              mask-size: 1375px 333px; }
      #h_fv.-h500 h1 span {
        font-size: var(--fz36);
        margin-bottom: 1.7rem; }
    #h_fv.-h700 {
      height: 563px;
      padding-top: 102px;
      -webkit-mask-size: 1594px 563px;
              mask-size: 1594px 563px; }
    #h_fv.-h745 {
      height: 640px;
      padding-top: 102px;
      -webkit-mask-size: 1871px 640px;
              mask-size: 1871px 640px; }
    #h_fv.-h760 {
      height: auto;
      min-height: 555px;
      padding-top: 98px;
      padding-bottom: 60px;
      -webkit-mask-image: none;
              mask-image: none;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      overflow: hidden; }
      #h_fv.-h760:after {
        content: "";
        width: 100%;
        display: block;
        position: absolute;
        bottom: -1px;
        left: 0;
        background: url(../img/common/h-fv_bg.webp) repeat-x 0 0;
        background-size: 1191px 15px;
        width: 100%;
        height: 15px;
        overflow: hidden;
        -webkit-animation: loop-fv_wave 100s linear infinite;
                animation: loop-fv_wave 100s linear infinite;
        z-index: 10; }
      #h_fv.-h760 .inr {
        display: block; }
      #h_fv.-h760 .img_area {
        width: 207px;
        margin: 0 auto 20px; }
        #h_fv.-h760 .img_area .img {
          border-radius: 40px; }
        #h_fv.-h760 .img_area .illust {
          position: absolute;
          width: 60px;
          top: 14px;
          left: -50px; }
      #h_fv.-h760 .text_area {
        display: block;
        text-align: center;
        max-width: 100%;
        padding-right: 0; }
      #h_fv.-h760 .cate {
        font-size: var(--fz10);
        display: table;
        padding: 6px 15px;
        border-radius: 13px;
        margin: 0 auto 16px; }
      #h_fv.-h760 .day {
        font-size: var(--fz11);
        margin-right: 0; }
      #h_fv.-h760 .new {
        margin-left: 7px;
        font-size: var(--fz8);
        color: var(--theme-color);
        padding: 5px 10px 6px; }
      #h_fv.-h760 h1 {
        font-size: var(--fz22);
        --lh:calc(34/22);
        margin-top: 1rem;
        margin-bottom: 1.8rem;
        color: #fff; }
      #h_fv.-h760 .fv-pan {
        margin: 0 auto; }
    #h_fv .inr {
      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;
      width: 90%; }

  .fv-pan {
    padding: 8px 1.4rem;
    font-size: var(--fz9); }
    .fv-pan a:before {
      display: none; } }
/* ==========================================================================
	ugkko-tv
========================================================================== */
.ugokko-tv {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 2.5rem;
  background-color: var(--base-color-tv);
  /*
  background-size:1500px 980px;
  */
  aspect-ratio: 1500/980;
  width: 100%;
  max-height: 1200px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  @media screen and (min-width: 1001px) {
    .ugokko-tv {
      aspect-ratio: 1500/980;
      background: url(../img/common/tv_bg.webp) center right;
      background-size: cover; } }
  .ugokko-tv .text_area {
    position: relative;
    width: 84%;
    margin: 0 auto; }
  .ugokko-tv .ul_txt {
    position: relative;
    display: inline-block;
    font-size: var(--fz24);
    font-weight: 600;
    padding-bottom: 1rem;
    padding-left: .5rem; }
    .ugokko-tv .ul_txt:after {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 0;
      height: 1px;
      background: #000;
      -webkit-transition: width 1s var(--easeOutQuad);
      transition: width 1s var(--easeOutQuad); }
    .ugokko-tv .ul_txt.move:after {
      width: 100%; }
  .ugokko-tv .min {
    position: relative;
    display: inline-block;
    margin-left: 48px;
    font-size: var(--fz19);
    font-weight: 500; }
    .ugokko-tv .min:before {
      content: "";
      display: block;
      width: 105px;
      height: 105px;
      position: absolute;
      left: calc(50% - 52px);
      top: calc(50% - 52px);
      -webkit-animation: spin 20s linear infinite;
              animation: spin 20s linear infinite;
      background: url(../img/common/min-circle.svg);
      background-size: cover; }
  .ugokko-tv h2 {
    display: block;
    width: 420px;
    margin: 3.8rem 0 5rem; }
  .ugokko-tv .n_txt {
    position: relative;
    font-size: var(--fz17);
    --lh: calc(72/34);
    position: relative;
    /*
    overflow: hidden;
    */
    line-height: calc(var(--lh)* 1em);
    padding-top: .1px;
    padding-bottom: .1px;
    font-weight: 600;
    letter-spacing: 0.02em;
    margin-bottom: 5rem; }
    .ugokko-tv .n_txt::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      /*
      margin-top: calc((1 - var(--lh)) * 0.5em);
      */
      margin-top: calc((1 - var(--lh))* .5em); }
    .ugokko-tv .n_txt::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-bottom: calc((1 - var(--lh))* .5em); }
  .ugokko-tv .link_wrap {
    position: relative;
    margin: 0; }
  @media screen and (min-width: 1001px) {
    .ugokko-tv .ts_area .img {
      display: none; } }
  .ugokko-tv .play-btn {
    position: absolute;
    top: calc((919/1961)*100%);
    right: calc((806/3000)*100%);
    text-align: center;
    width: 112px;
    width: clamp(90px, 7.4vw, 112px);
    --W:112;
    aspect-ratio: 1/1;
    border-radius: 50%; }
    .ugokko-tv .play-btn .c-wrap {
      position: relative;
      display: block;
      width: 100%;
      height: 100%;
      background: #fff;
      border-radius: 50%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      z-index: 5;
      -webkit-transition: -webkit-transform .5s ease;
      transition: -webkit-transform .5s ease;
      transition: transform .5s ease;
      transition: transform .5s ease, -webkit-transform .5s ease; }
      .ugokko-tv .play-btn .c-wrap:before {
        content: "";
        display: block;
        padding-top: 66.0714285714%; }
    .ugokko-tv .play-btn:after {
      content: "";
      display: block;
      position: absolute;
      left: 10px;
      top: 10px;
      background: rgba(0, 0, 0, 0.15);
      mix-blend-mode: multiply;
      width: 100%;
      height: 100%;
      border-radius: 50%;
      z-index: 1; }
    .ugokko-tv .play-btn .p-arrow {
      position: absolute;
      left: 0;
      right: 0;
      margin: auto;
      top: 35.7142857143%;
      width: 25%;
      z-index: 5; }
    .ugokko-tv .play-btn .en {
      position: relative;
      font-size: 14px;
      font-weight: 600;
      color: #333;
      z-index: 5; }
  .ugokko-tv .btm_area {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 150px;
    overflow: hidden;
    z-index: 5;
    pointer-events: none; }
    .ugokko-tv .btm_area .illust {
      position: absolute;
      right: 15.3333333333%;
      bottom: -18px;
      width: 106px;
      -webkit-transform: translateY(80px);
              transform: translateY(80px);
      opacity: 0;
      -webkit-transition: opacity 0.2s ease, -webkit-transform 0.4s var(--easePopUp);
      transition: opacity 0.2s ease, -webkit-transform 0.4s var(--easePopUp);
      transition: transform 0.4s var(--easePopUp), opacity 0.2s ease;
      transition: transform 0.4s var(--easePopUp), opacity 0.2s ease, -webkit-transform 0.4s var(--easePopUp); }
      .ugokko-tv .btm_area .illust:after {
        content: "";
        display: block;
        position: absolute;
        width: 121.6981132075%;
        aspect-ratio: 258/106;
        right: calc((237/212)*-100%);
        top: calc((38/261)*-100%);
        background: url(../img/common/tv-chara_bublle.svg);
        background-size: cover;
        -webkit-transform: translateY(10px);
                transform: translateY(10px);
        opacity: 0;
        -webkit-transition: opacity .5s ease,-webkit-transform .5s ease;
        transition: opacity .5s ease,-webkit-transform .5s ease;
        transition: transform .5s ease,opacity .5s ease;
        transition: transform .5s ease,opacity .5s ease,-webkit-transform .5s ease;
        -webkit-transition-delay: .4s;
                transition-delay: .4s; }
      .ugokko-tv .btm_area .illust .arm {
        position: absolute;
        width: calc((68/212)*100%);
        left: calc((19/212)*-100%);
        top: calc((35/261)*-100%);
        -webkit-transform-origin: right bottom;
                transform-origin: right bottom; }
    .ugokko-tv .btm_area.move .illust {
      -webkit-transform: translateY(0);
              transform: translateY(0);
      opacity: 1; }
      .ugokko-tv .btm_area.move .illust:after {
        -webkit-transform: translateY(0);
                transform: translateY(0);
        opacity: 1; }
      .ugokko-tv .btm_area.move .illust .arm {
        -webkit-animation: waveHand 1.2s ease-in-out infinite;
                animation: waveHand 1.2s ease-in-out infinite; }
  .ugokko-tv .sp_btn {
    display: none; }

@media screen and (min-width: 801px) {
  .play-btn:hover .c-wrap {
    -webkit-transform: translate(10px, 10px);
            transform: translate(10px, 10px); }
  .play-btn:hover .p-arrow {
    -webkit-animation: arrowSlidev2 3s ease-in-out infinite;
            animation: arrowSlidev2 3s ease-in-out infinite; } }
@media screen and (max-width: 1000px) {
  .ugokko-tv {
    display: block;
    padding-top: clamp(120px, 25vw, 256px);
    padding-bottom: 0;
    height: auto;
    max-height: 9999px; }
    .ugokko-tv .text_area {
      width: 87.5%;
      margin: 0 auto;
      z-index: 30; }
      .ugokko-tv .text_area .tab_off {
        display: none; }
    .ugokko-tv h2 {
      width: 100%;
      max-width: 420px; }
    .ugokko-tv .link_wrap {
      position: relative;
      margin: 0; }
    .ugokko-tv .ts_area {
      position: relative;
      width: 100%;
      margin-bottom: 6rem; }
      .ugokko-tv .ts_area:before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: -75px;
        height: 120px;
        width: 100%;
        background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, #22f2f2), to(rgba(34, 242, 242, 0)));
        background: linear-gradient(180deg, #22f2f2 60%, rgba(34, 242, 242, 0) 100%);
        z-index: 10; }
      .ugokko-tv .ts_area:after {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        bottom: -75px;
        height: 120px;
        width: 100%;
        background: -webkit-gradient(linear, left bottom, left top, color-stop(60%, #22f2f2), to(rgba(34, 242, 242, 0)));
        background: linear-gradient(0deg, #22f2f2 60%, rgba(34, 242, 242, 0) 100%);
        z-index: 10; }
      .ugokko-tv .ts_area .img {
        z-index: 5; }
    .ugokko-tv .play-btn {
      top: calc((480/1200)*100%);
      left: 0;
      right: 0;
      margin: auto;
      width: clamp(90px, 16.3vw, 150px); }
    .ugokko-tv .btm_area {
      position: relative;
      z-index: 30; }
      .ugokko-tv .btm_area .illust {
        position: absolute;
        left: 0;
        right: 0;
        margin: auto; } }
@media screen and (max-width: 800px) {
  .ugokko-tv .text_area {
    width: 80%; }
    .ugokko-tv .text_area .tab_off {
      display: inline; }
    .ugokko-tv .text_area .link_wrap {
      display: none; }
  .ugokko-tv .ul_txt {
    font-size: var(--fz16);
    padding-bottom: 1rem;
    padding-left: .5rem; }
  .ugokko-tv .min {
    margin-left: 35px;
    font-size: var(--fz13); }
    .ugokko-tv .min:before {
      width: 74px;
      height: 74px;
      left: calc(50% - 36px);
      top: calc(50% - 36px); }
  .ugokko-tv h2 {
    display: block;
    margin: 2.6rem 0 3.5rem; }
  .ugokko-tv .n_txt {
    font-size: var(--fz14);
    --lh: calc(29/14);
    margin-bottom: 0;
    letter-spacing: -0.02em; }
  .ugokko-tv .ts_area {
    margin-bottom: 1.5rem; }
  .ugokko-tv .sp_btn {
    display: table;
    margin: 0 auto 2.5rem;
    z-index: 30; }
    .ugokko-tv .sp_btn .link_btn {
      padding: 1.2rem 1.5rem 1.2rem 2rem; }
      .ugokko-tv .sp_btn .link_btn .arrow {
        margin-left: 1.5rem; }
  .ugokko-tv .btm_area {
    height: 120px; }
    .ugokko-tv .btm_area .illust {
      width: 88px; } }
/* ==========================================================================
	d-btm_pan
========================================================================== */
.d-btm_pan {
  border-top: 1px solid var(--base-border-color03);
  padding-top: 1.5rem;
  text-align: right;
  margin-bottom: 13rem; }
  .d-btm_pan a {
    position: relative;
    display: inline-block;
    font-weight: 600;
    color: var(--theme-color);
    letter-spacing: 0.04em;
    font-size: var(--fz14); }
    .d-btm_pan a:before {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 0;
      height: 1px;
      background: var(--theme-color);
      -webkit-transition: width .4s ease;
      transition: width .4s ease; }
    .d-btm_pan a:after {
      content: "-";
      display: inline-block;
      font-size: var(--fz11);
      margin: 0 .5rem;
      font-weight: 600;
      color: var(--base-text-color);
      opacity: .5; }
    @media screen and (min-width: 801px) {
      .d-btm_pan a:hover:before {
        width: calc(100% - 1em); } }
  .d-btm_pan p {
    display: inline-block;
    font-size: var(--fz14);
    font-weight: 600;
    letter-spacing: 0.04em;
    opacity: .5;
    text-transform: uppercase; }

@media screen and (max-width: 800px) {
  .d-btm_pan {
    padding-top: 1.1rem;
    text-align: center;
    margin-bottom: 10rem; }
    .d-btm_pan a {
      font-size: var(--fz12); }
      .d-btm_pan a:after {
        font-size: var(--fz12); } }
/* ==========================================================================
	footer
========================================================================== */
.footer {
  position: relative;
  background: var(--base-color-beige);
  padding-bottom: 12rem;
  overflow: hidden; }
  .footer .inr {
    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;
    /*250805調整用*/
    padding-bottom: 6rem; }
  .footer .info_area {
    margin-bottom: 18rem; }
    .footer .info_area .access_area {
      width: 61.5384615385%;
      background: #fff;
      border-radius: 7rem;
      padding-top: 6.8rem;
      padding-bottom: 10rem; }
    .footer .info_area h2 {
      position: relative;
      text-align: center;
      font-size: var(--fz50);
      font-weight: 500;
      --lh:1.2;
      position: relative;
      /*
      overflow: hidden;
      */
      line-height: calc(var(--lh)* 1em);
      padding-top: .1px;
      padding-bottom: .1px;
      margin-bottom: 1.5rem; }
      .footer .info_area h2::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        /*
        margin-top: calc((1 - var(--lh)) * 0.5em);
        */
        margin-top: calc((1 - var(--lh))* .5em); }
      .footer .info_area h2::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-bottom: calc((1 - var(--lh))* .5em); }
    .footer .info_area .ja-sub_tit {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin-bottom: 3.7rem;
      font-weight: 700; }
    .footer .info_area .img {
      margin-bottom: 4.5rem; }
    .footer .info_area .btm_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;
      width: 85%;
      max-width: 510px;
      margin: 0 auto; }
      .footer .info_area .btm_area .text_area {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        margin-right: 1.5rem;
        max-width: 250px; }
        .footer .info_area .btm_area .text_area > p {
          font-size: var(--fz14);
          font-weight: 500;
          --lh:calc(22/14);
          position: relative;
          /*
          overflow: hidden;
          */
          line-height: calc(var(--lh)* 1em);
          padding-top: .1px;
          padding-bottom: .1px;
          margin-bottom: 3rem; }
          .footer .info_area .btm_area .text_area > p::before {
            content: '';
            display: block;
            height: 0;
            width: 0;
            /*
            margin-top: calc((1 - var(--lh)) * 0.5em);
            */
            margin-top: calc((1 - var(--lh))* .5em); }
          .footer .info_area .btm_area .text_area > p::after {
            content: '';
            display: block;
            height: 0;
            width: 0;
            margin-bottom: calc((1 - var(--lh))* .5em); }
        .footer .info_area .btm_area .text_area a {
          position: relative;
          display: block;
          padding: 2.3rem 3.5rem 2.4rem;
          background: var(--base-color-beige);
          border-radius: 32px;
          z-index: 5; }
          .footer .info_area .btm_area .text_area a .en {
            font-size: var(--fz18);
            font-weight: 500;
            margin-left: .6rem;
            letter-spacing: 0; }
          .footer .info_area .btm_area .text_area a .arrow {
            position: absolute;
            top: 0;
            bottom: 0;
            right: 3rem;
            margin: auto; }
      .footer .info_area .btm_area .img_area {
        position: relative;
        width: 39.4%;
        min-width: 180px; }
        .footer .info_area .btm_area .img_area img {
          border-radius: 4rem; }
        .footer .info_area .btm_area .img_area p {
          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: 90px;
          height: 90px;
          background: #fff;
          border: 1px solid var(--theme-color);
          font-size: var(--fz13);
          line-height: calc(34/25);
          color: var(--theme-color);
          font-weight: 700;
          text-align: center;
          position: absolute;
          top: -45px;
          right: -36px;
          z-index: 10;
          border-radius: 50%; }
    .footer .info_area .insta_area {
      width: 32.5384615385%; }
      .footer .info_area .insta_area a {
        position: relative;
        display: block;
        width: 100%;
        height: 100%;
        border-radius: 7rem;
        overflow: hidden;
        text-align: center;
        padding-top: 8rem;
        -webkit-box-sizing: border-box;
                box-sizing: border-box; }
        .footer .info_area .insta_area a:before {
          content: "";
          display: block;
          position: absolute;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%;
          background: #000;
          opacity: .6;
          z-index: 2; }
      .footer .info_area .insta_area p {
        position: relative;
        font-size: var(--fz18);
        font-weight: 500;
        color: #fff;
        line-height: calc(62/36);
        letter-spacing: 0.04em;
        z-index: 10; }
      .footer .info_area .insta_area h2 {
        position: absolute;
        left: 0;
        right: 0;
        top: calc(50% - 84px);
        margin: auto;
        width: 193px;
        z-index: 10; }
      .footer .info_area .insta_area .arrow {
        left: 0;
        right: 0;
        margin: auto;
        bottom: 78px;
        z-index: 10; }
      .footer .info_area .insta_area .bg_img_wrap {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        overflow: hidden;
        z-index: 1; }
      .footer .info_area .insta_area .bg_img {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        margin: 0;
        padding: 0;
        width: 100%;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-animation: loop-slideY-rev 80s infinite linear;
                animation: loop-slideY-rev 80s infinite linear; }
        .footer .info_area .insta_area .bg_img figure {
          width: 100%; }
  .footer .links_area {
    position: relative;
    z-index: 20; }
    .footer .links_area .l_area {
      position: relative;
      width: 296px;
      width: 24%;
      max-width: 296px; }
      .footer .links_area .l_area h2 {
        width: 100%;
        margin-bottom: 4.5rem; }
      .footer .links_area .l_area .c_txt {
        font-size: var(--fz13);
        text-align: center;
        font-weight: 500;
        --lh: calc(22/13);
        position: relative;
        /*
        overflow: hidden;
        */
        line-height: calc(var(--lh)* 1em);
        padding-top: .1px;
        padding-bottom: .1px;
        margin-bottom: 2.8rem;
        font-weight: 600; }
        .footer .links_area .l_area .c_txt::before {
          content: '';
          display: block;
          height: 0;
          width: 0;
          /*
          margin-top: calc((1 - var(--lh)) * 0.5em);
          */
          margin-top: calc((1 - var(--lh))* .5em); }
        .footer .links_area .l_area .c_txt::after {
          content: '';
          display: block;
          height: 0;
          width: 0;
          margin-bottom: calc((1 - var(--lh))* .5em); }
        .footer .links_area .l_area .c_txt a {
          text-decoration: underline;
          font-weight: 500;
          color: var(--theme-color); }
        .footer .links_area .l_area .c_txt .tab_off {
          display: none; }
      .footer .links_area .l_area .tel {
        display: table;
        margin: 0 auto 1.3rem;
        text-align: center;
        font-size: var(--fz27);
        font-weight: 500; }
        .footer .links_area .l_area .tel span {
          font-weight: 500;
          font-size: var(--fz20); }
      .footer .links_area .l_area .mail {
        display: table;
        margin: 0 auto;
        font-size: var(--fz18);
        font-weight: 500; }
      .footer .links_area .l_area .copy {
        position: absolute;
        left: 0;
        bottom: 0;
        font-weight: 500; }
    .footer .links_area .chara_area {
      position: relative;
      top: -7%;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      width: 310px;
      width: 104.7297297297%;
      aspect-ratio: 620/243;
      --W:620;
      margin-bottom: -5%; }
      .footer .links_area .chara_area.move .chara {
        -webkit-animation: dropIn 0.4s var(--easeOutCubic) forwards;
                animation: dropIn 0.4s var(--easeOutCubic) forwards; }
      .footer .links_area .chara_area .chara {
        position: absolute;
        width: calc((var(--c_W)/var(--W))*100%);
        left: calc((var(--c_L)/var(--W))*100%);
        bottom: 0;
        opacity: 0;
        -webkit-transform: translateY(-50px);
                transform: translateY(-50px); }
        .footer .links_area .chara_area .chara.-o {
          --c_W:154;
          left: 0;
          bottom: 2px;
          -webkit-animation-delay: .1s;
                  animation-delay: .1s; }
        .footer .links_area .chara_area .chara.-p {
          --c_W:208;
          --c_L:125;
          z-index: 3;
          -webkit-animation-delay: .5s;
                  animation-delay: .5s; }
        .footer .links_area .chara_area .chara.-g {
          --c_W:160;
          --c_L:202;
          bottom: auto;
          top: 0;
          z-index: 2;
          -webkit-animation-delay: .4s;
                  animation-delay: .4s; }
        .footer .links_area .chara_area .chara.-y {
          --c_W:161;
          --c_L:295;
          z-index: 5;
          -webkit-animation-delay: .2s;
                  animation-delay: .2s; }
        .footer .links_area .chara_area .chara.-r {
          --c_W:201;
          left: auto;
          right: 0;
          bottom: 2px;
          z-index: 3;
          -webkit-animation-delay: .3s;
                  animation-delay: .3s; }
    .footer .links_area .c_area {
      position: relative;
      width: 29.435483871%;
      z-index: 20; }
      .footer .links_area .c_area ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        margin-bottom: 3.5rem; }
        .footer .links_area .c_area ul .b_link {
          position: relative;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          font-size: var(--fz17);
          font-weight: 600;
          margin-bottom: 2.3rem;
          b-xising: border-box; }
          .footer .links_area .c_area ul .b_link .only-arrow {
            width: 12px;
            margin-right: .8rem;
            margin-top: 2px;
            --color:var(--theme-color);
            -webkit-transition: all .4s ease;
            transition: all .4s ease; }
            .footer .links_area .c_area ul .b_link .only-arrow path, .footer .links_area .c_area ul .b_link .only-arrow .cls-1 {
              fill: var(--color);
              -webkit-transition: all .4s ease;
              transition: all .4s ease; }
          @media screen and (min-width: 801px) {
            .footer .links_area .c_area ul .b_link:hover .only-arrow {
              --color:var(--theme-color);
              -webkit-transform: translateX(3px);
                      transform: translateX(3px); } }
        .footer .links_area .c_area ul .s_link {
          position: relative;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          font-size: var(--fz14);
          font-weight: 600;
          margin-bottom: 1.5rem;
          b-xising: border-box;
          gap: 1rem; }
          .footer .links_area .c_area ul .s_link:before {
            content: "";
            display: block;
            width: 12px;
            height: 3px;
            border-radius: 50%;
            margin-top: 2px;
            background: var(--base-color-orange); }
          @media screen and (min-width: 801px) {
            .footer .links_area .c_area ul .s_link:hover {
              color: var(--base-color-orange); } }
      .footer .links_area .c_area .sns_link {
        display: block;
        width: 100%;
        max-width: 297px;
        text-align: center;
        background: #fff;
        padding: 20px 0 19px;
        border-radius: 31px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        --fill:#676767; }
        .footer .links_area .c_area .sns_link svg, .footer .links_area .c_area .sns_link .cls-1, .footer .links_area .c_area .sns_link .cls-2, .footer .links_area .c_area .sns_link .cls-3 {
          fill: var(--fill);
          -webkit-transition: fill 0.4s var(--easeOutQuad);
          transition: fill 0.4s var(--easeOutQuad); }
        .footer .links_area .c_area .sns_link + .sns_link {
          margin-top: .8rem; }
        .footer .links_area .c_area .sns_link p {
          width: 90%;
          display: inline-block; }
        .footer .links_area .c_area .sns_link.-line {
          padding-right: 10px; }
          .footer .links_area .c_area .sns_link.-line p {
            max-width: 183px; }
        .footer .links_area .c_area .sns_link.-insta {
          padding: 21px 0 20px; }
          .footer .links_area .c_area .sns_link.-insta p {
            max-width: 192px; }
        .footer .links_area .c_area .sns_link.-youtube {
          padding: 24px 5px 22px 0; }
          .footer .links_area .c_area .sns_link.-youtube p {
            max-width: 195px; }
        @media screen and (min-width: 801px) {
          .footer .links_area .c_area .sns_link.-line:hover {
            --fill:#1bbe5b; }
          .footer .links_area .c_area .sns_link.-insta:hover {
            --fill:#705ac2; }
          .footer .links_area .c_area .sns_link.-youtube:hover {
            --fill:#ff3330; } }
    .footer .links_area .r-box {
      width: 28.7096774194%; }
      .footer .links_area .r-box a {
        position: relative;
        display: block;
        border-radius: 2rem;
        background: var(--b-color);
        padding: 3rem 0 4.4rem 3rem;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        background: var(--theme-color); }
        .footer .links_area .r-box a .illust {
          position: absolute;
          right: 2.8rem;
          bottom: 2.5rem;
          width: 45px;
          -webkit-transition: -webkit-transform 0.4s var(--easePopUp);
          transition: -webkit-transform 0.4s var(--easePopUp);
          transition: transform 0.4s var(--easePopUp);
          transition: transform 0.4s var(--easePopUp), -webkit-transform 0.4s var(--easePopUp); }
        .footer .links_area .r-box a p {
          font-size: var(--fz18);
          --lh:1.5;
          position: relative;
          /*
          overflow: hidden;
          */
          line-height: calc(var(--lh)* 1em);
          padding-top: .1px;
          padding-bottom: .1px;
          margin-bottom: 1.2rem;
          letter-spacing: 0.04em;
          font-weight: 700;
          color: #fff; }
          .footer .links_area .r-box a p::before {
            content: '';
            display: block;
            height: 0;
            width: 0;
            /*
            margin-top: calc((1 - var(--lh)) * 0.5em);
            */
            margin-top: calc((1 - var(--lh))* .5em); }
          .footer .links_area .r-box a p::after {
            content: '';
            display: block;
            height: 0;
            width: 0;
            margin-bottom: calc((1 - var(--lh))* .5em); }
          .footer .links_area .r-box a p .tab_off {
            display: none; }
        .footer .links_area .r-box a .en {
          display: block;
          font-size: var(--fz14);
          color: #fff;
          font-weight: 500;
          letter-spacing: 0.04em;
          margin-bottom: 5rem;
          opacity: .6; }
        .footer .links_area .r-box a .img {
          width: 100px;
          border-radius: 10px;
          overflow: hidden; }
        .footer .links_area .r-box a .arrow {
          position: absolute;
          left: 2.9rem;
          bottom: 2.3rem;
          border: 1px solid #fff; }
        @media screen and (min-width: 801px) {
          .footer .links_area .r-box a:hover .illust {
            -webkit-animation: hopUp 0.4s ease-out;
                    animation: hopUp 0.4s ease-out; }
          .footer .links_area .r-box a:hover .arrow {
            --color:var(--theme-color);
            --bg-color:#fff; } }
  .footer .copy {
    display: block;
    position: absolute;
    font-size: var(--fz13);
    width: 24%;
    max-width: 296px;
    left: 0;
    bottom: 0;
    text-align: center;
    font-weight: 600; }
  .footer .photo {
    position: absolute;
    right: -3.85rem;
    bottom: 0;
    width: 35.0806451613%;
    mix-blend-mode: darken;
    max-width: 435px;
    background: var(--base-color-beige); }
    .footer .photo img {
      mix-blend-mode: darken; }

@media screen and (min-width: 801px) and (max-width: 1000px) {
  .footer .links_area .l_area {
    position: relative;
    width: 296px;
    width: 24%;
    max-width: 296px; }
    .footer .links_area .l_area .c_txt {
      font-size: 13px;
      margin-bottom: 20px; }
      .footer .links_area .l_area .c_txt .tab_off {
        display: inline; }
    .footer .links_area .l_area .tel {
      margin: 0 auto 13px;
      text-align: center;
      font-size: 21px; }
      .footer .links_area .l_area .tel span {
        font-weight: 500;
        font-size: 15px; }
    .footer .links_area .l_area .mail {
      font-size: 14px;
      font-weight: 500; }
  .footer .links_area .c_area {
    width: 36%; }
    .footer .links_area .c_area ul {
      margin-bottom: 35px; }
      .footer .links_area .c_area ul .b_link {
        font-size: 15px;
        margin-bottom: 20px; }
      .footer .links_area .c_area ul .s_link {
        font-size: 12px;
        font-weight: 600;
        margin-bottom: 15px; }
  .footer .links_area .r-box {
    width: 28.7096774194%; }
    .footer .links_area .r-box a {
      position: relative;
      display: block;
      border-radius: 2rem;
      background: var(--b-color);
      padding: 3rem 0 4.4rem 3rem;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      background: var(--theme-color); }
      .footer .links_area .r-box a .illust {
        position: absolute;
        right: 2.8rem;
        bottom: 2.5rem;
        width: 45px;
        -webkit-transition: -webkit-transform 0.4s var(--easePopUp);
        transition: -webkit-transform 0.4s var(--easePopUp);
        transition: transform 0.4s var(--easePopUp);
        transition: transform 0.4s var(--easePopUp), -webkit-transform 0.4s var(--easePopUp); }
      .footer .links_area .r-box a p {
        font-size: 15px; }
        .footer .links_area .r-box a p .tab_off {
          display: inline; }
      .footer .links_area .r-box a .en {
        font-size: 13px;
        margin-bottom: 40px;
        opacity: .6; }
      .footer .links_area .r-box a .arrow {
        position: absolute;
        left: 2.9rem;
        bottom: 2.3rem;
        border: 1px solid #fff; }
  .footer .copy {
    font-size: 13px;
    width: 50%;
    text-align: left;
    bottom: -30px; }
  .footer .photo {
    position: absolute;
    right: -3.85rem;
    bottom: 0;
    width: 35.0806451613%;
    max-width: 435px; } }
@media screen and (max-width: 800px) {
  .footer {
    padding-bottom: 4rem; }
    .footer .inr {
      display: block; }
    .footer .info_area {
      margin-bottom: 5.5rem; }
      .footer .info_area .access_area {
        width: 100%;
        border-radius: 4rem;
        padding-top: 6.5rem;
        padding-bottom: 7rem;
        margin-bottom: 5.5rem; }
      .footer .info_area h2 {
        font-size: var(--fz34);
        margin-bottom: 1.1rem; }
      .footer .info_area .ja-sub_tit {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin-bottom: 3.7rem; }
      .footer .info_area .img {
        margin-bottom: 2.7rem; }
      .footer .info_area .btm_area {
        width: 85%;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; }
        .footer .info_area .btm_area .text_area {
          -webkit-box-flex: 1;
              -ms-flex: 1;
                  flex: 1;
          margin-right: 1.5rem;
          max-width: 500px; }
          .footer .info_area .btm_area .text_area > p {
            font-size: var(--fz11);
            --lh:calc(17/12);
            margin-bottom: 1.8rem; }
          .footer .info_area .btm_area .text_area a {
            padding: 1.6rem 1.8rem 1.4rem;
            border-radius: 20px;
            z-index: 5; }
            .footer .info_area .btm_area .text_area a .en {
              font-size: var(--fz14);
              margin-left: 0; }
            .footer .info_area .btm_area .text_area a .arrow {
              right: 1.8rem; }
        .footer .info_area .btm_area .img_area {
          width: 40%;
          max-width: 270px;
          min-width: 10px; }
          .footer .info_area .btm_area .img_area img {
            border-radius: 2.6rem; }
          .footer .info_area .btm_area .img_area p {
            width: 75px;
            height: 75px;
            font-size: var(--fz11);
            line-height: calc(15/11);
            top: -40px;
            right: -31px; }
      .footer .info_area .insta_area {
        width: 88.8888888889%;
        aspect-ratio: 640/844;
        margin: 0 auto; }
        .footer .info_area .insta_area a {
          border-radius: 4rem;
          padding-top: 5rem; }
        .footer .info_area .insta_area p {
          font-size: var(--fz13);
          line-height: calc(20/13); }
        .footer .info_area .insta_area h2 {
          top: calc(50% - 45px);
          width: 130px; }
        .footer .info_area .insta_area .arrow {
          bottom: 43px; }
    .footer .links_area {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .footer .links_area .l_area {
        width: 100%;
        max-width: 100%;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
        margin-bottom: 5.5rem; }
        .footer .links_area .l_area h2 {
          width: 100%;
          width: 63.0555555556%;
          min-width: 227px;
          margin: 0 auto 3.2rem; }
        .footer .links_area .l_area .c_txt {
          font-size: var(--fz12);
          --lh: calc(20/12);
          margin-bottom: 2.1rem;
          text-align: center; }
        .footer .links_area .l_area .tel {
          margin: 0 auto 1.5rem;
          font-size: var(--fz26); }
          .footer .links_area .l_area .tel span {
            font-size: var(--fz19); }
        .footer .links_area .l_area .mail {
          font-size: var(--fz18); }
        .footer .links_area .l_area .copy {
          position: absolute;
          left: 0;
          bottom: 0; }
      .footer .links_area .chara_area {
        position: relative;
        top: 0;
        left: auto;
        -webkit-transform: translateX(0);
                transform: translateX(0);
        width: 66.6666666667%;
        margin: 0 auto 3.5rem; }
      .footer .links_area .c_area {
        width: 83.3333333333%;
        margin: 0 auto 3.8rem;
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2; }
        .footer .links_area .c_area ul {
          margin-bottom: 5rem; }
          .footer .links_area .c_area ul .b_link {
            font-size: var(--fz14);
            margin-bottom: 1.7rem; }
            .footer .links_area .c_area ul .b_link .only-arrow {
              width: 10px;
              margin-right: .6rem;
              margin-top: 2px; }
          .footer .links_area .c_area ul .s_link {
            font-size: var(--fz11);
            margin-bottom: 1.2rem; }
            .footer .links_area .c_area ul .s_link:before {
              display: block;
              width: 11px;
              height: 3px; }
        .footer .links_area .c_area .sns_link {
          width: 100%;
          max-width: 100%;
          text-align: center;
          padding: 18px 0 18px;
          border-radius: 31px; }
          .footer .links_area .c_area .sns_link + .sns_link {
            margin-top: .6rem; }
          .footer .links_area .c_area .sns_link.-line {
            padding-right: 10px; }
            .footer .links_area .c_area .sns_link.-line p {
              max-width: 181px; }
          .footer .links_area .c_area .sns_link.-insta {
            padding: 19px 0 19px; }
            .footer .links_area .c_area .sns_link.-insta p {
              max-width: 189px; }
          .footer .links_area .c_area .sns_link.-youtube {
            padding: 22px 5px 21px 0; }
            .footer .links_area .c_area .sns_link.-youtube p {
              max-width: 191px; }
      .footer .links_area .r-box {
        -webkit-box-ordinal-group: 1;
            -ms-flex-order: 0;
                order: 0;
        width: 100%;
        margin-bottom: 5.5rem; }
        .footer .links_area .r-box a {
          padding: 2.8rem 0 2.7rem 3rem; }
          .footer .links_area .r-box a .illust {
            right: 3.3rem;
            bottom: 2.7rem;
            width: 44px; }
          .footer .links_area .r-box a p {
            font-size: var(--fz18);
            margin-bottom: 1.2rem; }
          .footer .links_area .r-box a .en {
            font-size: var(--fz10);
            margin-bottom: 2.9rem; }
          .footer .links_area .r-box a .arrow {
            position: relative;
            left: auto;
            bottom: auto; }
    .footer .copy {
      position: relative;
      max-width: 100%;
      width: 100%;
      left: auto;
      bottom: auto;
      font-size: var(--fz11);
      margin-bottom: 5.5rem;
      -webkit-box-ordinal-group: 4;
          -ms-flex-order: 3;
              order: 3; }
    .footer .photo {
      position: relative;
      right: auto;
      bottom: auto;
      width: 72.5%;
      max-width: 435px;
      -webkit-box-ordinal-group: 5;
          -ms-flex-order: 4;
              order: 4;
      margin: 0 auto; } }
/* ==========================================================================
	inview
========================================================================== */
.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: .2s;
          transition-delay: .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 .8s;
    transition: opacity .8s; }

/* ==========================================================================
	text
========================================================================== */
.en-tit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: var(--fz26);
  font-weight: 500;
  line-height: 1;
  gap: 1.2rem; }
  .en-tit:before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    background: url(../img/common/icon-title.svg);
    background-size: cover; }

.ja-sub_tit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: var(--fz19);
  font-weight: 500;
  line-height: 1;
  gap: .8rem; }
  .ja-sub_tit:before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    background: url(../img/common/icon-title.svg);
    background-size: cover;
    margin-top: 3px; }
  .ja-sub_tit.-large {
    position: relative;
    display: inline-block;
    font-size: var(--fz28);
    padding-left: 4.5rem;
    margin-right: 1.5rem; }
    .ja-sub_tit.-large:before {
      position: absolute;
      left: 1.7rem;
      top: 3px;
      bottom: 0;
      margin: auto;
      width: 18px;
      height: 18px; }

.ja-sub_tit-v2 {
  position: relative;
  display: inline-block;
  font-size: var(--fz28);
  font-weight: 700;
  padding-left: 45px;
  margin-right: 1.5rem; }
  .ja-sub_tit-v2 .icon {
    position: absolute;
    display: block;
    left: 1.7rem;
    top: 3px;
    bottom: 0;
    margin: auto;
    width: 18px;
    height: 18px; }
    .ja-sub_tit-v2 .icon .cls-1 {
      fill: var(--color); }
  .ja-sub_tit-v2.-small {
    font-size: var(--fz22);
    padding-left: 20px;
    margin-right: 0; }
    .ja-sub_tit-v2.-small .icon {
      left: 0;
      width: 13px; }

.en-sub_tit {
  display: inline-block;
  font-size: var(--fz20);
  font-weight: 500;
  color: var(--color);
  -webkit-transform: translateY(-4px);
          transform: translateY(-4px); }

.en-ruby_tit {
  position: relative;
  font-size: var(--fz15);
  font-weight: 600;
  color: var(--theme-color); }
  .en-ruby_tit.-center {
    display: block;
    text-align: center; }

.v-tit {
  display: block;
  position: relative;
  font-size: var(--fz24);
  font-weight: 700;
  padding-top: 2.8rem; }
  .v-tit:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 17px;
    height: 17px;
    background: url(../img/common/icon-title.svg);
    background-size: cover; }
  .v-tit.-small {
    font-size: var(--fz20);
    padding-top: 2rem; }
    .v-tit.-small:before {
      width: 13px;
      height: 13px; }

.c-tit {
  position: relative;
  font-size: var(--fz34);
  font-weight: 700; }

.c-tit_en {
  position: relative;
  font-size: var(--fz15);
  font-weight: 600; }

.n_txt {
  position: relative;
  font-size: var(--fz15);
  letter-spacing: 0.04em;
  line-height: calc(56/30);
  /*
  @include lhCrop();
  */ }
  .n_txt.-xlrge {
    font-size: var(--fz20); }
  .n_txt.-large {
    font-size: var(--fz18); }
  .n_txt.-regular {
    font-size: var(--fz15); }
  .n_txt.-midium {
    font-size: var(--fz14);
    line-height: calc(24/14); }
  .n_txt.-small,
  .n_txt .s_txt {
    font-size: var(--fz13);
    line-height: calc(28/13); }
  .n_txt.-center {
    text-align: center; }

.lg_txt {
  position: relative;
  color: #666;
  position: relative;
  /*
  overflow: hidden;
  */
  line-height: calc(var(--lh)* 1em);
  padding-top: .1px;
  padding-bottom: .1px; }
  .lg_txt::before {
    content: '';
    display: block;
    height: 0;
    width: 0;
    /*
    margin-top: calc((1 - var(--lh)) * 0.5em);
    */
    margin-top: calc((1 - var(--lh))* .5em); }
  .lg_txt::after {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-bottom: calc((1 - var(--lh))* .5em); }

.b_txt {
  position: relative;
  font-weight: 700; }

@media screen and (max-width: 800px) {
  .ja-sub_tit-v2 {
    font-size: var(--fz22);
    padding-left: 30px;
    margin-right: 0;
    margin-bottom: 1rem; }
    .ja-sub_tit-v2 .icon {
      left: 1rem;
      top: 3px;
      width: 13px;
      height: 13px; }
    .ja-sub_tit-v2.-small {
      font-size: var(--fz16);
      padding-left: 17px; }
      .ja-sub_tit-v2.-small .icon {
        left: 0;
        width: 8px;
        height: 8px; }

  .en-sub_tit {
    display: block;
    padding-left: 30px;
    font-size: var(--fz16);
    -webkit-transform: translateY(0);
            transform: translateY(0); }

  .en-ruby_tit {
    font-size: var(--fz14); }

  .n_txt {
    position: relative;
    font-size: var(--fz13);
    line-height: calc(22/13); }

  .en-tit {
    font-size: var(--fz20);
    gap: 1rem; }
    .en-tit:before {
      width: 10px;
      height: 10px; }

  .v-tit {
    font-size: var(--fz18);
    padding-top: 0;
    padding-left: 20px; }
    .v-tit:before {
      width: 13px;
      height: 13px; }

  .c-tit {
    display: block;
    text-align: center;
    font-size: var(--fz22);
    margin-bottom: 1.2rem; }

  .c-tit_en {
    display: block;
    text-align: center;
    font-size: var(--fz9);
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
/* ==========================================================================
	layout
========================================================================== */
.inr {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  /*
  &.-w1400{
  	@include w_vw(1400);
  	@include max-width(1000){
  		width: 89.3%;
  	}
  }
  &.-w1440{
  	@include w_vw(1440);
  	@include max-width(1000){
  		width: 89.3%;
  	}
  }
  &.-w1560{
  	@include w_vw(1560);
  	@include max-width(930){
  		width: 89.3%;
  	}
  }
  &.-w1600{
  	@include w_vw(1600);
  	@include max-width(930){
  		width: 89.3%;
  	}
  }
  &.-w1640{
  	@include w_vw(1640);
  	@include max-width(975){
  		width: 89.3%;
  	}
  }
  */ }
  .inr.-w1035 {
    width: clamp(621px, 69vw, 1324.8px);
    min-width: 700px; }
  .inr.-w1110 {
    width: clamp(666px, 74vw, 1420.8px); }
    @media screen and (max-width: 900px) {
      .inr.-w1110 {
        width: 85%; } }
  .inr.-w1195 {
    width: clamp(717px, 79.6666666667vw, 1529.6px); }
    @media screen and (max-width: 1050px) {
      .inr.-w1195 {
        width: 90%; } }
  .inr.-w1146 {
    width: clamp(687.6px, 76.4vw, 1466.88px); }
    @media screen and (max-width: 900px) {
      .inr.-w1146 {
        width: 85%; } }
  .inr.-w1160 {
    width: clamp(696px, 77.3333333333vw, 1484.8px); }
    @media screen and (max-width: 900px) {
      .inr.-w1160 {
        width: 85%; } }
  .inr.-w1290 {
    width: clamp(774px, 86vw, 1651.2px); }
    @media screen and (max-width: 1000px) {
      .inr.-w1290 {
        width: 85%; } }
    @media screen and (max-width: 800px) {
      .inr.-w1290 {
        width: 87.5%; } }
  .inr.-w1200 {
    width: clamp(720px, 80vw, 1536px); }
    @media screen and (max-width: 1000px) {
      .inr.-w1200 {
        width: 85%; } }
  .inr.-w1220 {
    width: clamp(732px, 81.3333333333vw, 1561.6px); }
    @media screen and (max-width: 1000px) {
      .inr.-w1220 {
        width: 85%; } }
  .inr.-w1240 {
    width: clamp(744px, 82.6666666667vw, 1587.2px); }
    @media screen and (max-width: 1000px) {
      .inr.-w1240 {
        width: 85%; } }
  .inr.-w1264 {
    width: clamp(758.4px, 84.2666666667vw, 1617.92px); }
    @media screen and (max-width: 1000px) {
      .inr.-w1264 {
        width: 95%; } }
  .inr.-w1296 {
    width: clamp(777.6px, 86.4vw, 1658.88px); }
    @media screen and (max-width: 1000px) {
      .inr.-w1296 {
        width: 85%; } }
  .inr.-w1300 {
    width: clamp(780px, 86.6666666667vw, 1664px); }
    @media screen and (max-width: 1000px) {
      .inr.-w1300 {
        width: 90%; } }
  .inr.-w1320 {
    width: clamp(792px, 88vw, 1689.6px); }
    @media screen and (max-width: 1000px) {
      .inr.-w1320 {
        width: 90%; } }
  .inr.-w1380 {
    width: clamp(828px, 92vw, 1766.4px); }
    @media screen and (max-width: 1000px) {
      .inr.-w1380 {
        width: 90%; } }

@media screen and (max-width: 800px) {
  .inr.-w1035 {
    min-width: 10px;
    width: 85%; }
  .inr.-w1296 {
    width: 89.3333333333%; } }
.swiper-pagination-bullet {
  background: #333; }

.swiper-pagination-bullet-active {
  background: var(--s_color); }

@media screen and (max-width: 800px) {
  .swiper-pagination {
    position: relative; } }
.-c_white {
  --color:#fff; }

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

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

/* ==========================================================================
	wp関連
========================================================================== */
.pagination {
  position: relative;
  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: 2rem;
  --color:#fff;
  --t-color:#000; }
  .pagination > * {
    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: 48px;
    height: 48px;
    background: var(--color);
    border-radius: 50%;
    font-size: var(--fz20);
    font-weight: 500;
    color: var(--t-color); }
  .pagination .current {
    --color:var(--theme-color);
    --t-color:#fff;
    pointer-events: none; }
  .pagination .icon {
    width: 16px;
    height: 11px; }
    .pagination .icon img {
      -o-object-fit: contain;
         object-fit: contain;
      display: block; }
  .pagination .page-next .icon {
    -webkit-transform: var(--hanten);
            transform: var(--hanten); }
  @media screen and (min-width: 801px) {
    .pagination a:hover {
      --color:var(--theme-color);
      --t-color:#fff; }
      .pagination a:hover .svg path {
        fill: #fff; } }

@media screen and (max-width: 800px) {
  .pagination {
    gap: 1rem; }
    .pagination > * {
      width: 40px;
      height: 40px; }
    .pagination .page-next .icon {
      -webkit-transform: var(--hanten);
              transform: var(--hanten); } }
  @media screen and (max-width: 800px) and (min-width: 801px) {
    .pagination a:hover {
      --color:var(--theme-color);
      --t-color:#fff; }
      .pagination a:hover .svg path {
        fill: #fff; } }

.d-pagination {
  position: relative;
  width: 100%;
  padding: 2rem 0;
  border-top: 1px solid var(--base-border-color02);
  border-bottom: 1px solid var(--base-border-color02);
  margin-top: 12rem; }
  .d-pagination .link {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .d-pagination .link .img {
      position: relative;
      width: 80px;
      height: 80px;
      overflow: hidden; }
      .d-pagination .link .img .fit_img {
        -o-object-position: top center;
           object-position: top center;
        -webkit-transition: -webkit-transform 0.8s var(--easeOutCubic);
        transition: -webkit-transform 0.8s var(--easeOutCubic);
        transition: transform 0.8s var(--easeOutCubic);
        transition: transform 0.8s var(--easeOutCubic), -webkit-transform 0.8s var(--easeOutCubic); }
    .d-pagination .link .text {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      margin-left: 2rem; }
    .d-pagination .link .en-mincho {
      position: relative;
      padding-left: 26px;
      font-size: var(--fz16);
      color: var(--base-color-black03);
      -webkit-transition: color 0.4s var(--easeOutCubic);
      transition: color 0.4s var(--easeOutCubic); }
    .d-pagination .link .icon {
      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;
      position: absolute;
      left: 0;
      top: 0;
      width: 16px;
      height: 16px;
      border: 1px solid var(--theme-color);
      border-radius: 50%;
      -webkit-transition: background 0.4s var(--easeOutCubic);
      transition: background 0.4s var(--easeOutCubic); }
    .d-pagination .link .name {
      font-size: var(--fz16);
      line-height: calc(20/16);
      font-weight: 500;
      margin-top: 10px;
      -webkit-transition: color 0.4s var(--easeOutCubic);
      transition: color 0.4s var(--easeOutCubic);
      max-width: 190px; }
    .d-pagination .link.-next {
      left: auto;
      right: 0;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; }
      .d-pagination .link.-next .icon svg {
        -webkit-transform: var(--hanten);
                transform: var(--hanten); }
      .d-pagination .link.-next .text {
        margin-left: 0;
        margin-right: 2rem; }
      .d-pagination .link.-next .en-mincho {
        padding-right: 25px;
        text-align: right; }
      .d-pagination .link.-next .icon {
        left: auto;
        right: 0; }
      .d-pagination .link.-next .name {
        text-align: right; }
    @media screen and (min-width: 801px) {
      .d-pagination .link:hover .en-mincho, .d-pagination .link:hover .name {
        color: var(--theme-color); }
      .d-pagination .link:hover .img .fit_img {
        -webkit-transform: scale(1.05);
                transform: scale(1.05); }
      .d-pagination .link:hover .icon {
        background: var(--theme-color); }
        .d-pagination .link:hover .icon svg path {
          fill: #fff; } }
  .d-pagination .link-ichiran {
    display: block;
    margin: 0 auto;
    border-left: 1px solid var(--base-border-color02);
    border-right: 1px solid var(--base-border-color02);
    width: 120px;
    height: 100px;
    padding-top: 27px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: center; }
    .d-pagination .link-ichiran .icon {
      display: block;
      margin: 0 auto 10px;
      width: 20px;
      height: 20px; }
      .d-pagination .link-ichiran .icon svg path {
        -webkit-transition: stroke 0.4s var(--easeOutCubic);
        transition: stroke 0.4s var(--easeOutCubic); }
    .d-pagination .link-ichiran p {
      font-size: var(--fz13);
      line-height: calc(16/13);
      font-weight: 500;
      letter-spacing: -0.06em;
      -webkit-transition: color 0.4s var(--easeOutCubic);
      transition: color 0.4s var(--easeOutCubic); }
    @media screen and (min-width: 801px) {
      .d-pagination .link-ichiran:hover {
        background: var(--base-text-color); }
        .d-pagination .link-ichiran:hover .icon svg path {
          stroke: #fff; }
        .d-pagination .link-ichiran:hover p {
          color: #fff; } }

@media screen and (max-width: 1000px) {
  .d-pagination .link .img {
    display: none; }

  .d-pagination .link {
    max-width: calc(50% - 80px); } }
@media screen and (max-width: 800px) {
  .d-pagination {
    margin-top: 8rem;
    padding: 1rem 0;
    border-top: 1px solid var(--base-border-color02);
    border-bottom: 1px solid var(--base-border-color02);
    margin-top: 12rem; }
    .d-pagination .link {
      max-width: calc(50% - 35px); }
      .d-pagination .link .img {
        display: none; }
      .d-pagination .link .text {
        margin-left: 0; }
        .d-pagination .link .text .name {
          display: none; }
      .d-pagination .link.-next .text {
        margin-right: 0; }
    .d-pagination .link-ichiran {
      height: 60px;
      padding-top: 10px; }
      .d-pagination .link-ichiran .icon {
        margin: 0 auto 5px; }
      .d-pagination .link-ichiran p {
        font-size: var(--fz13);
        line-height: calc(16/13); } }
.p-pagination {
  position: relative;
  width: 100%;
  padding: 2rem 0;
  margin-top: 20rem; }
  .p-pagination .link {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 38.4615384615%;
    max-width: calc(50% - 80px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .p-pagination .link .img {
      position: relative;
      width: 40.5%;
      aspect-ratio: 243/137;
      overflow: hidden; }
      .p-pagination .link .img .fit_img {
        -webkit-transition: -webkit-transform 0.8s var(--easeOutCubic);
        transition: -webkit-transform 0.8s var(--easeOutCubic);
        transition: transform 0.8s var(--easeOutCubic);
        transition: transform 0.8s var(--easeOutCubic), -webkit-transform 0.8s var(--easeOutCubic); }
    .p-pagination .link .text {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      margin-left: 2rem; }
    .p-pagination .link .en-mincho {
      position: relative;
      font-size: var(--fz16);
      color: var(--base-color-black03);
      -webkit-transition: color 0.4s var(--easeOutCubic);
      transition: color 0.4s var(--easeOutCubic); }
    .p-pagination .link .tit {
      font-size: var(--fz20);
      line-height: calc(36/20);
      font-weight: 500;
      margin-top: 15px;
      -webkit-transition: color 0.4s var(--easeOutCubic);
      transition: color 0.4s var(--easeOutCubic);
      letter-spacing: 0; }
    .p-pagination .link.-next {
      left: auto;
      right: 0;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; }
      .p-pagination .link.-next .text {
        margin-left: 0;
        margin-right: 2rem; }
      .p-pagination .link.-next .en-mincho {
        text-align: right; }
      .p-pagination .link.-next .tit {
        text-align: right; }
    @media screen and (min-width: 801px) {
      .p-pagination .link:hover .en-mincho, .p-pagination .link:hover .name {
        color: var(--theme-color); }
      .p-pagination .link:hover .img .fit_img {
        -webkit-transform: scale(1.05);
                transform: scale(1.05); }
      .p-pagination .link:hover .icon {
        background: var(--theme-color); }
        .p-pagination .link:hover .icon svg path {
          fill: #fff; } }
  .p-pagination .link-ichiran {
    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;
    margin: 0 auto;
    width: 17.9487179487%;
    min-width: 150px;
    height: 64px;
    border-radius: 32px;
    border: 2px solid var(--theme-color);
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .p-pagination .link-ichiran p {
      font-size: var(--fz20);
      line-height: calc(32/20);
      font-weight: 500;
      letter-spacing: 0;
      color: var(--theme-color);
      -webkit-transition: color 0.4s var(--easeOutCubic);
      transition: color 0.4s var(--easeOutCubic); }
    @media screen and (min-width: 801px) {
      .p-pagination .link-ichiran:hover {
        background: var(--theme-color); }
        .p-pagination .link-ichiran:hover p {
          color: #fff; } }

@media screen and (max-width: 1050px) {
  .p-pagination {
    position: relative;
    width: 100%;
    padding: 2rem 0;
    margin-top: 12rem; }
    .p-pagination .link {
      position: relative;
      width: 100%;
      max-width: 100%;
      padding-bottom: 3rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .p-pagination .link:first-child {
        border-bottom: 1px solid var(--base-border-color02); }
      .p-pagination .link .img {
        width: 38.8059701493%; }
      .p-pagination .link.-next {
        left: auto;
        right: auto; }
      .p-pagination .link + .link {
        padding: 2.5rem 0; }
    .p-pagination .link-ichiran {
      width: 280px;
      margin-top: 4rem; } }
@media screen and (max-width: 800px) {
  .p-pagination {
    position: relative;
    width: 100%;
    padding: 0;
    margin-top: 8rem; }
    .p-pagination .link .tit {
      font-size: var(--fz16);
      line-height: calc(24/16);
      margin-top: 7px; }
    .p-pagination .link br {
      display: none; }
    .p-pagination .link-ichiran {
      width: 65.671641791%;
      max-width: 280px;
      min-width: 220px;
      height: 48px;
      margin-top: 4rem; }
      .p-pagination .link-ichiran p {
        font-size: var(--fz16);
        line-height: 2; } }
.beer-handle {
  width: 64px;
  height: 64px;
  background: #fff !Important; }

/* ==========================================================================
	parts
========================================================================== */
.link_wrap {
  position: relative;
  display: table;
  margin-left: auto;
  margin-right: auto; }
  .link_wrap:after {
    content: "";
    display: block;
    position: absolute;
    left: 10px;
    top: 10px;
    background: rgba(0, 0, 0, 0.15);
    mix-blend-mode: multiply;
    width: 100%;
    height: 100%;
    border-radius: 26px;
    z-index: 1; }
  .link_wrap.-n-shadow:after {
    display: none; }

.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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.6em;
  background: #fff;
  padding: 2.2rem 2.8em 2.3rem;
  border-radius: 26px;
  position: relative;
  -webkit-transition: background 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: background 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease, -webkit-transform 0.3s ease, -webkit-box-shadow 0.3s ease;
  z-index: 5; }
  .link_btn .zen-maru {
    font-size: var(--fz21);
    line-height: 1;
    font-weight: 700; }
  .link_btn .en {
    font-size: var(--fz10);
    color: var(--theme-color);
    font-weight: 600;
    margin-left: .6rem;
    letter-spacing: 0.04em; }
  .link_btn .arrow {
    position: relative;
    margin-left: 4rem; }
  .link_btn.-v2 {
    background: var(--base-color-beige);
    padding: 2.6rem 2.4rem 2.45rem 3.3rem;
    border-radius: 30px;
    gap: 11rem; }
    .link_btn.-v2 span {
      font-size: var(--fz16);
      line-height: 1;
      font-weight: 700;
      -webkit-transition: color .3s ease;
      transition: color .3s ease; }
    .link_btn.-v2 .arrow {
      width: 40px;
      margin-left: 0; }
    .link_btn.-v2.-bgW {
      background: #fff; }
  .link_btn.-v3 {
    background: #fff;
    padding: 1.5rem 3rem;
    border-radius: 30px;
    gap: 1.7rem;
    --bg-color:var(--theme-color); }
    .link_btn.-v3 span {
      font-size: var(--fz14);
      line-height: 1;
      font-weight: 700;
      -webkit-transition: color .3s ease;
      transition: color .3s ease; }
    .link_btn.-v3 .arrow {
      width: 25px;
      border-radius: 1rem;
      margin-left: 0; }
    .link_btn.-v3.-bgW {
      background: #fff; }
    .link_btn.-v3.-large {
      padding: 1.5rem 3.7rem; }
      .link_btn.-v3.-large span {
        font-size: var(--fz16); }
      .link_btn.-v3.-large .arrow {
        width: 30px; }
    .link_btn.-v3.-orage {
      --bg-color:var(--base-color-orange); }
    .link_btn.-v3.-bg_beige {
      background: var(--base-color-beige); }
  .link_btn.-v4 {
    background: #fff;
    padding: 3rem 4rem 3rem 5rem;
    border-radius: 45px; }
    .link_btn.-v4 span {
      font-size: var(--fz20);
      line-height: 1;
      font-weight: 700;
      -webkit-transition: color .3s ease;
      transition: color .3s ease; }
    .link_btn.-v4 .arrow {
      width: 30px;
      border-radius: 1rem;
      margin-left: 10.5rem; }
  .link_btn.-pink {
    --bg-color:var(--theme-color); }
  .link_btn.-green {
    --bg-color:var(--base-color-green); }
  .link_btn.-blue {
    --bg-color:var(--base-color-blue); }
  .link_btn.-perple {
    --bg-color:var(--base-color-perple); }
  .link_btn.-orange {
    --bg-color:var(--base-color-orange); }
  .link_btn.-yellow {
    --bg-color:var(--base-color-yellow); }
  .link_btn.-white {
    --bg-color:#fff;
    --color:var(--theme-color); }

.arrow {
  position: absolute;
  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: 48px;
  aspect-ratio: 1/1;
  overflow: hidden;
  --color:#fff;
  --bg-color:var(--theme-color);
  background: var(--bg-color);
  -webkit-transition: background .4s ease,-webkit-transform .4s ease;
  transition: background .4s ease,-webkit-transform .4s ease;
  transition: background .4s ease,transform .4s ease;
  transition: background .4s ease,transform .4s ease,-webkit-transform .4s ease; }
  .arrow svg {
    width: 41.6666666667%;
    aspect-ratio: 20/17; }
  .arrow.-blank svg {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  .arrow.-small {
    width: 25px;
    border-radius: 10px; }
  .arrow.-midium {
    width: 30px;
    border-radius: 10px; }
  .arrow.-midium-lg {
    width: 40px;
    border-radius: 15px; }
  .arrow.-semi-large {
    width: 50px;
    border-radius: 20px; }
  .arrow.-large {
    width: 60px;
    border-radius: 22px; }
  .arrow path, .arrow .cls-1 {
    fill: var(--color);
    -webkit-transition: all .4s ease;
    transition: all .4s ease; }
  .arrow.-pink {
    --bg-color:var(--theme-color); }
  .arrow.-green {
    --bg-color:var(--base-color-green); }
  .arrow.-blue {
    --bg-color:var(--base-color-blue); }
  .arrow.-perple {
    --bg-color:var(--base-color-perple); }
  .arrow.-orange {
    --bg-color:var(--base-color-orange); }
  .arrow.-yellow {
    --bg-color:var(--base-color-yellow); }
  .arrow.-white {
    --bg-color:#fff;
    --color:var(--theme-color); }

@media screen and (min-width: 801px) {
  a:hover .link_btn {
    -webkit-transform: translate(10px, 10px);
            transform: translate(10px, 10px); }
    a:hover .link_btn.-v2 {
      -webkit-transform: translate(0);
              transform: translate(0);
      background: var(--bg-color); }
      a:hover .link_btn.-v2 .arrow {
        background: #fff; }
        a:hover .link_btn.-v2 .arrow svg, a:hover .link_btn.-v2 .arrow .cls-1 {
          fill: var(--bg-color); }
      a:hover .link_btn.-v2 span {
        color: #fff; }
    a:hover .link_btn.-v3 {
      -webkit-transform: translate(0);
              transform: translate(0);
      background: var(--bg-color); }
      a:hover .link_btn.-v3 .arrow {
        background: #fff; }
        a:hover .link_btn.-v3 .arrow svg, a:hover .link_btn.-v3 .arrow .cls-1 {
          fill: var(--bg-color); }
      a:hover .link_btn.-v3 span {
        color: #fff; }

  a:hover .arrow svg {
    -webkit-animation: arrowSlide 0.4s ease-in-out forwards;
            animation: arrowSlide 0.4s ease-in-out forwards; }
  a:hover .-white {
    --bg-color:var(--theme-color);
    --color:#fff; }
  a:hover .arrow.-blank svg {
    -webkit-animation: arrowSlidev3 0.4s ease-in-out forwards;
            animation: arrowSlidev3 0.4s ease-in-out forwards; }

  .link_btn.-v4:hover {
    background: var(--bg-color); }
    .link_btn.-v4:hover .arrow {
      background: #fff; }
      .link_btn.-v4:hover .arrow svg {
        -webkit-animation: arrowSlide 0.4s ease-in-out forwards;
                animation: arrowSlide 0.4s ease-in-out forwards; }
      .link_btn.-v4:hover .arrow svg, .link_btn.-v4:hover .arrow .cls-1 {
        fill: var(--bg-color); }
    .link_btn.-v4:hover span {
      color: #fff; } }
@media screen and (max-width: 800px) {
  .link_wrap:after {
    left: 8px;
    top: 8px;
    border-radius: 20px; }

  .link_btn {
    gap: 0.6em;
    padding: 2rem 2.3em 2rem;
    border-radius: 20px; }
    .link_btn .zen-maru {
      font-size: var(--fz15); }
    .link_btn .en {
      font-size: var(--fz9);
      margin-left: 0rem; }
    .link_btn .arrow {
      margin-left: 3rem; }
    .link_btn.-sp_ne {
      padding: 1.2rem 1.5rem 1.2rem 2rem; }
      .link_btn.-sp_ne .en {
        display: none; }
      .link_btn.-sp_ne .arrow {
        margin-left: 1.5rem; }
    .link_btn.-v2 {
      padding: 1.9rem 2rem 1.9rem 3rem;
      border-radius: 26px;
      gap: 5rem; }
      .link_btn.-v2 span {
        font-size: var(--fz14); }
      .link_btn.-v2 .arrow {
        width: 35px;
        border-radius: 13px; }
    .link_btn.-v3, .link_btn.-v3.-large {
      padding: 1.9rem 2rem 1.9rem 3rem;
      border-radius: 26px;
      gap: 5rem; }
      .link_btn.-v3 span, .link_btn.-v3.-large span {
        font-size: var(--fz13); }
      .link_btn.-v3 .arrow, .link_btn.-v3.-large .arrow {
        width: 22px;
        border-radius: 8px; }
    .link_btn.-v4 {
      padding: 2rem 3.5rem 2.3rem 3.5rem;
      border-radius: 32px; }
      .link_btn.-v4 span {
        font-size: var(--fz16); }
      .link_btn.-v4 .arrow {
        width: 22px;
        border-radius: 8px;
        margin-left: 7.8rem; }

  .arrow {
    position: absolute;
    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: 48px;
    aspect-ratio: 1/1;
    overflow: hidden;
    --color:#fff;
    --bg-color:var(--theme-color);
    background: var(--bg-color);
    -webkit-transition: background .4s ease,-webkit-transform .4s ease;
    transition: background .4s ease,-webkit-transform .4s ease;
    transition: background .4s ease,transform .4s ease;
    transition: background .4s ease,transform .4s ease,-webkit-transform .4s ease; }
    .arrow svg {
      width: 41.6666666667%;
      aspect-ratio: 20/17; }
    .arrow.-blank svg {
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg); }
    .arrow.-small {
      width: 25px;
      border-radius: 10px; }
    .arrow.-midium {
      width: 23px;
      border-radius: 8px; }
    .arrow.-semi-large {
      width: 50px;
      border-radius: 20px; }
    .arrow.-large {
      width: 28px;
      border-radius: 10px; } }
.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; } }
.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; }

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

@media screen and (max-width: 800px) {
  .pc_off {
    display: block !Important; }

  .sp_off {
    display: none !important; }

  .spv_txt {
    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 {
    writing-mode: horizontal-tb;
    -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); }
/*# sourceMappingURL=common.css.map */