@charset "UTF-8";
/* ==========================================================================
	root
========================================================================== */
:root {
  --base-text-color: #001e5a;
  --base-link-color:#ffc300;
  --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 'Noto Sans JP', 'Noto Sans CJK', "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, 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: #001e5a;
  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(--base-link-color);
  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; }

.tab_on {
  display: none !important; }

.sp_off {
  display: block !Important; }

img.preload {
  display: none; }

::-moz-selection {
  background: #ffc300; }

::selection {
  background: #ffc300; }

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

.mincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "Noto Serif JP", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  letter-spacing: 0.2em; }

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

.all_wrap {
  overflow: hidden; }

/* ==========================================================================
	ヘッダー
========================================================================== */
.head {
  position: absolute;
  width: 100%;
  padding: 20px 1.48vw 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 50;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-animation: fade .6s linear forwards;
          animation: fade .6s linear forwards;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; }
  .head h1 {
    position: absolute;
    left: 1.48vw;
    top: 23px;
    width: 202px; }
    .head h1 a {
      display: block; }
      .head h1 a .cls {
        fill: #fff; }
  .head .menu_area {
    margin-right: 70px; }
    .head .menu_area a {
      position: relative;
      display: inline-block; }
    .head .menu_area .t_link {
      position: relative;
      display: inline-block;
      padding: 10px 8px 12px;
      margin: 0 4px;
      color: #fff;
      font-size: 14px;
      font-weight: 700; }
      .head .menu_area .t_link:hover {
        color: var(--base-link-color); }
      .head .menu_area .t_link::after {
        position: absolute;
        left: 0;
        content: '';
        width: 100%;
        height: 2px;
        background: var(--base-link-color);
        bottom: 0;
        -webkit-transform: scale(0, 1);
                transform: scale(0, 1);
        -webkit-transform-origin: center top;
                transform-origin: center top;
        -webkit-transition: -webkit-transform 0.3s;
        transition: -webkit-transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s; }
      .head .menu_area .t_link:hover::after {
        -webkit-transform: scale(1, 1);
                transform: scale(1, 1); }
    .head .menu_area .w_link {
      background: #fff;
      padding: 13px 19px;
      border-radius: 20px;
      margin-left: 12px; }
      .head .menu_area .w_link:hover {
        background: var(--base-link-color); }
      .head .menu_area .w_link span {
        position: relative;
        color: var(--base-text-color);
        font-weight: 700;
        padding-left: 27px;
        font-size: 14px;
        -webkit-transition: all 0.4s var(--easeOutQuad);
        transition: all 0.4s var(--easeOutQuad); }
        .head .menu_area .w_link span:before {
          content: "";
          display: block;
          position: absolute;
          left: 0;
          top: -1px;
          width: 22px;
          height: 22px;
          background: url(../image/common/menu_w_icon.png);
          background-size: cover;
          -webkit-transition: all 0.4s var(--easeOutQuad);
          transition: all 0.4s var(--easeOutQuad); }
      .head .menu_area .w_link:hover span:before {
        background-image: url(../image/common/menu_w_icon_af.png);
        -webkit-transition: all 0.4s var(--easeOutQuad);
        transition: all 0.4s var(--easeOutQuad); }

/*ハンバーガーメニュー*/
.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: 1.85vw;
  top: 14px;
  width: 50px;
  height: auto;
  cursor: pointer;
  z-index: 999;
  opacity: 100;
  /*
  visibility: hidden;
  */
  -webkit-transition: all .4s ease;
  transition: all .4s ease; }
  .hamburger .hamburger_top {
    display: block;
    position: relative;
    -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);
    z-index: 20; }
  .hamburger .hamburger_menu {
    display: block;
    position: absolute;
    left: 9px;
    top: 28px;
    width: 28px;
    z-index: 15;
    -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);
    opacity: 0; }
  .hamburger .hamburger_bottom {
    display: block;
    position: relative;
    -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);
    z-index: 20;
    -webkit-transform: translateY(-12px);
            transform: translateY(-12px);
    z-index: 10; }

@media (hover: hover) {
  .hamburger:hover .hamburger_top {
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
    -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); }
  .hamburger:hover .hamburger_menu {
    opacity: 100;
    -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); }
  .hamburger:hover .hamburger_bottom {
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
    -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); } }

/* 表示された時用の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: #000;
    opacity: .5;
    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;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 50;
  background: url(../image/common/menu_bg.jpg) center center;
  background-size: cover; }
.global-nav .navi_inr {
  position: relative;
  width: 92%;
  max-width: 1766px;
  margin: 0 auto;
  padding-top: 73px; }
.global-nav .close_btn {
  display: block;
  position: absolute;
  right: -16px;
  top: 61px;
  width: 63px;
  height: 63px;
  background: url(../image/common/navi_btn.png);
  background-size: cover;
  -webkit-transition: background 0.4s ease;
  transition: background 0.4s ease; }
  .global-nav .close_btn:hover {
    background-image: url(../image/common/navi_btn_af.png);
    -webkit-transition: background 0.4s ease;
    transition: background 0.4s ease; }
.global-nav h2 {
  width: 361px;
  margin-bottom: 85px; }
.global-nav .link_area {
  position: relative;
  width: 87.89%;
  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;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin: 0 auto; }
.global-nav .r_link {
  width: calc(100% - 260px - 3.4vw);
  padding-top: 10px; }
.global-nav .link_box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 75px;
  padding-left: 98px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 20px 20px 0 0;
  background: #fff; }
  .global-nav .link_box:first-child {
    height: 80px;
    border-radius: 20px;
    margin-bottom: 10px; }
  .global-nav .link_box p {
    font-size: 20px;
    font-weight: 700;
    color: var(--base-text-color);
    margin-right: 10px; }
  .global-nav .link_box .w_txt {
    font-size: 13px;
    font-weight: 700;
    color: #ffa000; }
  .global-nav .link_box .ar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    width: 25px;
    height: 25px;
    background: var(--base-text-color);
    border-radius: 50%;
    -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); }
  .global-nav .link_box i {
    width: 8px;
    fill: none;
    stroke: #fff;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 6px; }
  .global-nav .link_box .illust {
    display: block;
    position: absolute;
    left: 26px;
    top: 11px;
    margin: auto;
    width: 65px;
    -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); }
  .global-nav .link_box.box02 .illust {
    top: 7px;
    width: 61px; }
  .global-nav .link_box.box03 .illust {
    top: 8px;
    width: 44px;
    left: 37px; }
  .global-nav .link_box:hover .ar {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    -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); }
  .global-nav .link_box:hover .illust {
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px);
    -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); }
.global-nav .links {
  display: block;
  width: 100%;
  padding: 0 46px 27px 36px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fff;
  border-radius: 0 0 20px 20px;
  margin-bottom: 10px; }
  .global-nav .links a {
    display: inline-block;
    background: var(--base-link-color);
    padding: 7px 15px;
    border-radius: 12px;
    color: var(--base-text-color);
    margin: 0 5px 5px 0;
    font-weight: 700;
    -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1), background 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1), background 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .global-nav .links a:hover {
      background: var(--base-text-color);
      color: var(--base-link-color);
      -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1), background 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1), background 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
.global-nav .l_link {
  width: 260px; }
  .global-nav .l_link a {
    display: block;
    position: relative;
    width: auto;
    padding: 19px 0 21px 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    border-bottom: 2px dotted #8e9093;
    -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .global-nav .l_link a:hover {
      color: var(--base-link-color);
      -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .global-nav .l_link a:hover .ar {
      -webkit-transform: scale(1.4);
              transform: scale(1.4);
      -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); }
    .global-nav .l_link a:hover i {
      -webkit-transform: scale(0.714);
              transform: scale(0.714);
      -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); }
  .global-nav .l_link .ar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 25px;
    height: 25px;
    background: var(--base-link-color);
    border-radius: 50%;
    -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); }
  .global-nav .l_link i {
    width: 8px;
    height: 25px;
    fill: none;
    stroke: var(--base-text-color);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 6px; }
.global-nav .en {
  display: block;
  position: absolute;
  left: calc(260px + 3.4vw);
  bottom: -88px;
  font-size: 19px;
  font-weight: 700;
  padding-left: 39px;
  color: #fff;
  z-index: 20; }
  .global-nav .en:before {
    content: "";
    display: block;
    position: absolute;
    left: 3px;
    top: 0;
    width: 17px;
    height: 17px;
    background: url(../image/common/menu_copy.png);
    background-size: cover; }
.global-nav .illust01 {
  display: block;
  width: 381px;
  position: absolute;
  left: -4px;
  bottom: -73px;
  z-index: 1; }
.global-nav .illust02 {
  display: block;
  position: absolute;
  width: 837px;
  right: auto;
  bottom: -190px;
  z-index: 1; }

/* 表示された時用のCSS */
.nav-open .hamburger {
  opacity: 100;
  visibility: visible; }

.nav-open .hamburger_line-1 {
  -webkit-transform: rotate(-20deg);
          transform: rotate(-20deg);
  top: auto;
  bottom: 0; }

.nav-open .hamburger_line-2 {
  -webkit-transform: rotate(20deg);
          transform: rotate(20deg);
  top: auto; }

.nav-open .hamburger_line-3 {
  opacity: 0; }

.nav-open .all_wrap,
.nav-open #header {
  /*
  filter: blur(8px);
  */ }

/* 追従 */
.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: 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: 14px; }
    .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(../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(../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: 80px;
  background: #fff;
  -webkit-box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.3);
  -webkit-animation: none;
          animation: none; }
  #h_mv .head h1 a .cls {
    fill: var(--base-text-color); }
  #h_mv .head .menu_area {
    margin-right: 70px; }
    #h_mv .head .menu_area .t_link {
      color: var(--base-text-color); }
    #h_mv .head .menu_area .w_link {
      background: var(--base-link-color); }
      #h_mv .head .menu_area .w_link:hover {
        background: var(--base-text-color); }
      #h_mv .head .menu_area .w_link span:before {
        background-image: url(../image/common/menu_w_icon_af.png); }
      #h_mv .head .menu_area .w_link:hover span {
        color: #ffc300; }
        #h_mv .head .menu_area .w_link:hover span:before {
          background-image: url(../image/common/menu_w_icon_af02.png); }

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

@media screen and (max-width: 1200px) {
  .head .menu_area .t_link {
    display: none; } }
@media screen and (max-width: 1150px) {
  .global-nav .illust02 {
    right: -200px; } }
@media screen and (max-width: 800px) {
  .head {
    position: absolute;
    padding: 16px 4.4vw 0; }
    .head h1 {
      left: 4.4vw;
      top: 17px;
      width: 119px; }
    .head .menu_area {
      margin-right: 34px; }
      .head .menu_area .w_link {
        padding: 9px 13px;
        border-radius: 20px; }
        .head .menu_area .w_link span {
          padding-left: 16px;
          font-size: 10px; }
          .head .menu_area .w_link span:before {
            top: 1px;
            width: 13px;
            height: 13px; }
        .head .menu_area .w_link:hover span:before {
          -webkit-transition: all 0.4s var(--easeOutQuad);
          transition: all 0.4s var(--easeOutQuad); }

  .head.top h1 {
    width: 41px; }
  .head.top .menu_area .w_link {
    background: var(--base-link-color); }
    .head.top .menu_area .w_link span:before {
      background-image: url(../image/common/menu_w_icon_af.png); }

  /*ハンバーガーメニュー*/
  .hamburger {
    right: 2.93vw;
    top: 14px;
    width: 30px; }
    .hamburger .hamburger_menu {
      left: 5px;
      top: 12px;
      width: 20px; }
    .hamburger .hamburger_bottom {
      -webkit-transform: translateY(-6px);
              transform: translateY(-6px); } }
@media screen and (max-width: 800px) and (hover: hover) {
  .hamburger:hover .hamburger_top {
    -webkit-transform: translateY(-2px);
            transform: translateY(-2px); }
  .hamburger:hover .hamburger_bottom {
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px); } }

@media screen and (max-width: 800px) {
  /* 表示された時用のCSS */
  .global-nav:before {
    width: 100%; }
  .global-nav .navi_wrap {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: auto;
    /*
    min-height:845px;
    */
    padding-bottom: 490px; }
  .global-nav .navi_inr {
    width: 100%;
    margin: 0 auto;
    padding-top: 14px; }
  .global-nav .close_btn {
    top: 10px;
    right: 4.666%;
    width: 36px;
    height: 36px; }
  .global-nav h2 {
    width: 195px;
    margin-left: 4.666%;
    margin-bottom: 20px; }
  .global-nav .link_area {
    width: 100%;
    display: block; }
  .global-nav .r_link {
    width: 90.668%;
    margin: 0 auto;
    padding-top: 0; }
  .global-nav .link_box {
    display: block;
    width: 100%;
    height: 85px;
    padding-left: 85px;
    padding-top: 21px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 10px 10px 0 0; }
    .global-nav .link_box:first-child {
      height: 85px;
      border-radius: 10px;
      padding-top: 21px; }
    .global-nav .link_box p {
      display: block;
      font-size: 16px;
      margin: 0 0 9px 0; }
    .global-nav .link_box .w_txt {
      font-size: 12px; }
    .global-nav .link_box .ar {
      right: 22px; }
    .global-nav .link_box .illust {
      left: 22px;
      top: 20px;
      width: 51px; }
    .global-nav .link_box.box02 .illust {
      top: 19px;
      width: 48px; }
    .global-nav .link_box.box03 .illust {
      top: 21px;
      width: 35px;
      left: 36px; }
  .global-nav .links {
    display: block;
    width: 100%;
    padding: 0 23px 30px;
    border-radius: 0 0 10px 10px;
    margin-bottom: 10px; }
    .global-nav .links a {
      padding: 5px 15px;
      border-radius: 12px;
      margin: 0 4px 5px 0;
      font-size: 12px; }
  .global-nav .l_link {
    width: 81.4%;
    margin: 0 auto;
    padding-top: 25px; }
    .global-nav .l_link a {
      padding: 17px 0 17px 40px;
      font-size: 16px;
      border-bottom: 1px dotted #fff; }
    .global-nav .l_link i {
      -webkit-transform: translateY(1px);
              transform: translateY(1px); }
  .global-nav .en {
    display: block;
    position: relative;
    margin-left: 8vw;
    left: auto;
    bottom: auto;
    font-size: 13px;
    padding-left: 22px;
    margin-top: 40px; }
    .global-nav .en:before {
      left: 0px;
      width: 11px;
      height: 11px;
      background-image: url(../image/common/menu_copy_sp.png); }
  .global-nav .illust01 {
    width: 468px;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 1; }
  .global-nav .illust02 {
    display: none; }

  /* 表示された時用のCSS */
  .nav-open .head {
    z-index: 200; }

  .nav-open .global-nav {
    overflow: auto;
    height: 100vh; }
    .nav-open .global-nav:before {
      width: 100%; }

  /* 追従 */
  .fixed .hamburger {
    top: 5px; }

  .fixed .head.top h1 {
    width: 119px; }
  .fixed .head.top h1 a .pc_off {
    display: none !Important; }
  .fixed .head.top h1 a .sp_off {
    display: block !Important; }

  .fixed .head {
    position: fixed;
    width: 100%;
    padding: 8px 4.44vw 9px; }
    .fixed .head h1 {
      position: absolute;
      left: 4.44vw;
      top: 11px; }
    .fixed .head .menu_area {
      margin-right: 33px; }

  /*派生用*/
  #h_mv h1 {
    width: 119px; }
  #h_mv h1 a .pc_off {
    display: none !Important; }
  #h_mv h1 a .sp_off {
    display: block !Important; }
  #h_mv .head {
    height: 56px;
    -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
            box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2); }
    #h_mv .head .menu_area {
      margin-right: 40px; } }
/* ==========================================================================
	h_mv
========================================================================== */
#h_mv {
  position: relative;
  z-index: 60;
  padding-top: 80px;
  height: 740px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  #h_mv .tit_area {
    position: relative;
    width: 41.4%;
    min-width: 500px;
    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;
    height: 555px;
    background: #fff;
    z-index: 60;
    border-radius: 0 0 50px 0;
    -webkit-box-shadow: 0px 20px 20px 0px rgba(0, 0, 0, 0.3);
            box-shadow: 0px 20px 20px 0px rgba(0, 0, 0, 0.3); }
    #h_mv .tit_area:before {
      content: "";
      display: block;
      position: absolute;
      left: 100%;
      top: 0;
      width: 89px;
      height: 116px;
      z-index: 10;
      -webkit-filter: drop-shadow(0px 15px 10px rgba(0, 0, 0, 0.3));
              filter: drop-shadow(0px 15px 10px rgba(0, 0, 0, 0.3));
      background: url(../image/common/hasei_head_lt.png);
      background-size: cover; }
    #h_mv .tit_area:after {
      content: "";
      display: block;
      width: 100%;
      height: 120px;
      position: absolute;
      right: 0;
      top: 0;
      background: #fff;
      z-index: 20; }
    #h_mv .tit_area .inr {
      position: relative;
      z-index: 30; }
    #h_mv .tit_area .s_tit {
      position: relative;
      display: block;
      text-align: center;
      font-size: 20px;
      font-size: clamp(20px, 1.4285714286vw, 25.6px);
      font-weight: 700;
      color: var(--base-link-color);
      margin-bottom: 20px; }
    #h_mv .tit_area .tit {
      position: relative;
      display: block;
      text-align: center;
      font-size: 54px;
      font-size: clamp(54px, 3.8571428571vw, 69.12px);
      font-weight: 700;
      letter-spacing: 0.04em;
      margin-bottom: 65px; }
    #h_mv .tit_area .pan {
      text-align: center; }
      #h_mv .tit_area .pan a {
        position: relative;
        display: inline-block;
        margin-right: 50px;
        font-size: 10px;
        font-weight: 700;
        color: var(--base-text-color);
        text-transform: uppercase; }
        #h_mv .tit_area .pan a:after {
          content: "";
          display: block;
          width: 27px;
          position: absolute;
          left: calc(100% + 12px);
          top: 0;
          bottom: 0;
          margin: auto;
          height: 1px;
          background: var(--base-text-color); }
        #h_mv .tit_area .pan a:last-child {
          margin-right: 0; }
          #h_mv .tit_area .pan a:last-child:after {
            display: none; }
        #h_mv .tit_area .pan a:hover {
          color: var(--base-link-color); }
  #h_mv .image_area {
    position: absolute;
    right: 0;
    top: 80px;
    width: 71.4%;
    height: 660px;
    z-index: 1;
    background-size: cover;
    background-position: center center;
    border-radius: 0 0 0 50px;
    overflow: hidden; }

#h_mv.v2 .tit_area {
  /*
  padding-left: 5.28vw;
  padding-right: 5.714vw;
  */
  padding-left: 5vw;
  padding-right: 3.714vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  #h_mv.v2 .tit_area .inr {
    position: relative;
    z-index: 30;
    padding: 2vw 0; }
  #h_mv.v2 .tit_area .day {
    position: relative;
    display: block;
    font-size: 22px;
    font-size: clamp(22px, 1.5714285714vw, 28.16px);
    font-weight: 700;
    color: var(--base-link-color);
    margin-bottom: 18px;
    text-align: left; }
  #h_mv.v2 .tit_area .cate {
    position: relative;
    display: inline-block;
    padding: 6px 16px;
    border-radius: 25px;
    background: #fff;
    border: 1px solid var(--base-link-color);
    color: var(--base-text-color);
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 25px;
    -webkit-transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    #h_mv.v2 .tit_area .cate:hover {
      background: var(--base-link-color);
      -webkit-transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
  #h_mv.v2 .tit_area .tit {
    font-size: 38px;
    font-size: clamp(38px, 2.7142857143vw, 48.64px);
    line-height: 1.34;
    margin-bottom: 35px;
    text-align: left; }
  #h_mv.v2 .tit_area .new {
    display: block;
    position: absolute;
    right: -13px;
    top: 77px;
    width: 64px;
    z-index: 30; }
  #h_mv.v2 .tit_area .tags {
    margin-bottom: 65px;
    text-align: left; }
    #h_mv.v2 .tit_area .tags .tag {
      font-size: 12px;
      font-size: clamp(12px, 0.8571428571vw, 15.36px);
      line-height: 1.5;
      font-weight: 700;
      color: var(--base-text-color);
      margin-right: 20px;
      margin-bottom: 10px;
      -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
      #h_mv.v2 .tit_area .tags .tag:hover {
        color: var(--base-link-color);
        -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
  #h_mv.v2 .tit_area .pan {
    text-align: left; }
#h_mv.v2 .image_area {
  right: -5.1%;
  width: 76.5%; }

@media screen and (max-width: 800px) {
  #h_mv {
    padding-top: 56px;
    height: 540px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    #h_mv:before {
      content: "";
      display: block;
      width: 50px;
      height: 224px;
      position: absolute;
      right: 0;
      top: 56px;
      z-index: 10;
      background: url(../image/common/h_mv_space.png);
      background-size: cover; }
    #h_mv .tit_area {
      position: relative;
      width: calc(100% - 42px);
      min-width: 100px;
      display: block;
      height: auto;
      min-height: 223px;
      border-radius: 0 0 25px 0;
      -webkit-box-shadow: 0px 10px 10px 0px rgba(0, 0, 0, 0.2);
              box-shadow: 0px 10px 10px 0px rgba(0, 0, 0, 0.2);
      padding: 47px 9.3vw 30px 5vw;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      #h_mv .tit_area:before {
        content: "";
        display: block;
        position: absolute;
        left: 100%;
        top: 0;
        width: 42px;
        height: 44px;
        z-index: 10;
        -webkit-filter: drop-shadow(0px 8px 5px rgba(0, 0, 0, 0.2));
                filter: drop-shadow(0px 8px 5px rgba(0, 0, 0, 0.2));
        background-image: url(../image/common/hasei_head_lt_sp.png); }
      #h_mv .tit_area:after {
        height: 30px; }
      #h_mv .tit_area .inr {
        position: relative;
        z-index: 30; }
      #h_mv .tit_area .s_tit {
        text-align: left;
        font-size: 18px;
        font-size: clamp(18px, 4.8vw, 23.04px);
        margin-bottom: 15px; }
      #h_mv .tit_area .tit {
        text-align: left;
        font-size: 28px;
        font-size: clamp(28px, 7.4666666667vw, 35.84px);
        margin-bottom: 27px; }
      #h_mv .tit_area .pan {
        text-align: left; }
        #h_mv .tit_area .pan a {
          margin-right: 30px; }
          #h_mv .tit_area .pan a:after {
            width: 15px;
            left: calc(100% + 9px); }
    #h_mv .image_area {
      position: absolute;
      right: 0;
      top: 170px;
      width: 93.33%;
      height: 373px;
      border-radius: 0 0 0 25px; }

  #h_mv.v2 {
    height: auto; }
    #h_mv.v2:before {
      height: calc(100% - 429px); }
    #h_mv.v2 .tit_area {
      padding: 47px 9.3vw 40px 5vw; }
      #h_mv.v2 .tit_area .inr {
        padding: 0; }
      #h_mv.v2 .tit_area .day {
        font-size: 20px;
        font-size: clamp(20px, 5.3333333333vw, 25.6px);
        margin-bottom: 14px;
        text-align: left; }
      #h_mv.v2 .tit_area .cate {
        padding: 5px 14px;
        font-size: 10px;
        margin-bottom: 14px; }
      #h_mv.v2 .tit_area .tit {
        font-size: 22px;
        font-size: clamp(22px, 5.8666666667vw, 28.16px);
        margin-bottom: 30px; }
      #h_mv.v2 .tit_area .new {
        right: -2px;
        top: 40px;
        width: 46px; }
      #h_mv.v2 .tit_area .tags {
        margin-bottom: 15px;
        text-align: left; }
        #h_mv.v2 .tit_area .tags .tag {
          font-size: 10px;
          margin-right: 10px;
          margin-bottom: 5px; }
      #h_mv.v2 .tit_area .pan {
        text-align: left; }
    #h_mv.v2 .image_area {
      right: 0;
      width: 93.33%;
      position: relative;
      top: auto;
      margin-left: 6.67%;
      -webkit-transform: translateY(-60px);
              transform: translateY(-60px);
      margin-bottom: -60px; } }
/* ==========================================================================
	foot_contact
========================================================================== */
.foot_contact {
  display: block;
  position: relative;
  background: #ffc300;
  background: -webkit-gradient(linear, left bottom, left top, from(#ffc300), to(#69bed7));
  background: linear-gradient(to top, #ffc300 0%, #69bed7 100%);
  padding-top: 166px;
  padding-bottom: 210px; }
  .foot_contact:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 105px;
    background: #fff;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 0)), to(#fff));
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
    z-index: 50; }
  .foot_contact:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 104px;
    background: #fff;
    background: white;
    background: -webkit-gradient(linear, left bottom, left top, from(white), color-stop(50%, white), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(0deg, white 0%, white 50%, rgba(255, 255, 255, 0) 100%);
    z-index: 10; }
  .foot_contact .link_list {
    display: block;
    width: 86%;
    width: clamp(864.2857142857px, 86.4285714286vw, 1659.4285714286px);
    margin: 0 auto 100px;
    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; }
    .foot_contact .link_list li {
      position: relative;
      width: 32.23%;
      border-radius: 50px;
      -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);
      opacity: 0;
      -webkit-transform: translateY(50px);
              transform: translateY(50px);
      -webkit-transition: all 1s ease;
      transition: all 1s ease; }
      .foot_contact .link_list li:first-child a {
        pointer-events: none; }
    .foot_contact .link_list a {
      position: relative;
      display: block;
      width: 100%;
      height: 100%;
      border-radius: 50px;
      z-index: 10;
      padding: 75px 0 112px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      .foot_contact .link_list a:before {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        right: 0;
        top: 0;
        margin: auto;
        z-index: -1;
        background: #fff;
        border-radius: 50px;
        -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); }
      .foot_contact .link_list a:after {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        right: 0;
        top: 15px;
        margin: auto;
        z-index: -2;
        background: var(--base-text-color);
        border-radius: 50px;
        -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
      .foot_contact .link_list a:hover {
        -webkit-transform: translateY(5px) !important;
                transform: translateY(5px) !important;
        -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1) !important;
        transition: -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1) !important;
        transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1) !important;
        transition: transform 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1) !important;
        -webkit-transition-delay: 0s !Important;
                transition-delay: 0s !Important; }
      .foot_contact .link_list a:hover:after {
        top: 10px;
        -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
      .foot_contact .link_list a:hover .ar {
        -webkit-transform: scale(1.2);
                transform: scale(1.2);
        background: var(--base-link-color);
        -webkit-transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), transform 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .foot_contact .link_list .b_txt {
      text-align: center;
      font-size: 22px;
      font-size: clamp(22px, 1.5714285714vw, 28.16px);
      font-weight: 700;
      margin-bottom: 15px;
      color: var(--base-text-color); }
    .foot_contact .link_list .en {
      display: block;
      text-align: center;
      color: var(--base-link-color);
      font-size: 12px;
      font-size: clamp(12px, 0.8571428571vw, 15.36px);
      margin-bottom: 20px;
      font-weight: 700; }
    .foot_contact .link_list .coming {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 50px;
      font-size: 12px;
      font-size: clamp(12px, 0.8571428571vw, 15.36px);
      text-transform: uppercase;
      color: var(--base-text-color); }
    .foot_contact .link_list .c_txt {
      font-size: 14px;
      font-size: clamp(14px, 1vw, 17.92px);
      line-height: 1.85;
      font-weight: 700;
      color: var(--base-text-color);
      margin: 0 auto 18px;
      width: 64%;
      min-width: 255px; }
    .foot_contact .link_list .illust {
      width: 61.53%;
      min-width: 240px;
      margin: 0 auto 30px; }
    .foot_contact .link_list li:nth-child(2) .illust {
      width: 64.102%; }
    .foot_contact .link_list li:nth-child(3) .illust {
      width: 63.076%; }
    .foot_contact .link_list .ar {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 50px;
      margin: auto;
      width: 40px;
      height: 40px;
      margin: 0 auto;
      background: var(--base-text-color);
      border-radius: 50%;
      -webkit-transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), transform 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), transform 0.4s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
      .foot_contact .link_list .ar i {
        width: 13px;
        fill: none;
        stroke: #fff;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 6px; }
  .foot_contact .move li {
    opacity: 100;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transition: all .4s ease;
    transition: all .4s ease; }
    .foot_contact .move li:nth-child(2) {
      -webkit-transition-delay: .2s;
              transition-delay: .2s; }
    .foot_contact .move li:nth-child(3) {
      -webkit-transition-delay: .4s;
              transition-delay: .4s; }
  .foot_contact .contact_area {
    position: relative;
    max-width: 810px;
    width: 90%;
    margin: 0 auto;
    z-index: 20; }
    .foot_contact .contact_area h2 {
      font-size: 47px;
      font-weight: 700;
      color: #fff;
      margin-bottom: 13px;
      text-align: center;
      letter-spacing: 0.1em; }
    .foot_contact .contact_area .c_txt {
      display: block;
      text-align: center;
      font-size: 16px;
      font-weight: 700;
      letter-spacing: 0.1em;
      margin-bottom: 35px; }
    .foot_contact .contact_area .text_area {
      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; }
    .foot_contact .contact_area .l_txt {
      width: 50%;
      min-width: 400px;
      padding-top: 6px; }
      .foot_contact .contact_area .l_txt p {
        font-size: 14px;
        font-weight: 700;
        margin-bottom: 30px; }
      .foot_contact .contact_area .l_txt a {
        position: relative;
        display: block;
        padding-left: 80px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        font-size: 38px;
        font-weight: 600;
        color: var(--base-text-color);
        margin-bottom: 16px;
        letter-spacing: 0.08em; }
        .foot_contact .contact_area .l_txt a:before {
          content: "tel";
          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;
          font-family: 'Montserrat Alternates', sans-serif;
          width: 70px;
          height: 38px;
          background: #fff;
          border-radius: 19px;
          position: absolute;
          left: -6px;
          top: 0;
          font-size: 16px;
          font-weight: 700;
          color: var(--base-text-color); }
      .foot_contact .contact_area .l_txt span {
        display: block;
        padding-left: 80px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        font-size: 11px;
        font-weight: 600; }
    .foot_contact .contact_area .link {
      position: relative;
      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: 380px;
      max-width: calc(100% - 410px);
      height: 100px;
      z-index: 10; }
      .foot_contact .contact_area .link p {
        position: relative;
        z-index: 10;
        font-size: 18px;
        font-weight: 700;
        color: var(--base-text-color);
        padding-right: 12px; }
      .foot_contact .contact_area .link:before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        background: #fff;
        border-radius: 50px;
        border-radius: 50px;
        width: 100%;
        height: 100%;
        z-index: 1;
        -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
      .foot_contact .contact_area .link:after {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: 15px;
        background: var(--base-text-color);
        border-radius: 50px;
        width: 100%;
        height: 100%;
        z-index: -1;
        -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
      .foot_contact .contact_area .link:hover {
        -webkit-transform: translateY(5px);
                transform: translateY(5px); }
        .foot_contact .contact_area .link:hover:after {
          top: 10px;
          -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
          transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
        .foot_contact .contact_area .link:hover .ar {
          background: var(--base-text-color);
          -webkit-transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1);
          transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .foot_contact .contact_area .ar {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      position: absolute;
      right: -40px;
      top: -7px;
      width: 33px;
      height: 33px;
      border-radius: 50%;
      -webkit-transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
      .foot_contact .contact_area .ar i {
        width: 12px;
        fill: none;
        stroke: var(--base-link-color);
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 6px;
        -webkit-transform: translateY(-3px);
                transform: translateY(-3px); }
  .foot_contact .illust_area {
    position: absolute;
    width: 112.8%;
    width: clamp(900px, 112.8%, 2165px);
    bottom: -10px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 10; }
    .foot_contact .illust_area .l_illust {
      width: 25.3%;
      position: absolute;
      left: 0;
      bottom: 0; }
    .foot_contact .illust_area .r_illust {
      width: 24.74%;
      position: absolute;
      right: 0;
      bottom: 0; }
      .foot_contact .illust_area .r_illust figure {
        position: relative;
        z-index: 10; }
      .foot_contact .illust_area .r_illust .air {
        position: absolute;
        width: 156px;
        width: calc((156/391)*100%);
        min-width: 140px;
        left: calc((99/391)*100%);
        bottom: calc((203/513)*100%);
        opacity: 0;
        -webkit-transform: translate(80px, 80px);
                transform: translate(80px, 80px);
        z-index: 1;
        -webkit-transition: all 0.5s cubic-bezier(0.61, 1, 0.88, 1);
        transition: all 0.5s cubic-bezier(0.61, 1, 0.88, 1); }
  .foot_contact .move .r_illust .air {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 100;
    -webkit-transition: all 0.5s cubic-bezier(0.61, 1, 0.88, 1);
    transition: all 0.5s cubic-bezier(0.61, 1, 0.88, 1); }

@media screen and (max-width: 1300px) {
  .foot_contact .illust_area .r_illust .air {
    left: calc(100% - 200px); } }
@media screen and (max-width: 1250px) {
  .foot_contact {
    padding-bottom: 260px; }

  .foot_contact .illust_area .r_illust .air {
    bottom: 80px; } }
@media screen and (max-width: 1000px) {
  .foot_contact .link_list {
    width: 90%; }
    .foot_contact .link_list .c_txt {
      width: 90%;
      min-width: 10px; }
    .foot_contact .link_list .illust,
    .foot_contact .link_list li:nth-child(2) .illust,
    .foot_contact .link_list li:nth-child(3) .illust {
      min-width: 10px;
      width: 96%; }
  .foot_contact .contact_area .ar {
    right: -30px; } }
@media screen and (max-width: 800px) {
  .foot_contact {
    padding-top: 110px;
    padding-bottom: 0; }
    .foot_contact:before {
      height: 40px; }
    .foot_contact:after {
      height: 90px; }
    .foot_contact .link_list {
      width: 90%;
      margin: 0 auto 60px; }
      .foot_contact .link_list li {
        width: 100%;
        border-radius: 30px;
        margin-bottom: 12px; }
      .foot_contact .link_list a {
        border-radius: 30px;
        padding: 28px 0 25px 10vw; }
        .foot_contact .link_list a:before {
          border-radius: 30px; }
        .foot_contact .link_list a:after {
          top: 12px;
          border-radius: 30px; }
        .foot_contact .link_list a:hover {
          -webkit-transform: translateY(0) !important;
                  transform: translateY(0) !important; }
      .foot_contact .link_list .b_txt {
        font-size: 16px;
        font-size: clamp(16px, 4.2666666667vw, 20.48px);
        margin-bottom: 12px;
        text-align: left; }
      .foot_contact .link_list .en {
        font-size: 10px;
        margin-bottom: 14px;
        text-align: left; }
      .foot_contact .link_list .c_txt {
        display: none; }
      .foot_contact .link_list .illust {
        width: 118px;
        min-width: 0;
        margin: 0;
        position: absolute;
        right: 6.93vw;
        bottom: 15px; }
      .foot_contact .link_list li:nth-child(2) .illust {
        width: 126px;
        bottom: 18px; }
      .foot_contact .link_list li:nth-child(3) .illust {
        width: 125px;
        bottom: 18px; }
      .foot_contact .link_list .ar {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        width: 31px;
        height: 31px;
        margin: 0; }
        .foot_contact .link_list .ar i {
          width: 10px;
          stroke-width: 5px; }
      .foot_contact .link_list .coming {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        font-size: 13px; }
    .foot_contact .contact_area {
      width: 76%;
      margin: 0 auto;
      z-index: 20; }
      .foot_contact .contact_area h2 {
        font-size: 32px;
        font-size: clamp(32px, 8.5333333333vw, 40.96px);
        margin-bottom: 8px; }
      .foot_contact .contact_area .c_txt {
        font-size: 12px;
        font-size: clamp(12px, 3.2vw, 15.36px);
        margin-bottom: 25px; }
      .foot_contact .contact_area .text_area {
        display: block; }
      .foot_contact .contact_area .l_txt {
        width: 100%;
        min-width: 10px;
        padding-top: 0;
        text-align: center; }
        .foot_contact .contact_area .l_txt p {
          font-size: 12px;
          font-size: clamp(12px, 3.2vw, 15.36px);
          margin-bottom: 25px;
          line-height: 1.83; }
        .foot_contact .contact_area .l_txt a {
          display: inline-block;
          padding-left: 60px;
          margin: 0 auto;
          font-size: 26px;
          margin-bottom: 18px; }
          .foot_contact .contact_area .l_txt a:before {
            width: 50px;
            height: 27px;
            left: 0;
            font-size: 11px; }
        .foot_contact .contact_area .l_txt span {
          padding-left: 0;
          font-size: 10px;
          margin-bottom: 20px; }
      .foot_contact .contact_area .link {
        width: 100%;
        height: 77px;
        max-width: 800px; }
        .foot_contact .contact_area .link p {
          font-size: 14px;
          font-size: clamp(14px, 37.3vw, 16px);
          font-weight: 700;
          padding-right: 13px; }
        .foot_contact .contact_area .link:before {
          content: "";
          display: block;
          position: absolute;
          left: 0;
          background: #fff;
          border-radius: 50px;
          border-radius: 50px;
          width: 100%;
          height: 100%;
          z-index: 1;
          -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
          transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
        .foot_contact .contact_area .link:after {
          top: 12px; }
        .foot_contact .contact_area .link:hover {
          -webkit-transform: translateY(0);
                  transform: translateY(0); }
          .foot_contact .contact_area .link:hover:after {
            top: 12px; }
      .foot_contact .contact_area .ar {
        right: -15px;
        top: -2px;
        width: 20px;
        height: 20px; }
        .foot_contact .contact_area .ar i {
          width: 9px;
          stroke-width: 6px;
          -webkit-transform: translateY(-3px);
                  transform: translateY(-3px); }
    .foot_contact .illust_area {
      position: relative;
      width: 100%;
      bottom: auto;
      left: auto;
      -webkit-transform: translateX(0);
              transform: translateX(0); }
      .foot_contact .illust_area .r_illust {
        width: 100%;
        position: relative;
        right: auto;
        bottom: auto; }
        .foot_contact .illust_area .r_illust figure {
          position: relative;
          z-index: 10; }
        .foot_contact .illust_area .r_illust .air {
          width: 87px;
          width: calc((174/750)*100%);
          min-width: 87px;
          left: calc((494/750)*100%);
          bottom: calc((288/760)*100%);
          -webkit-transform: translate(50px, 50px);
                  transform: translate(50px, 50px); }
          .foot_contact .illust_area .r_illust .air .hv_txt {
            width: 82px;
            height: 82px;
            right: calc(100% - 12px);
            top: -70px; }
    .foot_contact .move .r_illust .air {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0);
      opacity: 100;
      -webkit-transition: all 0.5s cubic-bezier(0.61, 1, 0.88, 1);
      transition: all 0.5s cubic-bezier(0.61, 1, 0.88, 1); } }
/* ==========================================================================
	footer
========================================================================== */
.footer {
  background: #fff;
  padding-top: 70px; }
  .footer .footer_inr {
    position: relative;
    width: 85%;
    max-width: 1632px;
    margin: 0 auto; }
  .footer h2 {
    width: 565px;
    display: inline-block;
    margin-right: 28px; }
  .footer .s_txt {
    display: inline-block;
    font-size: 11px;
    line-height: 1.63;
    font-weight: 700;
    -webkit-transform: translateY(-7px);
            transform: translateY(-7px); }
  .footer .foot_logo_icon {
    display: block;
    width: 163px;
    position: absolute;
    right: 0;
    top: 0; }
  .footer .link_area {
    position: relative;
    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;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    margin: 80px auto 98px; }
  .footer .r_link {
    width: 74.1666%;
    max-width: calc(100% - 285px); }
  .footer .link_box {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 75px;
    padding-left: 98px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 20px 20px 0 0;
    background: var(--base-link-color); }
    .footer .link_box:first-child {
      height: 80px;
      border-radius: 20px;
      margin-bottom: 10px; }
    .footer .link_box p {
      font-size: 20px;
      font-weight: 700;
      color: var(--base-text-color);
      margin-right: 10px; }
    .footer .link_box .w_txt {
      font-size: 14px;
      font-weight: 700;
      color: #fff; }
    .footer .link_box .ar {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 20px;
      margin: auto;
      width: 25px;
      height: 25px;
      background: var(--base-text-color);
      border-radius: 50%;
      -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); }
    .footer .link_box i {
      width: 8px;
      fill: none;
      stroke: var(--base-link-color);
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 6px; }
    .footer .link_box .illust {
      display: block;
      position: absolute;
      left: 26px;
      top: 11px;
      margin: auto;
      width: 65px;
      -webkit-transition: -webkit-transform 0.4s var(--easePopUp);
      transition: -webkit-transform 0.4s var(--easePopUp);
      transition: transform 0.4s var(--easePopUp);
      transition: transform 0.4s var(--easePopUp), -webkit-transform 0.4s var(--easePopUp); }
    .footer .link_box.box02 .illust {
      top: 7px;
      width: 61px; }
    .footer .link_box.box03 .illust {
      top: 8px;
      width: 44px;
      left: 37px; }
    .footer .link_box:hover .ar {
      -webkit-transform: scale(1.2);
              transform: scale(1.2);
      -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); }
    .footer .link_box:hover .illust {
      -webkit-transform: translateY(-3px);
              transform: translateY(-3px);
      -webkit-transition: -webkit-transform 0.4s var(--easePopUp);
      transition: -webkit-transform 0.4s var(--easePopUp);
      transition: transform 0.4s var(--easePopUp);
      transition: transform 0.4s var(--easePopUp), -webkit-transform 0.4s var(--easePopUp); }
  .footer .links {
    display: block;
    width: 100%;
    padding: 0 46px 27px 36px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: var(--base-link-color);
    border-radius: 0 0 20px 20px;
    margin-bottom: 10px; }
    .footer .links a {
      display: inline-block;
      background: #fff;
      padding: 7px 15px;
      border-radius: 12px;
      color: var(--base-text-color);
      margin: 0 5px 5px 0;
      font-weight: 700;
      -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1), background 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1), background 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
      .footer .links a:hover {
        background: var(--base-text-color);
        color: var(--base-link-color);
        -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1), background 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1), background 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
  .footer .l_link {
    width: 285px;
    padding-top: 10px; }
    .footer .l_link a {
      display: block;
      position: relative;
      width: auto;
      padding-left: 40px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      margin-bottom: 35px;
      font-size: 18px;
      font-weight: 700;
      color: var(--base-text-color);
      -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
      .footer .l_link a:hover {
        color: var(--base-link-color);
        -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
      .footer .l_link a:hover .ar {
        -webkit-transform: scale(1.2);
                transform: scale(1.2);
        -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); }
    .footer .l_link .ar {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      width: 25px;
      height: 25px;
      background: var(--base-link-color);
      border-radius: 50%;
      -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); }
    .footer .l_link i {
      width: 8px;
      height: 25px;
      fill: none;
      stroke: var(--base-text-color);
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 6px; }
  .footer .en {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    font-size: 19px;
    font-weight: 700;
    padding-left: 39px;
    color: var(--base-text-color); }
    .footer .en:before {
      content: "";
      display: block;
      position: absolute;
      left: 3px;
      top: 0;
      width: 15px;
      height: 17px;
      background: url(../image/common/foot_copy.png);
      background-size: cover; }
  .footer .pg_area {
    position: relative;
    padding-bottom: 70px;
    width: 94.28%;
    max-width: 1810px;
    margin: 0 auto; }
    .footer .pg_area a {
      position: relative;
      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: 115px;
      height: 45px;
      border-radius: 45px;
      font-size: 13px;
      color: var(--base-link-color);
      font-weight: 700;
      z-index: 10; }
      .footer .pg_area a:before {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        right: 40px;
        opacity: 0;
        width: 88px;
        height: 102px;
        background: url(../image/common/foot_pg_icon01.png);
        background-size: cover;
        -webkit-transition: all 0.4s var(--easePopUp);
        transition: all 0.4s var(--easePopUp);
        z-index: -2; }
      .footer .pg_area a:after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: var(--base-text-color);
        border-radius: 45px;
        z-index: -1;
        -webkit-transition: all 0.4s var(--easePopUp);
        transition: all 0.4s var(--easePopUp); }
      .footer .pg_area a:last-child {
        position: absolute;
        right: 0;
        top: 0; }
        .footer .pg_area a:last-child:before {
          right: -3px;
          width: 81px;
          height: 103px;
          background-image: url(../image/common/foot_pg_icon02.png); }
      .footer .pg_area a:hover {
        background: var(--base-link-color);
        color: var(--base-text-color);
        -webkit-transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: background 0.4s cubic-bezier(0.61, 1, 0.88, 1), color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
        .footer .pg_area a:hover:before {
          bottom: 26px;
          opacity: 100;
          -webkit-transition: all 0.4s var(--easePopUp);
          transition: all 0.4s var(--easePopUp); }
        .footer .pg_area a:hover:after {
          background: var(--base-link-color);
          -webkit-transition: all 0.4s var(--easePopUp);
          transition: all 0.4s var(--easePopUp); }
    .footer .pg_area p {
      width: calc(100% - 260px);
      position: absolute;
      left: 0;
      right: 0;
      top: 14px;
      margin: auto;
      text-align: center; }
      .footer .pg_area p:before {
        content: "";
        display: block;
        width: 100%;
        height: 2px;
        position: absolute;
        left: 0;
        top: 7px;
        background: url(../image/common/foot_dotts.png) repeat-x;
        background-size: 5px 2px;
        z-index: 1; }
    .footer .pg_area .illust {
      display: block;
      width: 132px;
      position: absolute;
      left: calc(50% + 80px);
      bottom: -9px;
      z-index: 20; }
      .footer .pg_area .illust .hv_txt {
        width: 60px;
        height: 60px;
        top: -53px;
        right: 4px; }
        .footer .pg_area .illust .hv_txt:before {
          left: 20px; }
    .footer .pg_area .txt {
      position: relative;
      display: inline-block;
      font-size: 14px;
      font-weight: 700;
      color: var(--base-text-color);
      z-index: 10; }
      .footer .pg_area .txt:before {
        content: "";
        display: block;
        width: 360px;
        height: 10px;
        position: absolute;
        left: -15px;
        top: 5px;
        background: #fff;
        z-index: -1; }

@media screen and (max-width: 1140px) {
  .footer .foot_logo_icon {
    right: auto;
    top: 90px; }
  .footer .s_txt {
    display: block;
    margin-top: 40px;
    padding-left: 180px; }
  .footer .link_area {
    margin-top: 50px; } }
@media screen and (max-width: 800px) {
  .footer {
    padding-top: 45px; }
    .footer .footer_inr {
      width: 100%; }
    .footer h2 {
      width: 565px;
      width: clamp(300px, 80vw, 565px);
      display: block;
      margin: 0 auto; }
    .footer .s_txt {
      position: relative;
      display: block;
      width: 300px;
      width: clamp(300px, 80vw, 565px);
      font-size: 10px;
      line-height: 1.8;
      padding-left: 127px;
      margin: 20px auto 0;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      .footer .s_txt:before {
        content: "";
        display: block;
        width: 100px;
        height: 50px;
        position: absolute;
        left: 0;
        top: 0;
        background: url(../image/common/foot_logo_icon.png);
        background-size: cover; }
    .footer .foot_logo_icon {
      display: none; }
    .footer .link_area {
      display: block;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse;
      margin: 40px auto 75px; }
    .footer .r_link {
      width: 90%;
      max-width: 90%;
      margin: 0 auto; }
    .footer .link_box {
      display: block;
      height: 85px;
      padding-left: 85px;
      border-radius: 10px 10px 0 0;
      padding-top: 28px; }
      .footer .link_box:first-child {
        height: 85px;
        border-radius: 10px;
        margin-bottom: 10px; }
      .footer .link_box p {
        display: block;
        font-size: 16px;
        margin: 0 0 9px 0; }
      .footer .link_box .w_txt {
        font-size: 12px; }
      .footer .link_box .ar {
        right: 22px;
        margin: auto; }
      .footer .link_box .illust {
        left: 22px;
        top: 20px;
        width: 51px; }
      .footer .link_box.box02 .illust {
        top: 19px;
        width: 48px; }
      .footer .link_box.box03 .illust {
        top: 21px;
        width: 35px;
        left: 36px; }
    .footer .links {
      display: block;
      width: 100%;
      padding: 0 23px 30px;
      border-radius: 0 0 10px 10px;
      margin-bottom: 10px; }
      .footer .links a {
        padding: 5px 15px;
        border-radius: 12px;
        margin: 0 4px 5px 0;
        font-size: 12px; }
    .footer .l_link {
      width: 81.4%;
      padding-top: 25px;
      margin: 0 auto; }
      .footer .l_link a {
        padding-left: 40px;
        margin-bottom: 25px;
        font-size: 16px; }
    .footer .en {
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      bottom: -235px;
      margin: auto;
      font-size: 13px;
      padding-left: 22px;
      width: 120px; }
      .footer .en:before {
        left: 0;
        width: 11px;
        height: 11px;
        background-image: url(../image/common/foot_copy_sp.png); }
    .footer .pg_area {
      padding-top: 40px;
      padding-bottom: 110px;
      width: 263px;
      margin: 0 auto; }
      .footer .pg_area a {
        position: relative;
        display: inline-block;
        width: 74px;
        height: 36px;
        text-align: center;
        padding-top: 12px;
        font-size: 12px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box; }
        .footer .pg_area a:before {
          bottom: -190px;
          right: 38px;
          width: 71px;
          height: 82px; }
        .footer .pg_area a:last-child {
          position: relative;
          right: auto;
          top: auto; }
          .footer .pg_area a:last-child:before {
            display: none; }
        .footer .pg_area a:hover:before {
          bottom: -120px; }
      .footer .pg_area p {
        width: 100%;
        position: absolute;
        left: 0;
        right: auto;
        top: 0;
        margin: auto;
        text-align: left; }
        .footer .pg_area p:before {
          display: none; }
      .footer .pg_area .illust {
        width: 105px;
        left: auto;
        right: -15px;
        bottom: auto;
        top: -20px;
        z-index: 20; }
        .footer .pg_area .illust .hv_txt {
          width: 50px;
          height: 50px;
          top: -50px;
          right: 3px; }
          .footer .pg_area .illust .hv_txt:before {
            left: 18px; }
      .footer .pg_area .txt {
        position: relative;
        display: inline-block;
        font-size: 14px;
        font-weight: 700;
        color: var(--base-text-color);
        z-index: 10; }
        .footer .pg_area .txt:before {
          display: block;
          width: auto;
          height: auto;
          position: relative;
          left: 0;
          top: 0;
          background: none; } }
/* ==========================================================================
	parts
========================================================================== */
.con_inr {
  position: relative;
  margin: 0 auto; }

.inr_1000 {
  width: 71.428%;
  max-width: 1371px;
  min-width: 1000px; }

.inr_1100 {
  width: 78.57%;
  max-width: 1508px;
  min-width: 1100px; }

/*
.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;
}
*/
.inview.bt {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  -webkit-transition: all 1s ease;
  transition: all 1s ease; }

.inview.bt.move {
  opacity: 100;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-filter: blur(0);
          filter: blur(0);
  -webkit-transition: all 1.2s ease;
  transition: all 1.2s ease;
  /*
  transition-delay: .4s;
  */ }

.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); }

.circle_btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /*
  justify-content: center; 
  */
  width: 320px;
  height: 320px;
  width: 22.85vw;
  height: 22.85vw;
  width: clamp(300px, 22.85vw, 430px);
  height: clamp(300px, 22.85vw, 430px);
  background: #fff;
  border-radius: 50%;
  margin: 0 auto;
  z-index: 50;
  -webkit-transition: -webkit-transform 0.4s var(--easeOutQuad);
  transition: -webkit-transform 0.4s var(--easeOutQuad);
  transition: transform 0.4s var(--easeOutQuad);
  transition: transform 0.4s var(--easeOutQuad), -webkit-transform 0.4s var(--easeOutQuad); }
  .circle_btn:before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    margin: auto;
    z-index: 1;
    background: #fff;
    border-radius: 50%;
    -webkit-transition: background 0.4s var(--easeOutQuad);
    transition: background 0.4s var(--easeOutQuad); }
  .circle_btn:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    top: 20px;
    margin: auto;
    z-index: -1;
    background: #011444;
    border-radius: 50%;
    -webkit-transition: top 0.4s var(--easeOutQuad);
    transition: top 0.4s var(--easeOutQuad); }
  .circle_btn p {
    position: relative;
    display: block;
    text-align: center;
    -webkit-transform: translateY(-28%);
            transform: translateY(-28%);
    margin: 0 auto;
    z-index: 10; }
  .circle_btn .en, .circle_btn .end {
    display: block;
    font-size: 19px;
    font-size: clamp(19px, 1.3571428571vw, 24.32px);
    font-weight: 700;
    color: var(--base-link-color);
    letter-spacing: 0.06em;
    z-index: 10;
    -webkit-transition: all 0.4s var(--easeOutQuad);
    transition: all 0.4s var(--easeOutQuad); }
  .circle_btn .en:nth-child(2),
  .circle_btn .end:nth-child(2) {
    font-size: 23px;
    font-size: clamp(23px, 1.6428571429vw, 29.44px);
    font-weight: 700;
    margin: 10px 0 26px;
    letter-spacing: 0.02em; }
  .circle_btn .ja {
    display: block;
    font-size: 27px;
    font-size: clamp(27px, 1.9285714286vw, 34.56px);
    font-weight: 700;
    color: var(--base-text-color);
    letter-spacing: 0.08em;
    z-index: 10;
    -webkit-transition: all 0.4s var(--easeOutQuad);
    transition: all 0.4s var(--easeOutQuad); }
  .circle_btn .icon {
    display: block;
    width: 44px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -77px;
    margin: auto;
    fill: none;
    stroke: #ffc200;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 6px;
    z-index: 10;
    -webkit-transition: all 0.4s var(--easeOutQuad);
    transition: all 0.4s var(--easeOutQuad); }
  .circle_btn.wb_txt:after {
    background: #23aabe; }
  .circle_btn.wb_txt p, .circle_btn.wb_txt .en {
    color: #23aabe; }
  .circle_btn.wb_txt .icon {
    stroke: #23aabe; }
  .circle_btn.gb_txt:after {
    background: #006e15; }
  .circle_btn.gb_txt .ja {
    color: #343434; }
  .circle_btn.gb_txt p, .circle_btn.gb_txt .end {
    color: #016e14; }
  .circle_btn.gb_txt .icon {
    stroke: #016e14; }
  .circle_btn.ob_txt:before {
    background: var(--base-link-color); }
  .circle_btn.ob_txt:after {
    background: var(--base-text-color); }
  .circle_btn.ob_txt .ja {
    color: var(--base-text-color); }
  .circle_btn.ob_txt .en {
    color: #fff; }
  .circle_btn.ob_txt .icon {
    stroke: #fff; }
  .circle_btn:hover {
    -webkit-transform: translateY(5px);
            transform: translateY(5px);
    -webkit-transition: -webkit-transform 0.4s var(--easeOutQuad);
    transition: -webkit-transform 0.4s var(--easeOutQuad);
    transition: transform 0.4s var(--easeOutQuad);
    transition: transform 0.4s var(--easeOutQuad), -webkit-transform 0.4s var(--easeOutQuad); }
    .circle_btn:hover:before {
      background: var(--base-link-color);
      -webkit-transition: background 0.4s var(--easeOutQuad);
      transition: background 0.4s var(--easeOutQuad); }
    .circle_btn:hover:after {
      top: 15px;
      -webkit-transition: top 0.4s var(--easeOutQuad);
      transition: top 0.4s var(--easeOutQuad); }
    .circle_btn:hover .en {
      color: var(--base-text-color);
      -webkit-transition: all 0.4s var(--easeOutQuad);
      transition: all 0.4s var(--easeOutQuad); }
    .circle_btn:hover .icon {
      stroke: var(--base-text-color);
      -webkit-transition: all 0.4s var(--easeOutQuad);
      transition: all 0.4s var(--easeOutQuad); }
  .circle_btn.wb_txt:hover:before {
    background: var(--base-text-color); }
  .circle_btn.wb_txt:hover .en, .circle_btn.wb_txt:hover .ja {
    color: #23aabe; }
  .circle_btn.wb_txt:hover .icon {
    stroke: #23aabe; }

.con_tit {
  position: relative;
  display: block;
  text-align: center;
  font-size: 40px;
  font-size: clamp(40px, 2.8571428571vw, 51.2px);
  font-weight: 600;
  margin-bottom: 30px;
  letter-spacing: 0.04em;
  z-index: 10; }

.con_s_tit {
  position: relative;
  display: block;
  text-align: center;
  font-size: 16px;
  font-size: clamp(16px, 1.1428571429vw, 20.48px);
  font-weight: 700;
  margin-bottom: 17px;
  z-index: 10; }

.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;
  font-family: 'object-fit: cover;';
  /*IE対策*/ }

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

.hv_txt {
  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;
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0);
  width: 78px;
  height: 78px;
  background: var(--base-link-color);
  color: var(--base-text-color);
  font-size: 12px;
  line-height: 1.333;
  font-weight: 700;
  right: 8px;
  top: -40px;
  -webkit-transition: all 0.4s var(--easePopUp);
  transition: all 0.4s var(--easePopUp);
  border-radius: 50%;
  z-index: 20;
  text-align: center; }
  .hv_txt:before {
    content: "";
    display: block;
    position: absolute;
    left: 28px;
    top: calc(100% - 1px);
    width: 13px;
    height: 13px;
    background: url(../image/common/baloon_btm.png);
    background-size: cover; }

.hv_txt.w_bg {
  background: #fff; }
  .hv_txt.w_bg:before {
    background-image: url(../image/common/w_baloon_btm.png);
    left: 38px; }

.hv_txt.b_bg {
  background: var(--base-text-color);
  color: var(--base-link-color);
  width: 125px;
  height: 125px;
  right: 90px;
  top: -135px; }
  .hv_txt.b_bg:before {
    background-image: url(../image/common/b_baloon_btm.png);
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
    left: 50%; }

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

.move.hv_txt.b_bg {
  -webkit-transition-delay: .7s;
          transition-delay: .7s; }

.pager {
  position: relative;
  width: 100%;
  /*
  max-width:1920px;
  */
  margin: 0 auto;
  text-align: center; }
  .pager .pagelist {
    display: block;
    text-align: center;
    margin-bottom: 28px;
    font-size: 20px;
    font-weight: 700; }
  .pager .previouspostslink {
    position: absolute;
    left: 0;
    top: 7px;
    width: 240px;
    height: 140px;
    border-radius: 0 70px 70px 0;
    padding-top: 62px;
    color: var(--base-text-color);
    padding-left: 75px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: left;
    -webkit-transition: transform 0.4s ease;
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease; }
    .pager .previouspostslink span {
      position: relative;
      font-size: 18px;
      font-weight: 700; }
      .pager .previouspostslink span:after {
        content: "";
        display: block;
        position: absolute;
        left: -30px;
        top: 2px;
        width: 24px;
        height: 24px;
        background: url(../image/common/pager_ar.png);
        background-size: cover;
        -webkit-transform: scale(-1, 1);
                transform: scale(-1, 1); }
    .pager .previouspostslink:before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      border-radius: 0 70px 70px 0;
      background: var(--base-text-color);
      position: absolute;
      left: 0;
      top: 18px;
      z-index: -1;
      -webkit-transition: top 0.4s ease;
      transition: top 0.4s ease; }
    .pager .previouspostslink:after {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      z-index: -1;
      border-radius: 0 70px 70px 0;
      background: var(--base-link-color); }
    .pager .previouspostslink:hover {
      -webkit-transform: translateY(3px);
              transform: translateY(3px);
      -webkit-transition: transform 0.4s ease;
      -webkit-transition: -webkit-transform 0.4s ease;
      transition: -webkit-transform 0.4s ease;
      transition: transform 0.4s ease;
      transition: transform 0.4s ease, -webkit-transform 0.4s ease; }
      .pager .previouspostslink:hover:before {
        top: 15px;
        -webkit-transition: top 0.4s ease;
        transition: top 0.4s ease; }
  .pager .nextpostslink {
    position: absolute;
    right: 0;
    top: 7px;
    width: 240px;
    height: 140px;
    border-radius: 70px 0 0 70px;
    padding-top: 62px;
    padding-right: 75px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-size: 18px;
    font-weight: 700;
    color: var(--base-text-color);
    text-align: right;
    -webkit-transition: transform 0.4s ease;
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease; }
    .pager .nextpostslink span {
      position: relative;
      font-size: 18px;
      font-weight: 700; }
      .pager .nextpostslink span:after {
        content: "";
        display: block;
        position: absolute;
        right: -30px;
        top: 2px;
        width: 24px;
        height: 24px;
        background: url(../image/common/pager_ar.png);
        background-size: cover; }
    .pager .nextpostslink:before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      border-radius: 70px 0 0 70px;
      background: var(--base-text-color);
      position: absolute;
      left: 0;
      top: 18px;
      z-index: -2;
      -webkit-transition: top 0.4s ease;
      transition: top 0.4s ease; }
    .pager .nextpostslink:after {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      z-index: -1;
      border-radius: 70px 0 0 70px;
      background: var(--base-link-color); }
    .pager .nextpostslink:hover {
      -webkit-transform: translateY(3px);
              transform: translateY(3px);
      -webkit-transition: transform 0.4s ease;
      -webkit-transition: -webkit-transform 0.4s ease;
      transition: -webkit-transform 0.4s ease;
      transition: transform 0.4s ease;
      transition: transform 0.4s ease, -webkit-transform 0.4s ease; }
      .pager .nextpostslink:hover:before {
        top: 15px;
        -webkit-transition: top 0.4s ease;
        transition: top 0.4s ease; }
  .pager .disabled span {
    color: #fff; }
    .pager .disabled span:after {
      background-image: url(../image/common/pager_ar_dis.png); }
  .pager .disabled:before {
    background: #d7dbe6; }
  .pager .disabled:after {
    background: #b4bdce; }
  .pager .disabled:hover {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
    .pager .disabled:hover:before {
      top: 18px; }
  .pager .page {
    position: relative;
    display: inline-block;
    width: 70px;
    height: 70px;
    text-align: center;
    padding-top: 27px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 70px;
    color: var(--base-text-color);
    font-size: 18px;
    font-weight: 700;
    margin: 0 5px;
    -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); }
    .pager .page:before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      border-radius: 70px;
      background: var(--base-text-color);
      position: absolute;
      left: 0;
      top: 10px;
      z-index: -2;
      -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .pager .page:after {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      z-index: -1;
      border-radius: 70px;
      background: var(--base-link-color); }
    .pager .page:hover {
      -webkit-transform: translateY(3px);
              transform: translateY(3px);
      -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); }
      .pager .page:hover:before {
        top: 7px;
        -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
        transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
  .pager .current {
    position: relative;
    display: inline-block;
    width: 70px;
    height: 70px;
    text-align: center;
    padding-top: 27px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 70px;
    background: #8493b0;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    margin: 0 5px; }
    .pager .current:before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      border-radius: 70px;
      background: var(--base-text-color);
      position: absolute;
      left: 0;
      top: 10px;
      z-index: -1;
      -webkit-transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: top 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .pager .current:after {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: -20px;
      margin: auto;
      width: 48px;
      height: 14px;
      background: url(../image/common/pager_now.png);
      background-size: cover; }
  .pager .all {
    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: 130px;
    height: 36px;
    background: #ebebeb;
    font-size: 10px;
    font-weight: 600;
    color: var(--base-text-color);
    margin: 28px auto 0;
    border-radius: 18px; }
    .pager .all span {
      font-size: 16px;
      font-weight: 700;
      display: inline-block;
      padding: 0 6px; }

.w-pager {
  position: relative;
  width: 100%;
  text-align: center;
  z-index: 10;
  margin-bottom: 90px; }
  .w-pager .txt {
    display: block;
    font-size: 14px;
    color: #fff;
    margin-bottom: 15px; }
  .w-pager .page {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 60px;
    text-align: center;
    padding-top: 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    margin: 0 6px;
    -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
    transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
    .w-pager .page:before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      z-index: -1;
      background: url(../image/works/w-pager_bg.png);
      background-size: cover;
      -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); }
    .w-pager .page:after {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      z-index: -2;
      opacity: 0;
      background: url(../image/works/w-pager_af.png);
      background-size: cover;
      -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); }
    .w-pager .page:hover {
      color: #005a14;
      -webkit-transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1);
      transition: color 0.4s cubic-bezier(0.61, 1, 0.88, 1); }
      .w-pager .page:hover:before {
        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); }
      .w-pager .page:hover:after {
        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); }
  .w-pager .current {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 60px;
    text-align: center;
    padding-top: 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #7dbb00;
    font-size: 20px;
    font-weight: 700;
    margin: 0 12px; }
    .w-pager .current:before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      z-index: -1;
      background: url(../image/works/w-pager_dis.png);
      background-size: cover; }

@media screen and (max-width: 1222px) {
  .inr_1100 {
    width: 90%;
    min-width: 100px; } }
@media screen and (max-width: 1111px) {
  .inr_1000 {
    width: 90%;
    min-width: 100px; } }
@media screen and (max-width: 930px) {
  .pager {
    padding-top: 200px; } }
@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; }

  .circle_btn {
    width: 200px;
    height: 200px;
    width: 53.33vw;
    height: 53.33vw;
    width: clamp(180px, 53.33vw, 420px);
    height: clamp(180px, 53.33vw, 420px); }
    .circle_btn:after {
      top: 10px;
      margin: auto; }
    .circle_btn p {
      position: relative;
      display: block;
      text-align: center;
      -webkit-transform: translateY(-28%);
              transform: translateY(-28%);
      margin: 0 auto;
      z-index: 10; }
    .circle_btn .en, .circle_btn .end {
      font-size: 12px;
      font-size: clamp(12px, 3.2vw, 15.36px); }
    .circle_btn .en:nth-child(2),
    .circle_btn .end:nth-child(2) {
      font-size: 15px;
      font-size: clamp(15px, 4vw, 19.2px);
      margin: 7px 0 18px; }
    .circle_btn .ja {
      font-size: 17px;
      font-size: clamp(17px, 4.5333333333vw, 21.76px); }
    .circle_btn .icon {
      width: 28px;
      bottom: -48px; }
    .circle_btn:hover {
      -webkit-transform: translateY(5px);
              transform: translateY(5px); }
      .circle_btn:hover:after {
        top: 10px; }

  .pager {
    padding-top: 160px; }
    .pager .pagelist {
      margin-bottom: 20px;
      font-size: 15px; }
    .pager .previouspostslink {
      top: 0;
      width: 157px;
      height: 90px;
      border-radius: 0 45px 45px 0;
      padding-top: 40px;
      padding-left: 46px; }
      .pager .previouspostslink span {
        font-size: 12px; }
        .pager .previouspostslink span:after {
          left: -28px;
          top: 1px;
          width: 18px;
          height: 18px; }
      .pager .previouspostslink:before {
        border-radius: 0 45px 45px 0;
        top: 11px; }
      .pager .previouspostslink:after {
        border-radius: 0 45px 45px 0; }
      .pager .previouspostslink:hover:before {
        top: 8px; }
    .pager .nextpostslink {
      top: 0;
      width: 157px;
      height: 90px;
      border-radius: 45px 0 0 45px;
      padding-top: 40px;
      padding-right: 46px;
      font-size: 12px; }
      .pager .nextpostslink span {
        font-size: 12px; }
        .pager .nextpostslink span:after {
          right: -28px;
          top: 1px;
          width: 18px;
          height: 18px; }
      .pager .nextpostslink:before {
        border-radius: 45px 0 0 45px;
        top: 11px; }
      .pager .nextpostslink:after {
        border-radius: 45px 0 0 45px; }
      .pager .nextpostslink:hover:before {
        top: 8px; }
    .pager .disabled:hover {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
      .pager .disabled:hover:before {
        top: 11px; }
    .pager .page {
      width: 50px;
      height: 50px;
      padding-top: 20px;
      border-radius: 50px;
      font-size: 12px;
      margin: 0 5px; }
      .pager .page:before {
        border-radius: 50px;
        top: 7px; }
      .pager .page:after {
        border-radius: 50px; }
      .pager .page:hover:before {
        top: 4px; }
    .pager .current {
      width: 50px;
      height: 50px;
      padding-top: 20px;
      border-radius: 50px;
      font-size: 12px;
      margin: 0 4px; }
      .pager .current:before {
        border-radius: 50px;
        top: 7px; }
      .pager .current:after {
        top: -15px;
        width: 37px;
        height: 11px; }
    .pager .all {
      width: 115px;
      height: 26px;
      font-size: 10px;
      margin: 22px auto 0; }

  .w-pager {
    margin-bottom: 100px; }
    .w-pager .txt {
      font-size: 14px;
      margin-bottom: 15px; }
    .w-pager .page {
      width: 43px;
      height: 43px;
      padding-top: 15px;
      font-size: 14px;
      margin: 0 4px; }
    .w-pager .current {
      width: 43px;
      height: 43px;
      padding-top: 15px;
      font-size: 14px; } }
.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, 33.28px);
    margin-bottom: 25px; }

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

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

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