@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Fanwood+Text:ital@0;1&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Roboto:wght@700&display=swap");
/*============================================================================
	COMMON STYLES
	This file contains legacy styles that are still in use
==============================================================================*/
/* Legacy styles that need to be maintained for backward compatibility */
/* These styles are gradually being migrated to the new structure */
/* Additional utility classes that might be used in templates */
.contact-form-cont dl {
  flex-wrap: wrap;
}
.contact-form-cont dl dt {
  width: 100%;
  margin-bottom: 5px;
}
.contact-form-cont dl dd {
  width: 100%;
  margin: 0;
}

.submit-btn {
  width: 100%;
}
.submit-btn .form-btn {
  padding: 5px 0;
}

/* Additional responsive utilities */
@media screen and (max-width: 1023px) {
  .head-container .header .head-inner {
    height: 70px;
    display: flex;
  }
}
@media screen and (max-width: 1023px) and (max-width: 768px) {
  .head-container .header .head-inner {
    height: 60px;
  }
}
@media screen and (max-width: 1023px) {
  .head-container .header .head-inner h1.h1-logo {
    width: 60%;
    max-width: 300px;
    margin: 0 10px 0 10px;
  }
  .head-container .header .head-inner h1.h1-logo img {
    width: 100%;
    height: auto;
  }
  .sp-nav .sp-nav-inner .nav {
    display: block;
    z-index: 9999;
    background-color: #296CB8;
    cursor: pointer;
    position: absolute;
    width: 60px;
    height: 60px;
    top: 0;
    right: 0;
  }
  .sp-nav .sp-nav-inner .nav .nav_inner {
    width: 30px;
    height: 30px;
    z-index: 9999999;
    transition: all 0.4s;
    position: absolute;
    right: 16px;
    top: 13px;
  }
  .sp-nav .sp-nav-inner .nav .nav_inner span {
    z-index: 9999;
    display: inline-block;
    transition: all 0.4s;
    position: absolute;
    left: 0;
    height: 1px;
    background-color: #fff;
  }
  .sp-nav .sp-nav-inner .nav .nav_inner span:nth-child(1) {
    top: 6px;
    width: 100%;
  }
  .sp-nav .sp-nav-inner .nav .nav_inner span:nth-child(2) {
    top: 13px;
    width: 85%;
  }
  .sp-nav .sp-nav-inner .nav .nav-txt {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    position: absolute;
    bottom: 10px;
    left: 13px;
    color: #fff;
    font-size: 7px;
  }
  .sp-nav .sp-nav-inner .nav .nav-txt img {
    width: 30px;
    height: auto;
  }
  .sp-nav .sp-nav-inner .nav.active {
    z-index: 9999;
  }
  .sp-nav .sp-nav-inner .nav.active span:nth-of-type(1) {
    background-color: #fff;
    top: 3px;
    transform: translateY(6px) rotate(-45deg);
    width: 100%;
  }
  .sp-nav .sp-nav-inner .nav.active span:nth-of-type(2) {
    background-color: #fff;
    top: 15px;
    transform: translateY(-6px) rotate(45deg);
    width: 100%;
  }
  .navigation {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 9998;
    transition: 0.5s ease;
    opacity: 0;
    display: none;
  }
  .navigation.active {
    transition: 0.5s ease;
    overflow-y: scroll;
    opacity: 1;
    display: block;
  }
  .navigation .navigation-inner {
    padding-top: 100px;
    position: relative;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.95);
    margin-left: auto;
    position: absolute;
    top: 0;
    right: 0;
    transition: 0.5s ease;
    overflow-y: scroll;
    overflow-x: hidden;
    text-align: center;
  }
  .navigation ul li {
    margin-bottom: 40px;
  }
  .navigation ul li a {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #296CB8;
    text-decoration: none;
  }
  .navigation .sns-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
  }
}
.navigation .policy-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 10px 0 0 0;
  padding: 0;
  list-style: none;
}
.navigation .policy-nav li {
  display: flex;
  align-items: center;
  margin: 0;
}
.navigation .policy-nav li + li {
  margin-left: 14px;
}
.navigation .policy-nav li + li::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 1em;
  background-color: #c7c7c7;
  margin-right: 14px;
}
.navigation .policy-nav li a {
  font-size: 12px;
  color: #888;
  text-decoration: none;
}
.navigation .policy-nav li a, .navigation .policy-nav li a:link, .navigation .policy-nav li a:visited, .navigation .policy-nav li a:hover, .navigation .policy-nav li a:active, .navigation .policy-nav li a:focus {
  color: #888;
  text-decoration: none;
}/*# sourceMappingURL=common.css.map */