@charset "UTF-8";
/*==========================================
変数 inc.scss
===========================================*/
/*Regular*/
/*==========================================
変数 fonts.scss
===========================================*/
/*===================================
userSS 追加
=====================================*/
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
/*==========================================
 TEST調整用
===========================================*/
html.wf-active {
  margin-top: 0px !important; }

html.wf-inactive {
  margin-top: 0px !important; }

#wpadminbar {
  top: auto !important;
  bottom: 0 !important;
  position: fixed !important;
  opacity: 0.5 !important; }

.sec_gray {
  background: #e5e5e5; }

.gradient_wht {
  position: relative; }
  .gradient_wht::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    height: 10vh;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    height: 10%;
    margin: 0 auto;
    background: linear-gradient(to bottom, transparent 10%, #fff);
    transition: 0.3s;
    z-index: 1; }

.gradient_blk::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  height: 10%;
  margin: 0 auto;
  background: linear-gradient(to bottom, transparent 10%, #000);
  transition: 0.3s;
  z-index: 1; }

.def_link {
  color: blue;
  text-decoration: underline; }
  @media (hover: hover) {
    .def_link:hover:hover {
      opacity: 0.5; } }

/*==========================================
 共通設定
===========================================*/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

*:focus {
  outline: none; }

::selection {
  background: #bfbfbf;
  color: #fff; }

*::-webkit-scrollbar {
  background: #000;
  width: 5px;
  height: 5px; }
*::-webkit-scrollbar-thumb {
  background-color: #ccc; }

/* for Firefox */
::-moz-selection {
  background: #bfbfbf;
  color: #fff; }

/*=== フォント ===*/
.font_main {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400; }
  @media screen and (max-width: 960px) {
    .font_main {
      font-weight: 400; } }

.font_accent {
  font-family: "Yu Mincho", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  font-weight: bold; }
  @media screen and (max-width: 960px) {
    .font_accent {
      font-weight: bold; } }

.scenery {
  opacity: 0;
  visibility: hidden; }
  .scenery.show {
    opacity: 1;
    visibility: visible; }

/*=== html ===*/
html {
  font-size: 62.5%; }

body {
  color: #000000;
  -webkit-text-size-adjust: 100%;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  overflow-x: clip;
  position: relative;
  transition: 0.3s ease-in-out;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 960px) {
    body {
      overflow-x: hidden; } }

main {
  overflow-x: clip;
  max-width: 100%; }

/*IE*/
/*@media all and (-ms-high-contrast:none) {
body {
  font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}
}*/
/*=== フォント ===*/
/* 明朝体 */
.font_min {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }

/*ゴシック */
.font_go {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }

/*=== リンク ===*/
a {
  color: initial;
  text-decoration: none;
  transition: 0.3s ease-in-out; }

a.img-link,
.img-link-wrap a {
  display: block;
  font-size: 0; }

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none !important;
    cursor: default !important; } }
/*=== 画像 ===*/
img {
  max-width: 100%;
  height: auto; }

.noImg img {
  object-fit: contain;
  padding: 0 10%; }

img.noImg {
  object-fit: contain;
  padding: 0 10%; }

img.noimg {
  object-fit: contain;
  padding: 0 10%; }

img.emoji {
  height: 1em;
  width: 1em;
  margin: 0 0.05em 0 0.1em;
  vertical-align: -0.1em; }

/*=== clear fix ===*/
.clearfix::after {
  content: " ";
  display: block;
  clear: both; }

/*==========================================
 汎用css
===========================================*/
/*=== hover Action ===*/
/*memo 【_d】aタグに直*/
/*=== opacity ===*/
@media screen and (min-width: 961px) {
  .hover-oc_d:hover,
  .hover-oc a:hover {
    opacity: 0.7; } }
/*=== under line ===*/
.hover-ul_d,
.hover-ul a,
.hover-ulL_d,
.hover-ulL a,
.hover-ulF_d,
.hover-ulF a {
  position: relative;
  display: inline-block; }

/*=== under line【CENTER】 ===*/
.hover-ul_d::after,
.hover-ul a::after {
  position: absolute;
  bottom: -1px;
  left: 50%;
  content: "";
  width: 0;
  height: 1px;
  background-color: #000;
  transition: 0.3s;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%); }

/*=== under line【LEFT】 ===*/
.hover-ulL_d::after,
.hover-ulL a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 0;
  height: 1px;
  background-color: #000;
  transition: 0.3s; }

/*=== under line【FADE】 ===*/
.hover-ulF_d::after,
.hover-ulF a::after {
  position: absolute;
  bottom: 0.3em;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #000;
  opacity: 0;
  transition: 0.3s; }

/*=== HOVER動作 ===*/
@media (hover: hover) {
  .hover-ul_d:hover:hover::after,
  .hover-ul a:hover:hover::after,
  .hover-ulL_d:hover:hover::after,
  .hover-ulL a:hover:hover::after {
    width: 100%; } }

@media (hover: hover) {
  .hover-ulF_d:hover:hover::after,
  .hover-ulF a:hover:hover::after {
    bottom: 0;
    opacity: 1; } }

/* ホバー　震える */
@media (hover: hover) {
  .hover-rum:hover:hover {
    animation: rumble 0.12s linear infinite; } }

@keyframes rumble {
  0% {
    transform: rotate(0deg) translate(0, 0); }
  12.5% {
    transform: rotate(0.4deg) translate(1px, -1px); }
  25% {
    transform: rotate(0.8deg) translate(0px, 1px); }
  37.5% {
    transform: rotate(0.4deg) translate(-1px, 0); }
  50% {
    transform: rotate(0deg) translate(0, 0); }
  62.5% {
    transform: rotate(-0.4deg) translate(1px, 0); }
  75% {
    transform: rotate(-0.8deg) translate(0, 1px); }
  87.5% {
    transform: rotate(-0.4deg) translate(-1px, -1px); }
  100% {
    transform: rotate(0deg) translate(0, 0); } }
.hover_TS a {
  transition: 0.25s all cubic-bezier(0.34, 1.56, 0.64, 1); }
  @media (hover: hover) {
    .hover_TS a:hover:hover {
      transform: scale(1.05); } }

.hover_db a {
  background: linear-gradient(currentColor 0 0) 0 100%/var(--d, 0) 2px no-repeat, linear-gradient(currentColor 0 0) 100% calc(100% - 4px)/var(--d, 0) 2px no-repeat;
  transition: 0s 0.5s, background-size 0.5s; }
  @media (hover: hover) {
    .hover_db a:hover:hover {
      --d: 100%;
      background-position: 0% calc(100% - 2px), 100% calc(100% - 2px);
      transition: 0.3s, background-position 0.3s 0.3s; } }

/*==== MARKER ===*/
.gray-line {
  background: linear-gradient(transparent 60%, #f5f5f5 60%); }

.green-line {
  background: linear-gradient(transparent 60%, #e8f1ec 60%); }

/*=== 幅 ===*/
.wrapMDL {
  max-width: 960px;
  width: 100%;
  margin-inline: auto; }

.wrapXL {
  max-width: 1920px;
  width: 100%;
  margin-inline: auto; }

.wrap {
  max-width: 1200px;
  width: 92%;
  margin: 0 auto; }

.wrapW {
  max-width: 1740px;
  width: 92%;
  margin: 0 auto; }
  @media screen and (min-width: 577px) {
    .wrapW {
      width: 92%; } }

@media screen and (max-width: 960px) {
  .wrapW_sp {
    max-width: 1740px;
    width: 92%;
    margin: 0 auto; } }

@media screen and (min-width: 961px) {
  .wrapW_pc {
    max-width: 1740px;
    width: 92%;
    margin-inline: 0 auto; } }

@media screen and (min-width: 961px) {
  .wrapW_left_pc {
    max-width: 1740px;
    width: 92%;
    margin-inline: 0 auto; } }

@media screen and (min-width: 961px) {
  .wrapW_right_pc {
    max-width: 1740px;
    width: 92%;
    margin-inline: auto 0; } }

.wrapW-P {
  width: 90%;
  margin: 0 auto; }
  @media screen and (max-width: 960px) {
    .wrapW-P {
      width: 92%; } }
  @media screen and (min-width: 961px) {
    .wrapW-P {
      width: 96%; } }
  @media screen and (min-width: 1361px) {
    .wrapW-P {
      width: calc(100% - 100px); } }

.wrapW-L {
  width: 96%;
  margin: 0 auto; }
  @media screen and (max-width: 960px) {
    .wrapW-L {
      width: 96%; } }
  @media screen and (min-width: 961px) {
    .wrapW-L {
      width: 96%; } }

.wrapW-M {
  width: 86%;
  margin: 0 auto; }
  @media screen and (max-width: 960px) {
    .wrapW-M {
      width: 92%; } }
  @media screen and (min-width: 961px) {
    .wrapW-M {
      width: 92%; } }
  @media screen and (min-width: 1361px) {
    .wrapW-M {
      width: calc(92% - 100px); } }

.wrapW-S {
  margin: 0 auto; }
  @media screen and (max-width: 960px) {
    .wrapW-S {
      width: 88%; } }
  @media screen and (min-width: 961px) {
    .wrapW-S {
      width: 88%; } }
  @media screen and (min-width: 1361px) {
    .wrapW-S {
      width: calc(88% - 100px); } }

.wrap-inner {
  padding: 0 2.5%; }
  @media screen and (min-width: 1201px) {
    .wrap-inner {
      padding: 0 25px; } }
  @media screen and (min-width: 1921px) {
    .wrap-inner {
      padding: 0 30px; } }
  @media screen and (max-width: 576px) {
    .wrap-inner {
      padding: 0 4%; } }

@media screen and (min-width: 961px) {
  .wrap-inner_pc {
    padding-inline: 4%; } }

@media screen and (max-width: 960px) {
  .wrap-inner_sp {
    padding-inline: 4%; } }

.wrapVW {
  width: 90vw;
  max-width: 1720px;
  margin: 0 auto; }

.wrapW-S,
.wrapW-M,
.wrapW-L,
.wrapW-P {
  padding: 0 2.5%; }
  @media screen and (min-width: 1201px) {
    .wrapW-S,
    .wrapW-M,
    .wrapW-L,
    .wrapW-P {
      padding: 0 25px; } }
  @media screen and (min-width: 1921px) {
    .wrapW-S,
    .wrapW-M,
    .wrapW-L,
    .wrapW-P {
      padding: 0 30px; } }
  @media screen and (max-width: 960px) {
    .wrapW-S,
    .wrapW-M,
    .wrapW-L,
    .wrapW-P {
      padding: 0 4%; } }

.side-wrap {
  max-width: calc(92% - 10px);
  margin-inline: 0 auto; }
  @media screen and (max-width: 960px) {
    .side-wrap {
      max-width: 96%;
      margin-inline: auto; } }

.dsp_none {
  display: none !important; }

/*=== PC none / SP none ===*/
@media screen and (min-width: 376px) {
  .pc-none_xs {
    display: none; } }
@media screen and (min-width: 376px) {
  .pc-none_sm {
    display: none; } }
@media screen and (min-width: 769px) {
  .pc-none_md {
    display: none; } }
@media screen and (min-width: 961px) {
  .pc-none {
    display: none; } }
@media screen and (min-width: 1201px) {
  .pc-none_lg {
    display: none; } }
@media screen and (min-width: 1921px) {
  .pc-none_xl {
    display: none; } }
@media (min-width: 480px) {
  .pc-none_480 {
    display: none; } }
@media screen and (max-width: 1360px) {
  .sp-none_lgL {
    display: none; } }
@media screen and (max-width: 1920px) {
  .sp-none_xl {
    display: none; } }
@media screen and (max-width: 1200px) {
  .sp-none_lg {
    display: none; } }
@media screen and (max-width: 960px) {
  .sp-none {
    display: none; } }
@media screen and (max-width: 767px) {
  .sp-none_md {
    display: none; } }
@media screen and (max-width: 576px) {
  .sp-none_sm {
    display: none; } }
@media screen and (max-width: 375px) {
  .sp-none_xs {
    display: none; } }
@media screen and (max-width: 960px) {
  .sp-none_tag {
    display: contents; } }
@media screen and (min-width: 769px) {
  .pc-none_md_tag {
    display: contents; } }
@media screen and (max-width: 768px) {
  .sp-none_md_tag {
    display: contents; } }
@media screen and (min-width: 961px) {
  .pc-none_tag {
    display: contents; } }
/*=== テキスト ===*/
.taC {
  text-align: center; }

.fwB {
  font-weight: bold; }

/*=== 余白 ===*/
.main {
  margin-top: 65px; }
  @media screen and (max-width: 960px) {
    .main {
      margin-top: 61px; } }

/*==========================================
 アンカーリンク
===========================================*/
.anchor_link {
  position: relative;
  top: -150px;
  display: block; }

@media screen and (max-width: 960px) {
  .anchor_link {
    top: -100px; } }
.grecaptcha-badge {
  display: none; }

.auto-phrase {
  word-break: auto-phrase; }

/*==========================================
 ヘッダー
===========================================*/
#header {
  position: fixed;
  top: -120px;
  width: 100%;
  background: #fff;
  transition: .5s;
  /* アニメーションタイミング */
  z-index: 50; }
  #header.is-show {
    top: 0; }
  #header .header-inner {
    padding: 10px 2.5%;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      #header .header-inner {
        padding: 10px 4%; } }
    @media screen and (max-width: 1200px) {
      #header .header-inner .header-navCtc {
        margin-right: 20px; } }
    @media screen and (max-width: 767px) {
      #header .header-inner .header-navCtc {
        display: none; } }
  #header .logo-block {
    display: flex;
    width: 25%; }
    @media screen and (max-width: 1200px) {
      #header .logo-block {
        width: 30%; } }
    @media screen and (max-width: 767px) {
      #header .logo-block {
        width: 235px; } }
    #header .logo-block li:not(:last-child) {
      margin-right: clamp(30px, 4vw, 40px); }
  #header .header-navBlock {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 70%; }
    @media screen and (max-width: 767px) {
      #header .header-navBlock {
        width: auto; } }
  #header .header-navMain {
    display: flex;
    justify-content: space-between;
    font-size: clamp(1.4rem, 1.6vw, 1.6rem);
    margin-right: 1em; }
    @media screen and (max-width: 1200px) {
      #header .header-navMain {
        display: none; } }
    #header .header-navMain li {
      font-weight: 500;
      padding: 0 0 0 1em; }
      #header .header-navMain li:not(:last-child)::after {
        content: "/";
        margin-left: 1em; }
      @media (hover: hover) {
        #header .header-navMain li a:hover {
          color: #801737; } }
  #header .header-navCtc {
    max-width: 255px;
    width: 40%;
    display: flex;
    justify-content: space-between; }
    #header .header-navCtc li {
      width: 49%; }
      #header .header-navCtc li a {
        display: block;
        background: #801737;
        text-align: center;
        font-size: clamp(1.6rem, 1.8vw, 1.8rem);
        letter-spacing: 0.2em;
        font-weight: 500;
        padding: 0.7em 0;
        color: #fff; }
        @media (hover: hover) {
          #header .header-navCtc li a:hover {
            background: #333; } }
        #header .header-navCtc li a .en {
          font-family: "Poppins", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
          font-weight: 800;
          font-size: clamp(1.2rem, 1.4vw, 1.4rem);
          line-height: 1;
          display: block; }
  #header .header-menu {
    position: relative;
    top: 0;
    right: 0;
    display: block;
    width: 25px;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media screen and (min-width: 1201px) {
      #header .header-menu {
        display: none; } }
  #header .gnav-list {
    font-size: clamp(1.8rem, 2.4vw, 2.4rem);
    margin: clamp(40px, 6vw, 80px); }
    #header .gnav-list li {
      text-align: center; }
      #header .gnav-list li:not(:last-child) {
        margin-bottom: 1em; }
      #header .gnav-list li a {
        border-bottom: 1px solid transparent; }
        @media (hover: hover) {
          #header .gnav-list li a:hover {
            border-color: #801737;
            color: #801737; } }

.menu-block {
  transition: 0.3s all;
  position: relative;
  top: 4%;
  right: 0;
  z-index: 99;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  width: 10%;
  min-width: 25px;
  max-width: 25px; }
  @media screen and (max-width: 767px) {
    .menu-block {
      max-width: 100%;
      min-width: inherit;
      width: 100%;
      background: inherit;
      border: none; } }
  .menu-block.fix {
    width: 30%; }
    @media screen and (max-width: 960px) {
      .menu-block.fix {
        width: 100%; } }
    .menu-block.fix a {
      display: block;
      padding: 5px 0; }
      @media screen and (max-width: 960px) {
        .menu-block.fix a {
          display: block;
          padding: 0 0; } }

.trigger_block.active p {
  color: #fff; }

.trigger_block {
  cursor: pointer;
  display: block;
  text-align: center;
  padding: 5px 0 10px;
  width: 100%; }
  @media screen and (max-width: 767px) {
    .trigger_block {
      padding: 5px 0; } }
  .trigger_block p {
    font-size: 1.2rem; }

.menu-trigger {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
  position: relative;
  width: 100%;
  max-width: 25px;
  height: 20px;
  margin-top: 0px; }
  .menu-trigger span {
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #000;
    border-radius: 10px; }
    .menu-trigger span:nth-of-type(1) {
      top: 0; }
    .menu-trigger span:nth-of-type(2) {
      top: 9px; }
    .menu-trigger span:nth-of-type(3) {
      bottom: 0; }
  @media screen and (max-width: 960px) {
    .menu-trigger {
      margin-top: 0px; } }

.trigger_block.active .menu-trigger span:nth-of-type(1) {
  -webkit-transform: translateY(7px) rotate(-45deg);
  transform: translateY(7px) rotate(-45deg); }
  @media screen and (max-width: 960px) {
    .trigger_block.active .menu-trigger span:nth-of-type(1) {
      -webkit-transform: translateY(7px) rotate(-45deg);
      transform: translateY(7px) rotate(-45deg);
      background-color: #fff; } }
  @media screen and (max-width: 767px) {
    .trigger_block.active .menu-trigger span:nth-of-type(1) {
      -webkit-transform: translateY(7px) rotate(-45deg);
      transform: translateY(7px) rotate(-45deg);
      background-color: #fff; } }
.trigger_block.active .menu-trigger span:nth-of-type(2) {
  left: 200%;
  opacity: 0;
  -webkit-transform: translateY(2px);
  transform: translateY(2px);
  -webkit-animation: active-menu-bar02 0.8s forwards;
  animation: active-menu-bar02 0.8s forwards; }
.trigger_block.active .menu-trigger span:nth-of-type(3) {
  -webkit-transform: translateY(-9px) rotate(45deg);
  transform: translateY(-9px) rotate(45deg); }
  @media screen and (max-width: 960px) {
    .trigger_block.active .menu-trigger span:nth-of-type(3) {
      -webkit-transform: translateY(-9px) rotate(45deg);
      transform: translateY(-9px) rotate(45deg);
      background-color: #fff; } }
  @media screen and (max-width: 767px) {
    .trigger_block.active .menu-trigger span:nth-of-type(3) {
      -webkit-transform: translateY(-9px) rotate(45deg);
      transform: translateY(-9px) rotate(45deg);
      background-color: #fff; } }

@-webkit-keyframes active-menu-bar02 {
  100% {
    height: 0; } }
@keyframes active-menu-bar02 {
  100% {
    height: 0; } }
#header .megamenu {
  position: fixed;
  top: 0;
  right: -100vh;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  transition: clip 0.4s cubic-bezier(0.55, 0.05, 0.22, 0.99);
  transition: 0.4s ease-in-out;
  z-index: -1;
  visibility: hidden;
  opacity: 0; }
  #header .megamenu.open {
    opacity: 1;
    visibility: visible;
    z-index: 100; }
  #header .megamenu .megamenuIn {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: hidden; }
  #header .megamenu .megamenu_main {
    width: 80%;
    max-width: 500px;
    background-color: #fff;
    color: #000;
    padding: 90px 2.5%;
    -ms-overflow-style: none;
    position: relative;
    overflow-x: hidden;
    z-index: 100;
    box-shadow: 1px 1px 10px 1px #333, -1px 0 28px 0 rgba(34, 33, 81, 0.01), 28px 28px 28px 0 rgba(34, 33, 81, 0);
    border-radius: 2vmax 0 0 2vmax;
    top: 0;
    right: 0;
    height: 100%; }
    #header .megamenu .megamenu_main::-webkit-scrollbar {
      display: none; }
    #header .megamenu .megamenu_main::scrollbar[orient="vertical"] {
      visibility: collapse !important; }
  #header .megamenu .megamenu_bg {
    margin: 0 auto;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    width: 100%;
    position: fixed;
    z-index: 99;
    left: 0;
    top: 0;
    transition: 0.3s ease-out; }
  #header .megamenu .megamenu_closeBtn {
    display: block;
    width: 45px;
    height: 45px;
    padding-top: 25px;
    color: #333;
    position: absolute;
    top: 4%;
    right: 2em;
    cursor: pointer;
    background: #fff;
    border: 1px solid #000;
    border-radius: 50%; }
    #header .megamenu .megamenu_closeBtn::before, #header .megamenu .megamenu_closeBtn::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 2px;
      height: 16px;
      background: #000; }
    #header .megamenu .megamenu_closeBtn::before {
      transform: translate(-50%, -50%) rotate(45deg); }
    #header .megamenu .megamenu_closeBtn::after {
      transform: translate(-50%, -50%) rotate(-45deg); }
  #header .megamenu .logo-block {
    width: 60%;
    margin: 15px 0 0; }
  #header .megamenu .header-navCtc {
    width: 100%;
    max-width: none; }

/*==========================================
 FOOTER
===========================================*/
#footer {
  padding: 40px 0; }
  @media screen and (max-width: 1200px) {
    #footer {
      padding: 40px 0 80px; } }
  #footer .footer-inner {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 960px) {
      #footer .footer-inner {
        flex-direction: column; } }
    #footer .footer-inner .footer-mainBlock {
      width: 48%; }
      @media screen and (max-width: 960px) {
        #footer .footer-inner .footer-mainBlock {
          width: 100%; } }
      #footer .footer-inner .footer-mainBlock .logo-block {
        display: flex; }
        #footer .footer-inner .footer-mainBlock .logo-block li:not(:last-child) {
          margin-right: clamp(30px, 4vw, 40px); }
    #footer .footer-inner .footer-area {
      margin-top: 20px;
      font-size: clamp(1.2rem, 1.4vw, 1.4rem); }
      @media screen and (min-width: 961px) {
        #footer .footer-inner .footer-area {
          font-size: clamp(0.9rem, 0.9vw, 1.4rem); } }
      #footer .footer-inner .footer-area .area-txt {
        font-size: clamp(1.6rem, 2vw, 2rem);
        font-weight: 500;
        letter-spacing: 0.1em; }
        @media screen and (min-width: 961px) {
          #footer .footer-inner .footer-area .area-txt {
            font-size: clamp(1.4rem, 1.4vw, 2rem); } }
    #footer .footer-inner .footer-contactBlock {
      width: 50%; }
      @media screen and (min-width: 961px) {
        #footer .footer-inner .footer-contactBlock {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap; } }
      @media screen and (max-width: 960px) {
        #footer .footer-inner .footer-contactBlock {
          width: 100%; } }
      #footer .footer-inner .footer-contactBlock .tel_block {
        font-family: "Yu Mincho", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "MS PMincho", serif;
        font-size: clamp(2.6rem, 2.8vw, 5rem);
        font-weight: 500;
        letter-spacing: 0.12em;
        text-align: center;
        margin: 1em auto; }
        @media screen and (min-width: 961px) {
          #footer .footer-inner .footer-contactBlock .tel_block {
            width: 50%;
            text-align: left;
            margin: 0; } }
      #footer .footer-inner .footer-contactBlock .contactBtn {
        font-size: clamp(1.6rem, 1.8vw, 1.8rem);
        letter-spacing: 0.2em;
        font-weight: 500;
        display: flex;
        justify-content: space-between; }
        @media screen and (min-width: 961px) {
          #footer .footer-inner .footer-contactBlock .contactBtn {
            width: 49%;
            font-size: clamp(1.4rem, 1.4vw, 1.8rem); } }
        #footer .footer-inner .footer-contactBlock .contactBtn li {
          width: 48%; }
          #footer .footer-inner .footer-contactBlock .contactBtn li a {
            display: block;
            border: 1px solid #205915;
            color: #205915;
            text-align: center;
            border-radius: 100vmax;
            padding: 0.7em 0; }
            @media (hover: hover) {
              #footer .footer-inner .footer-contactBlock .contactBtn li a:hover {
                background: #205915;
                color: #fff; } }
    #footer .footer-inner .footer-copy {
      margin-top: clamp(20px, 4vw, 40px);
      width: 100%;
      font-size: clamp(1.2rem, 1.4vw, 1.4rem);
      font-weight: 500; }
      @media screen and (min-width: 768px) {
        #footer .footer-inner .footer-copy {
          text-align: right;
          font-size: clamp(0.6rem, 0.6vw, 1.4rem); } }

/*==========================================
 【SP FOOTER CNV】
===========================================*/
.sp-footer-cnv {
  height: 4em;
  margin: 0 auto;
  position: fixed; }
  @media screen and (min-width: 768px) {
    .sp-footer-cnv {
      display: none !important; } }
  @media screen and (max-width: 960px) {
    .sp-footer-cnv {
      z-index: 30; } }

.footer-cnv-sp {
  position: fixed;
  z-index: 10;
  left: 0;
  width: 100%;
  height: 4em;
  background: transparent;
  display: flex;
  justify-content: center;
  max-width: 100%;
  margin: auto;
  transition: 0s;
  border-top: 1px solid #000; }
  @media screen and (min-width: 961px) {
    .footer-cnv-sp {
      left: 0;
      right: 0;
      top: auto;
      bottom: 0;
      width: 100%;
      height: 3em;
      background: transparent;
      transition: 0s; } }
  .footer-cnv-sp li {
    width: 40%;
    height: 100%; }
    .footer-cnv-sp li:not(:last-child) {
      border-right: 1px solid #fff; }
    .footer-cnv-sp li:last-child {
      width: 20%; }
    .footer-cnv-sp li a {
      color: #fff;
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      font-size: 1.2rem;
      padding: 0.8em 0;
      height: 100%;
      background: #801737; }
      @media screen and (min-width: 577px) {
        .footer-cnv-sp li a {
          font-size: 1.4rem;
          padding: 0.2em 0; } }
      @media screen and (min-width: 961px) {
        .footer-cnv-sp li a {
          background: #205915;
          height: 100%;
          width: 100%;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center; } }
  @media screen and (min-width: 961px) and (hover: hover) {
    .footer-cnv-sp li a:hover:hover {
      background: #fff;
      color: #333333; }
      .footer-cnv-sp li a:hover:hover .item-ttl {
        color: #205915; } }

  @media screen and (min-width: 961px) and (hover: hover) and (min-width: 961px) {
    .footer-cnv-sp li a:hover:hover .item-ttl-ja {
      border-left: 1px solid #205915; } }

      .footer-cnv-sp li a .btnTtl-en {
        font-size: 1.2rem;
        letter-spacing: 0.1em; }
        @media screen and (max-width: 960px) {
          .footer-cnv-sp li a .btnTtl-en {
            display: block; } }
      .footer-cnv-sp li a.spPagetop {
        background: #333; }
        .footer-cnv-sp li a.spPagetop p {
          font-size: 0.9rem; }
  .footer-cnv-sp .formlink-list {
    display: flex;
    justify-content: space-between; }
  .footer-cnv-sp .contact-tel a {
    display: flex;
    align-items: center;
    flex-direction: row; }
    @media screen and (max-width: 960px) {
      .footer-cnv-sp .contact-tel a {
        flex-direction: column; } }
  .footer-cnv-sp .contact-tel .tel {
    letter-spacing: 0.1em;
    font-size: clamp(1.2rem, 1.3541666667vw, 2.6rem);
    line-height: 1; }
    @media screen and (min-width: 961px) {
      .footer-cnv-sp .contact-tel .tel {
        margin-left: 1rem; } }
    @media screen and (max-width: 960px) {
      .footer-cnv-sp .contact-tel .tel {
        letter-spacing: 0.1em;
        font-size: clamp(0.5rem, 2.254167vw, 2.6rem);
        line-height: 1; } }
  @media screen and (max-width: 960px) {
    .footer-cnv-sp i {
      font-size: clamp(1.8rem, 1.4375vw, 1.8rem);
      margin-bottom: 0.5em; } }
  .footer-cnv-sp .item-ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
    letter-spacing: 0.1em;
    font-size: clamp(1.4rem, 1.4375vw, 1.8rem);
    line-height: 1;
    transition: 0s ease-in-out; }
    @media screen and (max-width: 960px) {
      .footer-cnv-sp .item-ttl {
        font-size: clamp(1.2rem, 2.0375vw, 1.8rem);
        flex-direction: column; } }
  .footer-cnv-sp .item-ttl-en {
    position: relative;
    line-height: 1.5; }
  .footer-cnv-sp .item-ttl-ja {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    transition: border-left 0.3s ease-out; }
    @media screen and (min-width: 961px) {
      .footer-cnv-sp .item-ttl-ja {
        border-left: 1px solid #fff;
        padding-left: 0.5em;
        margin-left: 0.5em; } }
    @media screen and (max-width: 960px) {
      .footer-cnv-sp .item-ttl-ja {
        margin-top: 1rem;
        line-height: 1; } }

/*==========================================
 【PAGETOP】
===========================================*/
.pagetop {
  position: fixed;
  z-index: 8;
  right: 10px;
  bottom: 10px; }
  @media screen and (max-width: 767px) {
    .pagetop {
      display: none !important; } }
  .pagetop a {
    display: block;
    background: #000;
    font-size: 0;
    transition: 0.3s ease-in-out;
    width: 55px;
    height: 55px;
    padding: 15px 0 0;
    text-align: center;
    border: 1px solid #fff;
    position: relative; }
    .pagetop a::after {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 7.5px 20px 7.5px;
      border-color: transparent transparent #fff transparent;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
    @media screen and (min-width: 961px) {
      .pagetop a:hover {
        background: #205915; } }
    @media screen and (max-width: 960px) {
      .pagetop a {
        width: 35px;
        height: 35px;
        padding: 12px 0 0; } }

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