@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap");
:root { --color-gray: #929292; --color-gray-second: #c4c4c4; --color-gray-third: #707070; --color-gray-fourth: #d8d5d5; --color-gray-fifth: #e3e3e3; --color-gray-sixth: #F6F6F6; --color-black: #000000; --color-black-second: #0d0d0d; --color-black-third: #262421; --color-white: #ffffff; --color-brown: #684117; --color-red: #ff0000; --font-noto-sans-jp: "Noto Sans JP", sans-serif; --font-noto-serif-jp: "Noto Serif JP", serif; --font-saira: "Saira Semi Condensed", sans-serif; --font-libre-baskerville: "Libre Baskerville", serif; }

:root { --color-gray: #929292; --color-gray-second: #c4c4c4; --color-gray-third: #707070; --color-gray-fourth: #d8d5d5; --color-gray-fifth: #e3e3e3; --color-gray-sixth: #F6F6F6; --color-black: #000000; --color-black-second: #0d0d0d; --color-black-third: #262421; --color-white: #ffffff; --color-brown: #684117; --color-red: #ff0000; --font-noto-sans-jp: "Noto Sans JP", sans-serif; --font-noto-serif-jp: "Noto Serif JP", serif; --font-saira: "Saira Semi Condensed", sans-serif; --font-libre-baskerville: "Libre Baskerville", serif; }

/*====================================================================================
START TABLE OF CONTENT

1. START COMMON BASE.
2. START COMMON CONTAINER.
3. START COMMON HEADER.
4. START COMMON FOOTER.
5. START COMMON FIXED.
6. START COMMON SECTION.
7. START COMMON ARROW, ICON, TAG.
8. START COMMON HEADING, TITLE.
9. START COMMON BUTTON.
10. START COMMON DECORATION AND SHAPE.
11. START COMMON KEYFRAMES.
12. START COMMON TEXT.
13. START COMMON LINK.
14. START COMMON LIST, ITEM.
15. START COMMON LOGO.
16. START COMMON EFFECT.
17. START COMMON CHART.
18. START COMMON LAYOUT.
19. START COMMON FORM.

/*====================================================================================
1. START COMMON BASE.
====================================================================================*/
.zen-kaku-gothic-new { font-family: "Zen Kaku Gothic New", sans-serif; }

.jost { font-family: "Jost", serif; }

.noto-sans-jp { font-family: "Noto Sans JP", sans-serif; }

.noto-serif-jp { font-family: "Noto Serif JP", serif; }

:root { /* Start shade system */ --color-neutral-1000: #000000; --color-neutral-950: #010000; --color-neutral-500: #bdbdbd; --color-neutral-475: #c4c4c4; --color-neutral-300: #e3e3e3; --color-neutral-275: #eaeaea; --color-neutral-150: #f9faf8; --color-neutral-100: #f9f9f9; --color-neutral-50: #fafafa; --color-neutral-0: #ffffff; --color-green-700: #0d651b; --color-green-600: #628d53; --color-green-550: #2a913a; --color-green-500: #25ad3a; --color-blue-500: #76abca; --color-blue-100: #e8f0f5; --color-teal-500: #72b2a3; --font-jost: "Jost", serif; --font-noto-sans-jp: "Noto Sans JP", sans-serif; --font-noto-serif-jp: "Noto Serif JP", serif; --font-zen-kaku-gothic-new: "Zen Kaku Gothic New", sans-serif; /* Start color */ --theme-color-primary: var(--color-neutral-1000); --theme-color-secondary: var(--color-neutral-0); --theme-color-tertiary: var(--color-green-500); --theme-color-quaternary: var(--color-green-600); --theme-color-quinary: var(--color-green-700); --theme-color-senary: var(--color-blue-500); --theme-color-septenary: var(--color-teal-500); --theme-color-octonary: var(--color-neutral-150); --theme-color-nonary: var(--color-neutral-100); --theme-color-denary: var(--color-neutral-50); --theme-color-undenary: var(--color-blue-100); --theme-color-dodenary: var(--color-green-550); --theme-color-tridenary: var(--color-neutral-950); /* Start border */ --theme-border-primary: var(--color-neutral-1000); --theme-border-secondary: var(--color-neutral-300); --theme-border-tertiary: var(--color-neutral-475); --theme-border-quaternary: var(--color-neutral-275); --theme-border-quinary: var(--color-green-600); --theme-border-senary: var(--color-green-700); --theme-border-septenary: var(--color-neutral-500); --theme-border-octonary: var(--color-neutral-950); --theme-border-nonary: var(--color-green-500); /* Start font */ --theme-font-en-primary: var(--font-jost); --theme-font-jp-primary: var(--font-noto-sans-jp); --theme-font-jp-secondary: var(--font-noto-serif-jp); --theme-font-jp-tertiary: var(--font-zen-kaku-gothic-new); }

@media only screen and (max-width: 767px) { :root { /* Start spacing mobile */ --spacing-sp-70-pc-140: 7rem; --spacing-sp-60-pc-120: 6rem; --spacing-sp-55-pc-110: 5.5rem; --spacing-sp-50-pc-100: 5rem; --spacing-sp-45-pc-90: 4.5rem; --spacing-sp-40-pc-80: 4rem; --spacing-sp-35-pc-70: 3.5rem; --spacing-sp-35-pc-60: 3.5rem; --spacing-sp-30-pc-60: 3rem; --spacing-sp-30-pc-55: 3rem; --spacing-sp-35-pc-50: 3.5rem; --spacing-sp-30-pc-50: 3rem; --spacing-sp-25-pc-50: 2.5rem; --spacing-sp-25-pc-45: 2.5rem; --spacing-sp-20-pc-45: 2rem; --spacing-sp-30-pc-40: 3rem; --spacing-sp-25-pc-40: 2.5rem; --spacing-sp-20-pc-40: 2rem; --spacing-sp-25-pc-35: 2.5rem; --spacing-sp-20-pc-35: 2rem; --spacing-sp-20-pc-30: 2rem; --spacing-sp-15-pc-30: 1.5rem; --spacing-sp-10-pc-30: 1rem; --spacing-sp-20-pc-25: 2rem; --spacing-sp-15-pc-25: 1.5rem; --spacing-sp-10-pc-25: 1rem; --spacing-sp-50-pc-20: 5rem; --spacing-sp-15-pc-20: 1.5rem; --spacing-sp-10-pc-20: 1rem; --spacing-sp-10-pc-15: 1rem; --spacing-sp-5-pc-10: 0.5rem; /* Start position mobile */ --position-sp-left-pc-center: left; --position-sp-right-pc-center: right; --position-sp-center-pc-left: center; --position-sp-center-pc-right: center; } }

@media only screen and (min-width: 768px) { :root { /* Start spacing tablet, desktop */ --spacing-sp-70-pc-140: 14rem; --spacing-sp-60-pc-120: 12rem; --spacing-sp-55-pc-110: 11rem; --spacing-sp-50-pc-100: 10rem; --spacing-sp-45-pc-90: 9rem; --spacing-sp-40-pc-80: 8rem; --spacing-sp-35-pc-70: 7rem; --spacing-sp-35-pc-60: 6rem; --spacing-sp-30-pc-60: 6rem; --spacing-sp-30-pc-55: 5.5rem; --spacing-sp-35-pc-50: 5rem; --spacing-sp-30-pc-50: 5rem; --spacing-sp-25-pc-50: 5rem; --spacing-sp-25-pc-45: 4.5rem; --spacing-sp-20-pc-45: 4.5rem; --spacing-sp-30-pc-40: 4rem; --spacing-sp-25-pc-40: 4rem; --spacing-sp-20-pc-40: 4rem; --spacing-sp-25-pc-35: 3.5rem; --spacing-sp-20-pc-35: 3.5rem; --spacing-sp-20-pc-30: 3rem; --spacing-sp-15-pc-30: 3rem; --spacing-sp-10-pc-30: 3rem; --spacing-sp-20-pc-25: 2.5rem; --spacing-sp-15-pc-25: 2.5rem; --spacing-sp-10-pc-25: 2.5rem; --spacing-sp-50-pc-20: 2rem; --spacing-sp-15-pc-20: 2rem; --spacing-sp-10-pc-20: 2rem; --spacing-sp-10-pc-15: 1.5rem; --spacing-sp-5-pc-10: 1rem; /* Start position tablet, desktop */ --position-sp-left-pc-center: center; --position-sp-right-pc-center: center; --position-sp-center-pc-left: left; --position-sp-center-pc-right: right; } }

html, body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

html { font-size: 62.5%; overflow-y: auto; line-height: normal; }

body { font-family: var(--theme-font-jp-primary); font-weight: 400; letter-spacing: 0.012em; text-size-adjust: 100%; color: var(--theme-color-primary); background-color: var(--theme-color-secondary); }

body.is-open, body.lb-disable-scrolling { position: fixed; width: 100%; }

@media only screen and (max-width: 767px) { body { font-size: 1.4rem; line-height: 1.7; } }

@media only screen and (min-width: 768px) { body { font-size: 1.6rem; line-height: 1.88; } }

.l-wrapper { position: relative; width: 100%; height: 100%; min-width: 32rem; overflow: hidden; }

@media only screen and (min-width: 768px) and (max-width: 1199px) { body { min-width: 119.9rem; }
  body .l-header { width: 119.9rem; }
  body .l-wrapper { max-width: 119.9rem; } }

@media only screen and (max-width: 767px) { .l-main { padding-top: 7rem; } }

@media only screen and (min-width: 768px) { .l-main { padding-top: 10rem; } }

/*---------- START BASE SETUP ----------*/
h1 { line-height: 1.3; }

h2 { line-height: 1.4; }

h3, h4, h5, h6 { line-height: 1.6; }

a { color: currentColor; text-decoration: underline; background-color: transparent; }

a:hover { text-decoration: none; }

@media only screen and (min-width: 768px) { a { transition: color 0.3s ease, text-decoration 0.3s ease; } }

img { border-style: none; }

@media only screen and (min-width: 768px) { img { transition: transform 0.3s ease, opacity 0.3s ease; } }

button, input[type=submit], input[type=button] { font-family: var(--theme-font-jp-primary); }

picture { display: block; line-height: 1; }

figure { margin: 0; padding: 0; }

/*====================================================================================
2. START COMMON CONTAINER.
====================================================================================*/
.l-container, .l-container-fluid, .l-container-xxl, .l-container-xl, .l-container-lg, .l-container-md, .l-container-sm { width: 100%; margin-left: auto; margin-right: auto; }

.l-container { max-width: 119rem; }

@media only screen and (max-width: 767px) { .l-container, .l-container-fluid, .l-container-xxl, .l-container-xl, .l-container-lg, .l-container-md, .l-container-sm { padding-left: 1rem; padding-right: 1rem; } }

@media only screen and (min-width: 768px) { .l-container, .l-container-fluid, .l-container-xxl, .l-container-xl, .l-container-lg, .l-container-md, .l-container-sm { padding-left: 1.5rem; padding-right: 1.5rem; } }

/*====================================================================================
3. START COMMON HEADER.
====================================================================================*/
/*---------- START COMPONENT HAMBURGER ----------*/
@media only screen and (max-width: 767px) { .c-hamburger { position: relative; display: flex; align-items: center; justify-content: center; cursor: pointer; width: 5rem; height: 5rem; border: 0; background-color: var(--theme-color-quinary); }
  .c-hamburger__wrap { position: relative; width: 2.8rem; height: 2rem; }
  .c-hamburger__line { position: absolute; top: 0; right: 0; display: inline-block; width: 100%; height: 2px; background-color: var(--theme-color-secondary); transition: all 0.3s ease-in-out; }
  .c-hamburger__line:nth-child(1), .c-hamburger__line:nth-child(3) { transform-origin: center; }
  .c-hamburger__line:nth-child(1) { top: 0; }
  .c-hamburger__line:nth-child(2) { top: 0.9rem; }
  .c-hamburger__line:nth-child(3) { top: 1.8rem; }
  .c-hamburger.is-active .c-hamburger__line:nth-child(1), .c-hamburger.is-active .c-hamburger__line:nth-child(3) { top: 0.9rem; width: 100%; }
  .c-hamburger.is-active .c-hamburger__line:nth-child(1) { transform: rotate(-225deg); }
  .c-hamburger.is-active .c-hamburger__line:nth-child(2) { opacity: 0; }
  .c-hamburger.is-active .c-hamburger__line:nth-child(3) { transform: rotate(225deg); } }

/*---------- START COMPONENT ITEM HEADER ----------*/
.c-item-header .c-link__text { font-weight: 400; }

.c-item-header .c-link.no-link { pointer-events: none; color: #a6a6a6; }

/*---------- START COMPONENT LIST ITEM HEADER ----------*/
.c-list-item-header { display: flex; flex-wrap: wrap; }

@media only screen and (max-width: 767px) { .c-list-item-header { margin: -0.3rem -1rem; }
  .c-list-item-header .c-item-header { margin: 0.3rem 1rem; } }

@media only screen and (min-width: 768px) { .c-list-item-header { margin: -0.3rem -1.2rem; }
  .c-list-item-header .c-item-header { margin: 0.3rem 1.2rem; } }

/*---------- START COMPONENT BLOCK HEADER ----------*/
.c-block-header__row { display: flex; }

.c-block-header__flex { flex: 0 0 auto; }

.c-block-header__right { flex: 1; padding-left: var(--spacing-sp-5-pc-10); }

/*---------- START COMPONENT GROUP HEADER ----------*/
.c-group-header__left { position: relative; }

.c-group-header__left::before { position: absolute; content: ""; background-color: var(--theme-border-primary); }

.c-group-header__title { font-size: 1.6rem; font-weight: 600; letter-spacing: 0.04em; }

@media only screen and (max-width: 767px) { .c-group-header__left { margin-bottom: 1.2rem; padding-bottom: 1.2rem; }
  .c-group-header__left::before { bottom: 0; width: 100%; height: 1px; }
  .c-group-header__right .c-block-header { margin-top: 0.6rem; }
  .c-group-header__right .c-block-header:first-child { margin-top: 0; } }

@media only screen and (min-width: 768px) { .c-group-header { display: flex; }
  .c-group-header__left { padding-right: 1.5rem; }
  .c-group-header__left::before { top: 50%; right: 0; transform: translateY(-50%); width: 1px; height: calc(100% - 1.2rem); }
  .c-group-header__right { flex: 1; padding-left: 1.5rem; }
  .c-group-header__title { text-align: right; } }

/*---------- START COMPONENT GROUP HEADER ----------*/
@media only screen and (min-width: 768px) { .c-group-header--v1 .c-group-header__left { width: 18.5rem; } }

/*---------- START COMPONENT GROUP HEADER ----------*/
@media only screen and (min-width: 768px) { .c-group-header--v2 .c-group-header__left { width: 14rem; } }

/*---------- START COMPONENT SUB NAV ----------*/
.c-sub-nav { display: none; background-color: var(--theme-color-octonary); }

.c-sub-nav__row { padding: var(--spacing-sp-25-pc-35) 0 var(--spacing-sp-30-pc-50) 0; }

.c-sub-nav__right .c-group-header { margin-top: var(--spacing-sp-20-pc-30); }

.c-sub-nav__right .c-group-header:first-child { margin-top: 0; }

.c-sub-nav__title { color: var(--theme-color-tertiary); font-weight: 500; }

@media only screen and (max-width: 767px) { .c-sub-nav { padding: 0 0.5rem; }
  .c-sub-nav__left { margin-bottom: 1.2rem; }
  .c-sub-nav__title { font-size: 2.2rem; } }

@media only screen and (min-width: 768px) { .c-sub-nav { position: fixed; z-index: 998; top: 10rem; left: 0; right: 0; box-shadow: inset 0 0.8rem 0.8rem -0.8rem rgba(0, 0, 0, 0.15); }
  .c-sub-nav__row { display: flex; }
  .c-sub-nav__left { flex: 0 0 auto; }
  .c-sub-nav__right { flex: 1; padding: 1.2rem 0 0 3rem; }
  .c-sub-nav__title { font-size: 2.4rem; } }

/*---------- START PROJECT NAVIGATION ----------*/
.p-nav__link { position: relative; font-size: 1.6rem; line-height: 1.5; font-weight: 600; text-decoration: none; }

.p-nav__link:hover { color: var(--theme-color-tertiary); }

.p-nav__link:hover .p-nav__arrow { fill: var(--theme-color-tertiary); }

.p-nav__arrow { position: absolute; display: inline-block; top: 50%; width: 1.3rem; height: 0.9rem; margin-top: -0.45rem; transition: fill 0.3s ease; }

@media only screen and (max-width: 767px) { .p-nav { position: fixed; z-index: 997; top: 0; left: 0; right: 0; height: 100dvh; padding: 8.5rem 1rem 5.5rem 1rem; overflow-y: auto; background-color: var(--theme-color-secondary); opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; }
  .p-nav.is-active { opacity: 1; visibility: visible; }
  .p-nav.is-active .p-nav__item { backface-visibility: hidden; animation-name: fadeIn; animation-duration: 0.3s; animation-timing-function: cubic-bezier(0, 0.2, 0.8, 1); animation-delay: 0s; animation-iteration-count: 1; animation-fill-mode: both; }
  .p-nav.is-active .p-nav__item:nth-child(1) { animation-delay: 0.2s; }
  .p-nav.is-active .p-nav__item:nth-child(2) { animation-delay: 0.25s; }
  .p-nav.is-active .p-nav__item:nth-child(3) { animation-delay: 0.3s; }
  .p-nav.is-active .p-nav__item:nth-child(4) { animation-delay: 0.35s; }
  .p-nav.is-active .p-nav__item:nth-child(5) { animation-delay: 0.4s; }
  .p-nav.is-active .p-nav__item:nth-child(6) { animation-delay: 0.45s; }
  .p-nav.is-active .p-nav__item:nth-child(7) { animation-delay: 0.5s; }
  .p-nav__item { border-top: 1px solid var(--theme-border-secondary); }
  .p-nav__item:first-child { border-top: 0; }
  .p-nav__item--dropdown .c-nav__text::before, .p-nav__item--dropdown .c-nav__text::after { background-color: var(--color-black); }
  .p-nav__link { display: block; padding: 1.5rem 3rem 1.5rem 1.5rem; }
  .p-nav__arrow { right: 1.5rem; } }

@media only screen and (min-width: 768px) { .p-nav__list { display: flex; }
  .p-nav__item--dropdown .p-nav__link { padding: 0 4rem 0 2rem; }
  .p-nav__link { display: flex; align-items: center; justify-content: center; min-height: 10rem; padding: 0 2rem; cursor: pointer; transition: color 0.3s ease; }
  .p-nav__link::after { position: absolute; content: ""; left: 0; bottom: 0; width: 100%; height: 4px; background-color: var(--theme-color-tertiary); transform: scaleX(0); transform-origin: right center; transition: transform 0.3s cubic-bezier(0.37, 0.31, 0.31, 0.9); }
  .p-nav__link:hover::after { transform: scaleX(1); transform-origin: left center; }
  .p-nav__arrow { right: 2rem; } }

/*---------- START PROJECT BOX HEADER ----------*/
@media only screen and (max-width: 767px) { .p-box-header { position: relative; z-index: 999; }
  .p-box-header::before { position: absolute; content: ""; top: -1rem; right: -1rem; width: 100vw; height: 7rem; background-color: var(--theme-color-secondary); box-shadow: 0.1rem 0.4rem 0.8rem -0.4rem rgba(0, 0, 0, 0.1); }
  .p-box-header__list { display: flex; }
  .p-box-header__item { width: 5rem; height: 5rem; margin-left: 1rem; overflow: hidden; border-radius: 0.5rem; } }

/*---------- START LAYOUT HEADER ----------*/
.l-header { position: fixed; z-index: 998; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; background-color: var(--theme-color-secondary); }

.l-header__left { flex: 1; }

.l-header__left .h1-seo { font-size: 11px; margin-top: 5px; }

.l-header__right { flex: 0 0 auto; }

@media only screen and (max-width: 767px) { .l-header { padding: 1rem; box-shadow: 0.1rem 0.4rem 0.8rem -0.4rem rgba(0, 0, 0, 0.1); } }

@media only screen and (min-width: 768px) { .l-header { box-shadow: 0.1rem 0.4rem 0.8rem -0.4rem rgba(0, 0, 0, 0.15); }
  .l-header__main { display: flex; align-items: center; }
  .l-header__main .p-box-header { width: 20.6rem; margin-left: 2.2rem; } }

@media only screen and (min-width: 1200px) { .l-header { padding-left: 3rem; } }

@media only screen and (min-width: 768px) and (max-width: 1199px) { .l-header { padding-left: 1.5rem; } }

/*====================================================================================
4. START COMMON FOOTER.
====================================================================================*/
/*---------- START COMPONENT ITEM FOOTER ----------*/
.c-item-footer__link { line-height: 1.6; text-decoration: none; }

.c-item-footer__link.no-link { pointer-events: none;  color: #a6a6a6; }

.c-item-footer__link:hover { color: var(--theme-color-tertiary); text-decoration: underline; }

/*---------- START COMPONENT GROUP FOOTER ----------*/
.c-group-footer__title { position: relative; padding-left: 1.5rem; font-weight: 700; }

.c-group-footer__title::before { position: absolute; content: "●"; left: 0; color: var(--theme-color-tertiary); font-size: 0.9rem; }

.c-group-footer .c-list-item-footer { padding-left: 1.5rem; }

@media only screen and (max-width: 767px) { .c-group-footer__heading { margin-bottom: 0.3rem; }
  .c-group-footer__title::before { top: 0.4rem; }
  .c-group-footer__title--sup::before { top: 0.8rem; } }

@media only screen and (min-width: 768px) { .c-group-footer__heading { margin-bottom: 0.5rem; }
  .c-group-footer__title::before { top: 0.8rem; }
  .c-group-footer__title--sub::before { top: 1.1rem; } }

/*---------- START PROJECT LIST GROUP FOOTER ----------*/
.p-list-group-footer { display: flex; flex-wrap: wrap; }

@media only screen and (max-width: 575px) { .p-list-group-footer { margin: -1rem -0.75rem; }
  .p-list-group-footer .c-group-footer { margin: 1rem 0.75rem; }
  .p-list-group-footer .c-group-footer.is-full { width: 100%; }
  .p-list-group-footer .c-group-footer.is-full ul { display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .p-list-group-footer .c-group-footer.is-full ul .c-item-footer { width: 58%; margin: 0.5rem 0; }
  .p-list-group-footer .c-group-footer.is-full ul .c-item-footer:nth-child(2n) { width: 40%; margin-left: 2%; }
  .p-list-group-footer .c-group-footer:first-child, .p-list-group-footer .c-group-footer:nth-child(2), .p-list-group-footer .c-group-footer:nth-child(3) { width: 100%; } }

@media only screen and (min-width: 576px) and (max-width: 767px) { .p-list-group-footer { margin: -1rem; }
  .p-list-group-footer .c-group-footer { margin: 1rem; } }

@media only screen and (min-width: 768px) { .p-list-group-footer { justify-content: space-between; margin: -2.5rem; }
  .p-list-group-footer .c-group-footer { margin-top: 2.5rem;
        margin-right: 1.5rem;
        margin-bottom: 2.5rem;
        margin-left: 1.5rem; }
  .p-list-group-footer .c-group-footer.is-full { width: 100%; }
  .p-list-group-footer .c-group-footer.is-full .c-list-item-footer { display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .p-list-group-footer .c-group-footer.is-full .c-item-footer { margin: 0 84px 15px 0; } }

/*---------- START PROJECT LIST GROUP FOOTER VERSION 2 ----------*/
@media only screen and (max-width: 767px) { .p-list-group-footer--v1 .c-group-footer { width: 50%; } }

/*---------- START PROJECT BANNER FOOTER ----------*/
.p-bnr-footer { display: flex; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .p-bnr-footer__left { width: 110px; } }

/* ========== end △ */
.p-bnr-footer__right { margin-top: -0.3rem; padding-left: var(--spacing-sp-15-pc-20); }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .p-bnr-footer__right { width: calc(100% - 110px); padding-left: 10px; } }

/* ========== end △ */
.p-bnr-footer__right .rows01 .col .fttl01 { font-size: 16px; font-weight: bold; margin-bottom: 0; }

.p-bnr-footer__right .rows01 .col p { font-size: 14px; margin-bottom: 10px; }

.p-bnr-footer__right .rows01 .col p:last-child { margin-bottom: 0; }

.p-bnr-footer__right .rows01 .col p strong { font-size: 16px; font-weight: bold; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .p-bnr-footer__right .rows01 { display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content: space-between; }
  .p-bnr-footer__right .rows01 .col { width: 32%; } }

/* ========== end △ */
.p-bnr-footer__label a { line-height: 1; font-weight: 500; text-decoration: none; }

.p-bnr-footer__label a:hover { color: var(--theme-color-tertiary); }

.p-bnr-footer__desc { margin-top: 10px; line-height: 1.6; }

@media only screen and (max-width: 767px) { .p-bnr-footer__label a { font-size: 1.8rem; } }

@media only screen and (min-width: 768px) { .p-bnr-footer__label a { font-size: 2rem; } }

/*---------- START LAYOUT FOOTER ----------*/
.l-footer { padding-top: var(--spacing-sp-40-pc-80); }

.l-footer__main .p-list-group-footer { margin-top: var(--spacing-sp-30-pc-50); }

.l-footer__main .p-list-group-footer:first-child { margin-top: 0; }

.l-footer .p-bnr-footer { margin-top: var(--spacing-sp-30-pc-55); }

.l-footer__copy { margin-top: var(--spacing-sp-30-pc-55); padding-bottom: var(--spacing-sp-15-pc-25); }

.l-footer__copy p { line-height: 1.5; text-align: center; }

/*====================================================================================
5. START COMMON FIXED.
====================================================================================*/
/*---------- START PROJECT GROUP FIXED ----------*/
.p-group-fixed { position: fixed; z-index: 200; opacity: 0; visibility: hidden; overflow: hidden; border-radius: 1rem; background-color: var(--theme-color-secondary); box-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.2); transition: opacity 0.3s ease, visibility 0.3s ease; }

.p-group-fixed.is-active { opacity: 1; visibility: visible; z-index: 2321; }

.p-group-fixed__header { background: url("https://jns-ke.com/wp-content/themes/jns-ke/assets/common_img/bg-skew-green.webp") repeat left top; }

.p-group-fixed__title, .p-group-fixed__text { color: var(--theme-color-secondary); line-height: 1.6; font-weight: 500; text-align: center; }

.p-group-fixed__item:first-child { margin-top: 0; }

.p-group-fixed__item-text, .p-group-fixed__item-num { font-weight: 500; }

.p-group-fixed__item-num { color: var(--theme-color-tertiary); font-family: var(--theme-font-en-primary); line-height: 1; }

.p-group-fixed__item-num a { text-decoration: none; }

@media only screen and (max-width: 767px) { .p-group-fixed { right: 1rem; bottom: 8.5rem; }
  .p-group-fixed__header { padding: 1rem; }
  .p-group-fixed__title { font-size: 1.8rem; }
  .p-group-fixed__text { font-size: 1rem; }
  .p-group-fixed__body { padding: 1.7rem 1.5rem; }
  .p-group-fixed__item { margin-top: 0.7rem; }
  .p-group-fixed__item-text { font-size: 1.4rem; }
  .p-group-fixed__item-num { font-size: 3.4rem; } }

@media only screen and (min-width: 768px) { .p-group-fixed { right: 3rem; bottom: 15rem; }
  .p-group-fixed__header { padding: 2rem; }
  .p-group-fixed__title { font-size: 2.4rem; }
  .p-group-fixed__text { font-size: 1.4rem; }
  .p-group-fixed__body { padding: 3.5rem 3rem; }
  .p-group-fixed__item { margin-top: 2rem; }
  .p-group-fixed__item-text { font-size: 1.8rem; }
  .p-group-fixed__item-num { font-size: 4.5rem; } }

/*---------- START PROJECT BTN FIXED ----------*/
.p-btn-fixed { position: fixed; z-index: 200; border: 0; border-radius: 50%; cursor: pointer; background: url("https://jns-ke.com/wp-content/themes/jns-ke/assets/common_img/bg-skew-green.webp") repeat left top; box-shadow: 0 0 0 0 var(--theme-color-tertiary); animation: phoneZoom 1.5s infinite linear; }

.p-btn-fixed.is-active { animation: none; }

.p-btn-fixed.is-active .p-btn-fixed__tel { opacity: 0; }

.p-btn-fixed.is-active .p-btn-fixed__close { opacity: 1; }

.p-btn-fixed__tel, .p-btn-fixed__close { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: opacity 0.2s ease; }

.p-btn-fixed__tel svg, .p-btn-fixed__close svg { height: auto; }

.p-btn-fixed__tel svg path, .p-btn-fixed__close svg path { fill: var(--theme-color-secondary); }

.p-btn-fixed__tel { opacity: 1; }

.p-btn-fixed__tel svg { width: 3rem; animation: phoneVibrate 3s infinite linear; }

.p-btn-fixed__close { opacity: 0; }

@media only screen and (max-width: 767px) { .p-btn-fixed { right: 1rem; bottom: 6rem; width: 6.5rem; height: 6.5rem; }
  .p-btn-fixed__tel svg { width: 1.8rem; }
  .p-btn-fixed__close svg { transform: scale(0.7); } }

@media only screen and (min-width: 768px) { .p-btn-fixed { right: 3rem; bottom: 3rem; width: 9.5rem; height: 9.5rem; } }

/*====================================================================================
6. START COMMON SECTION.
====================================================================================*/
/*---------- START PROJECT COMMON CONTACT ----------*/
.p-cm-contact { background-color: var(--theme-color-quinary); }

.p-cm-contact .c-title--v4 .c-title__jp { font-size: 40px; line-height: 1; letter-spacing: 0.01em; font-weight: 500; }

.p-cm-contact .c-title--v4 .c-title__en { font-size: 16px; line-height: 1.875; letter-spacing: 0.01em; font-weight: 500; }

.p-cm-contact .c-btn-contact { margin: 28px 0 0; max-width: 340px; padding: 2px 10px 2px 60px; min-height: 91px; }

.p-cm-contact .c-btn-contact .c-btn-contact__text:before { display: none; }

.p-cm-contact .c-btn-contact .c-btn-contact__icon { left: 6.5rem; }

.p-cm-contact .c-btn-contact--secondary.c-btn-contact--swap .c-btn-contact__text--jp { color: #0d651b; transform: translate(0); font-size: 20px; line-height: 1.5; letter-spacing: 0.01em; font-weight: 500; }

.p-cm-contact .c-btn-contact--secondary.c-btn-contact--swap.request { padding-left: 10px; }

.p-cm-contact .c-btn-contact--secondary.c-btn-contact--swap.request .c-btn-contact__text--jp { overflow: initial; display: inline-block; vertical-align: top; position: relative; padding: 7px 0 9px 42px; }

.p-cm-contact .c-btn-contact--secondary.c-btn-contact--swap.request .c-btn-contact__text--jp:before { position: absolute; content: ""; left: 0; top: 50%; width: 30px; height: 42px; background: url("https://jns-ke.com/wp-content/themes/jns-ke/assets/common_img/request.svg") no-repeat center; background-size: 100% auto; z-index: 22; margin: -23px 0 0; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .p-cm-contact .c-btn-contact--secondary.c-btn-contact--swap:hover .c-btn-contact__text--jp { color: #fff; }
  .p-cm-contact .c-btn-contact--secondary.c-btn-contact--swap:hover.request .c-btn-contact__text--jp:before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='406px' height='512px'%3E%3Cimage x='0px' y='0px' width='406px' height='512px' xlink:href='data:img/png;base64,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' /%3E%3C/svg%3E"); } }

/* ========== end △ */
.p-cm-contact .c-title { margin-bottom: var(--spacing-sp-20-pc-30); }

.p-cm-contact__desc { color: var(--theme-color-secondary); }

.p-cm-contact__left { text-align: center; }

.p-cm-contact__right { text-align: center; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .p-cm-contact .c-title--v4 .c-title__jp { font-size: 30px; line-height: 1.16667; }
  .p-cm-contact .c-title--v4 .c-title__en { font-size: 15px; line-height: 1.53333; }
  .p-cm-contact .c-btn-contact { margin: 15px 0 0; padding: 2px 10px 2px 60px; min-height: 70px; }
  .p-cm-contact .c-btn-contact .c-btn-contact__text { line-height: 0; }
  .p-cm-contact .c-btn-contact .c-btn-contact__text:before { display: none; }
  .p-cm-contact .c-btn-contact .c-btn-contact__icon { left: 6.5rem; }
  .p-cm-contact .c-btn-contact--secondary.c-btn-contact--swap .c-btn-contact__text--jp { opacity: 1; visibility: inherit; color: #0d651b; transform: translate(0); font-size: 16px; line-height: 1.6875; }
  .p-cm-contact .c-btn-contact--secondary.c-btn-contact--swap.request { padding-left: 10px; }
  .p-cm-contact .c-btn-contact--secondary.c-btn-contact--swap.request .c-btn-contact__text--jp { overflow: initial; display: inline-block; vertical-align: top; position: relative; padding: 7px 0 9px 42px; }
  .p-cm-contact .c-btn-contact--secondary.c-btn-contact--swap.request .c-btn-contact__text--jp:before { position: absolute; content: ""; left: 0; top: 50%; width: 30px; height: 42px; background: url("https://jns-ke.com/wp-content/themes/jns-ke/assets/common_img/request.svg") no-repeat center; background-size: 100% auto; z-index: 22; margin: -23px 0 0; } }

/* ========== end △ */
@media only screen and (min-width: 768px) { .p-cm-contact { padding: 92px 0 98px 0; }
  .p-cm-contact__row { display: flex; align-items: flex-end; justify-content: center; }
  .p-cm-contact__left { width: 50%; padding-right: 3%; }
  .p-cm-contact__right { border-left: 1px solid #8ebc96; width: 50%; padding-left: 3%; } }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .p-cm-contact__left { padding: 35px 10px 40px; }
  .p-cm-contact__right { border-top: 1px solid #8ebc96; padding: 35px 10px 40px; } }

/* ========== end △ */
/*====================================================================================
7. START COMMON ARROW, ICON, TAG.
====================================================================================*/
/*---------- START COMPONENT ICON ZOOM  ----------*/
.c-icon-zoom { position: relative; display: block; overflow: hidden; }

.c-icon-zoom:before { position: absolute; z-index: 3; display: inline-block; content: ""; right: 1rem; bottom: 1rem; width: 4rem; height: 4rem; border-radius: 50%; background-image: url("https://jns-ke.com/wp-content/themes/jns-ke/assets/common_img/lightbox/icon-zoom.svg"); background-repeat: no-repeat; background-position: center; background-size: 2.5rem 2.5rem; background-color: rgba(0, 0, 0, 0.5); }

@media only screen and (min-width: 768px) { .c-icon-zoom:hover img { transform: scale(1.03); }
  .c-icon-zoom img { transition: transform 0.3s ease; } }

/*---------- START COMPONENT TAG ----------*/
.c-tag { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: 0.5rem 1.8rem; border-radius: 0.5rem; }

.c-tag__text { color: var(--theme-color-secondary); line-height: 1; font-weight: 700; }

@media only screen and (max-width: 767px) { .c-tag__text { font-size: 1.6rem; } }

@media only screen and (min-width: 768px) { .c-tag__text { font-size: 1.8rem; } }

/*---------- START COMPONENT TAG ARROW ----------*/
.c-tag--arrow { position: relative; }

.c-tag--arrow::before { position: absolute; content: ""; left: 50%; bottom: -0.7rem; transform: translateX(-50%); border-left: 0.7rem solid transparent; border-right: 0.7rem solid transparent; border-top-width: 1.2rem; border-top-style: solid; }

.c-tag--arrow.c-tag--senary::before { border-top-color: var(--theme-color-senary); }

.c-tag--arrow.c-tag--quaternary::before { border-top-color: var(--theme-color-quaternary); }

.c-tag--arrow.c-tag--septenary::before { border-top-color: var(--theme-color-septenary); }

/*---------- START COMPONENT TAG SENARY ----------*/
.c-tag--senary { background-color: var(--theme-color-senary); }

/*---------- START COMPONENT TAG QUATERNARY ----------*/
.c-tag--quaternary { background-color: var(--theme-color-quaternary); }

/*---------- START COMPONENT TAG SEPTENARY ----------*/
.c-tag--septenary { background-color: var(--theme-color-septenary); }

/*====================================================================================
8. START COMMON HEADING, TITLE.
====================================================================================*/
/*---------- START COMPONENT TITLE ----------*/
.c-title__jp, .c-title__en { font-weight: 500; }

.c-title__en { font-family: var(--theme-font-en-primary); text-transform: uppercase; }

@media only screen and (max-width: 767px) { .c-title__jp { font-size: 2.5rem; }
  .c-title__en { font-size: 1.4rem; } }

@media only screen and (min-width: 768px) { .c-title__jp { font-size: 5rem; }
  .c-title__en { font-size: 1.6rem; } }

/*---------- START COMPONENT TITLE SECONDARY ----------*/
.c-title--secondary .c-title__jp, .c-title--secondary .c-title__en { color: var(--theme-color-secondary); }

/*---------- START COMPONENT TITLE TERTIARY ----------*/
.c-title--tertiary .c-title__jp { color: var(--theme-color-tertiary); }

.c-title--tertiary .c-title__en { color: var(--theme-color-primary); }

/*---------- START COMPONENT TITLE VERSION 1 ----------*/
@media only screen and (max-width: 767px) { .c-title--v1 .c-title__en { margin-left: 0.8rem; } }

@media only screen and (min-width: 768px) { .c-title--v1 .c-title__en { margin-left: 1.2rem; } }

/*---------- START COMPONENT TITLE VERSION 2 ----------*/
@media only screen and (max-width: 767px) { .c-title--v2 .c-title__en { margin-left: 1rem; } }

@media only screen and (min-width: 768px) { .c-title--v2 .c-title__en { margin-left: 2rem; } }

/*---------- START COMPONENT TITLE VERSION 3 ----------*/
.c-title--v3 .c-title__jp, .c-title--v3 .c-title__en { display: block; text-align: center; }

@media only screen and (max-width: 767px) { .c-title--v3 .c-title__en { margin-top: 0.8rem; } }

@media only screen and (min-width: 768px) { .c-title--v3 .c-title__en { margin-top: 2rem; } }

/*---------- START COMPONENT TITLE VERSION 4 ----------*/
.c-title--v4 .c-title__jp, .c-title--v4 .c-title__en { display: block; }

@media only screen and (max-width: 767px) { .c-title--v4 .c-title__en { margin-top: 0.8rem; } }

@media only screen and (min-width: 768px) { .c-title--v4 .c-title__en { margin-top: 1rem; } }

/*---------- START COMPONENT TITLE VERSION 5 ----------*/
.c-title--v5 .c-title__jp, .c-title--v5 .c-title__en { display: block; }

.c-title--v5 .c-title__en { text-transform: initial; }

@media only screen and (max-width: 767px) { .c-title--v5 .c-title__en { margin-top: 0.8rem; } }

@media only screen and (min-width: 768px) { .c-title--v5 .c-title__jp { font-size: 4rem; }
  .c-title--v5 .c-title__en { margin-top: 1rem; } }

/*====================================================================================
9. START COMMON BUTTON.
====================================================================================*/
/*---------- START COMPONENT BUTTON ----------*/
.c-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 100%; border-width: 2px; border-style: solid; border-radius: 0.5rem; text-decoration: none; cursor: pointer; user-select: none; vertical-align: middle; touch-action: manipulation; overflow: hidden; }

.c-btn__text { position: relative; z-index: 2; width: 100%; line-height: 1.5; font-weight: 500; text-align: center; overflow: hidden; }

.c-btn__arrow { position: absolute; z-index: 2; top: 50%; width: 0.74rem; height: 1.2rem; margin-top: -0.6rem; }

@media only screen and (max-width: 767px) { .c-btn { max-width: 26rem; min-height: 5.5rem; padding: 0.5rem 2rem; }
  .c-btn__text { font-size: 1.4rem; }
  .c-btn__arrow { right: 1rem; } }

@media only screen and (min-width: 768px) { .c-btn { max-width: 28rem; min-height: 6.5rem; padding: 1rem 3rem; }
  .c-btn:hover .c-btn__bg::before { transform: scale(1.1); }
  .c-btn:hover .c-btn__arrow { transition: fill 0.1s ease 0.1s; }
  .c-btn__text { font-size: 1.6rem; }
  .c-btn__bg { position: absolute; display: inline-block; content: ""; top: 50%; left: 0; height: 0; width: 100%; padding-top: 100%; transform: translateY(-50%); }
  .c-btn__bg::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; border-radius: 50%; transform: scale(0); transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
  .c-btn__arrow { right: 1.5rem; } }

/*---------- START COMPONENT BUTTON SWAP ----------*/
.c-btn--swap .c-btn__text::before { position: absolute; display: block; content: attr(data-text); top: 50%; left: 0; right: 0; transform: translateY(-50%); font-family: var(--theme-font-en-primary); text-transform: uppercase; transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); }

@media only screen and (max-width: 767px) { .c-btn--swap .c-btn__text--jp { opacity: 0; visibility: hidden; } }

@media only screen and (min-width: 768px) { .c-btn--swap:hover .c-btn__text::before { transform: translateY(-150%); }
  .c-btn--swap:hover .c-btn__text--jp { transform: translateY(0); }
  .c-btn--swap .c-btn__text--jp { display: block; transform: translateY(105%); transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); } }

/*---------- START COMPONENT BUTTON TERTIARY ----------*/
.c-btn--tertiary { border-color: var(--theme-color-tertiary); background-color: var(--theme-color-tertiary); }

.c-btn--tertiary .c-btn__text { color: var(--theme-color-secondary); }

.c-btn--tertiary .c-btn__text::before { color: var(--theme-color-secondary); }

.c-btn--tertiary .c-btn__arrow { fill: var(--theme-color-secondary); }

@media only screen and (min-width: 768px) { .c-btn--tertiary.c-btn--swap .c-btn__text--jp { color: var(--theme-color-tertiary); }
  .c-btn--tertiary:hover .c-btn__text { color: var(--theme-color-tertiary); }
  .c-btn--tertiary:hover .c-btn__arrow { fill: var(--theme-color-tertiary); }
  .c-btn--tertiary .c-btn__bg::before { background-color: var(--theme-color-secondary); } }

/*---------- START COMPONENT BUTTON HEADER ----------*/
.c-btn-header { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; border-width: 2px; border-style: solid; text-decoration: none; cursor: pointer; user-select: none; vertical-align: middle; touch-action: manipulation; overflow: hidden; }

.c-btn-header__text, .c-btn-header__icon { z-index: 2; }

.c-btn-header__text { position: relative; width: 100%; line-height: 1.5; font-weight: 500; text-align: center; overflow: hidden; }

.c-btn-header__icon { position: absolute; top: 50%; width: 2.6rem; height: 1.9rem; margin-top: -1rem; stroke-miterlimit: 10; stroke-width: 4.3px; }

@media only screen and (max-width: 767px) { .c-btn-header { width: 100%; height: 100%; }
  .c-btn-header__text { display: none; } }

@media only screen and (min-width: 768px) { .c-btn-header { min-height: 10rem; padding: 1rem 1rem 1rem 6rem; }
  .c-btn-header:hover .c-btn-header__bg::before { transform: scale(1.15); }
  .c-btn-header__text { font-size: 1.6rem; }
  .c-btn-header__icon { left: 3.5rem; }
  .c-btn-header__bg { position: absolute; display: inline-block; content: ""; top: 50%; left: 0; height: 0; width: 100%; padding-top: 100%; transform: translateY(-50%); }
  .c-btn-header__bg::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; border-radius: 50%; transform: scale(0); transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); } }

/*---------- START COMPONENT BUTTON HEADER QUINARY ----------*/
.c-btn-header--quinary { border-color: var(--theme-color-quinary); background-color: var(--theme-color-quinary); }

.c-btn-header--quinary .c-btn-header__text { color: var(--theme-color-secondary); }

.c-btn-header--quinary .c-btn-header__text::before { color: var(--theme-color-quaternary); }

.c-btn-header--quinary .c-btn-header__icon { fill: var(--theme-color-secondary); stroke: var(--theme-color-secondary); }

@media only screen and (min-width: 768px) { .c-btn-header--quinary:hover .c-btn-header__text { color: var(--theme-color-quinary); }
  .c-btn-header--quinary:hover .c-btn-header__icon { fill: var(--theme-color-quinary); stroke: var(--theme-color-quinary); }
  .c-btn-header--quinary .c-btn-header__bg::before { background-color: var(--theme-color-secondary); } }

/*---------- START COMPONENT BUTTON CONTACT ----------*/
.c-btn-contact { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 100%; border-width: 2px; border-style: solid; border-radius: 0.5rem; text-decoration: none; cursor: pointer; user-select: none; vertical-align: middle; touch-action: manipulation; overflow: hidden; }

.c-btn-contact__text, .c-btn-contact__icon { z-index: 2; }

.c-btn-contact__text { position: relative; width: 100%; line-height: 1.5; font-weight: 500; text-align: center; overflow: hidden; }

.c-btn-contact__icon { position: absolute; top: 50%; width: 3.2rem; height: 2.3rem; margin-top: -1.15rem; stroke-miterlimit: 10; stroke-width: 4.3px; }

@media only screen and (max-width: 767px) { .c-btn-contact { max-width: 32rem; min-height: 8rem; padding: 0.5rem 4rem; }
  .c-btn-contact__text { font-size: 2rem; }
  .c-btn-contact__icon { left: 3rem; } }

@media only screen and (min-width: 768px) { .c-btn-contact { max-width: 50rem; min-height: 12rem; padding: 1rem 12rem; }
  .c-btn-contact:hover .c-btn-contact__bg::before { transform: scale(1.15); }
  .c-btn-contact:hover .c-btn-contact__icon { transition: fill 0.1s ease 0.1s, stroke 0.1s ease 0.1s; }
  .c-btn-contact__text { font-size: 2.8rem; }
  .c-btn-contact__icon { left: 7.5rem; }
  .c-btn-contact__bg { position: absolute; display: inline-block; content: ""; top: 50%; left: 0; height: 0; width: 100%; padding-top: 100%; transform: translateY(-50%); }
  .c-btn-contact__bg::before { position: absolute; display: block; content: ""; top: 0; left: 0; width: 100%; height: 100%; border-radius: 50%; transform: scale(0); transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); } }

/*---------- START COMPONENT BUTTON CONTACT SWAP ----------*/
.c-btn-contact--swap .c-btn-contact__text::before { position: absolute; display: block; content: attr(data-text); top: 50%; left: 0; right: 0; transform: translateY(-50%); font-family: var(--theme-font-en-primary); letter-spacing: 0.04em; text-transform: uppercase; transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); }

@media only screen and (max-width: 767px) { .c-btn-contact--swap .c-btn-contact__text--jp { opacity: 0; visibility: hidden; } }

@media only screen and (min-width: 768px) { .c-btn-contact--swap:hover .c-btn-contact__text::before { transform: translateY(-150%); }
  .c-btn-contact--swap:hover .c-btn-contact__text--jp { transform: translateY(0); }
  .c-btn-contact--swap .c-btn-contact__text--jp { display: block; transform: translateY(105%); transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); } }

/*---------- START COMPONENT BUTTON CONTACT SECONDARY ----------*/
.c-btn-contact--secondary { border-color: var(--theme-color-secondary); background-color: var(--theme-color-secondary); }

.c-btn-contact--secondary .c-btn-contact__text { color: var(--theme-color-secondary); }

.c-btn-contact--secondary .c-btn-contact__text::before { color: var(--theme-color-quinary); }

.c-btn-contact--secondary .c-btn-contact__icon { fill: var(--theme-color-quinary); stroke: var(--theme-color-quinary); }

@media only screen and (min-width: 768px) { .c-btn-contact--secondary.c-btn-contact--swap .c-btn-contact__text--jp { color: var(--theme-color-secondary); }
  .c-btn-contact--secondary:hover .c-btn-contact__text { color: var(--theme-color-secondary); }
  .c-btn-contact--secondary:hover .c-btn-contact__icon { fill: var(--theme-color-secondary); stroke: var(--theme-color-secondary); }
  .c-btn-contact--secondary .c-btn-contact__bg::before { background-color: var(--theme-color-quinary); } }

/*---------- START COMPONENT BUTTON CONTACT QUINARY ----------*/
.c-btn-contact--quinary { border-color: var(--theme-color-quinary); background-color: var(--theme-color-quinary); }

.c-btn-contact--quinary .c-btn-contact__text { color: var(--theme-color-secondary); }

.c-btn-contact--quinary .c-btn-contact__text::before { color: var(--theme-color-quaternary); }

.c-btn-contact--quinary .c-btn-contact__icon { fill: var(--theme-color-secondary); stroke: var(--theme-color-secondary); }

@media only screen and (min-width: 768px) { .c-btn-contact--quinary.c-btn-contact--swap .c-btn-contact__text--jp { color: var(--theme-color-quinary); }
  .c-btn-contact--quinary:hover .c-btn-contact__text { color: var(--theme-color-quinary); }
  .c-btn-contact--quinary:hover .c-btn-contact__icon { fill: var(--theme-color-quinary); stroke: var(--theme-color-quinary); }
  .c-btn-contact--quinary .c-btn-contact__bg::before { background-color: var(--theme-color-secondary); } }

/*====================================================================================
11. START COMMON KEYFRAMES.
====================================================================================*/
/*---------- START KEYFRAMES FADE IN ----------*/
@keyframes fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }

/*---------- START KEYFRAMES PHONE ZOOM ----------*/
@media only screen and (max-width: 767px) { @keyframes phoneZoom { 70% { box-shadow: 0 0 0 1rem transparent; }
    100% { box-shadow: 0 0 0 0 transparent; } } }

@media only screen and (min-width: 768px) { @keyframes phoneZoom { 70% { box-shadow: 0 0 0 1.5rem transparent; }
    100% { box-shadow: 0 0 0 0 transparent; } } }

/*---------- START KEYFRAMES PHONE VIBRATE ----------*/
@keyframes phoneVibrate { 0% { transform: rotate(0deg); }
  30% { transform: rotate(0deg); }
  33% { transform: rotate(-10deg); }
  36% { transform: rotate(10deg); }
  39% { transform: rotate(-10deg); }
  42% { transform: rotate(10deg); }
  45% { transform: rotate(-10deg); }
  48% { opacity: 1; }
  51% { transform: rotate(-10deg); }
  54% { transform: rotate(10deg); }
  57% { transform: rotate(0deg); } }

/*====================================================================================
12. START COMMON TEXT.
====================================================================================*/
/*---------- START COMPONENT TEXT INDENT ----------*/
.c-text-indent { display: block; padding-left: 1em; text-indent: -1em; }

/*---------- START COMPONENT TEXT UNDERLINE ----------*/
a.c-tdn { text-decoration: none; }

a.c-tdn:hover { text-decoration: underline; }

/*====================================================================================
13. START COMMON LINK.
====================================================================================*/
/*---------- START LOCK TELEPHONE ----------*/
@media only screen and (min-width: 768px) { a[href^="tel:"] { cursor: pointer; pointer-events: none; } }

/*---------- START COMPONENT LINK ----------*/
.c-link { position: relative; display: inline-block; text-decoration: none; }

.c-link__text { line-height: 1.6; font-weight: 500; }

.c-link__arrow { position: absolute; right: 0; }

@media only screen and (max-width: 767px) { .c-link { padding-right: 1.3rem; }
  .c-link__text { font-size: 1.4rem; }
  .c-link__arrow { top: 0.7rem; width: 0.6rem; height: 1rem; } }

@media only screen and (min-width: 768px) { .c-link { padding-right: 1.4rem; }
  .c-link:hover .c-link__text { text-decoration: underline; }
  .c-link__text { font-size: 1.6rem; transition: color 0.3s ease; }
  .c-link__arrow { top: 0.7rem; width: 0.74rem; height: 1.2rem; transition: fill 0.3s ease; } }

/*---------- START COMPONENT LINK SUP ----------*/
@media only screen and (max-width: 767px) { .c-link--sup .c-link__arrow { top: 1rem; } }

@media only screen and (min-width: 768px) { .c-link--sup .c-link__arrow { top: 1rem; } }

/*---------- START COMPONENT LINK PRIMARY ----------*/
.c-link--primary:hover .c-link__text { color: var(--theme-color-tertiary); }

.c-link--primary:hover .c-link__arrow { fill: var(--theme-color-tertiary); }

.c-link--primary .c-link__arrow { fill: var(--theme-color-primary); }

/*---------- START COMPONENT LINK TOP ----------*/
.c-link-top { position: relative; display: inline-block; padding: 0 1.7rem 0 1.3rem; text-decoration: none; }

.c-link-top.no-link { pointer-events: none; color: #797979;}

.c-link-top::before { position: absolute; content: ""; left: 0; border-radius: 50%; background-color: currentColor; transition: background-color 0.3s ease; }

.c-link-top__text { line-height: 1.6; font-weight: 500; transition: color 0.3s ease; }

.c-link-top__arrow { position: absolute; right: 0; top: 12px; width: 0.74rem; height: 1.2rem; transition: fill 0.3s ease; }

@media only screen and (max-width: 767px) { .c-link-top:before { top: 1.1rem; width: 0.4rem; height: 0.4rem; }
  .c-link-top__text { font-size: 1.6rem; } }

@media only screen and (min-width: 768px) { .c-link-top:before { top: 1.5rem; width: 0.5rem; height: 0.5rem; }
  .c-link-top:hover .c-link-top__text { text-decoration: underline; }
  .c-link-top__text { font-size: 2rem; } }

/*---------- START COMPONENT LINK TOP SUP ----------*/
@media only screen and (max-width: 767px) { .c-link-top--sup:before { top: 1.5rem; }
  .c-link-top--sup .c-link-top__arrow { top: 1.6rem; } }

@media only screen and (min-width: 768px) { .c-link-top--sup:before { top: 1.9rem; }
  .c-link-top--sup .c-link-top__arrow { top: 2rem; } }

/*---------- START COMPONENT LINK TOP PRIMARY ----------*/
.c-link-top--primary:hover::before { background-color: var(--theme-color-tertiary); }

.c-link-top--primary:hover .c-link-top__text { color: var(--theme-color-tertiary); }

.c-link-top--primary:hover .c-link-top__arrow { fill: var(--theme-color-tertiary); }

.c-link-top--primary .c-link-top__arrow { fill: var(--theme-color-primary); }

/*---------- START COMPONENT LINK TOP TERTIARY ----------*/
.c-link-top--tertiary::before { background-color: var(--theme-color-tertiary); }

.c-link-top--tertiary .c-link-top__text { color: var(--theme-color-tertiary); }

.c-link-top--tertiary .c-link-top__arrow { fill: var(--theme-color-tertiary); }

/*---------- START COMPONENT LINK TOP QUINARY ----------*/
.c-link-top--quinary::before { background-color: var(--theme-color-quinary); }

.c-link-top--quinary .c-link-top__text { color: var(--theme-color-quinary); }

.c-link-top--quinary .c-link-top__arrow { fill: var(--theme-color-quinary); }

/*---------- START COMPONENT LINK TOP TO SENARY ----------*/
.c-link-top--to-senary:hover::before { background-color: var(--theme-color-senary); }

.c-link-top--to-senary:hover .c-link-top__text { color: var(--theme-color-senary); }

.c-link-top--to-senary:hover .c-link-top__arrow { fill: var(--theme-color-senary); }

.c-link-top--to-senary .c-link-top__arrow { fill: var(--theme-color-primary); }

/*---------- START COMPONENT LINK TOP TO QUATERNARY ----------*/
.c-link-top--to-quaternary:hover::before { background-color: var(--theme-color-quaternary); }

.c-link-top--to-quaternary:hover .c-link-top__text { color: var(--theme-color-quaternary); }

.c-link-top--to-quaternary:hover .c-link-top__arrow { fill: var(--theme-color-quaternary); }

.c-link-top--to-quaternary .c-link-top__arrow { fill: var(--theme-color-primary); }

/*---------- START COMPONENT LINK TOP TO SEPTENARY ----------*/
.c-link-top--to-septenary:hover::before { background-color: var(--theme-color-septenary); }

.c-link-top--to-septenary:hover .c-link-top__text { color: var(--theme-color-septenary); }

.c-link-top--to-septenary:hover .c-link-top__arrow { fill: var(--theme-color-septenary); }

.c-link-top--to-septenary .c-link-top__arrow { fill: var(--theme-color-primary); }

/*====================================================================================
14. START COMMON LIST, ITEM.
====================================================================================*/
/*---------- START COMPONENT ITEM BASE ----------*/
.c-item-base { position: relative; }

.c-item-base::before { position: absolute; top: 0; left: 0; }

/*---------- START COMPONENT ITEM DOT ----------*/
.c-item-dot { padding-left: 1em; }

.c-item-dot::before { content: "・"; }

/*---------- START COMPONENT ITEM CIRCLE ----------*/
.c-item-circle { padding-left: 1.1em; }

.c-item-circle::before { content: "●"; }

/*---------- START COMPONENT ITEM STAR ----------*/
.c-item-star { padding-left: 1.1em; }

.c-item-star::before { content: "※"; }

/*---------- START COMPONENT ITEM MAIN ----------*/
.c-item-main__row { display: flex; }

.c-item-main__left { flex: 0 0 auto; }

.c-item-main__right { flex: 1; padding-left: 0.2rem; }

/*---------- START COMPONENT LIST INDENT ----------*/
.c-list-indent > li { padding-left: 1em; text-indent: -1em; }

/*---------- START COMPONENT LIST BASE ----------*/
.c-list-base > li { position: relative; }

.c-list-base > li::before { position: absolute; top: 0; left: 0; }

/*---------- START COMPONENT LIST DOT ----------*/
.c-list-dot > li { padding-left: 1em; }

.c-list-dot > li::before { content: "・"; }

/*---------- START COMPONENT LIST CIRCLE ----------*/
.c-list-circle > li { padding-left: 1.3em; }

.c-list-circle > li::before { content: "●"; transform: scale(0.8); }

/*---------- START COMPONENT LIST STAR ----------*/
.c-list-star > li { padding-left: 1.3em; }

.c-list-star > li::before { content: "※"; }

/*====================================================================================
15. START COMMON LOGO.
====================================================================================*/
/*---------- START PROJECT LOGO ----------*/
.p-logo { position: relative; z-index: 1000; display: inline-flex; align-items: center; text-decoration: none; }

.p-logo__left { flex: 0 0 auto; }

.p-logo__left img { height: auto; }

.p-logo__right { flex: 1; padding-left: var(--spacing-sp-10-pc-20); }

.p-logo__text { font-weight: 500; letter-spacing: 0.075em; transition: color 0.3s ease; }

@media only screen and (max-width: 767px) { .p-logo__left img { width: 3.5rem; }
  .p-logo__text { font-size: 1.4rem; } }

@media only screen and (min-width: 768px) { .p-logo:hover .p-logo__text { color: var(--theme-color-tertiary); }
  .p-logo__left img { width: 4.4rem; }
  .p-logo__text { font-size: 2rem; } }

/*---------- START PROJECT LOGO FOOTER ----------*/
.p-logo-footer img { height: auto; }

@media only screen and (max-width: 767px) { .p-logo-footer img { width: 10.2rem; } }

@media only screen and (min-width: 768px) { .p-logo-footer img { width: 11rem; } }

/*====================================================================================
16. START COMMON EFFECT.
====================================================================================*/
/*---------- START COMPONENT EFFECT ZOOM ----------*/
.c-e-zoom-img { display: inline-block; text-decoration: none; overflow: hidden; }

@media only screen and (min-width: 768px) { .c-e-zoom-img { transition: transform 0.3s ease; }
  .c-e-zoom-img:hover img { transform: scale(1.025); } }

/*---------- START COMPONENT EFFECT OPACITY IMAGES ----------*/
@media only screen and (min-width: 768px) { .c-e-opacity-img:hover img { opacity: 0.7; filter: alpha(opacity=70); } }

/*====================================================================================
17. START COMMON CHART.
====================================================================================*/
/*---------- START COMPONENT CHART TOP ----------*/
.c-chart-top__box--v1 .c-chart-top__box-item { color: var(--theme-color-senary); }

.c-chart-top__box--v2 .c-chart-top__box-item { color: var(--theme-color-quaternary); }

.c-chart-top__box--v3 .c-chart-top__box-item { color: var(--theme-color-septenary); }

.c-chart-top__box-tag { margin-bottom: 1rem; }

.c-chart-top__box-item { font-weight: 700; }

.c-chart-top__box-list { margin-left: -0.2em; }

.c-chart-top__item { position: absolute; display: flex; align-items: center; justify-content: center; border-radius: 50%; }

.c-chart-top__item--v1 { top: 7%; left: 40%; color: var(--theme-color-senary); }

.c-chart-top__item--v2 { left: 6%; bottom: 7%; color: var(--theme-color-quaternary); }

.c-chart-top__item--v3 { right: 6%; bottom: 7%; color: var(--theme-color-septenary); }

.c-chart-top__item-title { font-weight: 700; }

@media only screen and (max-width: 767px) { .c-chart-top__boxes { display: flex; }
  .c-chart-top__boxes--v1 { justify-content: center; }
  .c-chart-top__boxes--v2 { justify-content: space-between; }
  .c-chart-top__box-item { font-size: 1.6rem; }
  .c-chart-top__shape { position: relative; display: inline-block; margin: 1.5rem 0; }
  .c-chart-top__item { width: 19vw; height: 19vw; }
  .c-chart-top__item-title { font-size: clamp(1.6rem, calc(0.6434rem + 2.551vw), 2.6rem); } }

@media only screen and (min-width: 768px) { .c-chart-top { position: relative; display: inline-block; }
  .c-chart-top__box { position: absolute; }
  .c-chart-top__box--v1 { top: 5.5%; right: 8.5%; }
  .c-chart-top__box--v2 { left: 0; bottom: 40%; }
  .c-chart-top__box--v3 { right: 5%; bottom: 40%; }
  .c-chart-top__box-item { font-size: 1.8rem; line-height: 1.7; }
  .c-chart-top__item { width: 15rem; height: 15rem; }
  .c-chart-top__item-title { font-size: 3.4rem; } }

/*====================================================================================
18. START COMMON LAYOUT.
====================================================================================*/
/*---------- START COMPONENT CLEARFIX ----------*/
.c-clearfix:after { display: block; content: " "; height: 0; clear: both; visibility: hidden; }

/* Hide these rules from IE-mac \*/
* html .c-clearfix { height: 1%; }

.c-clearfix { display: block; }

/*---------- START LAYOUT OVERLAY ----------*/
@media only screen and (min-width: 768px) { .l-overlay { position: fixed; display: none; z-index: 996; top: 0; left: 0; bottom: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.2); } }

/*====================================================================================
19. START COMMON FORM.
====================================================================================*/
/*---------- START BASE FORM ----------*/
input, select, option, optgroup, textarea { font-family: var(--theme-font-jp-primary); font-weight: 400; letter-spacing: 0.012em; text-size-adjust: 100%; color: var(--theme-color-primary); background-color: var(--theme-color-secondary); }

.is-ios input, .is-ios textarea { font-size: 1.6rem; }

@media only screen and (max-width: 767px) { input, select, option, optgroup, textarea { font-size: 1.4rem; line-height: 1.7; } }

@media only screen and (min-width: 768px) { input, select, option, optgroup, textarea { font-size: 1.6rem; line-height: 1.88; } }

/*---------- START COMPONENT INPUT ----------*/
.c-input { width: 100%; border: 1px solid var(--theme-border-octonary); }

.c-input:focus { outline: none; border: 1px solid var(--theme-border-nonary); }

.c-input::placeholder { color: var(--color-neutral-475); opacity: 1; }

@media only screen and (max-width: 767px) { .c-input { height: 4.5rem; padding-left: 1rem; padding-right: 1rem; }
  .c-input::placeholder { font-size: 1.4rem; } }

@media only screen and (min-width: 768px) { .c-input { height: 5rem; padding-left: 1.5rem; padding-right: 1.5rem; }
  .c-input::placeholder { font-size: 1.6rem; } }

/*---------- START COMPONENT NUMBER ----------*/
.c-number input[type=number] { -moz-appearance: textfield; }

.c-number input[type=number]::-webkit-outer-spin-button, .c-number input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; appearance: none; margin: 0; }

/*---------- START COMPONENT SELECT ----------*/
.c-select { position: relative; display: inline-block; width: 100%; }

.c-select select { width: 100%; cursor: pointer; appearance: none; background-image: none; color: var(--theme-color-primary); border: 1px solid var(--theme-border-octonary); }

.c-select select:focus { outline: none; border: 1px solid var(--theme-border-nonary); }

.c-select select::-ms-expand { display: none; }

.c-select select option { color: var(--theme-color-primary); }

.c-select:after { position: absolute; content: "▼"; top: 50%; right: 1rem; transform: translateY(-50%); font-size: 1.5rem; color: var(--theme-color-primary); pointer-events: none; }

@media only screen and (max-width: 767px) { .c-select { height: 4.5rem; }
  .c-select:after { right: 1rem; }
  .c-select select { height: 4.5rem; padding-left: 1rem; padding-right: 2.5rem; } }

@media only screen and (min-width: 768px) { .c-select { height: 5rem; }
  .c-select select { height: 5rem; padding-left: 1.5rem; padding-right: 3rem; } }

/*---------- START COMPONENT TEXTAREA ----------*/
.c-textarea { resize: none; width: 100%; height: 100%; border: 1px solid var(--theme-border-octonary); }

.c-textarea:focus { outline: none; border: 1px solid var(--theme-border-nonary); }

.c-textarea::placeholder { color: var(--color-neutral-475); opacity: 1; }

@media only screen and (max-width: 767px) { .c-textarea { padding: 0.5rem 1rem; }
  .c-textarea::placeholder { font-size: 1.4rem; } }

@media only screen and (min-width: 768px) { .c-textarea { padding: 1rem 1.5rem; }
  .c-textarea::placeholder { font-size: 1.6rem; } }

/*---------- START COMPONENT RADIO ----------*/
.c-rdo { display: flex; }

.c-rdo label { flex: 1; cursor: pointer; }

@media only screen and (max-width: 767px) { .c-rdo input[type=radio] { width: 1.8rem; height: 1.8rem; margin-top: 0.2rem; }
  .c-rdo label { padding-left: 0.8rem; } }

@media only screen and (min-width: 768px) { .c-rdo input[type=radio] { width: 2rem; height: 2rem; margin-top: 0.5rem; }
  .c-rdo label { padding-left: 1rem; } }

/*---------- START COMPONENT CHECKBOX ----------*/
.c-chk { display: flex; }

.c-chk label { flex: 1; cursor: pointer; }

@media only screen and (max-width: 767px) { .c-chk input[type=checkbox] { width: 1.8rem; height: 1.8rem; margin-top: 0.2rem; }
  .c-chk label { padding-left: 0.8rem; } }

@media only screen and (min-width: 768px) { .c-chk input[type=checkbox] { width: 2.5rem; height: 2.5rem; margin-top: 0.4rem; }
  .c-chk label { padding-left: 1.5rem; } }

.c-fixed-btn { position: fixed; bottom: 144px; right: 20px; width: 260px; z-index: 331; }

.c-fixed-btn .per01 { position: absolute; right: -19px; top: -73px; }

.c-fixed-btn .box { background: #fff; padding: 33px 33px 33px; border-radius: 5px; box-shadow: 15px 6px 25px rgba(0, 0, 0, 0.15); }

.c-fixed-btn .box ul li { margin-bottom: 10px; }

.c-fixed-btn .box ul li:last-child { margin-bottom: 0; }

.c-fixed-btn .box ul li a { display: block; text-decoration: none; background: #22ac38; color: #fff; font-size: 18px; line-height: 1.38889; letter-spacing: 0.01em; font-weight: 500; padding: 15px 10px 15px; border-radius: 5px; text-align: center; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; }

.c-fixed-btn .box ul li a.btn02 { background: #727171; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .c-fixed-btn .box ul li a:hover { opacity: 0.7; } }

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .c-fixed-btn { bottom: 0; right: 0; width: 100%; }
  .c-fixed-btn .per01 { display: none; }
  .c-fixed-btn .box { border-radius: 0; padding: 4px 4px 4px; }
  .c-fixed-btn .box ul { display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .c-fixed-btn .box ul li { width: 50%; margin-bottom: 0px; padding: 0 2px; }
  .c-fixed-btn .box ul li:last-child { margin-bottom: 0; }
  .c-fixed-btn .box ul li a { font-size: 16px; line-height: 1.4375; padding: 10px 10px 10px; } }

/* ========== end △ */
/* PC
-------------------------------------------------- */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .show_pc, .pc { display: none !important; } }

/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .pc_none, .sp { display: none !important; } }

/* ========== end △ */

/*# sourceMappingURL=maps/base.css.map */
