@charset "UTF-8";
/* ==========================================================================
	root
========================================================================== */
:root {
  --base-text-color: #222;
  --base-link-color:#f95812;
  --easeInQuad:cubic-bezier(.55, .085, .68, .53);
  --easeOutQuad:cubic-bezier(.25, .46, .45, .94);
  --easeInOutQuad:cubic-bezier(0.45, 0, 0.55, 1);
  --fz14:clamp(13px,0.909vw,16px);
  --fz15:clamp(14px,0.974vw,17px);
  --fz16:clamp(15px,1.0389vw,18px);
  --fz17:clamp(16px,1.1103vw,19px);
  --fz18:clamp(17px,1.168vw,20px);
  --fz20:clamp(19px,1.298vw,22px);
  --fz22:clamp(21px,1.4285vw,24px);
  --fz24:clamp(23px,1.5584vw,26px);
  --fz26:clamp(25px,1.6883vw,28px);
  --fz30:clamp(29px,1.948vw,32px);
  --fz32:clamp(31px,2.0779vw,34px); }

@media screen and (max-width: 800px) {
  :root {
    /*
    --fz10:max(10px,2.5vw);
    */
    --fz10:clamp(10px,2.666vw,12px);
    --fz11:clamp(10px,2.9333vw,13px);
    --fz11_5:clamp(11px,3.0666vw,14px);
    --fz12:clamp(11px,3.2vw,14px);
    --fz12_5:clamp(12px,3.333vw,15px);
    --fz13_5:clamp(13px,3.6vw,16px);
    --fz15:clamp(14px,4vw,17px);
    --fz16:clamp(15px,4.26vw,18px);
    --fz19:clamp(18px,5.066vw,21px);
    --fz21:clamp(20px,5.6vw,23px);
    --fz23:clamp(22px,6.13vw,25px);
    --m35:clamp(30px,9.33vw,55px);
    --m50:clamp(40px,13.33vw,70px);
    --m55:clamp(45px,14.66vw,75px);
    --m60:clamp(60px,16vw,80px);
    --m65:clamp(55px,17.3vw,85px);
    --m70:clamp(60px,18.6vw,90px);
    --m75:clamp(65px,20vw,95px);
    --m80:clamp(70px,21.33vw,100px);
    --m85:clamp(75px,22.66vw,105px);
    --m90:clamp(80px,24vw,110px);
    --m95:clamp(85px,25.33vw,115px);
    --m100:clamp(90px,26.66vw,120px); } }
/* ==========================================================================
	html
========================================================================== */
/*
html {
  visibility: hidden;
}
*/
html.wf-active {
  visibility: visible; }

html {
  font: normal normal normal 62.5%/1 "Outfit","Zen Kaku Gothic New","Noto Sans Japanese", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, MS PGothic, sans-serif;
  font-style: normal;
  font-weight: 400; }

/*
.ie body {
  font-family:  'brandon-grotesque', 'source-han-sans-japanese','Noto Sans JP', 'メイリオ', 'Meiryo', sans-serif;
}
*/
body {
  margin: 0;
  padding: 0;
  background-color: #FFF;
  background-color: white;
  position: relative;
  color: #212121;
  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: #000;
  text-decoration: none;
  -webkit-transition: all 0.4s var(--easeOutQuad);
  transition: all 0.4s var(--easeOutQuad); }
  a.disabled {
    pointer-events: none; }

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%;
    */
  max-width: 100%;
  height: auto;
  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: #ebe5d5; }

::selection {
  background: #ebe5d5; }

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

.all_wrap {
  overflow: hidden; }

/* ==========================================================================
	メニュー
========================================================================== */
.global-nav {
  display: block;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
  /*
  background-color:rgba(0,0,0,.7);
  */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all .6s;
  transition: all .6s;
  z-index: 9998;
  opacity: 0;
  visibility: hidden;
  /*
  overflow-y: auto;
  */ }

.hamburger {
  display: block;
  position: fixed;
  right: 28px;
  top: 30px;
  width: 50px;
  height: 41px;
  cursor: pointer;
  z-index: 99999;
  opacity: 0;
  visibility: hidden;
  /*
  visibility: hidden;
  opacity:0;
  */
  -webkit-transition: all .4s ease;
  transition: all .4s ease; }

.hamburger_line {
  display: block;
  position: absolute;
  left: 0;
  top: 23px;
  right: 0;
  width: 100%;
  height: 3px;
  background-color: #222222;
  border-radius: 2px;
  -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_line-2 {
  bottom: 0;
  top: auto; }

.hamburger:hover .hamburger_line {
  background-color: var(--base-link-color);
  -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:after {
  content: "MENU";
  font-size: 14px;
  color: #222;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  text-align: center;
  font-weight: 700;
  -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:after {
  color: var(--base-link-color);
  -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;
  opacity: 100;
  /*
  right:0;
  */ }

.global-nav .navi_wrap {
  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;
  width: 100%;
  height: 100vh;
  background: #faf5f0;
  -ms-overflow-style: none;
  scrollbar-width: none;
  overflow: scroll; }
  .global-nav .navi_wrap::-webkit-scrollbar {
    display: none; }
  .global-nav .navi_wrap .img_area {
    width: 38.3%;
    height: auto;
    min-height: 100vh;
    background: url(../image/common/navi_img.jpg) center center;
    background-size: cover; }
  .global-nav .navi_wrap .link_area {
    width: 61.2%;
    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; }
    .global-nav .navi_wrap .link_area > *:first-child {
      width: 100%; }
  .global-nav .navi_wrap ul {
    width: 70%;
    margin: 0 auto; }
  .global-nav .navi_wrap li {
    width: 100%;
    padding-bottom: 36px;
    padding-top: 32px;
    border-bottom: 3px dashed #222222; }
    .global-nav .navi_wrap li:first-child {
      padding-top: 0; }
    .global-nav .navi_wrap li:last-child {
      padding-bottom: 0;
      border-bottom: none; }
    .global-nav .navi_wrap li .en {
      display: block;
      font-size: 12px;
      margin-bottom: 18px; }
  .global-nav .navi_wrap .b_link {
    display: block;
    font-size: 24px;
    font-size: var(--fz24);
    font-weight: 700;
    color: #222;
    -webkit-transition: color 0.4s var(--easeOutQuad);
    transition: color 0.4s var(--easeOutQuad); }
    .global-nav .navi_wrap .b_link:hover {
      color: var(--base-link-color);
      -webkit-transition: color 0.4s var(--easeOutQuad);
      transition: color 0.4s var(--easeOutQuad); }
  .global-nav .navi_wrap li:nth-child(3) .b_link {
    margin-bottom: 35px; }
  .global-nav .navi_wrap .s_link {
    position: relative;
    display: block;
    padding-left: 40px;
    font-size: 20px;
    font-size: var(--fz20);
    font-weight: 700;
    color: #222;
    margin-bottom: 30px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transition: color 0.4s var(--easeOutQuad);
    transition: color 0.4s var(--easeOutQuad); }
    .global-nav .navi_wrap .s_link:before {
      content: "";
      display: block;
      position: absolute;
      left: 0px;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 9px;
      height: 14px;
      background: url(../image/common/link_ar.png);
      background-size: cover;
      -webkit-transition: all 0.4s var(--easeOutQuad);
      transition: all 0.4s var(--easeOutQuad); }
    .global-nav .navi_wrap .s_link:hover:before {
      -webkit-transform: translateX(3px);
              transform: translateX(3px);
      -webkit-transition: all 0.4s var(--easeOutQuad);
      transition: all 0.4s var(--easeOutQuad); }
    .global-nav .navi_wrap .s_link:last-child {
      margin-bottom: 3px; }
    .global-nav .navi_wrap .s_link:hover {
      color: var(--base-link-color);
      -webkit-transition: color 0.4s var(--easeOutQuad);
      transition: color 0.4s var(--easeOutQuad); }
  .global-nav .navi_wrap .icon {
    position: relative;
    display: inline-block;
    margin-left: 4px;
    width: 14px;
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px); }
  .global-nav .navi_wrap .sp_icon {
    display: none; }
  .global-nav .navi_wrap .nft_wrap {
    width: 100%; }
    .global-nav .navi_wrap .nft_wrap a {
      position: relative;
      width: 100%;
      height: 60px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      background: #fff;
      border: 3px solid #222222;
      border-radius: 40px;
      font-size: 16px;
      padding-right: 20px;
      font-weight: 700;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      .global-nav .navi_wrap .nft_wrap a:before {
        content: "";
        display: block;
        position: absolute;
        width: 19px;
        height: 19px;
        right: 35px;
        top: 0;
        bottom: 0;
        margin: auto;
        background: url(../image/common/shopping_icon_o.png);
        background-size: cover;
        z-index: 10; }
      .global-nav .navi_wrap .nft_wrap a:first-child {
        margin-bottom: 15px; }
      .global-nav .navi_wrap .nft_wrap a:hover {
        background: var(--base-link-color);
        color: #fff;
        border-color: var(--base-link-color); }
        .global-nav .navi_wrap .nft_wrap a:hover:before {
          background-image: url(../image/common/shopping_icon_w.png); }
  .global-nav .navi_wrap .sns_area {
    position: relative;
    z-index: 50;
    text-align: center;
    margin-top: 20px; }
    .global-nav .navi_wrap .sns_area a {
      display: inline-block;
      margin-right: 18px; }
      .global-nav .navi_wrap .sns_area a:hover {
        opacity: .7; }
    .global-nav .navi_wrap .sns_area .twi {
      margin-right: 16px;
      width: 25px; }
    .global-nav .navi_wrap .sns_area .insta {
      width: 21px; }
    .global-nav .navi_wrap .sns_area .fb {
      width: 22px; }
    .global-nav .navi_wrap .sns_area .dis {
      width: 98px;
      margin-right: 0; }

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

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

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

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

.nav-open .hamburger:after {
  content: "CLOSE";
  -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); }

/*
.nav-open .all_wrap,
.nav-open #header{    
	filter: blur(8px);
}
*/
/* 追従 */
.fixed .hamburger {
  position: fixed;
  opacity: 100;
  visibility: visible;
  background: none;
  -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);
  -webkit-transition-delay: .3s;
          transition-delay: .3s; }

@media screen and (max-width: 1050px) {
  #header .contact_bnr {
    display: none; } }
@media screen and (max-width: 800px) {
  .hamburger {
    right: 10px;
    top: 14px;
    width: 30px;
    height: 25px;
    opacity: 100;
    visibility: visible; }

  .hamburger_line {
    height: 2px;
    top: 15px; }

  .hamburger_line-2 {
    top: auto; }

  .hamburger:after {
    font-size: 10px; }

  /* 表示された時用のCSS */
  .global-nav .navi_wrap {
    display: block;
    background: #faf5f0; }
    .global-nav .navi_wrap .img_area {
      display: none; }
    .global-nav .navi_wrap .link_area {
      width: 100%;
      display: block; }
    .global-nav .navi_wrap ul {
      width: 88%;
      margin: 0 auto;
      padding-top: 110px; }
    .global-nav .navi_wrap li {
      padding-bottom: 30px;
      padding-top: 30px;
      border-bottom: 2px dashed #222222; }
      .global-nav .navi_wrap li .en {
        display: none; }
    .global-nav .navi_wrap .b_link {
      font-size: 18px;
      font-size: var(--fz18); }
    .global-nav .navi_wrap li:nth-child(3) .b_link {
      margin-bottom: 25px; }
    .global-nav .navi_wrap .s_link {
      padding-left: 20px;
      font-size: 14px;
      font-size: var(--fz14);
      margin-bottom: 22px; }
      .global-nav .navi_wrap .s_link:before {
        width: 6px;
        height: 11px;
        background-image: url(../image/common/link_ar_sp.png); }
    .global-nav .navi_wrap .sp_icon {
      display: inline-block;
      margin-left: 15px;
      width: 18px; }
    .global-nav .navi_wrap .nft_wrap a {
      height: 50px;
      border: 2px solid #222222;
      font-size: 12px;
      padding-right: 20px; }
      .global-nav .navi_wrap .nft_wrap a:before {
        width: 14px;
        height: 14px;
        right: 20px; }
      .global-nav .navi_wrap .nft_wrap a:first-child {
        margin-bottom: 15px; }
    .global-nav .navi_wrap .top_sns_area {
      position: relative;
      z-index: 50;
      text-align: center; }
      .global-nav .navi_wrap .top_sns_area a {
        display: inline-block;
        margin-right: 18px; }
      .global-nav .navi_wrap .top_sns_area .twi {
        margin-right: 16px;
        width: 25px; }
      .global-nav .navi_wrap .top_sns_area .insta {
        width: 21px; }
      .global-nav .navi_wrap .top_sns_area .fb {
        width: 22px; }
      .global-nav .navi_wrap .top_sns_area .dis {
        width: 98px;
        margin-right: 0; }

  /* 表示された時用のCSS */
  /* 追従 */
  .fixed .hamburger {
    position: fixed;
    opacity: 100;
    visibility: visible;
    background: none;
    -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);
    -webkit-transition-delay: .3s;
            transition-delay: .3s; } }
/* ==========================================================================
	h_mv
========================================================================== */
#h_mv {
  position: relative;
  width: 100%;
  min-height: 660px; }
  #h_mv:after {
    content: "";
    display: block;
    position: absolute;
    left: calc(50% - 942px);
    top: 510px;
    width: 1884px;
    height: 790px;
    z-index: 2;
    background: url(../image/common/h_mv_af.png);
    background-size: cover; }
  #h_mv .mv_inr {
    position: relative;
    padding: 70px 5.194vw 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    max-width: 1900px;
    margin: 0 auto; }
  #h_mv .head {
    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;
    z-index: 30; }
  #h_mv h1 {
    position: relative;
    width: 100%;
    z-index: 50;
    margin-bottom: 70px; }
    #h_mv h1 img {
      width: 265px; }
  #h_mv .h_mv_menu_area {
    position: relative;
    z-index: 50;
    width: 210px; }
    #h_mv .h_mv_menu_area a {
      display: block;
      margin-bottom: 33px; }
      #h_mv .h_mv_menu_area a:hover span {
        color: #f95812;
        -webkit-transition: color 0.4s var(--easeOutQuad);
        transition: color 0.4s var(--easeOutQuad); }
      #h_mv .h_mv_menu_area a:hover p {
        color: #f95812;
        -webkit-transition: color 0.4s var(--easeOutQuad);
        transition: color 0.4s var(--easeOutQuad); }
      #h_mv .h_mv_menu_area a.this span {
        color: #f95812; }
      #h_mv .h_mv_menu_area a.this p {
        color: #f95812; }
    #h_mv .h_mv_menu_area span {
      display: block;
      font-size: 12px;
      font-weight: 400;
      margin-bottom: 8px;
      -webkit-transition: color 0.4s var(--easeOutQuad);
      transition: color 0.4s var(--easeOutQuad); }
    #h_mv .h_mv_menu_area p {
      display: inline-block;
      font-size: 20px;
      line-height: 1.5;
      font-weight: 700;
      letter-spacing: 0.06em;
      font-family: 'Zen Kaku Gothic New';
      -webkit-transition: color 0.4s var(--easeOutQuad);
      transition: color 0.4s var(--easeOutQuad); }
    #h_mv .h_mv_menu_area .sns_area {
      position: relative;
      z-index: 50;
      margin-top: 20px; }
      #h_mv .h_mv_menu_area .sns_area a {
        display: inline-block;
        margin-right: 18px; }
        #h_mv .h_mv_menu_area .sns_area a:hover {
          opacity: .7; }
      #h_mv .h_mv_menu_area .sns_area .twi {
        margin-right: 16px;
        width: 25px; }
      #h_mv .h_mv_menu_area .sns_area .insta {
        width: 21px; }
      #h_mv .h_mv_menu_area .sns_area .fb {
        width: 22px; }
      #h_mv .h_mv_menu_area .sns_area .dis {
        width: 98px;
        margin-right: 0; }
  #h_mv .tit_area {
    width: 67.64%;
    max-width: 800px;
    padding-right: 1.298vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-top: 90px;
    text-align: right; }
    #h_mv .tit_area .pro_inr {
      position: relative;
      display: inline-block;
      text-align: left;
      font-size: 0;
      min-width: 300px;
      -webkit-transform: translateX(5px);
              transform: translateX(5px); }
    #h_mv .tit_area.detail {
      padding-top: 0;
      padding-bottom: 45px; }
    #h_mv .tit_area .sub_e_txt {
      margin-bottom: 40px;
      text-align: left; }
    #h_mv .tit_area h2 {
      display: inline-block;
      font-size: 54px;
      line-height: 1.5;
      font-weight: 700;
      letter-spacing: 0.04em;
      margin-top: 20px; }
    #h_mv .tit_area.detail h2 {
      margin-top: 25px; }
    #h_mv .tit_area .tag {
      display: inline-block;
      font-size: 16px;
      font-weight: 700;
      color: #fff;
      padding: 8px 10px 7px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      min-width: 120px;
      margin-right: 18px;
      border-radius: 35px;
      text-align: center;
      background: #fff;
      border: 2px solid #222;
      color: #222;
      font-weight: 500; }
      #h_mv .tit_area .tag.tag5 {
        background: #999999;
        border-color: #999;
        color: #fff; }
      #h_mv .tit_area .tag.tag4 {
        background: #f95812;
        color: #fff;
        border: 2px solid #f95812; }
      #h_mv .tit_area .tag.tag3 {
        background: #f95812;
        color: #fff;
        border: 2px solid #f95812; }
      #h_mv .tit_area .tag:hover {
        opacity: .7; }
    #h_mv .tit_area .tag02 {
      position: relative;
      padding-left: 25px;
      padding-top: 8px;
      font-size: 16px;
      font-weight: 700;
      color: #222; }
      #h_mv .tit_area .tag02:before {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: 5px;
        width: 18px;
        height: 24px;
        background: url(../image/common/pin.png);
        background-size: cover;
        z-index: 20; }
      #h_mv .tit_area .tag02:hover {
        color: #f95812; }
    #h_mv .tit_area .pan {
      display: block;
      position: absolute;
      right: 1.298vw;
      bottom: 10px;
      font-size: 14px;
      color: #222;
      font-weight: 700;
      width: 54.64%;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      text-align: right; }
      #h_mv .tit_area .pan a {
        position: relative;
        color: #222;
        margin-right: 30px;
        font-weight: 700; }
        #h_mv .tit_area .pan a:after {
          content: "";
          display: block;
          position: absolute;
          top: 2px;
          right: -18px;
          width: 7px;
          height: 12px;
          background: url(../image/common/link_ar.png);
          background-size: cover; }
        #h_mv .tit_area .pan a:hover {
          color: #f95812;
          -webkit-transition: color 0.4s var(--easeOutQuad);
          transition: color 0.4s var(--easeOutQuad); }
      #h_mv .tit_area .pan span {
        font-weight: 700; }

.mv_illust_cloud {
  position: absolute;
  top: 140px;
  left: 0;
  width: 100%;
  height: 397px;
  background: url(../image/mv_illust_cloud01.png);
  background-size: 1711px 397px;
  width: 100%;
  overflow: hidden;
  -webkit-animation: loop 60s linear infinite;
          animation: loop 60s linear infinite;
  z-index: 20; }

.mv_illust_cloud02 {
  position: absolute;
  top: 140px;
  left: 0;
  width: 100%;
  height: 397px;
  background: url(../image/mv_illust_cloud02.png);
  background-size: 1711px 397px;
  width: 100%;
  overflow: hidden;
  -webkit-animation: loop02 60s linear infinite;
          animation: loop02 60s linear infinite;
  z-index: 20; }

.mv_illust_air {
  position: absolute;
  width: 325px;
  right: 6.493vw;
  top: 0;
  top: -20px;
  z-index: 30; }

@-webkit-keyframes loop {
  0% {
    background-position: -1711px 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  12.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  25% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  37.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  50% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  62.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  75% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  87.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  100% {
    background-position: 0 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }

@keyframes loop {
  0% {
    background-position: -1711px 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  12.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  25% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  37.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  50% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  62.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  75% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  87.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  100% {
    background-position: 0 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }
@-webkit-keyframes loop02 {
  0% {
    background-position: -1711px 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  12.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  25% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  37.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  50% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  62.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  75% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  87.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  100% {
    background-position: 0 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }
@keyframes loop02 {
  0% {
    background-position: -1711px 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  12.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  25% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  37.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  50% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  62.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  75% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  87.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  100% {
    background-position: 0 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }
@media screen and (max-width: 800px) {
  #h_mv {
    min-height: 455px; }
    #h_mv:before {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 20px;
      background: #f5ede2;
      z-index: 1; }
    #h_mv:after {
      left: calc(50% - 619px);
      top: 295px;
      /*
      width:433px;
      height: 180px;
      background-image:url(../image/common/h_mv_af_sp.png);
      */
      width: 1239px;
      height: 180px;
      background-image: url(../image/common/h_mv_af_sp02.png); }
    #h_mv .mv_inr {
      position: relative;
      padding: 20px 4vw 0;
      height: 100%; }
    #h_mv h1 {
      margin-bottom: 0; }
      #h_mv h1 img {
        width: 120px; }
    #h_mv .head {
      height: 100%;
      display: block;
      min-height: 455px; }
    #h_mv .h_mv_menu_area {
      display: none; }
    #h_mv .tit_area {
      width: 90%;
      padding-right: 0;
      padding-top: 125px;
      margin: 0 auto; }
      #h_mv .tit_area .pro_inr {
        display: block;
        width: 100% !Important;
        min-width: 0;
        -webkit-transform: translateX(0);
                transform: translateX(0); }
      #h_mv .tit_area.detail {
        padding-top: 135px;
        padding-bottom: 45px; }
      #h_mv .tit_area .sub_e_txt {
        display: block;
        margin-bottom: 18px; }
      #h_mv .tit_area h2 {
        font-size: 30px;
        line-height: 1.43;
        margin-top: 0; }
      #h_mv .tit_area.detail h2 {
        margin-top: 20px; }
      #h_mv .tit_area .tag {
        font-size: 11px;
        padding: 7px 10px 6px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        min-width: 75px;
        margin-right: 10px; }
      #h_mv .tit_area .tag02 {
        padding-left: 15px;
        padding-top: 7px;
        font-size: 11px; }
        #h_mv .tit_area .tag02:before {
          top: 7px;
          width: 9px;
          height: 12px; }
      #h_mv .tit_area .pan {
        left: 0;
        right: 0;
        bottom: 28px;
        width: 90%;
        margin: auto;
        font-size: 11px;
        width: 90%; }
        #h_mv .tit_area .pan a {
          margin-right: 25px; }
          #h_mv .tit_area .pan a:after {
            top: 1px;
            right: -15px;
            width: 6px;
            height: 11px;
            background-image: url(../image/common/link_ar_sp.png); }

  .mv_illust_cloud {
    height: 179px;
    background-size: 770px 179px; }

  .mv_illust_cloud02 {
    display: none; }

  .mv_illust_air {
    position: absolute;
    width: 162px;
    right: -45px;
    top: 31px; }

  @-webkit-keyframes loop {
    0% {
      background-position: -770px 0;
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    12.5% {
      -webkit-transform: translateY(-15px);
              transform: translateY(-15px); }
    25% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    37.5% {
      -webkit-transform: translateY(15px);
              transform: translateY(15px); }
    50% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    62.5% {
      -webkit-transform: translateY(-15px);
              transform: translateY(-15px); }
    75% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    87.5% {
      -webkit-transform: translateY(30px);
              transform: translateY(30px); }
    100% {
      background-position: 0 0;
      -webkit-transform: translateY(0px);
              transform: translateY(0px); } }

  @keyframes loop {
    0% {
      background-position: -770px 0;
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    12.5% {
      -webkit-transform: translateY(-15px);
              transform: translateY(-15px); }
    25% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    37.5% {
      -webkit-transform: translateY(15px);
              transform: translateY(15px); }
    50% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    62.5% {
      -webkit-transform: translateY(-15px);
              transform: translateY(-15px); }
    75% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    87.5% {
      -webkit-transform: translateY(30px);
              transform: translateY(30px); }
    100% {
      background-position: 0 0;
      -webkit-transform: translateY(0px);
              transform: translateY(0px); } } }
/*=======================================================================
	foot_con
========================================================================== */
.foot_con {
  position: relative;
  z-index: 10;
  background: #fff;
  border-bottom: 1px solid #e7e4dd; }
  .foot_con .foot_con_inr {
    -js-display: flex;
    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;
    width: 90%;
    max-width: 1300px;
    margin: 0 auto; }

/*contact_box*/
.foot_con .contact_box {
  position: relative;
  width: 30.61%;
  padding-top: 100px; }

.foot_con .contact_box h2 {
  position: relative;
  display: block;
  font-size: 44px;
  font-weight: 500;
  padding-left: 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 31px; }

.foot_con .contact_box h2:before {
  content: "";
  display: block;
  width: 35px;
  height: 35px;
  position: absolute;
  left: 0;
  top: 5px;
  background: url(../image/common/contact_box_icon.png);
  background-size: cover; }

.foot_con .contact_box a {
  position: relative;
  display: inline-block;
  padding-left: 34px; }

.foot_con .contact_box a:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 1px;
  width: 20px;
  height: 20px;
  background: url(../image/common/w_link_btn_ar.png);
  background-size: cover;
  -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); }

.foot_con .contact_box a:hover:before {
  -webkit-transform: translateX(5px);
          transform: translateX(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); }

.foot_con .contact_box a span {
  position: relative;
  font-size: 18px;
  color: var(--base-text-color);
  font-weight: 500;
  -webkit-transition: color 0.4s var(--easeOutQuad);
  transition: color 0.4s var(--easeOutQuad); }

.foot_con .contact_box a:nth-child(3) {
  margin-right: 20px; }

.foot_con .contact_box a:hover span {
  color: var(--base-link-color);
  -webkit-transition: color 0.4s var(--easeOutQuad);
  transition: color 0.4s var(--easeOutQuad); }

.foot_con .contact_box a span:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  left: 0;
  bottom: -3px;
  background: var(--base-text-color);
  z-index: 5; }

.foot_con .contact_box a span:after {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 1px;
  left: 0;
  bottom: -3px;
  background: var(--base-link-color);
  z-index: 10;
  -webkit-transition: width 0.4s var(--easeOutQuad);
  transition: width 0.4s var(--easeOutQuad); }

.foot_con .contact_box a:hover span:after {
  width: 100%;
  -webkit-transition: width 0.4s var(--easeOutQuad);
  transition: width 0.4s var(--easeOutQuad); }

/*tell_box*/
.foot_con .tell_box {
  position: relative;
  width: 38.6%;
  padding-top: 95px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-left: 1px solid #e7e4dd;
  border-right: 1px solid #e7e4dd;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.foot_con h3 {
  font-size: 20px;
  font-weight: 500; }

.foot_con h3 span {
  display: block;
  margin-top: 12px; }

.foot_con .tell_box a {
  display: block;
  font-size: 38px;
  color: var(--base-text-color);
  margin-top: 30px; }

.foot_con .tell_box a span {
  font-size: 22px;
  color: var(--base-text-color); }

/*mail_box*/
.foot_con .mail_box {
  position: relative;
  width: 30.79%;
  /*
  padding-left: max(80px,5.33vw);
  */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 92px;
  padding-bottom: 90px; }

.foot_con .mail_box .w_link_btn {
  width: 100%;
  max-width: 260px;
  margin-top: 30px; }

@media screen and (max-width: 1050px) {
  .foot_con .foot_con_inr {
    width: 100%; }

  .foot_con .contact_box {
    width: 100%;
    margin: 0 auto;
    padding: 40px 10% 60px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-bottom: 1px solid #e7e4dd; }

  .foot_con .contact_box h2 {
    display: inline-block;
    margin-right: 50px;
    margin-bottom: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }

  .foot_con .tell_box,
  .foot_con .mail_box {
    width: 50%; }

  .foot_con .tell_box {
    padding-top: 70px; }

  .foot_con .mail_box {
    padding-top: 70px;
    padding-bottom: 70px; } }
@media screen and (max-width: 800px) {
  /*contact_box*/
  .foot_con .contact_box {
    padding: 16.75vw 0 0;
    text-align: center; }

  .foot_con .contact_box h2 {
    font-size: 37px;
    padding-left: 47px;
    margin-right: 0;
    margin-bottom: 0; }

  .foot_con .contact_box h2:before {
    width: 30px;
    height: 30px;
    top: 5px; }

  .foot_con .contact_box p {
    font-size: 15px;
    line-height: 32px;
    font-weight: 500;
    width: 80%;
    margin: 35px auto 65px;
    text-align: left; }

  .foot_con .contact_box a {
    width: 49%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 22px 0 22px 10px;
    border-top: 1px solid #e7e4dd; }

  /*
  .foot_con .contact_box a:nth-child(3){
      border-right:1px solid #e7e4dd;
      width: calc(50% - 3px);
  }
  */
  .foot_con .contact_box:after {
    content: "";
    display: block;
    width: 1px;
    height: 61px;
    position: absolute;
    left: 50%;
    bottom: 0;
    background: #e7e4dd; }

  .foot_con .contact_box a:before {
    left: calc(50% - 60px);
    top: 0;
    bottom: 0;
    margin: auto;
    -webkit-transform: translateY(1px);
            transform: translateY(1px); }

  .foot_con .contact_box a span {
    font-size: 16px; }

  .foot_con .contact_box a:nth-child(3) {
    margin-right: 0; }

  .foot_con .contact_box a:nth-child(3):before {
    left: calc(50% - 65px); }

  .foot_con .contact_box a span:before,
  .foot_con .contact_box a span:after {
    display: none; }

  /*tell_box*/
  .foot_con .tell_box {
    width: 100%;
    padding: 12.5vw 0;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid #e7e4dd;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }

  .foot_con h3 {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 12px; }

  .foot_con h3 span {
    display: inline-block;
    margin-top: 0;
    margin-left: 14px;
    -webkit-transform: translateY(-3px);
            transform: translateY(-3px); }

  .foot_con .tell_box a {
    font-size: 39px;
    margin-top: 25px; }

  .foot_con .tell_box a span {
    font-size: 19px; }

  /*mail_box*/
  .foot_con .mail_box {
    width: 100%;
    padding: 12.5vw 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }

  .foot_con .mail_box .w_link_btn {
    width: 100%;
    max-width: 800px;
    margin-top: 25px;
    text-align: center;
    padding-right: 30px; } }
/* ==========================================================================
	footer
========================================================================== */
#footer {
  position: relative;
  z-index: 20;
  padding: 120px 0 100px;
  background: #fff; }
  #footer .footer_inr {
    position: relative;
    width: 87%;
    max-width: 1340px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    z-index: 10; }
    #footer .footer_inr .footer_illust {
      display: block;
      position: absolute;
      width: 258px;
      right: -14px;
      top: -230px;
      z-index: 20; }
  #footer .top_btn {
    position: absolute;
    right: 0;
    top: -100px;
    width: 100px;
    height: 101px;
    z-index: 20;
    background: #fff;
    text-align: center;
    padding-top: 64px;
    padding-left: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #222;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 50px 0 0 0;
    text-transform: uppercase;
    letter-spacing: 0.16em; }
    #footer .top_btn:before {
      content: "";
      display: block;
      width: 18px;
      height: 11px;
      position: absolute;
      left: 0;
      right: 0;
      margin: auto;
      -webkit-transform: translateX(4px);
              transform: translateX(4px);
      top: 35px;
      background: url(../image/common/top_ar.png);
      background-size: cover;
      -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); }
    #footer .top_btn:hover:before {
      -webkit-transform: translate(4px, -4px);
              transform: translate(4px, -4px);
      -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); }
  #footer .text_area {
    position: relative;
    width: 294px;
    z-index: 10;
    padding-top: 26px; }
  #footer .text_inr {
    width: 250px;
    margin: 0 auto; }
  #footer h2 {
    margin-bottom: 70px; }
  #footer p {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.1em; }
  #footer .pin_txt {
    position: relative;
    display: inline-block;
    margin: 15px 0 30px;
    font-size: 14px;
    margin-left: 20px;
    font-weight: 700;
    border-bottom: 1px solid #a9a9a9;
    padding-bottom: 2px;
    color: #222;
    letter-spacing: 0.1em; }
    #footer .pin_txt:before {
      content: "";
      display: block;
      width: 13px;
      height: 18px;
      position: absolute;
      left: -20px;
      top: -2px;
      background: url(../image/common/pin.png);
      background-size: cover;
      -webkit-transition: color 0.4s var(--easeOutQuad);
      transition: color 0.4s var(--easeOutQuad); }
    #footer .pin_txt:hover {
      color: var(--base-link-color);
      -webkit-transition: color 0.4s var(--easeOutQuad);
      transition: color 0.4s var(--easeOutQuad); }
  #footer .tell {
    letter-spacing: 0.12em; }
    #footer .tell a {
      font-size: 24px;
      font-weight: 700;
      color: #222;
      -webkit-transition: color 0.4s var(--easeOutQuad);
      transition: color 0.4s var(--easeOutQuad); }
      #footer .tell a:hover {
        color: var(--base-link-color);
        -webkit-transition: color 0.4s var(--easeOutQuad);
        transition: color 0.4s var(--easeOutQuad); }
  #footer .link_area {
    margin: 60px 0; }
    #footer .link_area a {
      position: relative;
      display: block;
      font-size: 14px;
      font-weight: 700;
      padding-left: 20px;
      margin-bottom: 20px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      #footer .link_area a:before {
        content: "";
        display: block;
        position: absolute;
        left: 0px;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 7px;
        height: 11px;
        background: url(../image/common/link_ar.png);
        background-size: cover;
        -webkit-transition: all 0.4s var(--easeOutQuad);
        transition: all 0.4s var(--easeOutQuad); }
      #footer .link_area a:hover {
        color: var(--base-link-color); }
      #footer .link_area a:hover:before {
        -webkit-transform: translateX(3px);
                transform: translateX(3px);
        -webkit-transition: all 0.4s var(--easeOutQuad);
        transition: all 0.4s var(--easeOutQuad); }
  #footer .link_btn {
    width: 100%;
    height: 50px;
    font-size: 14px; }
    #footer .link_btn:before {
      width: 17px;
      height: 13px;
      background-image: url(../image/common/footer_link_icon.png);
      right: 30px; }
    #footer .link_btn:hover:before {
      background-image: url(../image/common/footer_link_icon_af.png);
      -webkit-transform: translateX(0);
              transform: translateX(0); }
  #footer .img_area {
    position: relative;
    width: 70%;
    max-width: calc(100% - 330px); }
    #footer .img_area:before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      border-radius: 30px;
      background: #f4e4cb;
      -webkit-transform: rotate(8deg);
      transform: rotate(8deg);
      z-index: 1; }
    #footer .img_area .img {
      position: relative;
      width: 100%;
      height: 560px;
      overflow: hidden;
      border-radius: 50px;
      z-index: 10; }
  #footer .bg {
    position: absolute;
    top: 160px;
    left: 0;
    width: 100%;
    height: 397px;
    background: url(../image/common/footer_cloud.png);
    background-size: 1711px 397px;
    width: 100%;
    overflow: hidden;
    -webkit-animation: loop_b 60s linear infinite;
            animation: loop_b 60s linear infinite;
    z-index: 1; }
  #footer .copy {
    font-size: 12px;
    font-weight: 700;
    position: absolute;
    left: calc(100% + 2.759vw);
    bottom: 0;
    text-transform: uppercase; }

@-webkit-keyframes loop_b {
  0% {
    background-position: -1711px 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  12.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  25% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  37.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  50% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  62.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  75% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  87.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  100% {
    background-position: 0 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }

@keyframes loop_b {
  0% {
    background-position: -1711px 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  12.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  25% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  37.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  50% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  62.5% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  75% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  87.5% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  100% {
    background-position: 0 0;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }
@media screen and (max-width: 1420px) {
  #footer .footer_inr .footer_illust {
    right: 20px; } }
@media screen and (max-width: 1000px) {
  #footer .footer_inr {
    display: block; }
  #footer .text_area {
    margin: 0 auto;
    padding-top: 0; }
  #footer .img_area {
    width: 100%;
    max-width: 800px;
    margin: 0 auto 60px; }
  #footer .copy {
    bottom: 135px; } }
@media screen and (max-width: 800px) {
  #footer {
    padding: 0 0 55px; }
    #footer .footer_inr {
      width: 100%;
      z-index: 30; }
      #footer .footer_inr:before {
        content: "";
        display: block;
        position: absolute;
        right: 0;
        top: clamp(275px, 66.66vw, 375px);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 49vw 5.73vw 0;
        border-color: transparent #f4e4cb transparent transparent;
        z-index: 1; }
      #footer .footer_inr:after {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        top: -5.73vw;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 5.73vw 0 0 49vw;
        border-color: transparent transparent transparent #f4e4cb; }
      #footer .footer_inr .footer_illust {
        width: 30%;
        max-width: 258px;
        right: 0;
        top: clamp(calc(275px - 35px), calc(66.66vw - 9.33vw), calc(375px - 9.33vw)); }
    #footer .top_btn {
      top: -53px;
      width: 53px;
      height: 54px;
      padding-top: 33px;
      padding-left: 4px;
      font-size: 10px;
      border-radius: 25px 0 0 0; }
      #footer .top_btn:before {
        width: 10px;
        height: 6px;
        -webkit-transform: translateX(2px);
                transform: translateX(2px);
        top: 16px; }
    #footer .text_area {
      width: 60%;
      max-width: 294px;
      min-width: 230px; }
    #footer .text_inr {
      width: 230px; }
    #footer h2 {
      width: 100%;
      margin-bottom: 45px; }
    #footer p {
      font-size: 12px;
      padding-left: 12px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
    #footer .pin_txt {
      margin: 8px 0 25px;
      font-size: 12px;
      -webkit-transform: translateX(12px);
              transform: translateX(12px); }
      #footer .pin_txt:before {
        width: 8px;
        height: 11px;
        left: -13px;
        top: -1px; }
    #footer .tell {
      font-size: 11px; }
      #footer .tell a {
        font-size: 22px; }
    #footer .link_area {
      margin: 40px 0;
      padding-left: 12px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      #footer .link_area a {
        margin-bottom: 20px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box; }
    #footer .link_btn {
      width: 100%;
      height: 55px;
      font-size: 13px; }
      #footer .link_btn:before {
        width: 12px;
        height: 9px;
        right: 30px; }
    #footer .img_area {
      width: 100%;
      max-width: 800px;
      margin-bottom: clamp(70px, 17.14vw, 140px); }
      #footer .img_area:before {
        display: none; }
      #footer .img_area .img {
        position: relative;
        width: 100%;
        height: 275px;
        height: clamp(275px, 66.66vw, 375px);
        border-radius: 0; }
    #footer .bg {
      top: clamp(calc(275px + 20px), calc(66.66vw + 20px), calc(375px + 20px));
      height: 199px;
      background: url(../image/common/footer_cloud_sp.png);
      background-size: 856px 199px; }
    #footer .copy {
      font-size: 10px;
      -webkit-transform: scale(0.9);
              transform: scale(0.9);
      bottom: 135px;
      left: auto;
      right: 5.33vw; }

  @-webkit-keyframes loop_b {
    0% {
      background-position: -856px 0;
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    12.5% {
      -webkit-transform: translateY(-30px);
              transform: translateY(-30px); }
    25% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    37.5% {
      -webkit-transform: translateY(30px);
              transform: translateY(30px); }
    50% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    62.5% {
      -webkit-transform: translateY(-30px);
              transform: translateY(-30px); }
    75% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    87.5% {
      -webkit-transform: translateY(30px);
              transform: translateY(30px); }
    100% {
      background-position: 0 0;
      -webkit-transform: translateY(0px);
              transform: translateY(0px); } }

  @keyframes loop_b {
    0% {
      background-position: -856px 0;
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    12.5% {
      -webkit-transform: translateY(-30px);
              transform: translateY(-30px); }
    25% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    37.5% {
      -webkit-transform: translateY(30px);
              transform: translateY(30px); }
    50% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    62.5% {
      -webkit-transform: translateY(-30px);
              transform: translateY(-30px); }
    75% {
      -webkit-transform: translateY(0px);
              transform: translateY(0px); }
    87.5% {
      -webkit-transform: translateY(30px);
              transform: translateY(30px); }
    100% {
      background-position: 0 0;
      -webkit-transform: translateY(0px);
              transform: translateY(0px); } } }
/* ==========================================================================
	parts
========================================================================== */
.env {
  font-size: var(--fz14);
  color: var(--base-yellow-color03);
  letter-spacing: 0.1em; }

.inview.bt {
  opacity: 0;
  -webkit-transform: translateY(60px);
          transform: translateY(60px);
  -webkit-transition: all .6s ease;
  transition: all .6s ease;
  -webkit-transition-delay: .2s;
          transition-delay: .2s; }

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

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

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

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

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

.sub_e_txt {
  font-size: 14px;
  font-size: var(--fz14);
  line-height: 1.375;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--base-link-color);
  margin-bottom: 40px;
  text-transform: uppercase; }

.sub_e_txt.v_txt {
  font-size: 14px;
  font-size: var(--fz14);
  line-height: 1;
  margin: 0 0 0 15px;
  text-transform: uppercase;
  -webkit-transform: translateY(7px);
          transform: translateY(7px); }

.tit_txt {
  font-size: 48px;
  font-size: clamp(46px, 3.116vw, 48px);
  line-height: 1.375;
  letter-spacing: 0.1em;
  font-weight: 700; }

.tit_v_txt {
  font-size: 48px;
  font-size: clamp(46px, 3.116vw, 48px);
  letter-spacing: 0.08em;
  font-weight: 700;
  margin-right: 15px; }

.m_tit_txt {
  font-size: 36px;
  font-size: clamp(34px, 2.33vw, 38px);
  line-height: 1.375;
  letter-spacing: 0.1em;
  font-weight: 700; }

.b_tit span {
  position: relative;
  font-size: 24px;
  font-size: var(--fz24);
  font-weight: 700;
  border-bottom: 4px dashed #222;
  padding-bottom: 5px; }

.tag_txt {
  position: absolute;
  right: 10px;
  top: -10px;
  padding: 20px 14px 20px 9px;
  background: #fff;
  border: 2px solid #222;
  border-radius: 10px;
  font-size: 18px;
  font-size: clamp(14px, 1.16vw, 18px);
  font-weight: 700;
  z-index: 20;
  letter-spacing: 0.1em; }
  .tag_txt:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: -14px;
    margin: auto;
    width: 18px;
    height: 24px;
    background: url(../image/common/pin.png);
    background-size: cover;
    z-index: 20; }

.link_btn {
  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;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 40px;
  font-size: 18px;
  font-weight: 700;
  width: 330px;
  height: 80px;
  z-index: 10;
  border: 3px solid #222222;
  background: #fff;
  -webkit-transition: all 0.4s var(--easeOutQuad);
  transition: all 0.4s var(--easeOutQuad); }

.link_btn:hover {
  background: var(--base-link-color);
  color: #fff;
  border-color: var(--base-link-color);
  -webkit-transition: all 0.4s var(--easeOutQuad);
  transition: all 0.4s var(--easeOutQuad); }

.link_btn:before {
  content: "";
  display: block;
  position: absolute;
  right: 40px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 9px;
  height: 14px;
  background: url(../image/common/link_ar.png);
  background-size: cover;
  -webkit-transition: all 0.4s var(--easeOutQuad);
  transition: all 0.4s var(--easeOutQuad); }

.link_btn:hover:before {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
  background-image: url(../image/common/link_ar_af.png);
  -webkit-transition: all 0.4s var(--easeOutQuad);
  transition: all 0.4s var(--easeOutQuad); }

.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 .3s;
  transition: -webkit-transform ease .3s;
  transition: transform ease .3s;
  transition: transform ease .3s, -webkit-transform ease .3s;
  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.08em; }

@media screen and (max-width: 1000px) {
  .tby_box {
    position: relative !Important;
    margin-left: auto;
    margin-right: auto;
    display: block !important;
    width: 100% !important;
    padding-left: 6.4vw;
    height: auto !Important;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }

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

  .tby_txt.tit_v_txt {
    display: block;
    margin-top: 30px; } }
@media screen and (max-width: 800px) {
  .tit_txt,
  .tit_v_txt {
    font-size: 25px;
    font-size: clamp(25px, 6.66vw, 30px);
    letter-spacing: 0em;
    line-height: 1.48;
    margin-top: 20px; }

  .m_tit_txt {
    font-size: 19px;
    font-size: clamp(18px, 5.066vw, 22px); }

  .tby_txt.tit_v_txt {
    display: block;
    margin-top: 20px; }

  .b_tit span {
    font-size: 19px;
    font-size: var(--fz19);
    border-bottom: 2px dashed #222;
    padding-bottom: 5px; }

  .sub_e_txt,
  .sub_e_txt.v_txt {
    font-size: 10px;
    font-size: clamp(10px, 2.4vw, 16px);
    margin-left: 0; }

  .oc, .oc2 {
    pointer-events: all; }

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

  .tag_txt {
    right: 10px;
    top: -5px;
    padding: 10px 7px 10px 5px;
    border: 1px solid #222;
    border-radius: 5px;
    font-size: 12px;
    font-size: clamp(11px, 3.42vw, 14px); }
    .tag_txt:before {
      top: -7px;
      width: 9px;
      height: 12px; }

  .link_btn {
    font-size: 12px;
    font-size: clamp(12px, 3.33vw, 14px);
    width: 100%;
    height: 50px;
    height: clamp(50px, 13.3vw, 60px);
    border: 2px solid #222222; }

  .link_btn:before {
    right: 24px;
    width: 6px;
    height: 11px;
    background-image: url(../image/common/link_ar_sp.png); }

  .link_btn:hover:before {
    -webkit-transform: translateX(3px);
            transform: translateX(3px);
    background-image: url(../image/common/link_ar_af_sp.png); } }
.slick-slide {
  outline: none; }

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