@charset "UTF-8";
/* -----------------------------------------------
common css 共通クラス
--------------------------------------------------
0. Foundation
   0-1. Base
   0-2. Config
        0-2-1. font family
        0-2-2. color management
        0-2-3. lightbox
1. Layout
   1-1.   .l-wrapper
   1-2.   .l-main
   1-3.   .l-group
   1-4.   .l-container
   1-5.   .l-header
   1-6.   .l-footer
   1-7.   .l-nav
         1-7-1. .l-nav-header
   1-8.   .l-globalNav
         1-8-1. .l-gNav
   1-9.   .l-footerNav
   1-10.  .l-mobileNav
   1-11.  .l-mark
2. Component
   2-1.  icon         [c-icon-***]
   2-2.  label        [c-label-***]
   2-3.  chevron      [c-chevron-***]
   2-4.  link         [c-link-***]
   2-5.  Anchor       [c-anchor-***]
   2-6.  Language     [c-language-***]
   2-7.  Input        [c-input-***]
3. Project
   3-1.   icon             [p-icon-***]
   3-2.   button           [p-button-***]
   3-3.   lead             [p-lead-***]
   3-4.   form             [p-form-***]
   3-5.   selectBox        [p-selectBox-***]
   3-6.   check            [p-check-***]
4. Animation
   4-1. Animation [act-***]
5. OverLayerConfig
   5-1. OverLayerConfig [z-index]
6. Order
   6-1. Order [flex-order]
-------------------------------------------------- */
/*====================================================================================
 [0. Foundation]
====================================================================================*/
/* -----------------------------------------------
/* 0-0. import
-------------------------------------------------- */
* {
  font-family: inherit;
}
/* -----------------------------------------------
/* 0-1. Base
-------------------------------------------------- */ :root {
  --theme-color-primary: #ed8918;
  --theme-color-secondary: #ffdf00;
  --theme-color-dark: #222222;
  --gutter: 40px;
  --headerHeight: 60px;
  --border-radius-card-size1: 15px;
  --border-radius-card-size2: 12px;
  --padding-top-layout-group: 40px;
  --padding-bottom-layout-group: 40px;
  --form-background-color: #f5f5f5;
  --form-border-color: #e0e0e0;
  --form-border-width: 1px;
  --form-border-style: solid;
  --form-height: max(1.4583333333333333vw, 28px);
  --form-padding-right: max(0.9375vw, 18px);
  --form-padding-left: max(0.9375vw, 18px);
  --form-placeholoder-color: #8f8f8f;
  --form-placeholder-font-size: max(0.7291666666666666vw, 1.4rem);
}
@media (min-width: 768px) {
  :root {
    --gutter: 30px;
  }
}
@media (min-width: 768px) {
  :root {
    --headerHeight: max(4.6875vw, 160px);
    --min-width-body: 1297px;
    --border-radius-card-size1: 30px;
    --border-radius-card-size2: 25px;
  }
}
body {
  width: 100%;
  font-family: YakuHanJP_Noto, "Roboto", "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.8;
  color: #FFF;
  letter-spacing: 0.05em;
}
body * {
  box-sizing: border-box;
}
body.is-fix {
  position: fixed;
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  body {
    font-size: max(0.8333333333vw, 1.6rem);
    min-width: var(--min-width-body);
  }
}
a {
  box-sizing: border-box;
  word-break: break-all;
  color: #FFF;
  text-decoration: underline;
  transition: opacity 0.1s ease-in-out 0s;
  /*-webkit-tap-highlight-color: transparent;*/
  /*
    &:hover,
    &:active {
        outline-width: 0;
        text-decoration: none;
    }
    &:focus {
        outline-width: 0;
        text-decoration: none;
    }
    */
}
a:link {
  text-decoration: none;
}
a:visited {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}
li img, li a, li a img {
  vertical-align: bottom;
}
[role=button] {
  cursor: pointer;
}
/* -----------------------------------------------
/* 0-2. Config
-------------------------------------------------- */
/* 0-2-1.  font family
-------------------------------------------------- */
/* 0-2-2.  lightbox
-------------------------------------------------- */
a[data-lightbox=lb] {
  position: relative;
  text-decoration: none !important;
  pointer-events: none;
}
@media (min-width: 768px) {
  a[data-lightbox=lb] {
    pointer-events: auto;
  }
}
a[data-lightbox=lb] .icon-magnify {
  position: absolute;
  bottom: 5px;
  right: 5px;
  width: 33px;
  height: 33px;
  background-color: rgba(0, 0, 0, 0.5);
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
}
a[data-lightbox=lb] .icon-magnify svg {
  width: 24px;
  height: 24px;
  fill: #fff;
}
/*====================================================================================
 [1. Layout]
====================================================================================*/
/* -----------------------------------------------
/* 1-1.  .l-wrapper
-------------------------------------------------- */
.l-wrapper {
  position: relative;
}
/* -----------------------------------------------
/* 1-2.  .l-main
-------------------------------------------------- */
.l-main {
  margin-top: var(--headerHeight);
}
@media (min-width: 768px) {
  .l-main {
    margin-top: 0;
  }
}
/* -----------------------------------------------
/* 1-3.  .l-group
-------------------------------------------------- */
[class*=l-group] {
  margin-bottom: var(--padding-bottom-layout-group);
}
.l-main .l-parent:last-child [class*=l-group] {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  [class*=l-group] {
    margin-bottom: 105px;
  }
}
/* -----------------------------------------------
/* 1-4.  .l-container
-------------------------------------------------- */
.l-container {
  margin-right: auto;
  margin-left: auto;
  max-width: calc(max(57.2916666667vw, 1100px) + var(--gutter));
  padding-right: calc(var(--gutter) / 2);
  padding-left: calc(var(--gutter) / 2);
  position: relative;
}
.l-container:has(> .pg-index-un-something) {
  max-width: calc(max(57.2916666667vw, 1284px) + var(--gutter));
}

.l-container--fluid {
  max-width: 100%;
  padding-right: 0;
  padding-left: 0;
  position: relative;
}
.l-container + .l-container {
  margin-top: calc(var(--gutter) * 2);
}
@media (min-width: 768px) {
  .l-container + .l-container {
    margin-top: calc(var(--gutter) * 3);
  }
}
/* -----------------------------------------------
/* 1-5.  .l-header
-------------------------------------------------- */
.l-header {
  --z-index-l-header: 1;
  width: 100%;
  min-width: var(--min-width-body);
  height: var(--headerHeight);
  background-color: #253137;
  position: fixed;
  top: 0;
  left: 0;
}
@media (min-width: 768px) {
  .l-header {
    margin: 0 auto;
  }
}
.l-header__content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding-right: calc(var(--gutter) / 2);
  padding-left: calc(var(--gutter) / 2);
  position: relative;
  z-index: calc(var(--z-index-l-header) + 1);
}
@media (min-width: 1200px) {
  .l-header__content {
    padding-right: 50px;
    padding-left: 68px;
  }
}
.l-header__logo {
  height: var(--headerHeight);
}
.l-header__logo .__logo__heading {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  line-height: 1;
}
.l-header__logo .__logo__link {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-touch-callout: none;
}
.l-header__logo .__logo__image {
  display: none;
}
.l-header__logo .__logo__image_sp {
  display: block;
  height: 40px;
}
@media (min-width: 768px) {
  .l-header__logo .__logo__image_sp {
    display: none;
  }
    .l-header__logo .__logo__image {
    display: block;
    width: max(15.4166666667vw, auto);
  }
}
.l-header__bg {
  background-color: #253137;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-index-l-header);
  width: 100%;
  height: var(--headerHeight);
  transition: opacity 0.3s ease-in-out;
  opacity: 0;
}
.l-header.is-fixed .l-header__bg {
  opacity: 1;
}
/* -----------------------------------------------
/* 1-7.  .l-footer
-------------------------------------------------- */
.l-footer {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  line-height: 1;
  margin-top: 8px;
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .l-footer {
    margin-top: 15px;
    margin-bottom: 15px;
  }
}
.l-footer__copyright.-left {
  font-weight: 500;
  color: #133779;
}
.l-footer__copyright.-image {
  width: 214px;
  height: auto;
  margin-right: 3px;
  margin-left: 3px;
}
@media (min-width: 768px) {
  .l-footer__copyright.-image {
    margin-right: 6px;
    margin-left: 18px;
    width: max(11.15vw, 214px);
  }
}
.l-footer__copyright.-right {
  font-weight: 500;
  color: #133779;
  font-weight: bold;
}
/* -----------------------------------------------
/* 1-7.  .l-nav
-------------------------------------------------- */
/* 1-7-1. .l-nav-header
-------------------------------------------------- */
.l-nav-header {
  height: var(--headerHeight);
  position: fixed;
  top: 0;
  right: 65px;
}
/* -----------------------------------------------
/* 1-8.  .l-globalNav
-------------------------------------------------- */
.l-globalNav {
  height: 100%;
  display: none;
}
@media (min-width: 768px) {
  .l-globalNav {
    display: block;
  }
}
.l-globalNav__content {
  height: 100%;
}
/* 1-8-1. .l-gNav
-------------------------------------------------- */
.l-gNav {
  height: 100%;
}
.l-gNav__main {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
}
@media (min-width: 768px) {
  .l-gNav__item + .l-gNav__item {
    margin-left: 38px;
  }
}
.l-gNav__item.-text {
  display: none;
}
@media (min-width: 1025px) {
  .l-gNav__item.-text {
    display: block;
  }
}
.l-gNav__item .__item__link {
  font-weight: 700;
}
@media (min-width: 768px) {
  .l-gNav__item .__item__inner .p-button {
    min-width: 198px;
  }
}
/* -----------------------------------------------
/* 1-9.  .l-footerNav
-------------------------------------------------- */
/* 1-10-1. .l-fNav
-------------------------------------------------- */
.l-mobileNav {
  position: fixed;
  top: 0;
  left: 0;
  background-color: #333;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease-in-out;
}
@media (min-width: 768px) {
  .l-mobileNav {
    display: none;
  }
}
body.is-fix .l-mobileNav {
  opacity: 1;
  visibility: visible;
}
.l-mobileNav__content {
  height: 100%;
}
.l-mNav {
  height: 100%;
}
.l-mNav__main {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
}
.l-mNav__main .__item__inner {
  margin-top: 16px;
  margin-bottom: 16px;
}
.l-mNav__main .__item__link {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
}
/* -----------------------------------------------
/* 1-11.  .l-mark
-------------------------------------------------- */
.l-mark {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
  width: var(--headerHeight);
  height: var(--headerHeight);
  text-align: center;
  overflow: hidden;
  font-size: 24px;
  text-decoration: none;
  vertical-align: middle;
  transition: 0.3s;
  cursor: pointer;
  pointer-events: auto;
}
.l-mark-menu {
  background-color: var(--theme-color-dark);
}
@media (min-width: 768px) {
  .l-mark-menu {
    display: none;
  }
}
/* .mark
-------------------------------------------------- */
.l-mark-menu__markMenu {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}
.l-mark-menu__markMenu > * {
  position: relative;
  text-decoration: none;
}
.l-mark-menu__markMenu > i {
  will-change: transform;
}
.l-mark-menu__markMenu {
  position: relative;
  width: 100%;
  height: 1.8rem;
  display: block;
}
.l-mark-menu__markMenu .__markMenu__middle, .l-mark-menu__markMenu .__markMenu__top, .l-mark-menu__markMenu .__markMenu__bottom {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: calc((100% - 30px) / 2);
  width: 30px;
  height: 1px;
  background-color: #fff;
  transition-duration: 0.4s;
  transition-timing-function: cubic-bezier(0.25, 0.74, 0.22, 0.99);
}
@media (min-width: 768px) {
  .l-mark-menu__markMenu .__markMenu__middle, .l-mark-menu__markMenu .__markMenu__top, .l-mark-menu__markMenu .__markMenu__bottom {
    width: 35px;
    height: 2px;
    left: calc((100% - 35px) / 2);
  }
}
.l-mark-menu__markMenu .__markMenu__middle {
  opacity: 1;
  margin-top: -2px;
  transition: opacity 0.3s;
}
.l-mark-menu.is-active .l-mark-menu__markMenu .__markMenu__middle {
  opacity: 0;
}
.l-mark-menu__markMenu .__markMenu__top {
  margin-top: -9px;
}
.l-mark-menu.is-active .l-mark-menu__markMenu .__markMenu__top {
  transform: rotate(45deg) translate(5px, 5px);
}
.l-mark-menu__markMenu .__markMenu__bottom {
  margin-top: 5px;
}
.l-mark-menu.is-active .l-mark-menu__markMenu .__markMenu__bottom {
  transform: rotate(-45deg) translate(5px, -5px);
}
/*====================================================================================
 [2. component]
====================================================================================*/
/* -----------------------------------------------
/* 2-1. Icon      [c-icon-***]
-------------------------------------------------- */
.c-icon {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
}
.c-icon svg {
  height: 100%;
}
/* -----------------------------------------------
/* 2-2. Label      [c-label-***]
-------------------------------------------------- */
.c-label {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #fff;
}
.c-label-dark {
  background-color: var(--theme-color-dark);
}
.c-label-primary {
  background-color: var(--theme-color-primary);
}
/* -----------------------------------------------
/* 2-3. Chevron      [c-chevron-***]
-------------------------------------------------- */
.c-chevron {
  --c-chevron-color: transparent;
  margin-top: 1px;
  margin-left: 2px;
  stroke: var(--c-chevron-color);
}
@media (min-width: 768px) {
  .c-chevron {
    margin-left: 3px;
  }
}
.c-chevron.is-animation {
  -webkit-animation: arrow 0.5s;
  animation: arrow 0.5s;
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}
.c-chevron.-noChangeColor {
  stroke: var(--c-chevron-color) !important;
}
.c-chevron-white {
  stroke: #fff;
}
.c-chevron-primary {
  --c-chevron-color: var(--theme-color-primary);
}
.c-chevron-dark {
  --c-chevron-color: var(--theme-color-dark);
}
/* -----------------------------------------------
/* 2-4. Link      [c-link-***]
-------------------------------------------------- */
.c-link {
  color: var(--theme-color-primary);
  text-decoration: underline !important;
}
.c-link:hover {
  text-decoration: none !important;
}
.c-link-hoverline {
  text-decoration: none !important;
}
.c-link-hoverline:hover {
  text-decoration: underline !important;
}
.c-link-tel {
  color: inherit;
  text-decoration: none !important;
}
@media (min-width: 768px) {
  .c-link-tel {
    cursor: text;
    pointer-events: none;
  }
}
.c-link-dark {
  color: var(--theme-color-dark);
}
/* -----------------------------------------------
/* 2-6. Anchor      [c-anchor-***]
-------------------------------------------------- */
.c-anchor {
  transform: translateY(calc(-1 * var(--headerHeight)));
}
/* -----------------------------------------------
/* 2-7. Language      [c-language-***]
-------------------------------------------------- */
.c-language-ja {
  font-family: YakuHanJP_Noto, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
/* -----------------------------------------------
/* 2-8. Input      [c-input-***]
-------------------------------------------------- */
.c-input {
  border-color: var(--form-border-color);
  border-width: var(--form-border-width);
  border-style: var(--form-border-style);
  background-color: var(--form-background-color);
  border-radius: 0;
  padding-right: 8px;
  padding-left: 8px;
}
.c-input::-moz-placeholder {
  color: var(--form-placeholoder-color);
  font-size: var(--form-placeholder-font-size);
}
.c-input:-ms-input-placeholder {
  color: var(--form-placeholoder-color);
  font-size: var(--form-placeholder-font-size);
}
.c-input::-ms-input-placeholder {
  color: var(--form-placeholoder-color);
  font-size: var(--form-placeholder-font-size);
}
.c-input::placeholder {
  color: var(--form-placeholoder-color);
  font-size: var(--form-placeholder-font-size);
}
@media (min-width: 768px) {
  .c-input {
    padding-right: var(--form-padding-right);
    padding-left: var(--form-padding-left);
  }
}
.c-input-text, .c-input-postal {
  height: var(--form-height);
}
/*====================================================================================
 [3. project]
====================================================================================*/
/* -----------------------------------------------
/* 3-2.  p-icon
-------------------------------------------------- */
.p-icon {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
}
/* -----------------------------------------------
/* 3-4.  p-button
-------------------------------------------------- */
.p-button {
  --p-button-color: transparent;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.5;
  min-width: 168px;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  background-color: var(--p-button-color);
  border-color: var(--p-button-color);
  border-style: solid;
  border-width: 2px;
  border-radius: 100px;
  position: relative;
  overflow: hidden;
  padding-top: 8px;
  padding-right: 36px;
  padding-bottom: 9px;
  padding-left: 36px;
  transition: background-color 0.3s;
}
@media (min-width: 768px) {
  .p-button {
    font-size: max(0.8333333333vw, 1.6rem);
    padding-top: max(0.5208333333vw, 10px);
    padding-right: max(1.875vw, 36px);
    padding-bottom: max(0.46875vw, 9px);
    padding-left: max(1.875vw, 36px);
  }
}
.p-button .p-icon {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}
.p-button .c-chevron {
  stroke: #fff;
  width: auto;
}
@media (min-width: 768px) {
  .p-button .c-chevron {
    height: max(0.8333333333vw, 16px);
  }
}
body.device-pc .p-button:hover, .p-button.is-active {
}
body.device-pc .p-button:hover .c-chevron, .p-button.is-active .c-chevron {
  stroke: var(--p-button-color);
}
.p-button.p-button-outline {
  color: var(--p-button-color);
  background-color: #fff;
}
.p-button.p-button-outline .c-chevron {
  stroke: var(--p-button-color);
}
body.device-pc .p-button.p-button-outline:hover, .p-button.p-button-outline.is-active {
  color: #fff;
  background-color: var(--p-button-color);
}
body.device-pc .p-button.p-button-outline:hover .c-chevron, .p-button.p-button-outline.is-active .c-chevron {
  stroke: #fff;
}
.p-button:disabled {
  pointer-events: none;
  background-color: transparent;
  border-color: transparent;
  color: #a6a6a6;
}
.p-button:disabled .c-chevron {
  stroke: transparent;
}
.p-button-primary {
  /*--p-button-color: var(--theme-color-primary);*/
  background: linear-gradient(90deg, #ed8918, #efa551);
}
.p-button-dark {
  --p-button-color: var(--theme-color-dark);
}
.p-button-gray {
  --p-button-color: #646464;
}
.p-button-reverse .p-icon {
  right: auto;
  left: 15px;
  transform: translateY(-50%) rotate(180deg);
}
/* -----------------------------------------------
/* 3-6.  p-lead
-------------------------------------------------- */
.p-lead__title {
  line-height: 1.6;
  font-size: 2.1rem;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .p-lead__title {
    line-height: 1.875;
    font-size: 3.2rem;
    margin-bottom: 30px;
  }
}
.p-lead__text {
  line-height: 2;
}
/* -----------------------------------------------
/* 3-9.  p-form
-------------------------------------------------- */
/* privacy
-------------------------------------------------------------------- */
.p-form__privacy {
  border: 1px solid #ccc;
  overflow-y: scroll;
  height: 240px;
  margin-top: 20px;
  padding: 20px;
}
@media (min-width: 768px) {
  .p-form__privacy {
    height: 385px;
    margin-top: 24px;
    padding-top: 54px;
    padding-left: 56px;
  }
}
.p-form__privacy ._title {
  font-size: 1.6rem;
  margin-bottom: 27px;
}
@media (min-width: 768px) {
  .p-form__privacy ._title {
    font-size: 2.1rem;
  }
}
.p-form__privacy ._list {
  counter-reset: number 0;
}
.p-form__privacy ._item__title {
  margin-top: 19px;
  display: -ms-flexbox;
  display: flex;
}
.p-form__privacy ._item__title::before {
  counter-increment: number 1;
  content: counter(number) ".";
  margin-right: 4px;
}
.p-form__privacy ._item__body {
  display: -ms-flexbox;
  display: flex;
}
.p-form__privacy ._item__body::before {
  content: counter(number) ".";
  font-weight: bold;
  margin-right: 4px;
  opacity: 0;
}
/* agreement
-------------------------------------------------------------------- */
.p-form__agreement {
  text-align: center;
  margin-top: 28px;
  color: #333;
  font-size: 1.2rem;
}
@media (min-width: 768px) {
  .p-form__agreement {
    margin-top: max(1.3020833333vw, 25px);
    font-size: max(0.7291666667vw, 1.4rem);
  }
}
.p-form__agreement .p-check__label {
  font-weight: 400;
  margin-left: 8px;
}
/* button
-------------------------------------------------------------------- */
.p-form__button {
  margin-top: 16px;
}
@media (min-width: 768px) {
  .p-form__button {
    margin-top: max(1.8229166667vw, 35px);
  }
}
.p-form__buttonList {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}
.p-form__buttonList .p-button {
  min-width: 240px;
  padding-top: 12px;
  padding-bottom: 12px;
  background: linear-gradient(90deg, #ff5e00, #ff7e00);
}
.p-form__buttonList .p-button + .p-button {
  margin-top: 10px;
}
@media (min-width: 768px) {
  .p-form__buttonList .p-button {
    min-width: 330px;
    padding-top: 16px;
    padding-bottom: 16px;
  }
  .p-form__buttonList .p-button + .p-button {
    margin-top: 0px;
  }
}
/*************************************************************************************
.confirm
*************************************************************************************/
/* -----------------------------------------------
/* 3-11.  p-selectBox
-------------------------------------------------- */
.p-selectBox {
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
}
.p-selectBox::after {
  content: "▼";
  position: absolute;
  right: var(--form-padding-right);
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
@media (min-width: 768px) {
  .p-selectBox::after {
    font-size: var(--form-placeholder-font-size);
  }
}
.p-selectBox__select {
  background-color: var(--form-background-color);
  border-color: var(--form-border-color);
  height: var(--form-height);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: calc(var(--form-padding-right) + 2em);
  padding-left: var(--form-padding-left);
  color: var(--theme-color-dark);
  font-size: 1.2rem;
}
@media (min-width: 768px) {
  .p-selectBox__select {
    font-size: var(--form-placeholder-font-size);
  }
}
/* -----------------------------------------------
/* 3-12.  p-check
-------------------------------------------------- */
.p-check__label {
  font-weight: 500;
}
/*====================================================================================
 [4. animation]
====================================================================================*/
/* -----------------------------------------------
/* 4-0. Animation [act-***]
-------------------------------------------------- */
/* 4-0-1.  common
-------------------------------------------------- */
.act-transition {
  transition: 0.3s;
}
.act-fadeInTop, .act-fadeInRight, .act-fadeInLeft, .act-fadeIn {
  opacity: 0;
  transition: opacity 1s ease, transform 1s ease;
}
.is-scrollin.act-fadeInTop, .is-scrollin.act-fadeInRight, .is-scrollin.act-fadeInLeft, .is-scrollin.act-fadeIn {
  opacity: 1;
  transform: none;
}
.iOsChrome .act-fadeInTop, .iOsChrome .act-fadeInRight, .iOsChrome .act-fadeInLeft, .iOsChrome .act-fadeIn {
  opacity: 1;
  transition: none;
  transform: none;
}
.act-fadeIn {
  transform: translateY(30px);
}
.act-fadeInLeft {
  transform: translateX(-30px);
}
.act-fadeInRight {
  transform: translateX(100px);
}
.act-fadeInTop {
  transform: translateY(-60px);
}
.act-fadeDelay00 {
  transition-delay: 0s !important;
}
.act-fadeDelay01 {
  transition-delay: 0.1s !important;
}
.act-fadeDelay02 {
  transition-delay: 0.2s !important;
}
.act-fadeDelay03 {
  transition-delay: 0.3s !important;
}
.act-fadeDelay04 {
  transition-delay: 0.4s !important;
}
.act-fadeDelay05 {
  transition-delay: 0.5s !important;
}
.act-fadeDelay06 {
  transition-delay: 0.6s !important;
}
.act-fadeDelay07 {
  transition-delay: 0.7s !important;
}
.act-fadeDelay08 {
  transition-delay: 0.8s !important;
}
.act-fadeDelay09 {
  transition-delay: 0.9s !important;
}
.act-fadeDelay10 {
  transition-delay: 1s !important;
}
.act-fadeDelay11 {
  transition-delay: 1.1s !important;
}
.act-fadeDelay12 {
  transition-delay: 1.2s !important;
}
.act-fadeDelay13 {
  transition-delay: 1.3s !important;
}
.act-fadeDelay14 {
  transition-delay: 1.4s !important;
}
.act-fadeDelay15 {
  transition-delay: 1.5s !important;
}
.act-fadeDelay16 {
  transition-delay: 1.6s !important;
}
.act-fadeDelay17 {
  transition-delay: 1.7s !important;
}
.act-fadeDelay18 {
  transition-delay: 1.8s !important;
}
.act-fadeDelay19 {
  transition-delay: 1.9s !important;
}
.act-fadeDelay20 {
  transition-delay: 2s !important;
}
.act-zoom {
  position: relative;
  overflow: hidden;
}
.act-zoom img {
  transform: scale(1);
  transition: transform 0.5s ease;
}
.act-zoom:hover img, .act-zoom.is-touch img {
  transform: scale(1.03);
}
/* 4-0-2.  arrow
-------------------------------------------------- */
@-webkit-keyframes arrow {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  40% {
    opacity: 0;
  }
  49.9% {
    opacity: 0;
    transform: translateX(50%);
  }
  50% {
    opacity: 0;
    transform: translateX(-50%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes arrow {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  40% {
    opacity: 0;
  }
  49.9% {
    opacity: 0;
    transform: translateX(50%);
  }
  50% {
    opacity: 0;
    transform: translateX(-50%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* 4-0-3.  image blur
-------------------------------------------------- */
@-webkit-keyframes act-imageBlur {
  from {
    opacity: 0;
    transform: scale(1.05);
    filter: blur(10px);
  }
  to {
    opacity: 1;
    transform: scale(1);
    filter: blur(0px);
  }
}
@keyframes act-imageBlur {
  from {
    opacity: 0;
    transform: scale(1.05);
    filter: blur(10px);
  }
  to {
    opacity: 1;
    transform: scale(1);
    filter: blur(0px);
  }
}
/*====================================================================================
 [5. overlayer]
====================================================================================*/
/* -----------------------------------------------
/* 5-0. OverLayerConfig [z-index]
-------------------------------------------------- */
.l-loader {
  z-index: 100000;
}
._globalNav__bg {
  z-index: 1000;
}
._globalNav__overlay {
  z-index: 10;
}
.l-header, ._globalNav__content {
  z-index: 1001;
}
.l-nav-haeder, ._logo {
  z-index: 2000;
}
.l-mark {
  z-index: 2000;
}
.l-mark-contact, .l-mark-changeLanguage {
  z-index: 100;
}
.p-pagetop {
  z-index: 90;
}
@media (min-width: 768px) {
  .show_pc{ display:block; }
  .show_sp{ display:none; }
}
@media (max-width: 767px) {
  .show_pc{ display:none; }
  .show_sp{ display:block; }
}