@charset "UTF-8";
/*=======================================
	breakpoint
=======================================*/
/*=======================================
	hover
=======================================*/
/*=======================================
	中央配置
=======================================*/
/*=======================================
	可変レスポンシブ
=======================================*/
/* PC */
/* TB */
/* SP */
/*=======================================
	ブラウザ別
=======================================*/
/* Safari */
/* Firefox */
/* ----------------------
- base :アンカーリンク/コンテンツ幅　他
- color :色変数
- fadein :フェードイン
- header :ヘッダー
- footer :フッター
- sttl :見出し
- cmn_btn :共通ボタン
---------------------- */
/*=======================================
　base
=======================================*/
body {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Hiragino Maru Gothic W4 JIS2004", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
  overflow-x: hidden;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: 16px;
  font-weight: 400;
  background: #000;
  color: #fff;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

a {
  color: #fff;
}

main {
  overflow: hidden;
  max-width: 990px;
  width: 90%;
  margin: 0 auto;
  position: relative;
}

header a, footer a {
  color: #fff;
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  header a:hover, footer a:hover {
    text-decoration: none;
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  header a:hover, footer a:hover {
    text-decoration: none;
  }
}
header .inner, footer .inner {
  margin: 0 auto;
  width: 90%;
}

/* PCではTELのリンク無効 */
@media only screen and (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/*=======================================
　color
=======================================*/
:root {
  --main_black: #000;
  --sub_blue: #224A98;
  --sub_gray01: #CBCBCB;
  --sub_gray02: #707070;
}

/*=======================================
　fadein
=======================================*/
.fadeIn_up {
  opacity: 0;
  -webkit-transform: translate(0, 50px);
          transform: translate(0, 50px);
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
.fadeIn_up.is-show {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  opacity: 1;
}

/*=======================================
　header
=======================================*/
header {
  width: 100%;
  height: 139px;
  background: #000;
  z-index: 2;
  position: sticky;
  top: 0;
  left: 0;
  /* ハンバーガーメニューボタン */
  /* ハンバーガーメニュー中身 */
  /* 英語サイトボタン */
  /* お問い合わせボタン */
  /* お問い合わせボタン SP */
}
@media screen and (max-width: 768px) {
  header {
    height: 80px;
  }
}
header .flex_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  position: relative;
}
@media screen and (max-width: 768px) {
  header .flex_area {
    width: 90%;
    margin: 0 auto;
  }
}
header .flex_area .hd_logo {
  max-width: 435px;
  width: 27.1875%;
  margin-left: 3.4375vw;
  z-index: 1;
  position: relative;
}
@media only screen and (min-width: 1600px) {
  header .flex_area .hd_logo {
    margin-left: 55px;
  }
}
@media screen and (max-width: 768px) {
  header .flex_area .hd_logo {
    width: 42.93%;
    margin-left: 0;
  }
}
header .flex_area > nav {
  height: 100%;
  margin-right: 6.875vw;
}
@media only screen and (min-width: 1600px) {
  header .flex_area > nav {
    margin-right: 110px;
  }
}
@media screen and (max-width: 768px) {
  header .flex_area > nav {
    display: none;
  }
}
header .flex_area > nav > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0 1.5625vw;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}
@media only screen and (min-width: 1600px) {
  header .flex_area > nav > ul {
    gap: 0 25px;
  }
}
header .flex_area > nav > ul li a {
  width: 100%;
  letter-spacing: 0.08em;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: clamp(10px, 0.9375vw, 15px);
}
header .openbtn {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 2.3125vw;
  width: 2.5vw;
  height: 2.125vw;
  z-index: 5;
  cursor: pointer;
}
@media only screen and (min-width: 1600px) {
  header .openbtn {
    right: 37px;
    width: 40px;
    height: 34px;
  }
}
@media screen and (max-width: 768px) {
  header .openbtn {
    width: 31.32px;
    height: 26px;
    right: 0;
  }
}
header .openbtn span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: #fff;
}
header .openbtn span:nth-of-type(1) {
  top: 0;
}
header .openbtn span:nth-of-type(2) {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
header .openbtn span:nth-of-type(3) {
  top: calc(100% - 1px);
}
header .openbtn.active span {
  top: 1.0625vw !important;
}
@media only screen and (min-width: 1600px) {
  header .openbtn.active span {
    top: 17px !important;
  }
}
@media screen and (max-width: 768px) {
  header .openbtn.active span {
    top: 13px !important;
  }
}
header .openbtn.active span:nth-of-type(1) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
header .openbtn.active span:nth-of-type(2) {
  display: none;
}
header .openbtn.active span:nth-of-type(3) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
header .g_nav {
  position: fixed;
  z-index: 4;
  top: 139px;
  left: 0;
  width: 100%;
  height: 705px;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  background: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
          clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}
header .g_nav.panelactive {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
@media screen and (max-width: 1024px) {
  header .g_nav {
    max-height: 80vh;
  }
}
@media only screen and (max-height: 850px) {
  header .g_nav {
    max-height: 80vh;
  }
}
@media screen and (max-width: 768px) {
  header .g_nav {
    top: 80px;
    height: 100%;
    max-height: calc(100vh - 80px);
  }
}
header .g_nav .g_nav_scroll {
  height: 100%;
  padding: 96px 0 71px;
}
@media screen and (max-width: 1024px) {
  header .g_nav .g_nav_scroll {
    overflow-y: scroll;
  }
}
@media only screen and (max-height: 850px) {
  header .g_nav .g_nav_scroll {
    overflow-y: scroll;
  }
}
@media screen and (max-width: 768px) {
  header .g_nav .g_nav_scroll {
    padding: 26px 0 100px;
  }
}
header .g_nav nav {
  width: 90%;
  max-width: 1050px;
  margin: 0 auto 163px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px 0;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
}
@media screen and (max-width: 768px) {
  header .g_nav nav {
    margin-bottom: 41px;
    gap: 19px 0;
  }
}
header .g_nav nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px 0;
  /* width: 46.23%; */
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 768px) {
  header .g_nav nav ul {
    gap: 19px 0;
  }
}
header .g_nav nav ul li {
  width: 100%;
  overflow: hidden;
  padding-left: 30px;
  position: relative;
}
@media screen and (max-width: 768px) {
  header .g_nav nav ul li {
    height: auto;
    padding-left: 17px;
  }
}
header .g_nav nav ul li::before {
  content: "";
  width: 15px;
  height: 1px;
  display: inline-block;
  background: #fff;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
@media screen and (max-width: 768px) {
  header .g_nav nav ul li::before {
    width: 7px;
  }
}
header .g_nav nav ul li a {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
}
header .g_nav nav ul li a > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 20px;
}
@media screen and (max-width: 768px) {
  header .g_nav nav ul li a > span {
    gap: 0 14px;
  }
}
header .g_nav nav ul li a > span span {
  font-size: 27px;
  letter-spacing: 0.08em;
  color: transparent;
  text-shadow: 0 -1.5em 0 #fff, 0 0 0 #fff;
  -webkit-transition: text-shadow 0.3s;
  transition: text-shadow 0.3s;
}
@media screen and (max-width: 768px) {
  header .g_nav nav ul li a > span span {
    font-size: 19px;
    color: #fff;
  }
}
header .g_nav nav ul li a > span small {
  font-family: "Jost", sans-serif;
  font-size: 16px;
  letter-spacing: 0.15em;
  color: transparent;
  text-shadow: 0 -2em 0 var(--sub_gray01), 0 0 0 var(--sub_gray01);
  -webkit-transition: text-shadow 0.3s;
  transition: text-shadow 0.3s;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  header .g_nav nav ul li a > span small {
    font-size: 11px;
    color: var(--sub_gray01);
  }
}
@media screen and (max-width: 768px) {
  header .g_nav nav ul li a > span:nth-child(2) {
    display: none;
  }
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  header .g_nav nav ul li a:hover {
    opacity: 1;
  }
  header .g_nav nav ul li a:hover > span span {
    text-shadow: 0 0 0 #fff, 0 1.5em 0 #fff;
  }
  header .g_nav nav ul li a:hover > span small {
    text-shadow: 0 0 0 var(--sub_gray01), 0 2em 0 var(--sub_gray01);
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  header .g_nav nav ul li a:hover {
    opacity: 1;
  }
  header .g_nav nav ul li a:hover > span span {
    text-shadow: 0 0 0 #fff, 0 1.5em 0 #fff;
  }
  header .g_nav nav ul li a:hover > span small {
    text-shadow: 0 0 0 var(--sub_gray01), 0 2em 0 var(--sub_gray01);
  }
}
header .g_nav .txt_link_area {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  header .g_nav .txt_link_area {
    max-width: 187px;
  }
}
header .g_nav .txt_link_area ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 15px;
}
@media screen and (max-width: 768px) {
  header .g_nav .txt_link_area ul {
    gap: 10px 15px;
    -ms-flex-flow: wrap;
        flex-flow: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
header .g_nav .txt_link_area ul li {
  position: relative;
}
header .g_nav .txt_link_area ul li:not(:last-child) {
  padding-right: 15px;
}
@media screen and (max-width: 768px) {
  header .g_nav .txt_link_area ul li:not(:last-child) {
    padding-right: 0;
  }
}
header .g_nav .txt_link_area ul li:not(:last-child)::after {
  content: "";
  width: 1px;
  height: 15px;
  display: inline-block;
  background: var(--sub_gray02);
  right: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  header .g_nav .txt_link_area ul li:not(:last-child)::after {
    display: none;
  }
}
header .g_nav .txt_link_area ul li a {
  font-size: 14px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  header .g_nav .txt_link_area ul li a {
    font-size: 13px;
  }
}
header .english {
  margin-right: 0.9375vw;
  overflow: hidden;
  position: relative;
  padding-left: 31px;
}
@media only screen and (min-width: 1600px) {
  header .english {
    margin-right: 15px;
  }
}
@media screen and (max-width: 768px) {
  header .english {
    margin-right: 47.32px;
    padding-left: 20.5px;
    width: calc(1.5em + 20.5px);
  }
}
header .english::before {
  content: "";
  background: url("../img/common/icon_earth.svg") no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 16px;
  height: 16px;
}
@media screen and (max-width: 768px) {
  header .english::before {
    width: 14px;
    height: 14px;
  }
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  header .english a:hover {
    opacity: 1;
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  header .english a:hover {
    opacity: 1;
  }
}
header .english a span {
  font-family: "Jost", sans-serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 22px;
  color: transparent;
  text-shadow: 0 0 0 #fff, 0 -1.5em 0 #fff;
  -webkit-transition: text-shadow 0.3s;
  transition: text-shadow 0.3s;
}
@media screen and (max-width: 768px) {
  header .english a span {
    height: auto;
    font-size: 14px;
    color: #fff;
  }
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  header .english a:hover span {
    text-shadow: 0 1.5em 0 #fff, 0 0 0 #fff;
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  header .english a:hover span {
    text-shadow: 0 1.5em 0 #fff, 0 0 0 #fff;
  }
}
header .hd_btn {
  max-width: 221px;
  width: 13.8125vw;
  max-height: 66px;
  height: 4.125vw;
}
@media screen and (max-width: 768px) {
  header .hd_btn {
    width: 100%;
    max-width: inherit;
    height: 65px;
    max-height: inherit;
  }
}
header .hd_btn a {
  height: 100%;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
@media screen and (max-width: 768px) {
  header .hd_btn a {
    font-size: 17px;
    font-weight: 400;
  }
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  header .hd_btn a:hover {
    opacity: 1;
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  header .hd_btn a:hover {
    opacity: 1;
  }
}
header .hd_btn a strong {
  font-size: clamp(10px, 1.125vw, 18px);
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  header .hd_btn a strong {
    font-size: 17px;
    font-weight: 400;
  }
}
header .hd_btn.white a {
  background: #fff;
  color: #000;
  border: 1px solid #fff;
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  header .hd_btn.white a:hover {
    background: #000;
    color: #fff;
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  header .hd_btn.white a:hover {
    background: #000;
    color: #fff;
  }
}
header .hd_btn.gray a {
  background: #404040;
  color: #fff;
  border: 1px solid #404040;
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  header .hd_btn.gray a:hover {
    border: 1px solid #fff;
    background: #000;
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  header .hd_btn.gray a:hover {
    border: 1px solid #fff;
    background: #000;
  }
}
header .hd_btn.blue {
  max-width: 148px;
  width: 9.25vw;
}
@media screen and (max-width: 768px) {
  header .hd_btn.blue {
    max-width: inherit;
    width: 100%;
  }
}
header .hd_btn.blue a {
  line-height: 1.533;
  color: #fff;
  border: 1px solid #fff;
  font-weight: 400;
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  header .hd_btn.blue a:hover {
    border: 1px solid #000;
    color: #000;
    background: #fff;
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  header .hd_btn.blue a:hover {
    border: 1px solid #000;
    color: #000;
    background: #fff;
  }
}
@media screen and (max-width: 768px) {
  header .g_nav_scroll > .sp {
    width: 77.06%;
    margin: 0 auto 33px;
    display: block;
  }
}
header .g_nav_scroll > .sp .btn_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 18px 0;
}

/*=======================================
　footer
=======================================*/
footer {
  padding-top: 111px;
  position: relative;
}
@media screen and (max-width: 768px) {
  footer {
    padding-top: 100px;
  }
}
footer .page_top {
  margin-bottom: 39px;
  z-index: 1;
  position: absolute;
  top: 27px;
  right: 5%;
}
@media screen and (max-width: 768px) {
  footer .page_top {
    width: 60px;
    top: 20px;
  }
}
footer .inner {
  max-width: 1400px;
}
footer .inner .nav_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 25px;
  /* margin-bottom: 114.4px; */
  margin-bottom: 140px;
}
@media screen and (max-width: 768px) {
  footer .inner .nav_area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 39px;
  }
}
footer .inner .nav_area .logo {
  width: 35.71%;
}
@media screen and (max-width: 768px) {
  footer .inner .nav_area .logo {
    width: 84.92%;
    text-align: center;
  }
}
footer .inner .nav_area .logo img {
  width: 100%;
}
footer .inner .nav_area ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0 1.71875vw;
  width: 52.89%;
  min-width: 466px;
}
@media only screen and (min-width: 1600px) {
  footer .inner .nav_area ul {
    gap: 0 27.5px;
  }
}
@media screen and (max-width: 820px) {
  footer .inner .nav_area ul {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
@media screen and (max-width: 768px) {
  footer .inner .nav_area ul {
    min-width: inherit;
    /* width: 84.92%; */
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 301px;
    -ms-flex-flow: wrap;
        flex-flow: wrap;
    gap: 15px;
  }
}
footer .inner .nav_area ul li {
  position: relative;
  padding-right: 1.71875vw;
}
@media only screen and (min-width: 1600px) {
  footer .inner .nav_area ul li {
    padding-right: 27.5px;
  }
}
@media screen and (max-width: 768px) {
  footer .inner .nav_area ul li {
    padding-right: 15px;
  }
}
footer .inner .nav_area ul li::before, footer .inner .nav_area ul li::after {
  width: 1px;
  height: 21px;
  display: inline-block;
  background: var(--sub_gray02);
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  footer .inner .nav_area ul li::before, footer .inner .nav_area ul li::after {
    height: 15px;
  }
}
footer .inner .nav_area ul li::after {
  content: "";
  right: 0;
}
footer .inner .nav_area ul li a {
  font-size: clamp(10px, 1vw, 16px);
  letter-spacing: 0.1em;
  width: 100%;
  display: block;
  color: transparent;
  text-shadow: 0 0 0 #fff, 0 -1.5em 0 #fff;
  -webkit-transition: text-shadow 0.3s;
  transition: text-shadow 0.3s;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  footer .inner .nav_area ul li a {
    font-size: 14px;
  }
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  footer .inner .nav_area ul li a:hover {
    text-shadow: 0 1.5em 0 #fff, 0 0 0 #fff;
    opacity: 1;
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  footer .inner .nav_area ul li a:hover {
    text-shadow: 0 1.5em 0 #fff, 0 0 0 #fff;
    opacity: 1;
  }
}
footer .inner .nav_area ul li:first-child {
  padding-left: 1.71875vw;
}
@media only screen and (min-width: 1600px) {
  footer .inner .nav_area ul li:first-child {
    padding-left: 27.5px;
  }
}
@media screen and (max-width: 768px) {
  footer .inner .nav_area ul li:first-child {
    padding-left: 15px;
  }
}
footer .inner .nav_area ul li:first-child::before {
  content: "";
  left: 0;
}
@media screen and (max-width: 768px) {
  footer .inner .nav_area ul li:nth-child(4) {
    padding-left: 15px;
  }
}
@media screen and (max-width: 768px) {
  footer .inner .nav_area ul li:nth-child(4)::before {
    content: "";
    left: 0;
  }
}
footer .inner .inquiry_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  gap: 25px;
  margin-bottom: 71.5px;
}
@media screen and (max-width: 768px) {
  footer .inner .inquiry_area {
    width: 92.12%;
    /* width: fit-content; */
    margin: 0 auto 60px;
    gap: 40px 0;
  }
}
footer .inner .inquiry_area .tel {
  width: 38.24%;
  min-width: 290px;
  color: #fff;
}
@media screen and (max-width: 768px) {
  footer .inner .inquiry_area .tel {
    /* width: 87.82%; */
    width: 100%;
    max-width: 317.82px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  footer .inner .inquiry_area .tel .img {
    max-width: 279.14px;
  }
}
footer .inner .inquiry_area .tel p {
  letter-spacing: 0.1em;
  padding-left: 7.3125vw;
}
@media only screen and (min-width: 1600px) {
  footer .inner .inquiry_area .tel p {
    padding-left: 117px;
  }
}
@media screen and (max-width: 768px) {
  footer .inner .inquiry_area .tel p {
    padding-left: 66px;
  }
}
footer .inner .inquiry_area .tel p.txt {
  font-size: clamp(10px, 1.125vw, 18px);
  margin-bottom: 11px;
  line-height: 1.777;
}
@media only screen and (min-width: 1600px) {
  footer .inner .inquiry_area .tel p.txt {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  footer .inner .inquiry_area .tel p.txt {
    font-size: 13px;
  }
}
footer .inner .inquiry_area .tel p.notes {
  font-size: clamp(10px, 0.875vw, 14px);
  line-height: 1.642;
}
@media only screen and (min-width: 1600px) {
  footer .inner .inquiry_area .tel p.notes {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  footer .inner .inquiry_area .tel p.notes {
    font-size: 11px;
  }
}
footer .inner .inquiry_area .btn_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 20px;
  width: 52.85%;
  min-width: 470px;
}
@media screen and (max-width: 768px) {
  footer .inner .inquiry_area .btn_area {
    width: 100%;
    max-width: 300px;
    min-width: inherit;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 18px 0;
    margin: 0 auto;
  }
}
footer .inner .inquiry_area .btn_area .btn {
  width: 48.64%;
  max-height: 102px;
  height: 6.375vw;
}
@media screen and (max-width: 768px) {
  footer .inner .inquiry_area .btn_area .btn {
    width: 100%;
    max-width: inherit;
    height: 65px;
  }
}
footer .inner .inquiry_area .btn_area .btn a {
  background: transparent;
  border: 1px solid #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}
footer .inner .inquiry_area .btn_area .btn a span {
  font-size: clamp(10px, 1vw, 16px);
  letter-spacing: 0.1em;
  line-height: 1.565;
  position: relative;
  padding-right: 39px;
}
@media screen and (max-width: 768px) {
  footer .inner .inquiry_area .btn_area .btn a span {
    font-size: 16px;
    font-weight: 600;
  }
}
footer .inner .inquiry_area .btn_area .btn a span::after {
  content: "";
  background: url("../img/common/arrow01.svg") no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  width: 9px;
  height: 14px;
}
footer .inner .inquiry_area .btn_area .btn a span strong {
  font-weight: 600;
  font-size: clamp(10px, 1.4375vw, 23px);
}
@media screen and (max-width: 768px) {
  footer .inner .inquiry_area .btn_area .btn a span strong {
    font-size: 17px;
  }
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  footer .inner .inquiry_area .btn_area .btn a:hover {
    background: #fff;
    color: #000;
    opacity: 1;
  }
  footer .inner .inquiry_area .btn_area .btn a:hover span::after {
    -webkit-filter: brightness(0) saturate(100%) invert(0%) sepia(100%) saturate(16%) hue-rotate(246deg) brightness(98%) contrast(105%);
            filter: brightness(0) saturate(100%) invert(0%) sepia(100%) saturate(16%) hue-rotate(246deg) brightness(98%) contrast(105%);
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  footer .inner .inquiry_area .btn_area .btn a:hover {
    background: #fff;
    color: #000;
    opacity: 1;
  }
  footer .inner .inquiry_area .btn_area .btn a:hover span::after {
    -webkit-filter: brightness(0) saturate(100%) invert(0%) sepia(100%) saturate(16%) hue-rotate(246deg) brightness(98%) contrast(105%);
            filter: brightness(0) saturate(100%) invert(0%) sepia(100%) saturate(16%) hue-rotate(246deg) brightness(98%) contrast(105%);
  }
}
footer .inner .office_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 21px;
  margin-bottom: 77.4px;
}
@media screen and (max-width: 768px) {
  footer .inner .office_area {
    margin-bottom: 30px;
  }
}
footer .inner .office_area ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
footer .inner .office_area ul li {
  position: relative;
  padding-left: 31px;
}
@media screen and (max-width: 768px) {
  footer .inner .office_area ul li {
    padding-left: 15px;
  }
}
footer .inner .office_area ul li::before {
  content: "";
  width: 6px;
  height: 6px;
  background: #fff;
  display: inline-block;
  border-radius: 50%;
  position: absolute;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  footer .inner .office_area ul li::before {
    top: 0.7em;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    width: 5px;
    height: 5px;
  }
}
footer .inner .office_area ul li dl {
  letter-spacing: 0.1em;
  line-height: 1.642;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 3.125vw;
  color: #fff;
}
@media only screen and (min-width: 1600px) {
  footer .inner .office_area ul li dl {
    gap: 0 50px;
  }
}
@media screen and (max-width: 768px) {
  footer .inner .office_area ul li dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 5px 0;
  }
}
footer .inner .office_area ul li dl dt {
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  footer .inner .office_area ul li dl dt {
    font-size: 14px;
  }
}
footer .inner .office_area ul li dl dd {
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  footer .inner .office_area ul li dl dd {
    font-size: 12px;
  }
}
footer .inner .office_area ul:nth-child(1) li dl dt {
  width: 4.4em;
}
@media only screen and (max-width: 1475px) {
  footer .inner .office_area ul:nth-child(1) li dl dt {
    width: 5.5em;
  }
}
@media screen and (max-width: 768px) {
  footer .inner .office_area ul:nth-child(1) li dl dt {
    width: inherit;
  }
}
footer .inner .office_area ul:nth-child(2) li dl dt {
  width: 5.5em;
}
@media screen and (max-width: 768px) {
  footer .inner .office_area ul:nth-child(2) li dl dt {
    width: inherit;
  }
}
footer .inner .ft_btm_area {
  height: 50.6px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: 1px solid var(--sub_gray02);
}
@media screen and (max-width: 768px) {
  footer .inner .ft_btm_area {
    height: auto;
    padding: 13px 0 16px;
    gap: 14px 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (max-width: 768px) {
  footer .inner .ft_btm_area .txt_link_area {
    max-width: 184px;
  }
}
footer .inner .ft_btm_area .txt_link_area ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 40px;
}
@media screen and (max-width: 768px) {
  footer .inner .ft_btm_area .txt_link_area ul {
    -ms-flex-flow: wrap;
        flex-flow: wrap;
    gap: 10px 15px;
  }
}
footer .inner .ft_btm_area .txt_link_area ul li a {
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.642;
  color: var(--sub_gray01);
}
@media screen and (max-width: 1024px) {
  footer .inner .ft_btm_area .txt_link_area ul li a {
    font-size: 13px;
  }
}
footer .inner .ft_btm_area .copyright {
  font-family: "Noto Sans", sans-serif;
  font-size: 12px;
  letter-spacing: 0.1em;
  line-height: 1.833;
  text-align: right;
  color: #fff;
  background: inherit;
}
@media screen and (max-width: 768px) {
  footer .inner .ft_btm_area .copyright {
    font-size: 11px;
    text-align: left;
  }
}

/*=======================================
　cmn_btn
=======================================*/
.cmn_link01 {
  width: 100%;
  max-width: 222px;
  padding-bottom: 14.5px;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .cmn_link01 {
    padding-bottom: 10px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.cmn_link01 a {
  font-size: 18px;
  letter-spacing: 0.08em;
  line-height: 1.777;
  overflow: hidden;
  color: transparent;
  text-shadow: 0 0 0 #fff, 0 -1.5em 0 #fff;
  -webkit-transition: text-shadow 0.3s;
  transition: text-shadow 0.3s;
  display: block;
  position: relative;
}
@media screen and (max-width: 768px) {
  .cmn_link01 a {
    color: #fff;
    font-size: 14px;
    padding-right: 1.5em;
  }
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  .cmn_link01 a:hover {
    text-shadow: 0 1.5em 0 #fff, 0 0 0 #fff;
    opacity: 1;
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  .cmn_link01 a:hover {
    text-shadow: 0 1.5em 0 #fff, 0 0 0 #fff;
    opacity: 1;
  }
}
.cmn_link01 a::after {
  content: "";
  background: url("../img/common/arrow01.svg") no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 5px;
  width: 7px;
  height: 12px;
}

/*=======================================
　ttl
=======================================*/
.cmn_ttl01 {
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 768px) {
  .cmn_ttl01 {
    font-size: 30px;
  }
}
.cmn_ttl01 .jp {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  letter-spacing: 0.08em;
  display: block;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .cmn_ttl01 .jp {
    font-size: 12px;
    margin-bottom: 5px;
  }
}
.cmn_ttl01.align_C {
  text-align: center;
}
.cmn_ttl01.align_R {
  text-align: right;
  margin-right: 0 !important;
}

.cmn_ttl02 {
  font-weight: 400;
  font-size: 30px;
  letter-spacing: 0.1em;
  line-height: 1.4;
}/*# sourceMappingURL=common.css.map */