@charset "UTF-8";
/* ==========================================================================
	root
========================================================================== */
:root {
  --theme-colorA: #BDAD1F;
  --theme-colorA2: #978B22;
  --chara-green: #649E35;
  --chara-beige: #D6D0A4;
  --chara-dark_blue: #00698B;
  --chara-orange:#DF7337;
  --chara-red:#A72A2A;
  --chara-black:#34352C;
  --base-text-color:#222222;
  --base-chara-gray:#555;
  --base-chara-gray02:#888;
  --base-chara-gray03:#EFEFEF;
  --base-pat:url(../image/common/bg-pat.png);
  --base-bg-color01:#6C6240;
  --base-bg-color02:#34352C;
  --base-bg-color03:#E1E1DF;
  --base-bg-color04:#E9E9E0;
  --easeInQuad:cubic-bezier(.55, .085, .68, .53);
  --easeOutQuad:cubic-bezier(.25, .46, .45, .94);
  --easeInOutQuad:cubic-bezier(0.45, 0, 0.55, 1);
  --easeInOutCubic:cubic-bezier(0.65, 0, 0.35, 1);
  --easePopUp:cubic-bezier(0.17, 0.88, 0.30, 1.28); }

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

html {
  font: normal normal normal 62.5%/1 Hiragino Kaku Gothic Pro, 'ヒラギノ角ゴ Pro W3', 'ヒラギノ角ゴ Pro', 'メイリオ', '游ゴシック体', 'ＭＳ Ｐゴシック', 'Yu Gothic', YuGothic, 'Meiryo', メイリオ, 'MS PGothic', sans-serif;
  font-style: normal;
  font-weight: 400; }

/*
.ie body {
  font-family:  'brandon-grotesque', 'source-han-sans-japanese','Noto Sans JP', 'メイリオ', 'Meiryo', sans-serif;
}
*/
body {
  margin: 0;
  padding: 0;
  background-color: #FFF;
  background-color: white;
  position: relative;
  color: var(--base-text-color);
  text-rendering: optimizeLegibility;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-kerning: normal;
  font-kerning: normal;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  letter-spacing: 0.03em; }

body.nav-open {
  overflow: hidden; }

button, input, select, textarea {
  font-family: inherit;
  font-size: 100%; }

a {
  color: var(--theme-colorA);
  text-decoration: none;
  -webkit-transition: all 0.4s var(--easeOutQuad);
  transition: all 0.4s var(--easeOutQuad); }

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

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

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

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

.pc_off {
  display: none !important; }

.sp_off {
  display: block !Important; }

img.preload {
  display: none; }

::-moz-selection {
  background: var(--theme-colorA); }

::selection {
  background: var(--theme-colorA); }

/* Safari */
::-moz-selection {
  background: var(--theme-colorA); }

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

.en {
  font-family: 'Outfit', sans-serif; }

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

@media (min-width: 851px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
@-webkit-keyframes bouce {
  from, to {
    -webkit-transform: none;
            transform: none; }
  10% {
    -webkit-transform: scale(0.85);
            transform: scale(0.85); }
  40% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  60% {
    -webkit-transform: scale(1.04);
            transform: scale(1.04); }
  80% {
    -webkit-transform: scale(0.98);
            transform: scale(0.98); } }
@keyframes bouce {
  from, to {
    -webkit-transform: none;
            transform: none; }
  10% {
    -webkit-transform: scale(0.85);
            transform: scale(0.85); }
  40% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  60% {
    -webkit-transform: scale(1.04);
            transform: scale(1.04); }
  80% {
    -webkit-transform: scale(0.98);
            transform: scale(0.98); } }
/* ==========================================================================
	ヘッダー
========================================================================== */
.head {
  position: absolute;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 50;
  top: 0;
  height: 90px;
  overflow: hidden; }
  .head h1 {
    position: absolute;
    left: 1.7647058824vw;
    width: 147px;
    top: 15px; }
    .head h1 a {
      display: block; }
  .head.top h1 {
    position: absolute;
    left: 1.7647058824vw;
    width: 55px;
    top: 20px;
    z-index: 10; }
  .head .menu_area {
    width: 100%;
    text-align: center; }
    .head .menu_area a {
      position: relative;
      padding-top: 30px;
      display: inline-block;
      margin: 0 15px;
      width: 96px; }
      .head .menu_area a:nth-child(2) {
        width: 108px; }
      .head .menu_area a:nth-child(3) {
        width: 48px; }
      .head .menu_area a:nth-child(4) {
        width: 60px; }
      .head .menu_area a:nth-child(5) {
        width: 36px; }
      .head .menu_area a:nth-child(6) {
        width: 48px; }
      .head .menu_area a:before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        top: -9px;
        width: 18px;
        height: 18px;
        margin: auto;
        background: var(--theme-colorA);
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        border-radius: 50%;
        -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.61, 1, 0.88, 1);
        transition: -webkit-transform 0.3s cubic-bezier(0.61, 1, 0.88, 1);
        transition: transform 0.3s cubic-bezier(0.61, 1, 0.88, 1);
        transition: transform 0.3s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.3s cubic-bezier(0.61, 1, 0.88, 1); }
      @media (hover: hover) {
        .head .menu_area a:hover .fill-black {
          fill: var(--theme-colorA);
          -webkit-transition: fill 0.3s cubic-bezier(0.61, 1, 0.88, 1);
          transition: fill 0.3s cubic-bezier(0.61, 1, 0.88, 1); }
        .head .menu_area a:hover:before {
          -webkit-transform: translateY(0);
                  transform: translateY(0);
          -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.61, 1, 0.88, 1);
          transition: -webkit-transform 0.3s cubic-bezier(0.61, 1, 0.88, 1);
          transition: transform 0.3s cubic-bezier(0.61, 1, 0.88, 1);
          transition: transform 0.3s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.3s cubic-bezier(0.61, 1, 0.88, 1); } }
  .head.about .menu_area a:first-child .fill-black {
    fill: var(--theme-colorA);
    -webkit-transition: fill 0.3s cubic-bezier(0.61, 1, 0.88, 1);
    transition: fill 0.3s cubic-bezier(0.61, 1, 0.88, 1); }
  .head.about .menu_area a:first-child:before {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  .head.house_cleaning .menu_area a:nth-child(2) .fill-black {
    fill: var(--theme-colorA);
    -webkit-transition: fill 0.3s cubic-bezier(0.61, 1, 0.88, 1);
    transition: fill 0.3s cubic-bezier(0.61, 1, 0.88, 1); }
  .head.house_cleaning .menu_area a:nth-child(2):before {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  .head.works .menu_area a:nth-child(3) .fill-black {
    fill: var(--theme-colorA);
    -webkit-transition: fill 0.3s cubic-bezier(0.61, 1, 0.88, 1);
    transition: fill 0.3s cubic-bezier(0.61, 1, 0.88, 1); }
  .head.works .menu_area a:nth-child(3):before {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  .head.voice .menu_area a:nth-child(4) .fill-black {
    fill: var(--theme-colorA);
    -webkit-transition: fill 0.3s cubic-bezier(0.61, 1, 0.88, 1);
    transition: fill 0.3s cubic-bezier(0.61, 1, 0.88, 1); }
  .head.voice .menu_area a:nth-child(4):before {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  .head.blog .menu_area a:nth-child(5) .fill-black {
    fill: var(--theme-colorA);
    -webkit-transition: fill 0.3s cubic-bezier(0.61, 1, 0.88, 1);
    transition: fill 0.3s cubic-bezier(0.61, 1, 0.88, 1); }
  .head.blog .menu_area a:nth-child(5):before {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  .head.recruit .menu_area a:nth-child(6) .fill-black {
    fill: var(--theme-colorA);
    -webkit-transition: fill 0.3s cubic-bezier(0.61, 1, 0.88, 1);
    transition: fill 0.3s cubic-bezier(0.61, 1, 0.88, 1); }
  .head.recruit .menu_area a:nth-child(6):before {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  .head .tell_area {
    display: inline-block;
    position: absolute;
    top: 20px;
    right: 106px;
    padding-left: 30px;
    z-index: 10; }
    .head .tell_area .icon {
      display: block;
      position: absolute;
      left: 0;
      top: 4px;
      width: 26px; }
    .head .tell_area .en {
      font-size: 20px;
      font-weight: 600;
      color: #6C6240; }
    .head .tell_area .s_txt {
      display: block;
      width: 109px;
      margin-top: 2px; }
  .head .contact_link {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 100px;
    height: 90px; }
    .head .contact_link:before {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 190px;
      height: 190px;
      border-radius: 50%;
      background: var(--chara-black);
      -webkit-transition: background 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: background 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      z-index: 1; }
    @media (hover: hover) {
      .head .contact_link:hover:before {
        background: var(--theme-colorA);
        -webkit-transition: background 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: background 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .head .contact_link:hover .fill-c-themeA {
        fill: #fff;
        -webkit-transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); } }
    .head .contact_link .icon {
      display: block;
      position: absolute;
      right: 27px;
      top: 15px;
      width: 24px;
      z-index: 10; }
    .head .contact_link p {
      display: block;
      position: absolute;
      right: 11px;
      top: 44px;
      width: 53px;
      z-index: 10; }

/* 追従 */
.fixed .hamburger {
  position: fixed;
  opacity: 100;
  visibility: visible;
  top: 4px;
  background: none;
  opacity: 0;
  -webkit-animation: fade .6s linear forwards;
          animation: fade .6s linear forwards;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; }
  .fixed .hamburger:hover .hamburger_bottom {
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px); }

.fixed .head {
  position: fixed;
  width: 100%;
  padding: 0 1.48vw;
  z-index: 500;
  height: 75px;
  background: #fff;
  -webkit-animation: fade .6s linear forwards;
          animation: fade .6s linear forwards;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  overflow: visible; }
  .fixed .head h1 {
    position: absolute;
    left: 1.48vw;
    top: 14px;
    width: 147px; }
    .fixed .head h1 .sp_off {
      display: none !Important; }
    .fixed .head h1 .pc_off {
      display: block !Important; }
    .fixed .head h1 a .cls {
      fill: var(--base-text-color); }
  .fixed .head .menu_area {
    margin-right: 70px; }
    .fixed .head .menu_area .t_link {
      color: var(--base-text-color); }
    .fixed .head .menu_area .w_link {
      background: var(--base-link-color); }
      .fixed .head .menu_area .w_link:hover {
        background: var(--base-text-color); }
      .fixed .head .menu_area .w_link span:before {
        background-image: url(/assets/image/common/menu_w_icon_af.png); }
      .fixed .head .menu_area .w_link:hover span {
        color: #ffc300; }
        .fixed .head .menu_area .w_link:hover span:before {
          background-image: url(/assets/image/common/menu_w_icon_af02.png); }

@-webkit-keyframes fade {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fade {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*派生用*/
#h_mv .head {
  height: 75px;
  background: #fff;
  -webkit-animation: none;
          animation: none; }
  #h_mv .head h1 {
    width: 145px; }

.fixed #h_mv .head {
  height: auto; }

@media screen and (max-width: 1200px) {
  .head .menu_area {
    text-align: right;
    padding-right: 290px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; } }
@media screen and (min-width: 1071px) {
  .hamburger {
    display: none; }

  .global-nav {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-size: cover;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all .4s ease;
    transition: all .4s ease; } }
@media screen and (max-width: 1070px) {
  .head .menu_area {
    display: none; }
  .head .tell_area {
    right: 170px;
    /*
    padding-left: 0;
    z-index: 10;
    top: 15px;
    width: 40px;
    border-radius: 50%;
    height: 40px;
    border: 2px solid #E0E0E0;
    */
    /*
    .icon {
        display: block;
        position: absolute;
        
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        width: 22px;
        height: 22px;
        margin: auto;
    }
    */
    /*
    .en {
        display:none;
    }
    .s_txt {
        display:none;
    }
    */ } }
  @media screen and (max-width: 1070px) and (hover: hover) {
    .head .tell_area:hover {
      background: var(--theme-colorA);
      border-color: var(--theme-colorA);
      -webkit-transition: background 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), border 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: background 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), border 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .head .tell_area:hover .fill-c-themeA {
        fill: #fff !Important; } }
@media screen and (max-width: 1070px) {
  .head .contact_link {
    display: block;
    position: absolute;
    right: 110px;
    top: 15px;
    width: 40px;
    border-radius: 50%;
    height: 40px;
    border: 2px solid #E0E0E0; }
    .head .contact_link:before {
      display: none; } }
  @media screen and (max-width: 1070px) and (hover: hover) {
    .head .contact_link:hover {
      background: var(--theme-colorA);
      border-color: var(--theme-colorA);
      -webkit-transition: background 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), border 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: background 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), border 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); } }
@media screen and (max-width: 1070px) {
    .head .contact_link .icon {
      display: block;
      position: absolute;
      /* right: 0; */
      top: 0;
      bottom: 0;
      height: 22px;
      left: 6px;
      width: 24px;
      margin: auto;
      z-index: 10; }
    .head .contact_link p {
      display: none; }

  /* 追従 */
  .fixed .head {
    position: fixed;
    width: 100%;
    padding: 9px 1.48vw 14px;
    z-index: 500;
    background: #fff;
    -webkit-animation: fade .6s linear forwards;
            animation: fade .6s linear forwards;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }
    .fixed .head h1 {
      position: absolute;
      left: 1.48vw;
      top: 12px; }
      .fixed .head h1 a .cls {
        fill: var(--base-text-color); }
    .fixed .head .menu_area {
      margin-right: 70px; }
      .fixed .head .menu_area .t_link {
        color: var(--base-text-color); }
      .fixed .head .menu_area .w_link {
        background: var(--base-link-color); }
        .fixed .head .menu_area .w_link:hover {
          background: var(--base-text-color); }
        .fixed .head .menu_area .w_link span:before {
          background-image: url(/assets/image/common/menu_w_icon_af.png); }
        .fixed .head .menu_area .w_link:hover span {
          color: #ffc300; }
          .fixed .head .menu_area .w_link:hover span:before {
            background-image: url(/assets/image/common/menu_w_icon_af02.png); }

  /*ハンバーガーメニュー*/
  .global-nav {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-size: cover;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all .4s ease;
    transition: all .4s ease; }

  .hamburger {
    display: block;
    position: absolute;
    right: 20px;
    top: 20px;
    width: 38px;
    height: 23px;
    cursor: pointer;
    z-index: 9999;
    opacity: 100;
    /*
    visibility: hidden;
    */
    -webkit-transition: all .4s ease;
    transition: all .4s ease; }
    .hamburger:before {
      content: "";
      display: block;
      position: absolute;
      left: -31px;
      bottom: -47px;
      width: 190px;
      height: 190px;
      border-radius: 50%;
      background: var(--chara-black);
      z-index: 1; }
    .hamburger span {
      display: block;
      position: absolute;
      width: 100%;
      height: 3px;
      background: var(--theme-colorA);
      z-index: 5;
      top: 0;
      left: 0;
      -webkit-transition: -webkit-transform .4s ease;
      transition: -webkit-transform .4s ease;
      transition: transform .4s ease;
      transition: transform .4s ease, -webkit-transform .4s ease; }
      .hamburger span:nth-child(2) {
        bottom: 0;
        margin: auto; }
      .hamburger span:nth-child(3) {
        top: auto;
        bottom: 0; }

  .fixed .hamburger {
    right: 20px;
    top: 20px; }

  /* 表示された時用のCSS */
  .nav-open .global-nav {
    visibility: inherit;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 100;
    -webkit-transition: all .4s ease;
    transition: all .4s ease; }
    .nav-open .global-nav:before {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      z-index: -1;
      background: #fff;
      width: 100vw;
      height: 100vh; }

  .nav-open .head {
    z-index: 80; }

  .global-nav .navi_wrap {
    position: relative;
    /*
    overflow: hidden;
    */
    width: 100%;
    height: 100%;
    /*
    min-height:845px;
    */
    padding-bottom: 290px;
    background: #fff;
    overflow: scroll;
    height: 100vh; }
  .global-nav .navi_inr {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding-top: 90px;
    padding-bottom: 80px; }
  .global-nav .top_area {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 10; }
    .global-nav .top_area h2 {
      width: 130px;
      position: absolute;
      left: 20px;
      top: 15px; }
  .global-nav .main_link {
    position: relative; }
    .global-nav .main_link a {
      display: block;
      text-align: center;
      padding: 20px 0; }
      .global-nav .main_link a svg {
        width: calc(44px*1.2); }
      .global-nav .main_link a:nth-child(2) svg {
        width: calc(118px*1.2); }
      .global-nav .main_link a:nth-child(3) svg {
        width: calc(130px*1.2); }
      .global-nav .main_link a:nth-child(4) svg {
        width: calc(60px*1.2); }
      .global-nav .main_link a:nth-child(5) svg {
        width: calc(74px*1.2); }
      .global-nav .main_link a:nth-child(6) svg {
        width: calc(44px*1.2); } }
    @media screen and (max-width: 1070px) and (hover: hover) {
      .global-nav .main_link a:hover .fill-black {
        fill: var(--theme-colorA);
        -webkit-transition: fill 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: fill 0.4s cubic-bezier(0.61, 1, 0.88, 1); } }
@media screen and (max-width: 1070px) {
  .global-nav .sub_link {
    position: relative;
    text-align: center;
    margin-top: 24px; }
    .global-nav .sub_link a {
      position: relative;
      display: inline-block;
      margin: 0 15px; }
      .global-nav .sub_link a svg {
        width: calc(45px*1.2); }
      .global-nav .sub_link a:nth-child(2) svg {
        width: calc(68px*1.2); }
      .global-nav .sub_link a:nth-child(3):after {
        content: "";
        display: block;
        position: absolute;
        right: -16px;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 11px;
        height: 11px;
        background: url(/assets/image/common/icon_blank.png);
        background-size: cover; }
      .global-nav .sub_link a:nth-child(3) svg {
        width: calc(45px*1.2); } }
    @media screen and (max-width: 1070px) and (hover: hover) {
      .global-nav .sub_link a:hover .fill-black {
        fill: var(--theme-colorA);
        -webkit-transition: fill 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: fill 0.4s cubic-bezier(0.61, 1, 0.88, 1); } }
@media screen and (max-width: 1070px) {
  .global-nav .contact_link {
    display: block;
    position: absolute;
    right: 65px;
    top: 12px;
    width: 32px;
    height: 32px;
    border: 2px solid #E0E0E0;
    border-radius: 50%; }
    .global-nav .contact_link:before {
      display: none; }
    .global-nav .contact_link .icon {
      display: block;
      position: absolute;
      /* right: 0; */
      top: 0;
      bottom: 0;
      height: 16px;
      left: 6px;
      width: 18px;
      margin: auto;
      z-index: 10; }
    .global-nav .contact_link p {
      display: none; } }
  @media screen and (max-width: 1070px) and (hover: hover) {
    .global-nav .contact_link:hover {
      background: var(--theme-colorA);
      border-color: var(--theme-colorA);
      -webkit-transition: background 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), border 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: background 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), border 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .global-nav .contact_link:hover .fill-c-themeA {
        fill: #fff; } }
@media screen and (max-width: 1070px) {
  .global-nav .tell_area {
    display: inline-block;
    position: absolute;
    right: 109px;
    padding-left: 0;
    z-index: 10;
    top: 12px;
    width: 32px;
    border-radius: 50%;
    height: 32px;
    border: 2px solid #E0E0E0; }
    .global-nav .tell_area .icon {
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      width: 18px;
      height: 18px;
      margin: auto; }
    .global-nav .tell_area .en {
      display: none; }
    .global-nav .tell_area .s_txt {
      display: none; } }
  @media screen and (max-width: 1070px) and (hover: hover) {
    .global-nav .tell_area:hover {
      background: var(--theme-colorA);
      border-color: var(--theme-colorA);
      -webkit-transition: background 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), border 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      transition: background 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), border 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .global-nav .tell_area:hover .fill-c-themeA {
        fill: #fff; } }
@media screen and (max-width: 1070px) {
  .global-nav .menu_tell_area {
    position: relative;
    z-index: 20;
    padding: 44px 0 125px;
    border-top: 1px solid #E0E0E0;
    border-bottom: 1px solid #E0E0E0;
    margin-top: 65px;
    overflow: hidden; }
    .global-nav .menu_tell_area .text_box {
      text-align: center; }
    .global-nav .menu_tell_area .foot_tell_tit {
      display: block;
      width: 221px;
      margin: 0 auto 9px; }
    .global-nav .menu_tell_area span.en {
      display: block;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 0.05em;
      margin-bottom: 5px;
      color: #A0A0A0; }
    .global-nav .menu_tell_area a {
      position: relative;
      display: inline-block;
      padding-left: 45px;
      font-size: 42px;
      font-weight: 700;
      color: var(--theme-colorA);
      letter-spacing: 0.025em;
      pointer-events: none;
      margin-bottom: 12px; }
      .global-nav .menu_tell_area a .icon {
        display: block;
        position: absolute;
        left: 0;
        top: 5px;
        width: 35px; }
    .global-nav .menu_tell_area .s_txt {
      display: block;
      font-size: 14px;
      color: var(--base-chara-gray); }
    .global-nav .menu_tell_area .l_illusts {
      position: absolute;
      left: calc(50% - 126px);
      bottom: -40px;
      width: 126px; }
    .global-nav .menu_tell_area .bubble {
      display: block;
      position: absolute;
      width: 118px;
      right: -44px;
      top: -27px;
      z-index: -1; }
    .global-nav .menu_tell_area .r_illusts {
      position: absolute;
      right: calc(50% - 126px);
      bottom: -40px;
      width: 126px;
      z-index: 10; }
  .global-nav .btm_area {
    position: relative;
    padding-top: 40px;
    text-align: center; }
    .global-nav .btm_area p {
      font-size: 14px;
      font-weight: 700;
      line-height: 1.4;
      margin-bottom: 5px; }
    .global-nav .btm_area span {
      font-size: 14px;
      font-weight: 500;
      line-height: 1.4; }
    .global-nav .btm_area .sns_links {
      margin-top: 20px;
      text-align: center; }
    .global-nav .btm_area a {
      display: inline-block;
      width: 24px;
      margin: 0 5px; } }
    @media screen and (max-width: 1070px) and (hover: hover) {
      .global-nav .btm_area a:hover {
        -webkit-animation: bouce .6s;
        animation: bouce .6s; } }

@media screen and (max-width: 1070px) {
  /* 表示された時用のCSS */
  .nav-open .hamburger {
    opacity: 100;
    visibility: visible; }

  .nav-open .hamburger span {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg);
    top: 0;
    bottom: 0;
    margin: auto;
    -webkit-transition: -webkit-transform .4s ease;
    transition: -webkit-transform .4s ease;
    transition: transform .4s ease;
    transition: transform .4s ease, -webkit-transform .4s ease; }

  .nav-open .hamburger span:nth-child(2) {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg);
    top: 0;
    bottom: 0;
    -webkit-transition: -webkit-transform .4s ease;
    transition: -webkit-transform .4s ease;
    transition: transform .4s ease;
    transition: transform .4s ease, -webkit-transform .4s ease; }

  .nav-open .hamburger span:last-child {
    opacity: 0; }

  .nav-open .global-nav .contact_link {
    right: 95px; }

  .nav-open .global-nav .tell_area {
    right: 139px; } }
@media screen and (min-width: 801px) {
  .hamburger:hover span:first-child {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px); }
  .hamburger:hover span:last-child {
    -webkit-transform: translateY(2px);
            transform: translateY(2px); }

  .nav-open .hamburger:hover span:first-child {
    -webkit-transform: rotate(30deg);
            transform: rotate(30deg);
    top: 0;
    bottom: 0;
    margin: auto;
    -webkit-transition: -webkit-transform .4s ease;
    transition: -webkit-transform .4s ease;
    transition: transform .4s ease;
    transition: transform .4s ease, -webkit-transform .4s ease; }

  .nav-open .hamburger:hover span:nth-child(2) {
    -webkit-transform: rotate(-30deg);
            transform: rotate(-30deg);
    top: 0;
    bottom: 0;
    -webkit-transition: -webkit-transform .4s ease;
    transition: -webkit-transform .4s ease;
    transition: transform .4s ease;
    transition: transform .4s ease, -webkit-transform .4s ease; } }
@media screen and (max-width: 800px) {
  .head h1 {
    left: 15px;
    width: 118px;
    top: 12px; }
  .head.top h1 {
    left: 15px;
    width: 118px;
    top: 12px; }
  .head .menu_area {
    display: none; }
  .head .tell_area {
    right: 109px;
    padding-left: 0;
    z-index: 10;
    top: 12px;
    width: 32px;
    border-radius: 50%;
    height: 32px;
    border: 2px solid #E0E0E0; }
    .head .tell_area .icon {
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      width: 18px;
      height: 18px;
      margin: auto; }
    .head .tell_area .en {
      display: none; }
    .head .tell_area .s_txt {
      display: none; }
  .head .contact_link {
    display: block;
    position: absolute;
    right: 65px;
    top: 12px;
    width: 32px;
    height: 32px; }
    .head .contact_link .icon {
      height: 16px;
      left: 6px;
      width: 18px; }

  /* 追従 */
  .fixed .hamburger {
    position: fixed;
    opacity: 100;
    visibility: visible;
    top: 25px;
    right: 13px;
    background: none;
    opacity: 0;
    -webkit-animation: fade .6s linear forwards;
            animation: fade .6s linear forwards;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }

  .fixed .head {
    position: fixed;
    width: 100%;
    padding: 9px 1.48vw 14px;
    z-index: 500;
    height: 60px;
    background: #fff;
    -webkit-animation: fade .6s linear forwards;
            animation: fade .6s linear forwards;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }
    .fixed .head h1 {
      position: absolute;
      left: 1.48vw;
      top: 12px; }
      .fixed .head h1 a .cls {
        fill: var(--base-text-color); }
    .fixed .head .menu_area {
      margin-right: 70px; }
      .fixed .head .menu_area .t_link {
        color: var(--base-text-color); }
      .fixed .head .menu_area .w_link {
        background: var(--base-link-color); }
        .fixed .head .menu_area .w_link:hover {
          background: var(--base-text-color); }
        .fixed .head .menu_area .w_link span:before {
          background-image: url(/assets/image/common/menu_w_icon_af.png); }
        .fixed .head .menu_area .w_link:hover span {
          color: #ffc300; }
          .fixed .head .menu_area .w_link:hover span:before {
            background-image: url(/assets/image/common/menu_w_icon_af02.png); }

  .hamburger {
    /*
    right: 12px;
    top: 17px;
    */
    right: 13px;
    top: 25px;
    width: 25px;
    height: 14px; }
    .hamburger:before {
      content: "";
      display: block;
      position: absolute;
      left: -24px;
      /*
      bottom: -29px;
      */
      bottom: -32px;
      width: 130px;
      height: 130px; }
    .hamburger span {
      height: 2px; }

  /* 表示された時用のCSS */
  .global-nav .navi_wrap {
    padding-bottom: 12px; }
  .global-nav .navi_inr {
    padding-top: 84px; }
  .global-nav .top_area h2 {
    width: 118px;
    left: 15px;
    top: 12px; }
  .global-nav .main_link a {
    padding: 17px 0; }
    .global-nav .main_link a svg {
      width: 44px; }
    .global-nav .main_link a:nth-child(2) svg {
      width: 118px; }
    .global-nav .main_link a:nth-child(3) svg {
      width: 130px; }
    .global-nav .main_link a:nth-child(4) svg {
      width: 60px; }
    .global-nav .main_link a:nth-child(5) svg {
      width: 74px; }
    .global-nav .main_link a:nth-child(6) svg {
      width: 44px; }
  .global-nav .sub_link {
    margin-top: 10px; }
    .global-nav .sub_link a {
      margin: 0 20px; }
      .global-nav .sub_link a svg {
        width: 45px; }
      .global-nav .sub_link a:nth-child(2) svg {
        width: 68px; }
      .global-nav .sub_link a:nth-child(3):after {
        right: -14px;
        width: 9px;
        height: 9px; }
      .global-nav .sub_link a:nth-child(3) svg {
        width: 45px; }
  .global-nav .menu_tell_area {
    padding: 25px 0 110px;
    margin-top: 60px; }
    .global-nav .menu_tell_area .foot_tell_tit {
      width: 165px; }
    .global-nav .menu_tell_area span.en {
      font-size: 12px;
      margin-bottom: 12px; }
    .global-nav .menu_tell_area a {
      padding-left: 0;
      margin-left: 36px;
      font-size: 32px;
      margin-bottom: 11px;
      border-bottom: dashed 2px var(--theme-colorA); }
      .global-nav .menu_tell_area a .icon {
        left: -36px;
        top: 5px;
        width: 28px; }
    .global-nav .menu_tell_area .s_txt {
      font-size: 12px; }
    .global-nav .menu_tell_area .l_illusts {
      position: absolute;
      left: calc(50% - 126px);
      bottom: -40px;
      width: 126px; }
    .global-nav .menu_tell_area .bubble {
      width: 90px;
      right: -22px;
      top: -21px; }
    .global-nav .menu_tell_area .r_illusts {
      position: absolute;
      right: calc(50% - 126px);
      bottom: -40px;
      width: 126px;
      z-index: 10; }
  .global-nav .btm_area {
    padding-top: 32px; }
    .global-nav .btm_area p {
      font-size: 12px;
      margin-bottom: 2px; }
    .global-nav .btm_area span {
      font-size: 12px; }
    .global-nav .btm_area .sns_links {
      margin-top: 22px; }

  .fixed .head h1 {
    width: 118px; }

  .nav-open .global-nav .contact_link {
    right: 65px; }

  .nav-open .global-nav .tell_area {
    right: 109px; } }
/* ==========================================================================
	h_mv
========================================================================== */
#h_mv {
  position: absolute;
  z-index: 40;
  margin-top: 80px;
  width: 100%;
  height: 560px;
  /*
  &:after{
      content:"";
      display: block;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 0 180px 100vw;
      border-color: transparent transparent #fff transparent;
      z-index:1;
  }
  */ }
  #h_mv:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 67.858%, 0% 100%);
            clip-path: polygon(0 0, 100% 0, 100% 67.858%, 0% 100%);
    background: url(/assets/image/common/h_mv_bg.jpg) center center;
    background-size: cover;
    z-index: 1; }
  #h_mv .en {
    display: block;
    position: absolute;
    text-align: right;
    font-size: 20px;
    font-weight: 500;
    color: #fff;
    letter-spacing: 0.05em;
    text-shadow: 0px 4px 0px rgba(95, 87, 58, 0.25), 0 2px 0px rgba(95, 87, 58, 0.75);
    -webkit-transform: rotate(-10.5deg);
    transform: rotate(-10.5deg);
    text-transform: uppercase;
    font-style: italic;
    z-index: 2; }
  #h_mv .mv_logo {
    display: block;
    position: absolute;
    left: -22px;
    top: -12px;
    width: 430px;
    height: 430px;
    z-index: 2;
    mix-blend-mode: overlay;
    opacity: .15; }
  #h_mv .pan {
    display: block;
    position: absolute;
    right: 7.35vw;
    bottom: 29px;
    z-index: 10;
    text-align: right; }
    #h_mv .pan a {
      position: relative;
      display: inline-block;
      font-size: 12px;
      color: var(--theme-colorA);
      margin-right: 26px; }
      #h_mv .pan a:before {
        content: "";
        display: block;
        position: absolute;
        right: 0;
        bottom: -2px;
        width: 100%;
        height: 1px;
        background: var(--theme-colorA);
        -webkit-transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      @media (hover: hover) {
        #h_mv .pan a:hover:before {
          opacity: 0;
          -webkit-transform: translateY(3px);
                  transform: translateY(3px);
          -webkit-transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); } }
      #h_mv .pan a + a:after {
        content: "";
        display: block;
        position: absolute;
        left: -15px;
        top: 4px;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #d9d9d9; }
    #h_mv .pan span {
      position: relative;
      display: inline-block;
      font-size: 12px;
      color: #555; }
      #h_mv .pan span:before {
        content: "";
        display: block;
        position: absolute;
        left: -15px;
        top: 4px;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #d9d9d9; }
  #h_mv .sns_area {
    width: 24px;
    height: 104px;
    position: absolute;
    right: 2.05vw;
    top: 0;
    bottom: 32.142%;
    margin: auto;
    z-index: 40;
    opacity: 1; }
    #h_mv .sns_area a {
      display: block; }
      #h_mv .sns_area a:nth-child(2) {
        margin: 16px 0; }
      @media (hover: hover) {
        #h_mv .sns_area a:hover {
          -webkit-animation: bouce .6s;
          animation: bouce .6s; } }

@media screen and (max-width: 800px) {
  #h_mv {
    margin-top: 60px;
    height: 280px;
    /*
    &:after{
        border-width: 0 0 50px 100vw;
    }
    */ }
    #h_mv:after {
      -webkit-clip-path: polygon(0 0, 100% 0, 100% 82.15%, 0% 100%);
              clip-path: polygon(0 0, 100% 0, 100% 82.15%, 0% 100%); }
    #h_mv .en {
      font-size: 14px; }
    #h_mv .mv_logo {
      left: -9px;
      top: -4px;
      width: 150px;
      height: 150px; }
    #h_mv .pan {
      right: 8vw;
      bottom: 0; }
      #h_mv .pan a {
        font-size: 10px;
        margin-right: 20px; }
      #h_mv .pan span {
        font-size: 10px; }
        #h_mv .pan span:before {
          left: -14px;
          top: 3px;
          width: 4px;
          height: 4px; } }
/* ==========================================================================
	foot_contact
========================================================================== */
.foot_contact {
  position: relative;
  width: 100%;
  padding-top: 56px;
  z-index: 30;
  overflow: hidden; }
  .foot_contact .text_area {
    /*
    padding-bottom: 58px;
    */
    text-align: center; }
    .foot_contact .text_area h2 {
      position: relative;
      width: 295px;
      margin: 0 auto 23px; }
    .foot_contact .text_area p {
      text-align: center;
      margin-bottom: 58px; }
  .foot_contact.index {
    padding-top: 0;
    overflow: visible; }
    .foot_contact.index .text_area {
      padding-bottom: 0; }
      .foot_contact.index .text_area h2 {
        -webkit-transform: translateY(-80px);
                transform: translateY(-80px);
        margin-bottom: -57px; }
  .foot_contact .link_list {
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-top: 1px solid #E0E0E0;
    border-bottom: 1px solid #E0E0E0;
    overflow: hidden; }
    .foot_contact .link_list a {
      position: relative;
      display: block;
      width: 33%;
      padding: 51px 0 43px;
      z-index: 4;
      padding-left: 38px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      .foot_contact .link_list a:before {
        content: "";
        display: block;
        position: absolute;
        left: -5%;
        top: 0;
        width: 0;
        height: 100%;
        background: #F6F6F3;
        z-index: 2;
        -webkit-transition: width .4s ease;
        transition: width .4s ease;
        -webkit-transform: skewX(-10.5deg);
                transform: skewX(-10.5deg); }
      .foot_contact .link_list a:nth-child(2) {
        z-index: 10;
        width: 34%; }
        .foot_contact .link_list a:nth-child(2):before {
          left: 0; }
        .foot_contact .link_list a:nth-child(2):after {
          content: "";
          display: block;
          position: absolute;
          left: 0;
          right: 0;
          top: 0;
          bottom: 0;
          margin: auto;
          border-left: 1px solid #E0E0E0;
          border-right: 1px solid #E0E0E0;
          width: 100%;
          height: 100%;
          z-index: 1;
          background: #fff;
          -webkit-transform: skewX(-10.5deg);
                  transform: skewX(-10.5deg); }
      .foot_contact .link_list a:nth-child(3):before {
        left: -5%; }
      .foot_contact .link_list a div {
        position: relative;
        padding-left: 55px;
        z-index: 10; }
      .foot_contact .link_list a p {
        position: relative;
        width: 200px;
        margin-bottom: 8px; }
      .foot_contact .link_list a:nth-child(2) p {
        width: 214px; }
      .foot_contact .link_list a:nth-child(3) p {
        width: 138px; }
      .foot_contact .link_list a .icon {
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        width: 40px;
        height: 40px; }
      .foot_contact .link_list a .en {
        font-size: 14px;
        color: #A0A0A0; }
      .foot_contact .link_list a .ar {
        display: block;
        position: absolute;
        right: 10px;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 46px;
        height: 46px;
        background: url(/assets/image/common/b_link_icon.png);
        background-size: cover;
        z-index: 5; }
      @media (hover: hover) {
        .foot_contact .link_list a:hover:before {
          width: 110%;
          -webkit-transition: width .4s ease;
          transition: width .4s ease; }
        .foot_contact .link_list a:hover:nth-child(2):before {
          width: 100%; } }
  .foot_contact .tell_area {
    position: relative;
    z-index: 20;
    padding: 40px 0 45px;
    border-bottom: 1px solid #E0E0E0; }
    .foot_contact .tell_area .text_box {
      text-align: center; }
    .foot_contact .tell_area .foot_tell_tit {
      display: block;
      width: 221px;
      margin: 0 auto 9px; }
    .foot_contact .tell_area span.en {
      display: block;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 0.05em;
      margin-bottom: 5px;
      color: #A0A0A0; }
    .foot_contact .tell_area a {
      position: relative;
      display: inline-block;
      padding-left: 58px;
      font-size: 48px;
      font-weight: 700;
      color: var(--theme-colorA);
      letter-spacing: 0.025em;
      pointer-events: none;
      margin-bottom: 12px; }
      .foot_contact .tell_area a .icon {
        display: block;
        position: absolute;
        left: 0;
        top: 5px;
        width: 40px; }
    .foot_contact .tell_area .s_txt {
      display: block;
      font-size: 14px;
      color: var(--base-chara-gray); }
    .foot_contact .tell_area .l_illusts {
      position: absolute;
      left: calc(50% - 508px);
      bottom: 0;
      width: 198px; }
    .foot_contact .tell_area .bubble {
      display: block;
      position: absolute;
      width: 118px;
      right: -24px;
      top: -37px;
      z-index: 10; }
    .foot_contact .tell_area .r_illusts {
      position: absolute;
      right: calc(50% - 535px);
      bottom: 0;
      width: 196px; }

@media screen and (max-width: 1050px) {
  .foot_contact .link_list a {
    width: 100%;
    padding-left: 38px; }
    .foot_contact .link_list a:before {
      -webkit-transform: skewX(0deg);
              transform: skewX(0deg); }
    .foot_contact .link_list a:nth-child(2) {
      width: 100%; }
      .foot_contact .link_list a:nth-child(2):after {
        border-top: 1px solid #E0E0E0;
        border-bottom: 1px solid #E0E0E0;
        border-left: none;
        border-right: none;
        -webkit-transform: skewX(0deg);
        transform: skewX(0deg); }
  .foot_contact .tell_area .l_illusts {
    left: -5px; }
  .foot_contact .tell_area .r_illusts {
    right: -15px; } }
@media screen and (max-width: 800px) {
  .foot_contact {
    padding-top: 40px;
    margin: 0 auto; }
    .foot_contact .text_area {
      padding-bottom: 35px;
      width: 92%;
      margin: 0 auto; }
      .foot_contact .text_area h2 {
        width: 197px;
        margin: 0 auto 13px; }
      .foot_contact .text_area p {
        width: 91.3%;
        text-align: left;
        margin: 0 auto; }
    .foot_contact.index {
      padding-top: 0; }
      .foot_contact.index .text_area {
        padding-bottom: 35px; }
        .foot_contact.index .text_area h2 {
          -webkit-transform: translateY(0);
                  transform: translateY(0);
          margin-bottom: 13px; }
    .foot_contact .link_list {
      overflow: hidden; }
      .foot_contact .link_list a {
        padding: 39px 0 35px;
        padding-left: 8vw; }
        .foot_contact .link_list a div {
          padding-left: 48px; }
        .foot_contact .link_list a p {
          width: 168px;
          margin-bottom: 6px; }
        .foot_contact .link_list a:nth-child(2) p {
          width: 180px; }
        .foot_contact .link_list a:nth-child(3) p {
          width: 116px; }
        .foot_contact .link_list a .icon {
          width: 36px;
          height: 36px;
          top: -2px; }
        .foot_contact .link_list a .en {
          font-size: 12px; }
        .foot_contact .link_list a .ar {
          width: 46px;
          height: 46px; }
    .foot_contact .tell_area {
      padding: 40px 0 186px;
      overflow: hidden; }
      .foot_contact .tell_area .foot_tell_tit {
        width: 165px;
        margin: 0 auto 8px; }
      .foot_contact .tell_area span.en {
        font-size: 12px;
        margin-bottom: 12px; }
      .foot_contact .tell_area a {
        pointer-events: all;
        padding-left: 0;
        margin-left: 36px;
        font-size: 32px;
        margin-bottom: 11px;
        border-bottom: dashed 2px var(--theme-colorA); }
        .foot_contact .tell_area a .icon {
          left: -36px;
          top: 5px;
          width: 28px; }
      .foot_contact .tell_area .s_txt {
        font-size: 12px; }
      .foot_contact .tell_area .l_illusts {
        position: absolute;
        left: calc(50% - 153px);
        bottom: -14px;
        width: 158px; }
      .foot_contact .tell_area .bubble {
        width: 100px;
        right: -22px;
        top: -32px;
        z-index: -1; }
      .foot_contact .tell_area .r_illusts {
        position: absolute;
        right: calc(50% - 153px);
        bottom: -14px;
        width: 156px;
        z-index: 10; } }
/* ==========================================================================
	footer
========================================================================== */
.footer {
  position: relative;
  padding-top: 93px;
  padding-bottom: 142px;
  overflow: hidden; }
  .footer .con_inr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .footer .l_box {
    width: 277px; }
    .footer .l_box h2 {
      width: 214px;
      margin-bottom: 20px; }
    .footer .l_box p {
      font-size: 14px;
      line-height: 1.4;
      font-weight: 700;
      color: #555;
      margin-bottom: 7px; }
    .footer .l_box span {
      font-size: 14px;
      line-height: 1.4;
      font-weight: 700;
      color: #555;
      opacity: .7;
      letter-spacing: 0; }
  .footer .r_box {
    text-align: right;
    width: 605px; }
    .footer .r_box li {
      display: inline-block;
      margin-left: 24px;
      width: 43px; }
      .footer .r_box li:first-child {
        margin-left: 0; }
      .footer .r_box li:nth-child(2) {
        width: 117px; }
      .footer .r_box li:nth-child(3) {
        width: 129px; }
      .footer .r_box li:nth-child(4) {
        width: 59px; }
      .footer .r_box li:nth-child(5) {
        width: 73px; }
      .footer .r_box li:nth-child(6) {
        width: 43px; }
      .footer .r_box li a {
        position: relative;
        display: inline-block;
        width: 100%; }
        .footer .r_box li a img {
          width: 100%;
          -webkit-transition: opacity .4s ease;
          transition: opacity .4s ease; }
        .footer .r_box li a img:nth-child(2) {
          opacity: 0;
          position: absolute;
          left: 0;
          top: 0; }
        @media (hover: hover) {
          .footer .r_box li a:hover img {
            opacity: 0;
            -webkit-transition: opacity .4s ease;
            transition: opacity .4s ease; }
          .footer .r_box li a:hover img:nth-child(2) {
            opacity: 100; } }
    .footer .r_box .s_links {
      margin: 22px 0 47px; }
      .footer .r_box .s_links a {
        position: relative;
        display: inline-block;
        margin-left: 20px;
        width: 45px; }
        .footer .r_box .s_links a:first-child {
          margin-left: 0; }
        .footer .r_box .s_links a:nth-child(2) {
          width: 67px; }
        .footer .r_box .s_links a:nth-child(3) {
          width: 45px;
          margin-right: 19px; }
          .footer .r_box .s_links a:nth-child(3):after {
            content: "";
            display: block;
            position: absolute;
            right: -16px;
            top: 0;
            bottom: 0;
            margin: auto;
            width: 11px;
            height: 11px;
            background: url(/assets/image/common/icon_blank.png);
            background-size: cover; }
        .footer .r_box .s_links a img {
          -webkit-transition: opacity .4s ease;
          transition: opacity .4s ease; }
        .footer .r_box .s_links a img:nth-child(2) {
          opacity: 0;
          position: absolute;
          left: 0;
          top: 0; }
        @media (hover: hover) {
          .footer .r_box .s_links a:hover img {
            opacity: 0;
            -webkit-transition: opacity .4s ease;
            transition: opacity .4s ease; }
          .footer .r_box .s_links a:hover img:nth-child(2) {
            opacity: 100; } }
    .footer .r_box .sns_links a {
      display: inline-block;
      width: 24px;
      margin-left: 20px; }
      @media (hover: hover) {
        .footer .r_box .sns_links a:hover {
          -webkit-animation: bouce .6s;
          animation: bouce .6s; } }
  .footer .b_box {
    position: relative;
    width: 100%;
    margin-top: 94px;
    z-index: 15; }
    .footer .b_box h3 {
      position: absolute;
      right: 0;
      top: -36px;
      width: 155px; }
      @media (hover: hover) {
        .footer .b_box h3 a:hover {
          opacity: .6; } }
    .footer .b_box .en {
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 0.025em;
      color: #222; }
  .footer .pagetop {
    display: block;
    width: 230px;
    height: 285px;
    position: absolute;
    left: 0;
    margin: auto;
    right: 0;
    bottom: -142px;
    z-index: 20; }
    .footer .pagetop span {
      display: block;
      width: 66px;
      height: 66px;
      border: 2px solid #222;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      border-radius: 50%;
      z-index: 20;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 50px;
      margin: auto;
      background: url(/assets/image/common/pagetop_bg.png) #fff;
      background-size: cover;
      -webkit-transition: background .4s ease;
      transition: background .4s ease; }
    @media (hover: hover) {
      .footer .pagetop:hover span {
        background: url(/assets/image/common/pagetop_bg_af.png) var(--theme-colorA);
        background-size: cover;
        -webkit-transition: background .4s ease;
        transition: background .4s ease; } }
  .footer .l_illust {
    position: absolute;
    width: 90px;
    bottom: -124px;
    left: calc(50% - 304px);
    z-index: 10; }
  .footer .c_illust {
    position: absolute;
    width: 138px;
    bottom: -142px;
    left: calc(50% - 49px);
    z-index: 10; }
    .footer .c_illust .bubble {
      display: block;
      width: 120px;
      position: absolute;
      left: -67px;
      top: -38px;
      z-index: -1; }
  .footer .r_illust {
    position: absolute;
    width: 101px;
    bottom: -132px;
    left: calc(50% + 203px);
    z-index: 10; }
  .footer:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 50vw 182px 50vw;
    border-color: transparent transparent #34352C transparent;
    z-index: 1; }

@media screen and (max-width: 1080px) {
  .footer .r_box {
    width: 350px; }
    .footer .r_box li:first-child {
      margin-bottom: 15px; } }
@media screen and (max-width: 800px) {
  .footer {
    padding-top: 60px;
    padding-bottom: 210px;
        /*
        .pagetop {
            width: 48px;
            height: 48px;
            bottom: -185px;
            }
*/ }
    .footer .con_inr {
      display: block; }
    .footer .l_box {
      width: 100%;
      text-align: center; }
      .footer .l_box h2 {
        width: 180px;
        margin: 0 auto 15px; }
      .footer .l_box p {
        display: block;
        font-size: 12px;
        margin-bottom: 2px; }
      .footer .l_box span {
        font-size: 12px; }
    .footer .r_box {
      text-align: center;
      width: 100%;
      margin-top: 13px; }
      .footer .r_box li {
        display: block;
        margin: 0 auto;
        width: 100%;
        padding: 17px 0; }
        .footer .r_box li:first-child {
          margin-bottom: 0; }
        .footer .r_box li a img {
          width: 44px; }
        .footer .r_box li a img:nth-child(2) {
          right: 0;
          margin: auto; }
        .footer .r_box li:nth-child(2) {
          width: 100%; }
          .footer .r_box li:nth-child(2) a img {
            width: 118px; }
        .footer .r_box li:nth-child(3) {
          width: 100%; }
          .footer .r_box li:nth-child(3) a img {
            width: 130px; }
        .footer .r_box li:nth-child(4) {
          width: 100%; }
          .footer .r_box li:nth-child(4) a img {
            width: 60px; }
        .footer .r_box li:nth-child(5) {
          width: 100%; }
          .footer .r_box li:nth-child(5) a img {
            width: 74px; }
        .footer .r_box li:nth-child(6) {
          width: 100%; }
          .footer .r_box li:nth-child(6) a img {
            width: 44px; }
        .footer .r_box li a {
          display: block; }
      .footer .r_box .s_links {
        margin: 10px 0 30px; }
        .footer .r_box .s_links a {
          display: inline-block;
          margin: 0 10px;
          width: 45px; }
          .footer .r_box .s_links a:first-child {
            margin-left: 0; }
          .footer .r_box .s_links a:nth-child(2) {
            width: 67px; }
          .footer .r_box .s_links a:nth-child(3) {
            width: 45px; }
            .footer .r_box .s_links a:nth-child(3):after {
              right: -14px;
              width: 9px;
              height: 9px; }
          .footer .r_box .s_links a img {
            -webkit-transition: opacity .4s ease;
            transition: opacity .4s ease; }
          .footer .r_box .s_links a img:nth-child(2) {
            opacity: 0;
            position: absolute;
            left: 0;
            top: 0; } }
        @media screen and (max-width: 800px) and (hover: hover) {
          .footer .r_box .s_links a:hover img {
            opacity: 0;
            -webkit-transition: opacity .4s ease;
            transition: opacity .4s ease; }
          .footer .r_box .s_links a:hover img:nth-child(2) {
            opacity: 100; } }
@media screen and (max-width: 800px) {
      .footer .r_box .sns_links {
        text-align: center; }
        .footer .r_box .sns_links a {
          display: inline-block;
          width: 24px;
          margin-left: 20px; }
    .footer .b_box {
      margin-top: 39px;
      text-align: center; }
      .footer .b_box h3 {
        position: relative;
        right: auto;
        top: auto;
        width: 80px;
        margin: 0 auto 30px; }
      .footer .b_box .en {
        font-size: 12px; }
    .footer .pagetop {
      width: 160px;
      height: 185px;
      bottom: -213px; }
      .footer .pagetop span {
        width: 48px;
        height: 48px;
        bottom: 25px; }
    .footer .l_illust {
      width: 45px;
      bottom: -206px;
      left: calc(50% - 128px); }
    .footer .c_illust {
      width: 86px;
      bottom: -210px;
      left: calc(50% - 27px);
      z-index: 10; }
      .footer .c_illust .bubble {
        width: 90px;
        left: -52px;
        top: -28px; }
    .footer .r_illust {
      width: 50px;
      bottom: -206px;
      left: calc(50% + 93px);
      z-index: 10; }
    .footer:after {
      border-width: 0 50vw 50px 50vw; } }
/* ==========================================================================
	inview
========================================================================== */
.inview.bt {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: all 0.4s var(--easePopUp);
  transition: all 0.4s var(--easePopUp); }

.inview.bt.move {
  opacity: 100;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: all 0.4s var(--easePopUp);
  transition: all 0.4s var(--easePopUp);
  -webkit-transition-delay: .2s;
          transition-delay: .2s; }

.inview.lr {
  -webkit-transform: translateX(-30px);
          transform: translateX(-30px);
  opacity: 0;
  -webkit-transition: transform 0.9s var(--easeOutQuad), opacity 0.9s var(--easeOutQuad);
  -webkit-transition: opacity 0.9s var(--easeOutQuad), -webkit-transform 0.9s var(--easeOutQuad);
  transition: opacity 0.9s var(--easeOutQuad), -webkit-transform 0.9s var(--easeOutQuad);
  transition: transform 0.9s var(--easeOutQuad), opacity 0.9s var(--easeOutQuad);
  transition: transform 0.9s var(--easeOutQuad), opacity 0.9s var(--easeOutQuad), -webkit-transform 0.9s var(--easeOutQuad); }

.inview.lr.move {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 100;
  -webkit-transition: transform 0.9s var(--easeOutQuad), opacity 0.9s var(--easeOutQuad);
  -webkit-transition: opacity 0.9s var(--easeOutQuad), -webkit-transform 0.9s var(--easeOutQuad);
  transition: opacity 0.9s var(--easeOutQuad), -webkit-transform 0.9s var(--easeOutQuad);
  transition: transform 0.9s var(--easeOutQuad), opacity 0.9s var(--easeOutQuad);
  transition: transform 0.9s var(--easeOutQuad), opacity 0.9s var(--easeOutQuad), -webkit-transform 0.9s var(--easeOutQuad); }

.inview.rl {
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
  opacity: 0;
  -webkit-transition: transform 0.9s var(--easeOutQuad), opacity 0.9s var(--easeOutQuad);
  -webkit-transition: opacity 0.9s var(--easeOutQuad), -webkit-transform 0.9s var(--easeOutQuad);
  transition: opacity 0.9s var(--easeOutQuad), -webkit-transform 0.9s var(--easeOutQuad);
  transition: transform 0.9s var(--easeOutQuad), opacity 0.9s var(--easeOutQuad);
  transition: transform 0.9s var(--easeOutQuad), opacity 0.9s var(--easeOutQuad), -webkit-transform 0.9s var(--easeOutQuad); }

.inview.rl.move {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 100;
  -webkit-transition: transform 0.9s var(--easeOutQuad), opacity 0.9s var(--easeOutQuad);
  -webkit-transition: opacity 0.9s var(--easeOutQuad), -webkit-transform 0.9s var(--easeOutQuad);
  transition: opacity 0.9s var(--easeOutQuad), -webkit-transform 0.9s var(--easeOutQuad);
  transition: transform 0.9s var(--easeOutQuad), opacity 0.9s var(--easeOutQuad);
  transition: transform 0.9s var(--easeOutQuad), opacity 0.9s var(--easeOutQuad), -webkit-transform 0.9s var(--easeOutQuad); }

.hv_txt {
  position: absolute;
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: all 0.4s var(--easePopUp);
  transition: all 0.4s var(--easePopUp);
  z-index: 20; }

.move.hv_txt {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 100;
  -webkit-transition: all 0.4s var(--easePopUp);
  transition: all 0.4s var(--easePopUp);
  opacity: 100; }

/* ==========================================================================
	parts
========================================================================== */
.fill-c-themeA {
  fill: var(--theme-colorA);
  -webkit-transition: fill 0.4s cubic-bezier(0.61, 1, 0.88, 1);
  transition: fill 0.4s cubic-bezier(0.61, 1, 0.88, 1); }

.fill-black {
  fill: #000;
  -webkit-transition: fill 0.4s cubic-bezier(0.61, 1, 0.88, 1);
  transition: fill 0.4s cubic-bezier(0.61, 1, 0.88, 1); }

.con_inr {
  position: relative;
  margin: 0 auto; }

.inr_960 {
  width: 70.588%;
  max-width: 1350px;
  min-width: 960px; }

.inr_1160 {
  width: 85.29%;
  max-width: 1637px;
  min-width: 1160px; }

.inr_1180 {
  width: 86.764%;
  max-width: 1665px;
  min-width: 1180px; }

.inr_1360 {
  width: 100%;
  max-width: 1920px; }

@media screen and (max-width: 1357px) {
  .inr_1180 {
    width: 86.764%;
    min-width: 10px; } }
@media screen and (max-width: 1276px) {
  .inr_1160 {
    width: 85.29%;
    min-width: 100px; } }
@media screen and (max-width: 1056px) {
  .inr_960 {
    width: 80%;
    min-width: 10px; } }
@media screen and (max-width: 800px) {
  .inr_1160,
  .inr_1180 {
    width: 84%; } }
/*
.inr_1200{
    width: 80%;
    max-width:1536px;
}
.inr_1260{
    width: 84%;
    max-width:1612px;
}
.inr_1250{
    width: 83.333%;
    max-width:1600px;
}
.inr_1300{
    width: 86.1%;
    max-width:1663px;
}
.inr_1500{
    width: 100%;
    max-width:1920px;
}
*/
.fontA_l-normal {
  font-size: 18px;
  font-size: clamp(18px, 1.3235294118vw, 21.6px);
  line-height: 1.6;
  letter-spacing: 0.05em; }

.w6 {
  font-weight: 700; }

.fontB_m-comfort-M {
  font-size: 16px;
  font-size: clamp(16px, 1.1764705882vw, 19.2px);
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 600; }

.fontB_m-comfort-R {
  font-size: 16px;
  font-size: clamp(16px, 1.1764705882vw, 19.2px);
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #555; }

.fontB_m-comfort3-M {
  font-size: 16px;
  font-size: clamp(16px, 1.1764705882vw, 19.2px);
  line-height: 2.5;
  letter-spacing: 0.05em;
  font-weight: 600; }

.fontB_m-afford-M {
  font-size: 16px;
  font-size: clamp(16px, 1.1764705882vw, 19.2px);
  line-height: 2;
  letter-spacing: 0.05em;
  font-weight: 600; }

.fontB_s-normal-R {
  font-size: 14px;
  font-size: clamp(14px, 1.0294117647vw, 16.8px);
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 400; }

.fontA_s-normal-W3 {
  font-size: 14px;
  font-size: clamp(14px, 1.0294117647vw, 16.8px);
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-weight: 300; }

@media screen and (max-width: 800px) {
  .fontB_m-comfort3-M {
    font-size: 14px;
    font-size: clamp(14px, 3.7333333333vw, 16.8px);
    line-height: 2.2;
    letter-spacing: 0;
    font-weight: 600; }

  .fontB_m-comfort-M {
    font-size: 14px;
    font-size: clamp(14px, 3.7333333333vw, 16.8px);
    line-height: 1.8;
    letter-spacing: 0.025em; }

  .fontB_m-afford-M {
    font-size: 14px;
    font-size: clamp(14px, 3.7333333333vw, 16.8px); }

  .fontB_m-comfort-R {
    font-size: 14px;
    font-size: clamp(14px, 3.7333333333vw, 16.8px); }

  .fontB_s-normal-R {
    font-size: 14px;
    font-size: clamp(14px, 3.7333333333vw, 16.8px); } }
.tit_area {
  position: relative; }
  .tit_area .img_area {
    position: absolute;
    width: 180px; }
    .tit_area .img_area > img {
      border-radius: 12px; }
  .tit_area .en {
    font-size: 80px;
    font-weight: 700;
    color: var(--theme-colorA);
    letter-spacing: 0.025em;
    line-height: 1;
    margin-bottom: 9px; }
    .tit_area .en.sub_en {
      font-size: 16px;
      margin-top: 18px;
      margin-bottom: 0;
      text-transform: uppercase; }
  .tit_area .tit_jp {
    position: relative;
    display: inline-block; }
  .tit_area.r_tit {
    text-align: right;
    padding-right: 207px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .tit_area.r_tit .img_area {
      right: 0;
      top: 0; }
  .tit_area.l_tit {
    text-align: left;
    padding-left: 207px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .tit_area.l_tit .img_area {
      left: 0;
      top: 0; }
  .tit_area.c_tit {
    text-align: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .tit_area.c_tit .img_area {
      left: 0;
      right: 0;
      top: -145px;
      margin: auto; }

@media screen and (max-width: 800px) {
  .tit_area .img_area {
    position: relative;
    margin: 0 auto 16px;
    width: 33.6%;
    max-width: 180px;
    min-width: 126px; }
    .tit_area .img_area > img {
      border-radius: 8px; }
  .tit_area .en {
    font-size: 46px;
    margin-bottom: 7px; }
  .tit_area .tit_jp {
    position: relative;
    display: inline-block; }
  .tit_area.r_tit {
    text-align: center;
    padding-right: 0; }
    .tit_area.r_tit .img_area {
      right: auto;
      top: auto; }
  .tit_area.l_tit {
    text-align: center;
    padding-left: 0; }
    .tit_area.l_tit .img_area {
      left: auto;
      top: auto; }
  .tit_area.c_tit .img_area {
    top: auto;
    margin-bottom: 16px; } }
.service_bnr_list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /*
  -webkit-justify-content: space-between;
  justify-content: space-between;
  */
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .service_bnr_list .big_bnr {
    position: relative;
    display: block;
    width: 49.31%;
    margin-right: 1.38%; }
    .service_bnr_list .big_bnr .en {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 100%;
      height: 40px;
      background: var(--theme-colorA);
      border-radius: 4px 4px 0 0;
      color: #fff;
      letter-spacing: 0.05em;
      font-size: 16px;
      font-weight: 600;
      text-transform: uppercase; }
    .service_bnr_list .big_bnr p {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      background: #fff;
      border-left: 2px solid #E0E0E0;
      border-right: 2px solid #E0E0E0;
      border-bottom: 2px solid #E0E0E0;
      border-radius: 0 0 4px 4px;
      height: 120px;
      -webkit-transition: border 0.4s cubic-bezier(0.61, 1, 0.88, 1), background 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: border 0.4s cubic-bezier(0.61, 1, 0.88, 1), background 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
      .service_bnr_list .big_bnr p img {
        width: 215px; }
    .service_bnr_list .big_bnr .illust {
      display: block;
      position: absolute;
      left: 6.68%;
      bottom: 0;
      width: 85px;
      z-index: 5; }
    .service_bnr_list .big_bnr:nth-child(2) {
      margin-right: 0; }
      .service_bnr_list .big_bnr:nth-child(2) .illust {
        width: 120px;
        left: auto;
        right: 7.69%; }
    @media (hover: hover) {
      .service_bnr_list .big_bnr:hover p {
        border-color: var(--theme-colorA);
        background: #F6F6F3;
        -webkit-transition: border 0.4s cubic-bezier(0.61, 1, 0.88, 1), background 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: border 0.4s cubic-bezier(0.61, 1, 0.88, 1), background 0.4s cubic-bezier(0.61, 1, 0.88, 1); } }
  .service_bnr_list .small_bnr {
    position: relative;
    display: block;
    width: 15.517%;
    margin-right: 1.3796%;
    min-height: 120px;
    padding: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border: 2px solid #E0E0E0;
    border-radius: 4px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: #fff;
    text-align: center;
    margin-top: 15px;
    -webkit-transition: border 0.4s cubic-bezier(0.61, 1, 0.88, 1), background 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: border 0.4s cubic-bezier(0.61, 1, 0.88, 1), background 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .service_bnr_list .small_bnr:nth-child(8) {
      margin-right: 0; }
    .service_bnr_list .small_bnr:nth-child(14) {
      margin-right: 0; }
    .service_bnr_list .small_bnr .txt {
      font-size: 15px;
      line-height: 1.4;
      letter-spacing: -0.02em;
      margin-bottom: 3px;
      text-align: center;
      font-weight: 600;
      color: var(--theme-colorA); }
    .service_bnr_list .small_bnr .price {
      font-size: 12px;
      color: #777; }
      .service_bnr_list .small_bnr .price .en {
        font-size: 24px;
        font-weight: 600;
        color: #34352c; }
    .service_bnr_list .small_bnr .icon {
      width: 32px;
      right: -1px;
      bottom: -1px; }
    @media (hover: hover) {
      .service_bnr_list .small_bnr:hover {
        border-color: var(--theme-colorA);
        background: #F6F6F3;
        -webkit-transition: border 0.4s cubic-bezier(0.61, 1, 0.88, 1), background 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: border 0.4s cubic-bezier(0.61, 1, 0.88, 1), background 0.4s cubic-bezier(0.61, 1, 0.88, 1); } }
  .service_bnr_list .icon {
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 10;
    width: 60px;
    opacity: 100;
    -webkit-transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .service_bnr_list .icon img {
      border-radius: 0 0 4px 0; }
  @media (hover: hover) {
    .service_bnr_list a:hover .icon {
      opacity: 0;
      -webkit-transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: opacity 0.4s cubic-bezier(0.61, 1, 0.88, 1); } }

.service_bnr_area {
  position: relative;
  display: block;
  width: 90%;
  max-width: 672px;
  margin: 18px auto 0;
  text-align: center; }
  .service_bnr_area figure {
    position: relative;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transition: -webkit-transform 0.4s var(--easePopUp);
    transition: -webkit-transform 0.4s var(--easePopUp);
    transition: transform 0.4s var(--easePopUp);
    transition: transform 0.4s var(--easePopUp), -webkit-transform 0.4s var(--easePopUp); }
  .service_bnr_area .link_txt {
    width: 385px;
    margin-top: 29px; }
  @media (hover: hover) {
    .service_bnr_area:hover figure {
      -webkit-transform: translateY(-5px);
              transform: translateY(-5px);
      -webkit-transition: -webkit-transform 0.4s var(--easePopUp);
      transition: -webkit-transform 0.4s var(--easePopUp);
      transition: transform 0.4s var(--easePopUp);
      transition: transform 0.4s var(--easePopUp), -webkit-transform 0.4s var(--easePopUp); }
    .service_bnr_area:hover .link_txt:after {
      background-color: var(--theme-colorA2);
      -webkit-transition: background .4s ease;
      transition: background .4s ease; } }

.link_txt {
  position: relative;
  display: inline-block;
  padding-right: 42px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-bottom: 2px dashed var(--theme-colorA);
  padding-bottom: 10px; }
  .link_txt:after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: -5px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: url(/assets/image/common/link_icon.png) center center var(--theme-colorA);
    background-size: cover;
    -webkit-transition: background .4s ease;
    transition: background .4s ease;
    border: 1px solid var(--theme-colorA); }
  @media (hover: hover) {
    .link_txt:hover:after {
      background-color: var(--theme-colorA2);
      border-color: var(--theme-colorA2);
      -webkit-transition: background .4s ease,border .4s ease;
      transition: background .4s ease,border .4s ease; } }

@media screen and (max-width: 1130px) {
  .service_bnr_list .small_bnr {
    width: 24%;
    margin-right: 1.3333%; }
    .service_bnr_list .small_bnr:nth-child(8) {
      margin-right: 1.3333%; }
    .service_bnr_list .small_bnr:nth-child(14) {
      margin-right: 1.3333%; }
    .service_bnr_list .small_bnr:nth-child(6) {
      margin-right: 0; }
    .service_bnr_list .small_bnr:nth-child(10) {
      margin-right: 0; }
    .service_bnr_list .small_bnr:nth-child(14) {
      margin-right: 0; } }
@media screen and (max-width: 800px) {
  .service_bnr_list {
    width: 93%;
    margin: 0 auto; }
    .service_bnr_list .big_bnr {
      width: 100%;
      margin-right: 0; }
      .service_bnr_list .big_bnr .en {
        height: 32px;
        background: var(--theme-colorA);
        font-size: 14px; }
      .service_bnr_list .big_bnr p {
        height: 78px; }
        .service_bnr_list .big_bnr p img {
          width: 162px; }
      .service_bnr_list .big_bnr .illust {
        left: 4.92%;
        width: 60px; }
      .service_bnr_list .big_bnr:nth-child(2) {
        margin-top: 9px; }
        .service_bnr_list .big_bnr:nth-child(2) .illust {
          width: 84px;
          left: auto;
          right: 4.92%; }
    .service_bnr_list .small_bnr {
      width: 48.57%;
      min-height: 100px;
      padding: 17px;
      margin-top: 9px;
      margin-right: 2.86%; }
      .service_bnr_list .small_bnr:nth-child(8) {
        margin-right: 0; }
      .service_bnr_list .small_bnr:nth-child(14) {
        margin-right: 0; }
      .service_bnr_list .small_bnr:nth-child(2n) {
        margin-right: 0; }
      .service_bnr_list .small_bnr .txt {
        font-size: 14px;
        margin-bottom: 2px; }
      .service_bnr_list .small_bnr .price {
        font-size: 11px; }
        .service_bnr_list .small_bnr .price .en {
          font-size: 20px; }
      .service_bnr_list .small_bnr .icon {
        width: 24px;
        right: -1px;
        bottom: -1px; }
    .service_bnr_list .icon {
      width: 24px; }

  .service_bnr_area {
    width: 90%;
    max-width: 672px;
    margin: 15px auto 0; }
    .service_bnr_area .link_txt {
      width: 300px;
      margin-top: 29px; }

  .link_txt {
    padding-right: 32px;
    padding-bottom: 10px; }
    .link_txt:after {
      top: -3px;
      width: 24px;
      height: 24px; } }
.fit_img {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  background-position: center center;
  background-size: cover;
  z-index: 1;
  -webkit-transition: -webkit-transform ease .4s;
  transition: -webkit-transform ease .4s;
  transition: transform ease .4s;
  transition: transform ease .4s, -webkit-transform ease .4s; }

.img_area {
  z-index: 10; }

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

.pager {
  position: relative;
  width: 100%;
  overflow: hidden;
  /*
  max-width:1920px;
  */
  height: 96px;
  margin: 0 auto;
  text-align: center;
  border-top: 1px solid #e2e2e2;
  border-bottom: 1px solid #e2e2e2; }
  .pager.d .wp-pagenavi {
    padding-top: 0; }
  .pager .wp-pagenavi {
    height: 96px;
    padding-top: 23px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  .pager .pagelist {
    position: relative;
    display: block;
    text-align: center;
    width: 44.5%;
    margin: 0 auto; }
  .pager .previouspostslink {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    left: 0;
    top: 0;
    width: 27.75%;
    height: 96px; }
    .pager .previouspostslink:before {
      content: "";
      display: block;
      position: absolute;
      left: -5%;
      top: 0;
      width: 0;
      height: 100%;
      background: #F6F6F3;
      z-index: 2;
      -webkit-transition: width .4s ease;
      transition: width .4s ease;
      -webkit-transform: skewX(-10.5deg);
      transform: skewX(-10.5deg); }
    .pager .previouspostslink:after {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      border-right: 1px solid #E0E0E0;
      width: 100%;
      height: 100%;
      z-index: 1;
      -webkit-transform: skewX(-10.5deg);
      transform: skewX(-10.5deg); }
    .pager .previouspostslink .txt {
      position: relative;
      width: 84px;
      padding-left: 21px;
      z-index: 10;
      /*
      &:after{
          content:"";
          display: block;
          position: absolute;
          left: -30px;
          top: 2px;
          width: 24px;
          height: 24px;
          background:url(/assets/image/common/pager_ar.png);
          background-size:cover;
          transform: scale(-1, 1);
      } 
      */ }
    .pager .previouspostslink .ar {
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 46px;
      height: 46px;
      background: url(/assets/image/common/b_link_icon.png);
      background-size: cover;
      z-index: 5;
      -webkit-transform: scale(-1, 1) translateX(71px);
              transform: scale(-1, 1) translateX(71px); }
    @media (hover: hover) {
      .pager .previouspostslink:hover:before {
        width: 105%;
        -webkit-transition: width .4s ease;
        transition: width .4s ease; } }
    .pager .previouspostslink.disabled:before {
      display: none; }
    .pager .previouspostslink.disabled .txt {
      opacity: .2; }
    .pager .previouspostslink.disabled .ar {
      opacity: .2; }
  .pager .nextpostslink {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    right: 0;
    top: 0;
    width: 27.75%;
    height: 96px; }
    .pager .nextpostslink:before {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      width: 0;
      height: 100%;
      background: #F6F6F3;
      z-index: 2;
      -webkit-transition: width .4s ease;
      transition: width .4s ease;
      -webkit-transform: skewX(-10.5deg);
      transform: skewX(-10.5deg); }
    .pager .nextpostslink:after {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      border-left: 1px solid #E0E0E0;
      width: 100%;
      height: 100%;
      z-index: 1;
      -webkit-transform: skewX(-10.5deg);
      transform: skewX(-10.5deg); }
    .pager .nextpostslink .txt {
      position: relative;
      width: 84px;
      padding-right: 21px;
      z-index: 10; }
      .pager .nextpostslink .txt:after {
        content: "";
        display: block;
        position: absolute;
        left: -30px;
        top: 2px;
        width: 24px;
        height: 24px;
        /*
        background:url(/assets/image/common/pager_ar.png);
        background-size:cover;
        */ }
    .pager .nextpostslink .ar {
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 46px;
      height: 46px;
      background: url(/assets/image/common/b_link_icon.png);
      background-size: cover;
      z-index: 5;
      -webkit-transform: translateX(71px);
              transform: translateX(71px); }
    @media (hover: hover) {
      .pager .nextpostslink:hover:before {
        width: 105%;
        -webkit-transition: width .4s ease;
        transition: width .4s ease; } }
    .pager .nextpostslink.disabled:before {
      display: none; }
    .pager .nextpostslink.disabled .txt {
      opacity: .2; }
    .pager .nextpostslink.disabled .ar {
      opacity: .2; }
  .pager .page {
    position: relative;
    display: inline-block;
    width: 48px;
    height: 48px;
    text-align: center;
    padding-top: 14px;
    border-radius: 48px;
    color: #222;
    font-size: 16px;
    font-weight: 500;
    margin: 0 4px;
    -webkit-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    background: #fff;
    border: 1px solid #e2e2e2;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    overflow: hidden;
    vertical-align: middle; }
    @media (hover: hover) {
      .pager .page:hover {
        background: var(--theme-colorA);
        color: #fff;
        border-color: var(--theme-colorA);
        -webkit-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1); } }
  .pager .current {
    position: relative;
    display: inline-block;
    width: 48px;
    height: 48px;
    text-align: center;
    padding-top: 14px;
    border-radius: 48px;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    margin: 0 4px;
    -webkit-transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    background: var(--theme-colorA);
    border: 1px solid var(--theme-colorA);
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  .pager .leader {
    position: relative;
    font-size: 14px;
    font-weight: 600;
    margin: 0 4px; }
  .pager .ichiran {
    position: relative;
    width: 44.5%;
    padding: 34px 0;
    text-align: center;
    display: block;
    margin: 0 auto; }
    .pager .ichiran .svg {
      width: 118px; }
    .pager .ichiran path {
      -webkit-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    @media (hover: hover) {
      .pager .ichiran:hover path {
        fill: var(--theme-colorA);
        -webkit-transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: all 0.4s cubic-bezier(0.61, 1, 0.88, 1); } }

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

  .sp_off {
    display: none !important; }

  .sp_move_off {
    -webkit-transform: translate(0) !important;
            transform: translate(0) !important; }

  .spy_txt {
    -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
    -webkit-font-feature-settings: normal;
            font-feature-settings: normal;
    display: inline-block;
    -webkit-writing-mode: horizontal-tb; }

  .spv_txt {
    writing-mode: vertical-rl;
    -webkit-font-feature-settings: normal;
            font-feature-settings: normal;
    vertical-align: top;
    display: inline-block;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    letter-spacing: 0.2em; }

  .link_btn {
    width: 100%;
    height: 60px; }

  .yoyaku_btn {
    height: 60px; }
    .yoyaku_btn:hover {
      background: #131313;
      color: #fff;
      -webkit-transition: background .4s ease,transforom 1.2s ease;
      transition: background .4s ease,transforom 1.2s ease; }
    .yoyaku_btn span {
      font-size: 15px; }

  .hv_txt {
    width: 60px;
    height: 60px;
    font-size: 10px;
    right: 6px;
    top: -35px; }
    .hv_txt:before {
      left: 22px;
      width: 9px;
      height: 9px; }

  .pager {
    height: 143px; }
    .pager .wp-pagenavi {
      height: 80px;
      padding-top: 20px;
      border-bottom: 1px solid #e2e2e2; }
    .pager .previouspostslink {
      position: absolute;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      left: 0;
      top: auto;
      bottom: 0;
      width: 50%;
      height: 64px; }
      .pager .previouspostslink:after {
        top: auto;
        bottom: 0; }
      .pager .previouspostslink .txt {
        width: 66px;
        padding-left: 15px; }
        .pager .previouspostslink .txt svg {
          width: 66px; }
        .pager .previouspostslink .txt:after {
          left: -30px;
          top: 2px; }
      .pager .previouspostslink .ar {
        width: 24px;
        height: 24px;
        -webkit-transform: scale(-1, 1) translateX(46px);
                transform: scale(-1, 1) translateX(46px); }
    .pager .nextpostslink {
      position: absolute;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      right: 0;
      top: auto;
      bottom: 0;
      width: 50%;
      height: 64px; }
      .pager .nextpostslink .txt {
        width: 66px;
        padding-right: 15px; }
        .pager .nextpostslink .txt svg {
          width: 66px; }
        .pager .nextpostslink .txt:after {
          left: -30px;
          top: 2px; }
      .pager .nextpostslink .ar {
        width: 24px;
        height: 24px;
        -webkit-transform: translateX(46px);
                transform: translateX(46px); }
    .pager .page {
      width: 40px;
      height: 40px;
      padding-top: 12px;
      font-size: 14px;
      margin: 0 6px; }
    .pager .current {
      width: 40px;
      height: 40px;
      padding-top: 12px;
      font-size: 14px;
      margin: 0 6px; }
    .pager .leader {
      font-size: 14px;
      margin: 0 6px; }
    .pager .ichiran {
      padding: 30px 0 31px; }
      .pager .ichiran .svg {
        width: 90px; } }
.slick-slide {
  outline: none; }

.tit_area span.v_txt {
  -webkit-transform: translateY(4px);
          transform: translateY(4px); }

@media screen and (max-width: 800px) {
  .con_tit {
    font-size: 26px;
    font-size: clamp(26px, 6.9333333333vw, 31.2px);
    margin-bottom: 25px; }

  .con_s_tit {
    font-size: 12px;
    font-size: clamp(12px, 3.2vw, 14.4px);
    margin-bottom: 10px; }

  .tit_area span.spv_txt {
    -webkit-transform: translateY(4px);
            transform: translateY(4px); } }

/*# sourceMappingURL=common.css.map */