@charset "UTF-8";
/* -----------------------------------------------------------------
 Foundation
----------------------------------------------------------------- */
/*=======================
  config
=======================*/
@font-face {
  font-family: "Tahoma";
  src: url("../font/tahoma-bold.ttf") format("truetype");
}
/*======================
  reset
======================*/
html, body, div, span, iframe, h1, h2, h3, h4, p, a, img, dl, dt, dd, ol, ul, li, label, table, tbody, tr, th, td, figure, blockquote {
  padding: 0;
  margin: 0;
  border: 0;
  vertical-align: baseline;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

article, aside, figure, footer, header, nav, section {
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  font-size: inherit;
}

a {
  text-decoration: none;
  color: inherit;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}

li {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

video {
  max-width: 100%;
  height: auto;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
}

tr, th, td {
  vertical-align: middle;
}

small {
  font-size: inherit;
}

address {
  font-style: normal;
}

/*=======================
  breakpoints
=======================*/
/************************
　スクロールアニメーション用
*************************/
.fadeIn-scroll {
  opacity: 0;
  -webkit-transition: opacity 1300ms;
  transition: opacity 1300ms;
}
.fadeIn-scroll.is-scrolled {
  opacity: 1;
}

.fadeInUp-scroll {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: opacity 1300ms, -webkit-transform 1300ms;
  transition: opacity 1300ms, -webkit-transform 1300ms;
  transition: opacity 1300ms, transform 1300ms;
  transition: opacity 1300ms, transform 1300ms, -webkit-transform 1300ms;
}
.fadeInUp-scroll.is-scrolled {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.fadeInLeft-scroll {
  opacity: 0;
  -webkit-transform: translateX(-30px);
          transform: translateX(-30px);
  -webkit-transition: opacity 1300ms, -webkit-transform 1300ms;
  transition: opacity 1300ms, -webkit-transform 1300ms;
  transition: opacity 1300ms, transform 1300ms;
  transition: opacity 1300ms, transform 1300ms, -webkit-transform 1300ms;
}
.fadeInLeft-scroll.is-scrolled {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.fadeInRight-scroll {
  opacity: 0;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
  -webkit-transition: 1300ms, -webkit-transform 1300ms;
  transition: 1300ms, -webkit-transform 1300ms;
  transition: 1300ms, transform 1300ms;
  transition: 1300ms, transform 1300ms, -webkit-transform 1300ms;
}
.fadeInRight-scroll.is-scrolled {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.is-fadeInOn {
  opacity: 0;
  -webkit-animation: is-fadeInOn 1.6s 0.6s forwards;
          animation: is-fadeInOn 1.6s 0.6s forwards;
}

.is-fadeInUp {
  opacity: 0;
  -webkit-animation: is-fadeInUp 1s 0.6s forwards;
          animation: is-fadeInUp 1s 0.6s forwards;
}

.is-leftRight {
  -webkit-animation: is-leftRight 1s 1s both;
          animation: is-leftRight 1s 1s both;
}

.is-fv-fadeInUp {
  opacity: 0;
  -webkit-animation: is-fv-fadeInUp 1.6s 1.6s forwards;
          animation: is-fv-fadeInUp 1.6s 1.6s forwards;
}

.is-zoom {
  -webkit-animation: is-zoom 17s linear 0s infinite alternate both;
          animation: is-zoom 17s linear 0s infinite alternate both;
  will-change: transform;
}

.is-beat {
  opacity: 0;
}
.is-beat.is-scrolled {
  -webkit-animation: is-beat 3.2s linear infinite;
          animation: is-beat 3.2s linear infinite;
  opacity: 1;
}

.is-shake.is-scrolled {
  -webkit-animation: is-shake 2.3s infinite;
          animation: is-shake 2.3s infinite;
}

/* ----------------------
  animation
---------------------- */
@-webkit-keyframes fadeIn-scroll {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn-scroll {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeOut-scroll {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut-scroll {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes is-fadeInOn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes is-fadeInOn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes is-leftRight {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
@keyframes is-leftRight {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
@-webkit-keyframes is-fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes is-fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes is-fv-fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes is-fv-fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes is-beat {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  3.5% {
    -webkit-transform: scale(1.08);
            transform: scale(1.08);
  }
  7% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  10% {
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
  13% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes is-beat {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  3.5% {
    -webkit-transform: scale(1.08);
            transform: scale(1.08);
  }
  7% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  10% {
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
  13% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes is-shake {
  0% {
    -webkit-transform: rotate(4deg);
            transform: rotate(4deg);
  }
  50% {
    -webkit-transform: rotate(-4deg);
            transform: rotate(-4deg);
  }
  100% {
    -webkit-transform: rotate(4deg);
            transform: rotate(4deg);
  }
}
@keyframes is-shake {
  0% {
    -webkit-transform: rotate(4deg);
            transform: rotate(4deg);
  }
  50% {
    -webkit-transform: rotate(-4deg);
            transform: rotate(-4deg);
  }
  100% {
    -webkit-transform: rotate(4deg);
            transform: rotate(4deg);
  }
}
@-webkit-keyframes is-zoom {
  0% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes is-zoom {
  0% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
/*=======================
  base
=======================*/
* {
  min-height: 0vw; /* Safari clamp関数対策 */
}

body {
  color: #222222;
  font-family: "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "源ノ角ゴシック JP", sans-serif;
  font-size: clamp(0.875rem, -0.625rem + 1.67vw, 1.375rem);
  /* 14 - 22 */
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
  overflow-x: hidden;
}
body.backlayer {
  overflow: hidden;
}

/* svg */
.svg, .svg-defs {
  display: none;
  position: relative;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}

.icon {
  display: inline-block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}

.icon_mail {
  width: 24px;
  height: 24px;
  fill: #fff;
}

.icon_arrow_main {
  width: 41px;
  height: 41px;
}

.icon_arrow_anchor {
  width: 18px;
  height: 11px;
}

.icon_arrow_map {
  width: 24px;
  height: 24px;
}

/* -----------------------------------------------------------------
 Layout
----------------------------------------------------------------- */
/*=======================
  header
=======================*/
.l-header {
  width: 100%;
  height: 60px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 990;
}
@media screen and (min-width: 768px) {
  .l-header {
    height: 100px;
  }
}
@media screen and (min-width: 1920px) {
  .l-header {
    height: 164px;
  }
}
.l-header__inner {
  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;
  position: relative;
  height: 100%;
  width: calc(100% - 36px);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-header__inner {
    width: 94.79vw;
  }
}
.l-header__logo {
  margin-bottom: 3px;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
.l-header__logo-link {
  display: block;
  width: clamp(6.75rem, 6.214rem + 2.68vw, 7.5rem);
  /* 108 - 120 */
}
@media screen and (min-width: 768px) {
  .l-header__logo-link {
    width: clamp(10rem, 8.571rem + 2.98vw, 11.25rem);
    /* 160 - 180 */
  }
}
@media screen and (min-width: 1440px) {
  .l-header__logo-link {
    width: clamp(11.25rem, -1.875rem + 14.58vw, 15.625rem);
    /* 180 - 250 */
  }
}
@media screen and (min-width: 1920px) {
  .l-header__logo-link {
    width: 250px;
  }
}
.l-header__logo img {
  width: 100%;
}
.l-header__logo:hover {
  opacity: 0.7;
}

.l-nav {
  display: none;
}
@media screen and (min-width: 1024px) {
  .l-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.l-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.l-nav__item {
  margin-right: clamp(1rem, -0.714rem + 2.68vw, 2.5rem);
  /* 16 - 40*/
}
.l-nav__link {
  font-weight: 500;
  font-size: 16px; /*clamp(0.875rem, 0.304rem + 0.89vw, 1.375rem);*/
  /* 14 - 20 */
}
.l-nav__link:hover {
  color: #EB6F45;
}

.l-navbtn {
  display: inline-block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  z-index: 999;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #01AEDC;
  text-align: center;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .l-navbtn {
    width: 56px;
    height: 56px;
  }
}
@media screen and (min-width: 1024px) {
  .l-navbtn {
    display: none;
  }
}
.l-navbtn__bar {
  display: block;
  width: 14px;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #fff;
  -webkit-transition: background-color 0.3s, -webkit-transform 0.3s;
  transition: background-color 0.3s, -webkit-transform 0.3s;
  transition: background-color 0.3s, transform 0.3s;
  transition: background-color 0.3s, transform 0.3s, -webkit-transform 0.3s;
}
@media screen and (min-width: 768px) {
  .l-navbtn__bar {
    width: 21px;
    height: 2px;
  }
}
.l-navbtn__bar.m-top {
  -webkit-transform: translate(-50%, calc(-50% - 4px));
          transform: translate(-50%, calc(-50% - 4px));
}
@media screen and (min-width: 768px) {
  .l-navbtn__bar.m-top {
    -webkit-transform: translate(-50%, calc(-50% - 6px));
            transform: translate(-50%, calc(-50% - 6px));
  }
}
.l-navbtn__bar.m-middle {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.l-navbtn__bar.m-bottom {
  -webkit-transform: translate(-50%, calc(-50% + 4px));
          transform: translate(-50%, calc(-50% + 4px));
}
@media screen and (min-width: 768px) {
  .l-navbtn__bar.m-bottom {
    -webkit-transform: translate(-50%, calc(-50% + 6px));
            transform: translate(-50%, calc(-50% + 6px));
  }
}

.l-spnav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 998;
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
  height: 100svh;
  padding-top: 60px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
  -webkit-transform: translateX(110%);
          transform: translateX(110%);
}
@media screen and (min-width: 768px) {
  .l-spnav {
    padding-top: 100px;
  }
}
@media screen and (min-width: 1024px) {
  .l-spnav {
    display: none;
  }
}
.l-spnav.is-open {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.l-spnav__overlay {
  display: none;
}
.l-spnav__overlay.is-block {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 997;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}
@media screen and (min-width: 1024px) {
  .l-spnav__overlay.is-block {
    display: none;
  }
}
.l-spnav__head {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 60px;
  margin-inline: auto;
  width: calc(100% - 36px);
}
@media screen and (min-width: 768px) {
  .l-spnav__head {
    width: 94.79vw;
    height: 100px;
  }
}
.l-spnav__logo {
  display: block;
  margin-bottom: 3px;
  width: clamp(6.75rem, 6.214rem + 2.68vw, 7.5rem);
  /* 108 - 120 */
}
@media screen and (min-width: 768px) {
  .l-spnav__logo {
    width: clamp(10rem, 6.25rem + 7.81vw, 15.625rem);
    /* 160 - 250 */
  }
}
@media screen and (min-width: 1920px) {
  .l-spnav__logo {
    width: 250px;
  }
}
.l-spnav__wrap {
  padding: 40px 18px;
}
.l-spnav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
.l-spnav__link {
  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;
  padding: 16px 0 19px 16px;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
  border-bottom: 1px solid #ddd;
}
@media screen and (min-width: 768px) {
  .l-spnav__link {
    padding: 24px 0 27px 24px;
  }
}
.l-spnav__link .txt {
  display: inline-block;
  position: relative;
  padding-left: 12px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
.l-spnav__link .txt::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #222222;
}
.l-spnav__link:hover {
  color: #EB6F45;
}
.l-spnav__cta {
  margin-top: 56px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.is-open.l-navbtn .l-navbtn__bar.m-top {
  -webkit-transform: translate(-50%, 0) rotate(45deg);
          transform: translate(-50%, 0) rotate(45deg);
  background: #ffffff;
}
.is-open.l-navbtn .l-navbtn__bar.m-middle {
  display: none;
}
.is-open.l-navbtn .l-navbtn__bar.m-bottom {
  -webkit-transform: translate(-50%, 0) rotate(-45deg);
          transform: translate(-50%, 0) rotate(-45deg);
  background: #ffffff;
}

.l-header {
  background-color: transparent;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
}
@media screen and (min-width: 1024px) {
  .l-header.is-active {
    height: 80px;
  }
}
@media screen and (min-width: 1920px) {
  .l-header.is-active {
    height: 144px;
  }
}

/*=======================
  footer
=======================*/
.l-footer__inner {
  position: relative;
  width: 85.07vw;
  margin-inline: auto;
  padding-top: 46px;
  padding-bottom: 32px;
}
@media screen and (min-width: 768px) {
  .l-footer__inner {
    width: 87.71vw;
    padding-top: clamp(2.875rem, 0.792rem + 4.34vw, 6rem);
    padding-bottom: clamp(2rem, 0.167rem + 3.82vw, 4.75rem);
  }
}
@media screen and (min-width: 1920px) {
  .l-footer__inner {
    padding-top: 96px;
    padding-bottom: 76px;
  }
}
.l-footer__info {
  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;
}
.l-footer__logo {
  width: 139px;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
@media screen and (min-width: 768px) {
  .l-footer__logo {
    width: clamp(8.688rem, 5.688rem + 6.25vw, 13.188rem);
    /* 139 - 211 */
  }
}
@media screen and (min-width: 1920px) {
  .l-footer__logo {
    width: 211px;
  }
}
.l-footer__logo img {
  width: 100%;
}
.l-footer__logo:hover {
  opacity: 0.7;
}
.l-footer__address {
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: clamp(0.375rem, 0.042rem + 0.69vw, 0.875rem);
  /* 6 - 14 */
  margin-top: 38px;
  font-size: 0.625rem;
  font-weight: 500;
}
@media screen and (min-width: 390px) {
  .l-footer__address {
    font-size: clamp(0.813rem, 0.733rem + 0.33vw, 1.125rem);
    /* 18 - 13 */
  }
}
@media screen and (min-width: 1920px) {
  .l-footer__address {
    font-size: 1.125rem;
  }
}
.l-footer__address .tel {
  font-size: 0.875rem;
}
@media screen and (min-width: 390px) {
  .l-footer__address .tel {
    font-size: clamp(0.875rem, 0.588rem + 1.18vw, 2rem);
  }
}
@media screen and (min-width: 1920px) {
  .l-footer__address .tel {
    font-size: 2rem;
  }
}
.l-footer__btn {
  margin-top: 18px;
}
@media screen and (min-width: 768px) {
  .l-footer__btn {
    margin-top: clamp(1.125rem, 0.417rem + 1.48vw, 2.188rem);
  }
}
@media screen and (min-width: 1920px) {
  .l-footer__btn {
    margin-top: 35px;
  }
}
.l-footer__privacy {
  display: inline-block;
  margin-top: 36px;
  border-bottom: 1px solid #222222;
  font-size: 0.625rem;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .l-footer__privacy {
    display: none;
  }
}
.l-footer__nav {
  display: none;
}
@media screen and (min-width: 768px) {
  .l-footer__nav {
    display: block;
    margin-top: 45px;
  }
}
.l-footer__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(1.5rem, -0.167rem + 3.47vw, 4rem);
     -moz-column-gap: clamp(1.5rem, -0.167rem + 3.47vw, 4rem);
          column-gap: clamp(1.5rem, -0.167rem + 3.47vw, 4rem);
  /* 24 - 64 */
}
.l-footer__link {
  font-size: clamp(0.875rem, 0.232rem + 1vw, 1.438rem);
  /* 14 - 23 */
  font-weight: 500;
}
@media screen and (min-width: 1920px) {
  .l-footer__link {
    font-size: 1.4375rem;
  }
}
.l-footer__link:hover {
  color: #EB6F45;
}
.l-footer .copyright {
  margin-top: 33px;
  font-size: 0.5rem;
  font-weight: 400;
  color: #959595;
}
@media screen and (min-width: 390px) {
  .l-footer .copyright {
    font-size: clamp(0.5rem, 0.341rem + 0.65vw, 1.125rem);
    /* 12 - 18 */
  }
}
@media screen and (min-width: 768px) {
  .l-footer .copyright {
    margin-top: clamp(2.063rem, 0.813rem + 2.6vw, 3.938rem);
    /* 33 - 63 */
  }
}
@media screen and (min-width: 1920px) {
  .l-footer .copyright {
    margin-top: 63px;
  }
}

.l-footer__top {
  position: absolute;
  right: 0;
  bottom: clamp(2.25rem, 0.414rem + 7.83vw, 9.813rem);
  /* 36 - 157 */
}
.l-footer__top::after {
  content: "";
  display: block;
  margin: 0 auto;
  width: 30px;
  height: 30px;
  background-image: url(../img/common/page-top.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .l-footer__top::after {
    width: clamp(1.875rem, 1.042rem + 1.74vw, 3.125rem);
    height: clamp(1.875rem, 1.042rem + 1.74vw, 3.125rem);
  }
}

/*=======================
  main
=======================*/
.l-main {
  display: block;
}

/*=======================
  inner
=======================*/
.l-inner {
  position: relative;
  margin-inline: auto;
  padding-inline: 18px;
}
@media screen and (min-width: 620px) {
  .l-inner {
    padding-inline: 7.8125%;
  }
}
@media screen and (min-width: 1440px) {
  .l-inner {
    padding-inline: 0;
    max-width: 1100px;
    /* 1100 */
  }
}
@media screen and (min-width: 1920px) {
  .l-inner {
    max-width: 1484px;
    /* 1484 */
  }
}

.l-inner-wide {
  padding-inline: 18px;
}
@media screen and (min-width: 620px) {
  .l-inner-wide {
    width: 84.79%;
    max-width: 1628px;
    margin-inline: auto;
    padding-inline: 0;
  }
}

/* -----------------------------------------------------------------
 Component
----------------------------------------------------------------- */
/*=======================
  btn
=======================*/
.c-btn-inline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: clamp(0.438rem, -0.146rem + 1.22vw, 1.313rem);
     -moz-column-gap: clamp(0.438rem, -0.146rem + 1.22vw, 1.313rem);
          column-gap: clamp(0.438rem, -0.146rem + 1.22vw, 1.313rem);
  /* 7 - 21 */
  font-size: clamp(0.875rem, 0.161rem + 1.12vw, 1.2rem) !important;
  font-weight: 500;
}
.c-btn-inline .icon_arrow_main {
  width: clamp(1.375rem, 0.583rem + 1.65vw, 1.7rem) !important;
  /* 22 - 41 */
  height: clamp(1.375rem, 0.583rem + 1.65vw, 1.7rem) !important;
}
.c-btn-inline:hover .icon_arrow_main {
  fill: #EB6F45;
}

.c-btn {
  display: block;
  background-color: #fff;
  padding-block: clamp(0.625rem, 0.208rem + 0.87vw, 1.25rem);
  /* 10 - 20 */
  width: clamp(10rem, 5.167rem + 10.07vw, 17.25rem);
  /* 160 - 276 */
  border: 1px solid #222222;
  border-radius: 36px;
  font-size: clamp(0.75rem, 0.417rem + 0.69vw, 1.25rem);
  color: #222222;
  text-align: center;
  /* 12 - 20 */
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .c-btn {
    border: 2px solid #222222;
  }
}
.c-btn:hover {
  background-color: #222222;
  color: #fff;
}

.c-btn-map {
  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-column-gap: 6px;
     -moz-column-gap: 6px;
          column-gap: 6px;
  background-color: #fff;
  border-radius: 60px;
  padding-block: clamp(0.438rem, 0.313rem + 0.26vw, 0.625rem);
  padding-inline: clamp(0.875rem, 0.333rem + 1.13vw, 1.688rem);
  border: 1px solid #707070;
}
.c-btn-map .txt {
  text-align: center;
  line-height: 1;
}
.c-btn-map .icon_arrow_map {
  width: clamp(0.75rem, 0.559rem + 0.78vw, 1.5rem);
  height: clamp(0.75rem, 0.559rem + 0.78vw, 1.5rem);
}

.c-btn-cta {
  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-column-gap: 4.5%;
     -moz-column-gap: 4.5%;
          column-gap: 4.5%;
  width: 146px;
  height: 44px;
  border-radius: 36px;
  background-color: #EB6F45;
  border: 2px solid #EB6F45;
  font-size: 16px; /*0.8125rem;*/
  font-weight: 500;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .c-btn-cta {
    width: clamp(9.125rem, 6.875rem + 4.69vw, 12.5rem);
    /* 146 - 200 */
    height: clamp(2.75rem, 2.083rem + 1.39vw, 3.75rem);
    /* 44 - 60 */
    font-size: clamp(0.875rem, 0.304rem + 0.89vw, 1.375rem);
    /* 14 - 20 */
  }
}
@media screen and (min-width: 1920px) {
  .c-btn-cta {
    width: 200px;
    height: 60px;
    border: 3px solid #EB6F45;
  }
}
.c-btn-cta:hover {
  background-color: #fff;
  color: #EB6F45;
}
.c-btn-cta:hover .icon_mail {
  fill: #EB6F45;
}
.c-btn-cta .icon_mail {
  width: 14px;
}
@media screen and (min-width: 768px) {
  .c-btn-cta .icon_mail {
    width: clamp(1.25rem, 1.083rem + 0.35vw, 1.5rem);
    /* 14 - 24 */
  }
}

.c-btn-cta.m-hum {
  border: 3px solid #EB6F45;
  width: 200px;
  height: 60px;
  font-size: 1.25rem;
}
.c-btn-cta.m-hum .icon_mail {
  width: 24px;
}

/*=======================
  head
=======================*/
.page-header {
  position: relative;
  overflow: hidden;
  padding-top: 118px;
  padding-bottom: 17px;
  background-color: #F5F5F5;
}
@media screen and (min-width: 768px) {
  .page-header {
    padding-top: clamp(10rem, 3.167rem + 14.24vw, 20.25rem);
    /* 160 - 324 */
    padding-bottom: clamp(1.25rem, 0.708rem + 1.13vw, 2.063rem);
    /* 20 - 33 */
  }
}
@media screen and (min-width: 1920px) {
  .page-header {
    padding-top: 324px;
    padding-bottom: 33px;
  }
}
.page-header__bg {
  position: absolute;
  right: -23px;
  top: clamp(6.875rem, 6.056rem + 3.5vw, 10.25rem);
  /* 110 - 164 */
  width: clamp(14.188rem, 6.527rem + 32.69vw, 45.75rem);
  /* 227 - 732 */
}
.page-header__bg img {
  width: 100%;
}

.c-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: clamp(0.5rem, 0.417rem + 0.17vw, 0.625rem);
  /* 8 - 10 */
  font-weight: 700;
}
.c-header .ja {
  position: relative;
  padding-left: clamp(0.5rem, -0.042rem + 1.13vw, 1.313rem);
  /* 8 - 21 */
  font-size: clamp(0.5rem, 0.143rem + 0.74vw, 0.813rem);
  letter-spacing: 0.05em;
  /* 8 - 13 */
}
@media screen and (min-width: 1440px) {
  .c-header .ja {
    font-size: clamp(0.813rem, -0.5rem + 1.46vw, 1.25rem);
    /* 13 - 20 */
  }
}
@media screen and (min-width: 1920px) {
  .c-header .ja {
    font-size: 1.25rem;
  }
}
.c-header .ja::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: clamp(0.313rem, -0.021rem + 0.69vw, 0.813rem);
  height: clamp(0.313rem, -0.021rem + 0.69vw, 0.813rem);
  background-color: #222222;
  border-radius: 50%;
}
.c-header .en {
  letter-spacing: 0.02em;
  color: #EB6F45;
  font-size: clamp(1.5rem, 0.468rem + 4.23vw, 2.5rem);
  /* 24 - 40 */
}
@media screen and (min-width: 768px) {
  .c-header .en {
    font-size: clamp(2.5rem, 1.357rem + 2.38vw, 3.5rem);
    /* 40 - 56 */
  }
}
@media screen and (min-width: 1440px) {
  .c-header .en {
    font-size: clamp(3.5rem, -2.125rem + 6.25vw, 5.375rem);
    /* 56 - 86 */
  }
}
@media screen and (min-width: 1920px) {
  .c-header .en {
    font-size: 5.375rem;
  }
}

/*=======================
  content-area
=======================*/
.c-content-area {
  word-break: break-word;
}
.c-content-area h1 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  margin: 1em 0;
}
@media screen and (min-width: 1024px) {
  .c-content-area h1 {
    font-size: 28px;
    line-height: 1.4285714286;
  }
}
.c-content-area h2 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.33;
  margin: 40px 0 24px;
}
@media screen and (min-width: 1024px) {
  .c-content-area h2 {
    font-size: 24px;
  }
}
.c-content-area h3 {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.77;
  margin: 32px 0 20px;
}
@media screen and (min-width: 1024px) {
  .c-content-area h3 {
    font-size: 18px;
  }
}
.c-content-area h4 {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  margin: 1em 0;
}
@media screen and (min-width: 1024px) {
  .c-content-area h4 {
    font-size: 16px;
  }
}
.c-content-area h5 {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  margin: 1em 0;
}
@media screen and (min-width: 1024px) {
  .c-content-area h5 {
    font-size: 14px;
  }
}
.c-content-area h6 {
  font-size: 10px;
  font-weight: 700;
  line-height: 1.5;
  margin: 1em 0;
}
@media screen and (min-width: 1024px) {
  .c-content-area h6 {
    font-size: 12px;
  }
}
.c-content-area p {
  line-height: 2;
}
.c-content-area p a {
  color: #222222;
  text-decoration: underline;
}
.c-content-area p a:hover {
  opacity: 0.7;
}
.c-content-area p + p {
  margin-top: 20px;
}
.c-content-area figure {
  margin-block: 16px;
}
.c-content-area ul {
  padding-left: 0;
  margin: 24px 0;
}
.c-content-area ul > li {
  position: relative;
  padding-left: 16px;
}
@media screen and (max-width: 1023px) {
  .c-content-area ul > li:not(:last-child) {
    margin-bottom: 8px;
  }
}
.c-content-area ul > li::before {
  display: inline-block;
  content: "";
  width: 8px;
  height: 8px;
  background: #EB6F45;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-content-area ol {
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
  margin: 24px 0;
}
@media screen and (max-width: 1023px) {
  .c-content-area ol > li:not(:last-child) {
    margin-bottom: 8px;
  }
}
.c-content-area ol > li::before {
  counter-increment: item;
  content: counter(item);
  font-family: "Tahoma", "Verdana", sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  color: #fff;
  width: 20px;
  height: 20px;
  background-color: #EB6F45;
  border-radius: 50%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 8px;
}
.c-content-area table {
  width: 100%;
  margin: 1em 0;
  border: 2px solid #e0e0e0;
}
.c-content-area table caption {
  margin: 0 0 7px;
  color: #9fa6b4;
  font-size: 0.75em;
  letter-spacing: 1px;
}
.c-content-area table tr:not(:last-child) {
  border-bottom: 2px solid #e0e0e0;
}
.c-content-area table tr td {
  padding: 7px;
  border-right: 2px solid #e0e0e0;
  word-break: break-all;
}
.c-content-area table tr td:last-child {
  border-right: 0;
}
.c-content-area table tr th {
  padding: 7px;
  border-right: 2px solid #e0e0e0;
  border-bottom: 2px solid #e0e0e0;
  background: #f8f9fa;
}
.c-content-area table tr th:last-child {
  border-right: 0;
}
.c-content-area table tfoot {
  border-top: 2px dotted #c5c7ca;
  background: #f8f9fa;
}
.c-content-area blockquote {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  margin: 1.5em 0;
  padding: 0.1em 0 0.1em 0.75em;
  border-left: 3px solid #464646;
  color: #464646;
}
.c-content-area blockquote p {
  margin: 10px 0;
  padding: 0;
  line-height: 1.7;
}
.c-content-area blockquote cite {
  display: block;
  color: #888;
  font-size: 0.9em;
  text-align: right;
}
.c-content-area blockquote ul, .c-content-area blockquote ol {
  border: none;
  padding: 5px 0 5px 22px;
  margin: 0;
  background: transparent;
}
.c-content-area dd {
  margin-bottom: 1.5em;
  margin-left: 0;
  color: #787878;
  font-size: 0.9em;
}
.c-content-area img {
  max-width: 100%;
  height: auto;
}
.c-content-area .gallery-caption {
  color: gray;
  font-size: 0.75em;
  margin: 5px 0;
  text-align: center;
}
.c-content-area .wp-caption {
  max-width: 100%;
  margin: 0 0 1.5em;
  padding: 8px;
  border: #eaedf2 2px solid;
}
.c-content-area .wp-caption .aligncenter {
  margin: 0 auto 1em;
}
.c-content-area .wp-caption img {
  max-width: 100%;
  width: 100%;
  margin-bottom: 0;
}
.c-content-area .wp-caption p.wp-caption-text {
  margin: 10px 0 0;
  font-size: 0.85em;
  text-align: center;
}
.c-content-area code {
  padding: 0.2em 0.3em;
  margin: 0 0.2em;
  border-radius: 5px;
  background: #f1f2f3;
  color: #404040;
  font-size: 0.9em;
}
.c-content-area pre {
  margin: 0 0 1.5em;
  padding: 1em;
  border: solid 1px #eaedf2;
  background: #f3f6fc;
  color: #54687c;
}
.c-content-area pre code {
  padding: 0;
  background: transparent;
}

/*=======================
  form
=======================*/
/* reset */
input {
  margin: 0;
  padding: 0;
  background: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type=text]:focus {
  border: 1px solid #EB6F45;
}

input[type=text]:hover {
  border: 1px solid #EB6F45;
}

textarea {
  resize: vertical;
  outline: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
textarea:focus {
  border: 1px solid #EB6F45;
}
textarea:hover {
  border: 1px solid #EB6F45;
}

input[type=submit] {
  -webkit-appearance: none;
  background-image: none;
  border: none;
  border-radius: 0;
  cursor: pointer;
  display: inline-block;
  text-decoration: none;
  text-align: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-family: "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "源ノ角ゴシック JP", sans-serif;
  font-weight: 500;
  font-size: 0.9375rem;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
  color: #222222;
}

input[type=radio] {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}

/* contact-form7 ラジオボタン */
.wpcf7-radio .wpcf7-list-item.first {
  margin-left: 0;
}

.wpcf7-radio span.wpcf7-list-item-label {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}

.wpcf7-radio span.wpcf7-list-item-label::before {
  display: block;
  content: "";
  border-radius: 50%;
  border: 2px solid #959595;
  width: 20px;
  height: 20px;
  margin-right: 10px;
}

.wpcf7-radio span.wpcf7-list-item-label::after {
  display: block;
  position: absolute;
  content: "";
  border-radius: 50%;
  width: 12px;
  height: 12px;
  background-color: #EB6F45;
  left: 6px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: none;
}

input[type=radio]:checked + span.wpcf7-list-item-label::after {
  display: block;
}

/* Contact form 7 承諾ボタン*/
.form-acceptance {
  text-align: center;
}

.wpcf7-acceptance .wpcf7-list-item-label {
  position: relative;
}

.wpcf7-acceptance .form-acceptance input[type=checkbox] {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  margin: 0;
  width: 16px;
  height: 16px;
  cursor: pointer;
  opacity: 0;
}

.wpcf7-acceptance .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 52%;
  left: -2.5em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  background: #FFF;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.wpcf7-acceptance .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 52%;
  left: -2.45em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: transparent url(../img/common/icon_check.svg) no-repeat center center/contain;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0;
}

input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

input[type=checkbox]:checked + .wpcf7-list-item-label .link {
  color: #EB6F45;
  border-bottom: 2px solid #EB6F45;
}

.wpcf7 .wpcf7-spinner {
  display: none !important;
}

.wpcf7-previous {
  -webkit-appearance: none;
  background-image: none;
  border: none;
  border-radius: 0;
  cursor: pointer;
  display: inline-block;
  text-decoration: none;
  text-align: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-family:  "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "源ノ角ゴシック JP", sans-serif;
  font-weight: 500;
  font-size: 0.9375rem;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
  color: #222222;
  border-bottom: 2px solid #222222;
}
.wpcf7-previous:hover {
  color: #EB6F45;
  border-bottom: 2px solid #EB6F45;
}

.form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: clamp(1.125rem, 0.583rem + 2.22vw, 3.25rem);
  /* 18 - 52 */
  width: 100%;
  margin-right: auto;
}
@media screen and (min-width: 1024px) {
  .form {
    width: 88.61%;
  }
}
.form__group {
  display: grid;
  grid-template-columns: 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px 26px;
}
@media screen and (min-width: 768px) {
  .form__group {
    grid-template-columns: clamp(12.5rem, 2.167rem + 21.53vw, 28rem) 1fr;
    /* 200 - 448 */
  }
}
.form__group-body {
  -ms-flex-item-align: start;
      align-self: start;
}
.form__group-body.radio {
  margin-top: 9px;
}
@media screen and (min-width: 768px) {
  .form__group-body.radio {
    margin-top: 0;
  }
}
.form__group-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .form__group-header {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.form__group-header.text-area {
  -ms-flex-item-align: start;
      align-self: flex-start;
}
.form__group-header .label {
  display: inline-block;
  margin-left: 10px;
  padding: 3px 5px;
  border-radius: 20px;
  color: #fff;
  font-size: 0.5rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (min-width: 390px) {
  .form__group-header .label {
    font-size: clamp(0.813rem, 0.438rem + 0.42vw, 0.938rem);
    /* 13 - 15 */
  }
}
@media screen and (min-width: 768px) {
  .form__group-header .label {
    padding: 3px 10px;
  }
}
.form__group-header .label.optional {
  background-color: #959595;
}
.form__group-header .label.require {
  background-color: #EB6F45;
}
.form__label {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.416;
}
@media screen and (min-width: 390px) {
  .form__label {
    font-size: clamp(0.938rem, -0.75rem + 1.88vw, 1.5rem);
    /* 15 - 22 */
  }
}
.form__input {
  padding: 12px 16px;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 7px;
  border: 1px solid #959595;
}
@media screen and (min-width: 620px) {
  .form__input {
    padding: max(1.3vw, 18px) 16px;
  }
}
.form__input::-webkit-input-placeholder {
  color: rgba(136, 136, 136, 0.5333333333);
}
.form__input::-moz-placeholder {
  color: rgba(136, 136, 136, 0.5333333333);
}
.form__input:-ms-input-placeholder {
  color: rgba(136, 136, 136, 0.5333333333);
}
.form__input::-ms-input-placeholder {
  color: rgba(136, 136, 136, 0.5333333333);
}
.form__input::placeholder {
  color: rgba(136, 136, 136, 0.5333333333);
}
.form__textarea {
  width: 100%;
  height: clamp(11.25rem, 8.127rem + 12.81vw, 23.5rem);
  /* 180 - 376 */
  padding: max(1.3vw, 18px) 16px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 7px;
  border: 1px solid #959595;
}
.form__privacy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: clamp(1.875rem, -0.419rem + 9.41vw, 10.875rem);
  /* 30 - 174 */
  font-size: clamp(0.75rem, 0.591rem + 0.65vw, 1.375rem);
  /* 12 - 22 */
  font-weight: 500;
  line-height: 1.416;
}
.form__privacy .link {
  display: inline-block;
  border-bottom: 2px solid #222222;
}
.form__privacy .link:hover {
  border-bottom: 2px solid #EB6F45;
  color: #EB6F45;
}
.form__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 40px;
  margin-top: clamp(3.188rem, 0.646rem + 5.3vw, 7rem);
  /* 51 - 112 */
}
.form__submit-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(10.625rem, 6.458rem + 8.68vw, 16.875rem);
  /* 170 - 270 */
  height: clamp(2.5rem, 1.25rem + 2.6vw, 4.375rem);
  /* 40 - 70 */
  border-radius: 60px;
  border: 1px solid #222222;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
@media screen and (min-width: 768px) {
  .form__submit-box {
    border: 3px solid #222222;
  }
}
.form__submit-box .input-submit {
  width: 100%;
  height: 100%;
  font-size: clamp(0.875rem, 0.458rem + 0.87vw, 1.5rem);
  /* 14 - 24*/
  font-weight: 500;
}
.form__submit-box:hover {
  background-color: #222222;
  cursor: pointer;
}
.form__submit-box:hover .input-submit {
  color: #fff;
}

.form__group-body.zip .form__input {
  width: clamp(7.625rem, 6.908rem + 2.94vw, 10.438rem);
}
.form__group-body.pre .form__input {
  width: clamp(7.625rem, 5.57rem + 8.43vw, 15.688rem);
}

/* -----------------------------------------------------------------
 Utility
----------------------------------------------------------------- */
.u-font-en {
  font-family: "Tahoma", "Verdana", sans-serif;
}

.u-font-ja {
  font-family:  "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "源ノ角ゴシック JP", sans-serif;
}

.u-font-num {
  font-family: "Tahoma", "Verdana", sans-serif;
  font-style: italic;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
}

.u-font-name {
  font-family:  "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "源ノ角ゴシック JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
}

.u-font-small {
  font-family: "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "源ノ角ゴシック JP", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
}

.u-line {
  position: relative;
}
.u-line::after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 6px;
  background: radial-gradient(circle farthest-side, #797979, #797979 30%, transparent 30%, transparent);
  background-size: 6px 6px;
  background-position: left bottom;
}

.u-fit-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.u-pc-none {
  display: block;
}
@media screen and (min-width: 768px) {
  .u-pc-none {
    display: none;
  }
}

.u-sp-none {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-sp-none {
    display: block;
  }
}

/* -----------------------------------------------------------------
Project
----------------------------------------------------------------- */
/*====================================================
*
*	home
*
====================================================*/
.fv {
  position: relative;
  padding-bottom: 11.3vw;
  overflow: hidden;
}
.fv::before {
  content: "";
  display: block;
  background-image: url(../img/common/bg_grid.png);
  background-repeat: repeat;
  background-size: 960px;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -2;
}
.fv__inner {
  padding-top: 60px;
}
@media screen and (min-width: 768px) {
  .fv__inner {
    padding-top: 100px;
  }
}
@media screen and (min-width: 1920px) {
  .fv__inner {
    padding-top: 164px;
  }
}
.fv__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  row-gap: 17px;
  padding-bottom: 62px;
}
@media screen and (min-width: 768px) {
  .fv__box {
    position: relative;
    height: calc(100svh - 100px);
  }
}
@media screen and (min-width: 1920px) {
  .fv__box {
    height: calc(100svh - 164px);
  }
}
.fv__img {
  width: 100%;
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .fv__img {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 0;
    marign-top: 0;
    width: 64%;
    max-width: 1024px;
  }
}
.fv__text {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .fv__text {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 0;
    width: 50%;
    z-index: 2;
  }
}
.fv__text-box .top {
  position: relative;
  display: inline-block;
  padding: 5px 15px 5px 6px;
  border-radius: 0 34px 34px 0;
  background-color: #222222;
  font-size: clamp(0.875rem, 0.488rem + 1.59vw, 1.1rem) !important;
  color: #fff;
  /* 14 - 20 */
  font-weight: 500;
  line-height: 1.43;
}
@media screen and (min-width: 768px) {
  .fv__text-box .top {
    padding-block: clamp(0.313rem, 0.104rem + 0.43vw, 0.625rem);
    padding-inline: clamp(0.75rem, 0.5rem + 0.52vw, 1.125rem);
    /* 12 - 18 */
    border-radius: 34px;
    font-size: clamp(0.875rem, 0.125rem + 1.56vw, 2rem);
    /* 14 - 32 */
    text-align: center;
  }
}
@media screen and (min-width: 1920px) {
  .fv__text-box .top {
    padding: 10px 18px;
    font-size: 2rem;
  }
}
.fv__text-box .top::before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background-color: #222222;
  position: absolute;
  top: 0;
  left: -50vw;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .fv__text-box .top::before {
    display: none;
  }
}
.fv__text-box .top .pc-none {
  display: block;
}
@media screen and (min-width: 320px) {
  .fv__text-box .top .pc-none {
    display: none;
  }
}
.fv__text-box .middle {
  width: 86.43%;
  max-width: 666px;
  margin-top: 30px !important;
  margin-bottom: 26px !important;
  margin-left: clamp(0.375rem, 0.208rem + 0.35vw, 0.625rem);
  /* 6 - 10*/
}
@media screen and (min-width: 768px) {
  .fv__text-box .middle {
    width: 81.82%;
    margin-top: clamp(0.625rem, 0.042rem + 1.22vw, 1.5rem);
    /* 10 - 24 */
  }
}
@media screen and (min-width: 1920px) {
  .fv__text-box .middle {
    margin-top: 24px;
  }
}
.fv__text-box .bottom {
  margin-top: 13px;
  margin-top: clamp(0.5rem, 0.292rem + 0.43vw, 0.813rem);
  /* 10 - 24 */
  margin-left: clamp(0.375rem, 0.208rem + 0.35vw, 0.625rem);
  /* 6 - 10*/
  line-height: 1.4;
  font-size: clamp(0.876rem, 0.488rem + 1.59vw, 1.20rem) !important;
  /* 14 - 20 */
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .fv__text-box .bottom {
    font-size: clamp(0.875rem, 0.25rem + 1.3vw, 1.813rem);
  }
}
@media screen and (min-width: 1920px) {
  .fv__text-box .bottom {
    margin-top: 24px;
    font-size: 1.8125rem;
  }
}
.fv .deco_logo-top {
  display: none;
}
@media screen and (min-width: 768px) {
  .fv .deco_logo-top {
    display: block;
    position: absolute;
    width: min(19.11vw, 367px);
    position: absolute;
    bottom: 1.04vw;
    left: -7.29vw;
    z-index: 1;
  }
}

.home-about {
  position: relative;
}
.home-about .deco_logo-bottom {
  position: absolute;
  top: calc(-11.3vw - 20px);
  right: -16px;
  width: clamp(5.563rem, 1.134rem + 18.17vw, 22.938rem);
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .home-about .deco_logo-bottom {
    top: auto;
    right: -2.6vw;
    bottom: -19.89vw;
  }
}
.home-about__inner {
  background-color: #F5F5F5;
}
.home-about__bg-top {
  display: inline-block;
  position: absolute;
  top: -11.3vw;
  width: 100vw;
  height: 11.3vw;
  background-image: url(../img/home/bg_top.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.home-about__wrap {
  padding-bottom: 10px;
  padding-top: 0;
  position: relative;
  background-color: #F5F5F5;
}
@media screen and (min-width: 390px) {
  .home-about__wrap {
    padding-top: clamp(0.625rem, -0.283rem + 3.73vw, 4.188rem);
    /* 10 - 67 */
  }
}
@media screen and (min-width: 1920px) {
  .home-about__wrap {
    margin-left: 72px;
  }
}
.home-about__wrap .home-about__deco01 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 16vw;
  max-width: 60px;
}
@media screen and (min-width: 768px) {
  .home-about__wrap .home-about__deco01 {
    top: 14px;
    bottom: auto;
    right: 5.1vw;
    width: 7.97vw;
    max-width: 153px;
  }
}
.home-about__box {
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  row-gap: 48px;
}
@media screen and (min-width: 768px) {
  .home-about__box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.home-about__box-body {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .home-about__box-body {
    width: 48%;
  }
}
@media screen and (min-width: 1440px) {
  .home-about__box-body {
    width: 43.4%;
  }
}
.home-about__box-ttl {
  margin-top: clamp(1.063rem, -3.521rem + 9.55vw, 7.938rem);
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 1.5 !important;
}
@media screen and (min-width: 768px) {
  .home-about__box-ttl {
    font-size: clamp(1.125rem, 2.34vw, 2.813rem);
    /* 18 - 45 */
  }
}
@media screen and (min-width: 1920px) {
  .home-about__box-ttl {
    margin-top: 127px;
    font-size: 2.8125rem;
  }
}
.home-about__box-txt {
  margin-top: 32px !important;
  font-size: 1.0rem !important;
  line-height: 1.7 !important;
}
@media screen and (min-width: 768px) {
  .home-about__box-txt {
    margin-top: clamp(1.625rem, 0.375rem + 2.6vw, 3.5rem);
    /* 26 - 56 */
    font-size: clamp(0.875rem, -0.625rem + 1.67vw, 1.375rem);
    line-height: 1.9;
  }
}
@media screen and (min-width: 1920px) {
  .home-about__box-txt {
    margin-top: 56px;
  }
}
.home-about__box-img {
  position: relative;
  width: 84.07%;
}
@media screen and (min-width: 768px) {
  .home-about__box-img {
    width: 45.98%;
  }
}
@media screen and (min-width: 1440px) {
  .home-about__box-img {
    width: 50.58%;
    max-width: 787px;
  }
}
.home-about__box-img .home-about__deco02 {
  position: absolute;
  top: 0;
  left: 0;
  width: 26.7vw;
  max-width: 10px;
}
@media screen and (min-width: 768px) {
  .home-about__box-img .home-about__deco02 {
    width: 1.3vw;
    max-width: 25px;
  }
}
.home-about__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 36px !important;
}
@media screen and (min-width: 768px) {
  .home-about__btn {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: clamp(1.563rem, -0.729rem + 4.77vw, 5rem);
  }
}
@media screen and (min-width: 1920px) {
  .home-about__btn {
    margin-top: 80px;
  }
}

.home-news {
  position: relative;
  padding-top: 10.89vw;
}
.home-news__bg-top {
  display: inline-block;
  width: 100vw;
  height: 10.89vw;
  position: absolute;
  top: -2px;
  background-image: url(../img/home/bg_bottom.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.home-news__box {
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 112px;
  padding-bottom: clamp(5.625rem, 4.978rem + 2.65vw, 6.25rem);
  /* 90 - 100 */
}
@media screen and (min-width: 768px) {
  .home-news__box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-column-gap: 5.05%;
       -moz-column-gap: 5.05%;
            column-gap: 5.05%;
    padding-top: clamp(7rem, 3.958rem + 6.34vw, 11.563rem);
    /* 112 - 185 */
    padding-bottom: clamp(5rem, 1.458rem + 7.38vw, 10.313rem);
    /* 80 - 165 */
  }
}
@media screen and (min-width: 1920px) {
  .home-news__box {
    padding-top: 185px;
    padding-bottom: 165px;
  }
}
.home-news__box-ttl {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .home-news__box-ttl {
    width: auto;
  }
}
.home-news__box-copy {
  margin-top: 8px;
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .home-news__box-copy {
    margin-top: clamp(0.875rem, -0.25rem + 1.25vw, 1.25rem);
  }
}
@media screen and (min-width: 1920px) {
  .home-news__box-copy {
    margin-top: 15px;
  }
}
.home-news__box-copy .sp-none {
  display: none;
}
@media screen and (min-width: 768px) {
  .home-news__box-copy .sp-none {
    display: block;
  }
}
.home-news__box-img {
  display: none;
}
@media screen and (min-width: 768px) {
  .home-news__box-img {
    display: block;
    width: 7.76vw;
    max-width: 149px;
    margin-top: clamp(2.5rem, 0.833rem + 3.47vw, 5rem);
    /* 40 - 80 */
  }
}
.home-news__box-body {
  width: 100%;
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  .home-news__box-body {
    width: 77.49%;
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .home-news__item:not(:first-of-type) {
    margin-top: clamp(0.5rem, -0.167rem + 1.39vw, 1.5rem);
    /* 8 - 24 */
  }
}
.home-news__item-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 8px;
  padding-block: clamp(0.75rem, -0.54rem + 5.29vw, 2rem);
  /* 12 - 32 */
  border-bottom: 1px solid #707070;
}
@media screen and (min-width: 768px) {
  .home-news__item-link {
    padding-block: clamp(0.75rem, 0.176rem + 2.35vw, 3rem);
    padding-inline: clamp(1rem, -0.75rem + 3.65vw, 3.625rem);
    border: 2px solid #222222;
    border-radius: 20px;
  }
}
@media screen and (min-width: 1920px) {
  .home-news__item-link {
    padding-block: 48px;
    padding-inline: 58px;
    border-radius: 30px;
  }
}
.home-news__item-link .date {
  font-size: clamp(0.563rem, -0.104rem + 1.39vw, 1.563rem);
  /* 9 - 25 */
  color: #959595;
}
.home-news__item-link .cat {
  position: relative;
  display: inline-block;
  padding-inline: 8px;
  margin-inline: 7px 0;
  font-weight: 500;
  font-size: clamp(0.625rem, 0.498rem + 0.52vw, 1.125rem);
  /* 10 - 18 */
}
@media screen and (min-width: 768px) {
  .home-news__item-link .cat {
    padding-inline: 32px;
    margin-inline: 13px 32px;
  }
}
.home-news__item-link .cat::before {
  content: "";
  width: 2px;
  height: 100%;
  background-color: #222222;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transform: rotate(25deg);
          transform: rotate(25deg);
}
@media screen and (min-width: 768px) {
  .home-news__item-link .cat::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 2px;
    height: 100%;
    background-color: #222222;
    -webkit-transform: rotate(25deg);
            transform: rotate(25deg);
  }
}
.home-news__item-link .ttl {
  width: 100%;
  font-size: clamp(0.875rem, 0.161rem + 1.12vw, 1.5rem);
  font-weight: 500;
  line-height: 1.357;
}
@media screen and (min-width: 768px) {
  .home-news__item-link .ttl {
    width: auto;
  }
}
.home-news__item-link:hover .ttl {
  color: #EB6F45;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
.home-news__btn {
  margin-top: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  .home-news__btn {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: clamp(1.5rem, -0.583rem + 4.34vw, 4.625rem);
  }
}
.home-news__btn .img-bottom {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  left: calc(50% - 80px);
  width: 52px;
}
@media screen and (min-width: 768px) {
  .home-news__btn .img-bottom {
    display: none;
  }
}

.home-cta {
  background-color: #F5F5F5;
}
.home-cta__box {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;
  gap: min(16.8vw, 63px) 5%;
  padding-top: clamp(3rem, 2.076rem + 3.79vw, 6.625rem);
  /* 48 - 106 */
  padding-bottom: clamp(3.563rem, 2.702rem + 3.53vw, 6.938rem);
  /* 64 - 111 */
}
@media screen and (min-width: 620px) {
  .home-cta__box {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
  }
}
@media screen and (min-width: 768px) {
  .home-cta__box {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
  }
}
.home-cta__link {
  background-color: #fff;
  border-radius: 10px;
  border: 1px solid #222222;
  -webkit-box-shadow: 6px 7px 0px 0px rgba(34, 34, 34, 0.2);
          box-shadow: 6px 7px 0px 0px rgba(34, 34, 34, 0.2);
  position: relative;
  padding-block: clamp(1.25rem, -0.022rem + 5.22vw, 2rem);
  padding-inline: 20px;
}
@media screen and (min-width: 620px) {
  .home-cta__link {
    padding-block: 32px;
  }
}
@media screen and (min-width: 768px) {
  .home-cta__link {
    padding-block: clamp(2rem, 1.458rem + 1.13vw, 2.813rem);
    padding-inline: 8.39%;
    border: 2px solid #222222;
    border-radius: 20px;
  }
}
@media screen and (min-width: 1920px) {
  .home-cta__link {
    padding-block: 46px 44px;
    padding-inline: 13.39%;
    border: 4px solid #222222;
  }
}
.home-cta__link::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 10px;
  bottom: -4px;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .home-cta__link::before {
    left: 8.45%;
    bottom: -8px;
  }
}
.home-cta__link.cta01::before {
  background-image: url(../img/home/illust_cta01.svg);
  width: clamp(4rem, 2.968rem + 4.23vw, 5rem);
  height: clamp(6.25rem, 4.638rem + 6.61vw, 7.813rem);
}
@media screen and (min-width: 768px) {
  .home-cta__link.cta01::before {
    width: clamp(5rem, 2.25rem + 5.73vw, 9.125rem);
    height: clamp(7.75rem, 3.458rem + 8.94vw, 14.188rem);
  }
}
.home-cta__link.cta02::before {
  background-image: url(../img/home/illust_cta02.svg);
  width: clamp(4.063rem, 2.966rem + 4.5vw, 5.125rem);
  height: clamp(6.125rem, 4.642rem + 6.08vw, 7.563rem);
}
@media screen and (min-width: 768px) {
  .home-cta__link.cta02::before {
    width: clamp(5rem, 2.25rem + 5.73vw, 9.125rem);
    height: clamp(7.563rem, 3.354rem + 8.77vw, 13.875rem);
  }
}
.home-cta__link-box {
  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;
  -webkit-column-gap: 6.34%;
     -moz-column-gap: 6.34%;
          column-gap: 6.34%;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.22;
}
@media screen and (min-width: 620px) {
  .home-cta__link-box {
    font-size: clamp(0.813rem, 0.289rem + 1.35vw, 0.938rem);
  }
}
@media screen and (min-width: 1024px) {
  .home-cta__link-box {
    font-size: clamp(1.125rem, -0.089rem + 1.9vw, 2.188rem);
  }
}
.home-cta__link-box .icon_arrow_cta::before {
  content: "";
  display: inline-block;
  width: clamp(1.375rem, -0.042rem + 2.95vw, 3.5rem);
  height: clamp(1.375rem, -0.042rem + 2.95vw, 3.5rem);
  background-image: url(../img/common/icon_arrow_cta.svg);
  background-size: contain;
  background-repeat: no-repeat;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
.home-cta__link-box:hover .icon_arrow_cta::before {
  background-image: url(../img/common/icon_arrow_cta_h.svg);
}
.home-cta__link-box .txt {
  -ms-flex-preferred-size: 43.47vw;
      flex-basis: 43.47vw;
}
@media screen and (min-width: 620px) {
  .home-cta__link-box .txt {
    -ms-flex-preferred-size: 16.79vw;
        flex-basis: 16.79vw;
  }
}
@media screen and (min-width: 768px) {
  .home-cta__link-box .txt {
    -ms-flex-preferred-size: 15.79vw;
        flex-basis: 15.79vw;
  }
}
@media screen and (min-width: 1440px) {
  .home-cta__link-box .txt {
    -ms-flex-preferred-size: 14.79vw;
        flex-basis: 14.79vw;
  }
}

/*====================================================
*
*	company
*
====================================================*/
.company-message {
  background-image: url(../img/common/bg_grid.png);
  background-repeat: repeat;
  background-size: 50%;
  padding-top: clamp(2.875rem, 0.964rem + 8.16vw, 10.75rem);
  /* 46 - 172 */
  padding-bottom: clamp(3.375rem, 1.67rem + 6.99vw, 10.063rem);
  /* 54 - 161 */
}
.company-message__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
@media screen and (min-width: 768px) {
  .company-message__box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-column-gap: 8.83%;
       -moz-column-gap: 8.83%;
            column-gap: 8.83%;
  }
}
.company-message__ttl {
  font-size: 1.25rem;
  font-weight: 600;
  padding-top: min(2.4vw, 46px);
  line-height: 1.339;
}
@media screen and (min-width: 390px) {
  .company-message__ttl {
    font-size: clamp(1.375rem, 0.73rem + 2.65vw, 2rem);
    /* 22 - 32 */
  }
}
@media screen and (min-width: 768px) {
  .company-message__ttl {
    font-size: clamp(1.375rem, 0.083rem + 2.69vw, 3.313rem);
    /* 22 - 53 */
    position: absolute;
    left: 0;
    top: 0;
  }
}
.company-message__ttl .block {
  border-bottom: 1px solid #222222;
  display: inline-block;
}
.company-message__txt {
  padding-top: clamp(2.063rem, 1.61rem + 1.86vw, 2.5rem);
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .company-message__txt {
    padding-top: min(9.79vw, 188px);
    line-height: 1.9;
  }
}
.company-message__txt .txt + .txt {
  margin-top: 22px;
}
.company-message__txt .none {
  display: none;
}
@media screen and (min-width: 1920px) {
  .company-message__txt .none {
    display: block;
  }
}
.company-message__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 35px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .company-message__img {
    width: 39.42%;
    margin-top: 0;
  }
}
.company-message__img img {
  border-radius: 25px;
}
@media screen and (min-width: 768px) {
  .company-message__img img {
    aspect-ratio: 585/849;
  }
}
.company-message__profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: clamp(1.25rem, 0.875rem + 0.78vw, 1.813rem);
     -moz-column-gap: clamp(1.25rem, 0.875rem + 0.78vw, 1.813rem);
          column-gap: clamp(1.25rem, 0.875rem + 0.78vw, 1.813rem);
  margin-top: 17px;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .company-message__profile {
    margin-top: min(3.23vw, 62px);
  }
}
.company-message__profile .position {
  font-size: clamp(0.688rem, 0.313rem + 0.78vw, 1.25rem);
  /* 11 - 20 */
}
.company-message__profile .name {
  font-size: clamp(1.063rem, 0.271rem + 1.65vw, 2.25rem);
  /* 17 - 36 */
}
.company-message__profile .en {
  font-size: clamp(0.625rem, 0.208rem + 0.87vw, 1.25rem);
  /* 10 - 20 */
}
.company-message__profile.pc-none {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: end;
      align-self: flex-end;
}
@media screen and (min-width: 768px) {
  .company-message__profile.pc-none {
    display: none;
  }
}
.company-message__profile.sp-none {
  display: none;
}
@media screen and (min-width: 768px) {
  .company-message__profile.sp-none {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.company-message .color {
  color: #EB6F45;
}

.company-outline {
  padding-top: clamp(2.063rem, 0.576rem + 6.34vw, 8.188rem);
  /* 33 - 130 */
  padding-bottom: clamp(3.75rem, 2.364rem + 5.69vw, 9.188rem);
  /* 60 - 147 */
  background-color: #F5F5F5;
}
.company-outline__list {
  margin-top: clamp(2rem, 1.12rem + 3.75vw, 5.625rem);
  /* 32 - 90 */
  width: 100%;
}
.company-outline__item {
  display: grid;
  grid-template-columns: 23.01% 1fr;
  grid-template-rows: 1fr;
  -webkit-column-gap: 9.14%;
     -moz-column-gap: 9.14%;
          column-gap: 9.14%;
  padding-block: clamp(1.188rem, 0.748rem + 1.88vw, 3rem);
  /* 19 - 48 */
}
@media screen and (min-width: 768px) {
  .company-outline__item {
    grid-template-columns: 17.52% 1fr;
    -webkit-column-gap: 5.15%;
       -moz-column-gap: 5.15%;
            column-gap: 5.15%;
  }
}
.company-outline__item:not(:last-of-type) {
  border-bottom: 1px solid #ddd;
}
.company-outline__item .ttl {
  -ms-flex-item-align: center;
      align-self: center;
  color: #959595;
  font-size: clamp(0.625rem, 0.413rem + 0.91vw, 1.5rem);
  font-weight: 500;
}
.company-outline__item .txt {
  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-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 20px 8.83%;
  font-size: clamp(0.75rem, 0.598rem + 0.65vw, 1.375rem);
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .company-outline__item .txt {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.company-outline__item .txt .pc-none {
  display: block;
}
@media screen and (min-width: 768px) {
  .company-outline__item .txt .pc-none {
    display: none;
  }
}
.company-outline__map {
  position: relative;
  width: 100%;
  height: clamp(14rem, 7.234rem + 28.87vw, 41.875rem);
}
.company-outline__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*====================================================
*
*	service
*
====================================================*/
.service__cat-box {
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 9px 16px;
  margin-bottom: clamp(2.875rem, 2.375rem + 1.04vw, 3.625rem);
}
@media screen and (min-width: 768px) {
  .service__cat-box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.service__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: min(10.67vw, 40px);
}
@media screen and (min-width: 768px) {
  .service__box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-column-gap: 7.41%;
       -moz-column-gap: 7.41%;
            column-gap: 7.41%;
  }
}
.service__body .ttl {
  font-size: clamp(1.188rem, 0.104rem + 2.26vw, 2.813rem);
  /* 19 - 45 */
  font-weight: 600;
  line-height: 1.44;
}
.service__body .txt {
  margin-top: clamp(1.688rem, 0.146rem + 3.21vw, 4rem);
  /* 27 - 64 */
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .service__body .txt {
    line-height: 1.9;
  }
}
.service__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .service__img {
    width: 42.59%;
    margin-top: min(6.61vw, 127px);
  }
}
.service__img img {
  border-radius: 25px;
}
.service__anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: max(1.04vw, 12px) 1.46vw;
  margin-top: clamp(2.5rem, 1.211rem + 5.5vw, 7.813rem);
  /* 40 - 125 */
}
@media screen and (min-width: 768px) {
  .service__anchor {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.service__anchor-link {
  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: 81.87%;
  padding-block: 10px;
  padding-inline: 3.54%;
  border: 2px solid #222222;
  border-radius: clamp(0.5rem, 0.333rem + 0.35vw, 0.75rem);
  /* 8 - 12 */
}
@media screen and (min-width: 768px) {
  .service__anchor-link {
    padding-inline: 2.36%;
    width: 26.15%;
    height: clamp(3.875rem, 1.792rem + 4.34vw, 7rem);
  }
}
.service__anchor-link .txt {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: clamp(0.813rem, 0.098rem + 1.12vw, 1.438rem);
  /* 15 - 23 */
  text-align: center;
  font-weight: 500;
  line-height: 1.21;
  white-space: nowrap;
}
.service__anchor-link .icon_arrow_anchor {
  width: clamp(0.563rem, 0.188rem + 0.78vw, 1.125rem);
  /* 9 -  18 */
  height: clamp(0.313rem, 0.063rem + 0.52vw, 0.688rem);
  /* 5 -  11 */
}
.service__anchor-link:hover {
  border: 2px solid #EB6F45;
  color: #EB6F45;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
.service__anchor-link:hover .icon_arrow_anchor {
  fill: #EB6F45;
}
.service__desc {
  background-color: #F5F5F5;
  padding-top: clamp(2.875rem, 1.828rem + 4.47vw, 7.188rem);
  /* 46 - 115 */
  padding-bottom: clamp(2.875rem, 1.039rem + 7.83vw, 10.438rem);
  /* 46 - 167 */
}
.service__item {
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: clamp(1.875rem, 1.208rem + 1.39vw, 2.875rem);
  /* 30 - 45 */
  padding-bottom: clamp(2.25rem, 1.658rem + 2.52vw, 4.688rem);
  /* 36 - 90 */
  padding-inline: 4.27%;
  border-radius: clamp(1rem, 0.469rem + 2.27vw, 3.188rem);
  /* 16 - 51 */
  background-color: #fff;
}
.service__item:not(:first-of-type) {
  margin-top: clamp(1.25rem, 0.856rem + 1.68vw, 2.875rem);
  /* 20 - 46 */
}
.service__item .ttl {
  font-size: clamp(1.125rem, 0.542rem + 1.22vw, 2rem);
  /* 18 - 32 */
  font-weight: 600;
  line-height: 1.44;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .service__item .ttl {
    margin-top: 7px;
  }
}
.service__item .ttl .pc-none {
  display: block;
}
@media screen and (min-width: 768px) {
  .service__item .ttl .pc-none {
    display: none;
  }
}
.service__item .ttl .sp-none {
  display: none;
}
@media screen and (min-width: 768px) {
  .service__item .ttl .sp-none {
    display: inline-block;
  }
}
.service__item .txt {
  width: 100%;
  margin-top: clamp(1.375rem, -0.083rem + 3.04vw, 3.563rem);
  /* 22 - 57 */
  line-height: 1.9;
}
@media screen and (min-width: 768px) {
  .service__item .txt {
    width: 93.37%;
  }
}
.service__item .txt .sp-none {
  display: none;
}
@media screen and (min-width: 1024px) {
  .service__item .txt .sp-none {
    display: block;
  }
}
.service__item .txt .pc-none {
  display: block;
}
@media screen and (min-width: 768px) {
  .service__item .txt .pc-none {
    display: none;
  }
}
.service__item .icon {
  width: clamp(2.313rem, 0.571rem + 7.14vw, 4rem);
  /*37- 64 */
}
@media screen and (min-width: 768px) {
  .service__item .icon {
    width: clamp(4rem, 2.958rem + 2.17vw, 5.563rem);
    /* 64 - 96 */
  }
}
.service__row {
  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: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 24px;
}
@media screen and (min-width: 768px) {
  .service__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    width: 93.37%;
  }
}
.service__row .txt {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .service__row .txt {
    width: 62.04%;
  }
}
.service__row .txt p + p {
  margin-top: 24px;
}
.service__row .img {
  width: 83.64%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .service__row .img {
    width: 33.1%;
  }
}

.service01 .service__head {
  padding-top: clamp(2.375rem, 1.647rem + 3.11vw, 5.375rem);
  /* 38 - 86 */
  padding-bottom: clamp(2.625rem, 1.229rem + 5.95vw, 8.375rem);
  /* 42 - 134 */
}
@media screen and (min-width: 768px) {
  .service01 .service__anchor-link:nth-child(4) {
    width: 36%;
  }
}
@media screen and (min-width: 1440px) {
  .service01 .service__anchor-link:nth-child(4) {
    width: 30.59%;
  }
}

.service02 .service__head {
  padding-top: clamp(2.938rem, 0.981rem + 8.35vw, 11rem);
  /* 47 - 176 */
  padding-bottom: clamp(2.875rem, 1.206rem + 7.12vw, 9.75rem);
  /* 46 - 156 */
}

/*====================================================
*
*	news
*
====================================================*/
.news__inner {
  padding-top: 40px;
  padding-bottom: clamp(4.5rem, 0.792rem + 7.73vw, 10.063rem);
  /* 72 - 161 */
  border-bottom: 1px solid #959595;
}
@media screen and (min-width: 768px) {
  .news__inner {
    border-bottom: 2px solid #959595;
  }
}
.news__cat-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: clamp(0.625rem, 0.125rem + 1.04vw, 1.375rem);
     -moz-column-gap: clamp(0.625rem, 0.125rem + 1.04vw, 1.375rem);
          column-gap: clamp(0.625rem, 0.125rem + 1.04vw, 1.375rem);
  /* 10 - 22 */
  row-gap: 6px;
}
@media screen and (min-width: 768px) {
  .news__cat-box {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.news__cat-box .cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(4.75rem, 1.833rem + 6.08vw, 9.125rem);
  /* 76 - 146 */
  height: clamp(2.5rem, 1.25rem + 2.6vw, 4.375rem);
  /* 40 - 70 */
  border: 1px solid #222222;
  border-radius: 999px;
  font-size: clamp(0.688rem, 0.545rem + 0.3vw, 0.813rem);
  /* 11 - 14*/
  font-weight: 600;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
@media screen and (min-width: 768px) {
  .news__cat-box .cat {
    border: 2px solid #222222;
  }
}
@media screen and (min-width: 1440px) {
  .news__cat-box .cat {
    font-size: clamp(0.875rem, 0.125rem + 0.83vw, 1.125rem);
    /* 14 - 18 */
  }
}
.news__cat-box .cat.current {
  background-color: #222222;
  color: #fff;
}
.news__cat-box .cat:hover {
  background-color: #222222;
  color: #fff;
  cursor: pointer;
}
.news__list {
  padding-top: clamp(2.188rem, 2.06rem + 0.52vw, 2.688rem);
  /* 43 - 35 */
}
.news__item {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #707070), color-stop(22.42%, #ddd));
  background-image: linear-gradient(90deg, #707070 0 22.42%, #ddd 22.42%);
  background-repeat: no-repeat;
  background-size: 100% 1px;
  background-position: bottom;
  margin-top: 6px;
}
@media screen and (min-width: 768px) {
  .news__item {
    margin-top: 0;
    background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #707070), color-stop(10.18%, #ddd));
    background-image: linear-gradient(90deg, #707070 0 10.18%, #ddd 10.18%);
  }
}
.news__item:hover .ttl {
  color: #EB6F45;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
.news__item-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 17px;
  padding-block: clamp(1.25rem, 1.059rem + 0.78vw, 2rem);
  /* 20 - 32 */
  padding-inline: 16px;
}
@media screen and (min-width: 768px) {
  .news__item-link {
    padding-inline: 10px;
  }
}
.news__item-link .date {
  margin-right: clamp(1.25rem, 0.917rem + 0.69vw, 1.75rem);
  font-size: clamp(0.75rem, 0.036rem + 1.12vw, 1.375rem);
  /* 12 -22 */
  color: #959595;
}
.news__item-link .cat {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: clamp(0.75rem, 0.321rem + 0.67vw, 1.125rem);
  /* 12 - 18 */
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .news__item-link .cat {
    width: 11.19%;
  }
}
.news__item-link .ttl {
  width: 100%;
  font-size: clamp(0.875rem, 0.304rem + 0.89vw, 1.375rem);
  /* 14 - 22 */
  font-weight: 500;
  line-height: 1.45;
}
@media screen and (min-width: 768px) {
  .news__item-link .ttl {
    width: auto;
  }
}
.news__pagination {
  margin-top: clamp(2.5rem, 1.098rem + 5.75vw, 8rem);
  /* 40 - 128 */
}

.news-single__inner {
  border-bottom: 1px solid #959595;
}
@media screen and (min-width: 768px) {
  .news-single__inner {
    border-bottom: 2px solid #959595;
  }
}
.news-single__box {
  padding-top: clamp(8.75rem, 4.831rem + 16.08vw, 24.125rem);
  /* 140 - 386 */
  padding-bottom: clamp(6.25rem, 2.299rem + 16.21vw, 21.75rem);
  /* 100 - 348 */
}
.news-single__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.news-single__head .date {
  margin-right: clamp(0.938rem, 0.688rem + 0.52vw, 1.313rem);
  /* 15 - 21 */
  font-size: clamp(0.688rem, 0.116rem + 0.89vw, 1.188rem);
  /* 11 - 19 */
  color: #EB6F45;
}
.news-single__head .cat {
  font-size: clamp(0.625rem, 0.054rem + 0.89vw, 1.125rem);
  font-weight: 700;
}
.news-single__head .ttl {
  margin-top: clamp(0.688rem, 0.034rem + 2.68vw, 3.25rem);
  /* 11 - 52 */
  padding-bottom: 14px;
  width: 100%;
  border-bottom: 1px solid #ddd;
  font-size: clamp(1.375rem, -0.839rem + 3.46vw, 3.313rem);
  /* 22 - 53 */
  font-weight: 600;
  line-height: 1.33;
}
@media screen and (min-width: 768px) {
  .news-single__head .ttl {
    border-bottom: 2px solid #ddd;
  }
}
@media screen and (max-width: 767px) {
  .news-single__content {
    padding-top: 30px;
    padding-bottom: 85px;
  }
}
.news-single__aside-ttl {
  padding-bottom: 32px;
  border-bottom: 1px solid #ddd;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.41;
}
@media screen and (min-width: 768px) {
  .news-single__aside-ttl {
    padding-bottom: 30px;
    font-size: clamp(1.125rem, 0.542rem + 1.22vw, 2rem);
    /* 18 - 32 */
  }
}
.news-single__item {
  border-bottom: 1px solid #ddd;
}
.news-single__item-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 8px;
  padding-block: clamp(1.563rem, 1.271rem + 0.61vw, 2rem);
  /* 25 - 32 */
}
.news-single__item-link .date {
  color: #959595;
  font-size: clamp(0.75rem, 0.67rem + 0.33vw, 1.063rem);
}
.news-single__item-link .ttl {
  width: 100%;
  font-size: clamp(0.875rem, 0.811rem + 0.26vw, 1.125rem);
  font-weight: 500;
  line-height: 1.444;
}
.news-single__item-link:hover .ttl {
  color: #EB6F45;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
.news-single .aside-category {
  margin-top: 32px;
}
.news-single__btn {
  margin-top: 44px;
}
.news-single .breadcrumb {
  padding-bottom: 10px;
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .news-single .breadcrumb {
    padding-bottom: 6px;
  }
}

/*====================================================
*
*	contact
*
====================================================*/
.contact__inner {
  padding-top: clamp(2.5rem, 0.509rem + 8.17vw, 10.313rem);
  /* 40 - 165 */
  padding-bottom: clamp(5.813rem, 4.697rem + 4.58vw, 10.188rem);
  /* 93 - 163 */
  border-bottom: 1px solid #959595;
}
@media screen and (min-width: 768px) {
  .contact__inner {
    border-bottom: 2px solid #959595;
  }
}

.thanks__inner {
  padding-top: clamp(2.5rem, 0.509rem + 8.17vw, 10.313rem);
  /* 40 - 165 */
  padding-bottom: clamp(5.813rem, 4.697rem + 4.58vw, 10.188rem);
  /* 93 - 163 */
  border-bottom: 1px solid #959595;
}
@media screen and (min-width: 768px) {
  .thanks__inner {
    border-bottom: 2px solid #959595;
  }
}
.thanks__ttl {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .thanks__ttl {
    font-size: 2rem;
  }
}
.thanks__ttl .pc-none {
  display: block;
}
@media screen and (min-width: 768px) {
  .thanks__ttl .pc-none {
    display: none;
  }
}
.thanks__txt {
  margin-top: 40px;
  line-height: 1.7;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .thanks__txt {
    margin-top: 60px;
    line-height: 1.9;
  }
}
.thanks__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .thanks__btn {
    margin-top: 80px;
  }
}

/*====================================================
*
*	privacy
*
====================================================*/
.privacy__inner {
  padding-top: clamp(2.5rem, 0.429rem + 8.5vw, 10.625rem);
  /* 40 - 170 */
  padding-bottom: clamp(5rem, 3.725rem + 5.23vw, 10rem);
  /* 80 - 160 */
  border-bottom: 1px solid #959595;
}
@media screen and (min-width: 768px) {
  .privacy__inner {
    border-bottom: 2px solid #959595;
  }
}
.privacy__lead {
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .privacy__lead {
    line-height: 1.9;
  }
}
.privacy__item {
  margin-top: 32px;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .privacy__item {
    line-height: 1.9;
  }
}
.privacy__item p + p {
  margin-top: 10px;
}
.privacy__item .ttl {
  font-weight: 700;
}

/*====================================================
*
*	404
*
====================================================*/
.page-404__inner {
  padding-top: clamp(10rem, 3.167rem + 14.24vw, 20.25rem);
  /* 160 - 324 */
  padding-bottom: clamp(5rem, 3.725rem + 5.23vw, 10rem);
  /* 80 - 160 */
  border-bottom: 1px solid #959595;
}
@media screen and (min-width: 768px) {
  .page-404__inner {
    border-bottom: 2px solid #959595;
  }
}
.page-404__ttl {
  font-size: 2.125rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .page-404__ttl {
    font-size: 2.5rem;
  }
}
.page-404__txt {
  margin-top: 40px;
  font-size: 0.8125rem;
  text-align: center;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .page-404__txt {
    font-size: 0.9375rem;
  }
}
.page-404__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .page-404__btn {
    margin-top: 80px;
  }
}

/*=======================
  article
=======================*/
.article {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto;
  grid-template-areas: "grid-head" "grid-main" "grid-aside";
}
.article .grid-head {
  grid-area: grid-head;
}
.article .grid-main {
  grid-area: grid-main;
}
.article .grid-aside {
  grid-area: grid-aside;
}
@media screen and (min-width: 768px) {
  .article {
    grid-template-columns: 1fr clamp(13.75rem, 5rem + 18.23vw, 26.875rem);
    grid-template-rows: auto auto;
    grid-template-areas: "grid-head grid-head" "grid-main grid-aside";
    -webkit-column-gap: clamp(1.875rem, -2.083rem + 8.25vw, 7.813rem);
       -moz-column-gap: clamp(1.875rem, -2.083rem + 8.25vw, 7.813rem);
            column-gap: clamp(1.875rem, -2.083rem + 8.25vw, 7.813rem);
    row-gap: min(4.64vw, 89px);
  }
}
@media screen and (min-width: 768px) {
  .article .aside {
    margin-top: clamp(2.5rem, 1.167rem + 2.78vw, 4.5rem);
    /* 40 - 72 */
  }
}

/*=======================
  breadcrumb
=======================*/
.breadcrumb {
  margin-top: clamp(4.5rem, 3.286rem + 5.18vw, 9.5rem);
  /* 72 - 152 */
}
@media screen and (min-width: 768px) {
  .breadcrumb {
    marign-top: clamp(5rem, 2.833rem + 4.51vw, 8.25rem);
  }
}
.breadcrumb__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}
@media screen and (min-width: 768px) {
  .breadcrumb__list {
    gap: 14px;
  }
}
.breadcrumb__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.625rem;
  font-weight: 400;
  color: #959595;
}
@media screen and (min-width: 768px) {
  .breadcrumb__item {
    font-size: clamp(0.813rem, -0.875rem + 1.88vw, 1.375rem);
    /* 13 - 22 */
  }
}
.breadcrumb__item a.is-current {
  color: #959595;
}
.breadcrumb__item:first-of-type {
  color: #EB6F45;
}
.breadcrumb__item:not(:last-of-type)::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 1px;
  margin-left: 5px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: #959595;
}
@media screen and (min-width: 768px) {
  .breadcrumb__item:not(:last-of-type)::after {
    width: 19px;
    margin-left: 14px;
  }
}

.breadcrumb.no-header {
  margin-top: 10px;
}

/*=======================
  pagination
=======================*/
.pagination {
  width: 100%;
  /* WP-Pagenavi用 */
}
.pagination .wp-pagenavi {
  position: relative;
  width: 100%;
  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-column-gap: clamp(0.938rem, 0.271rem + 1.39vw, 1.938rem);
     -moz-column-gap: clamp(0.938rem, 0.271rem + 1.39vw, 1.938rem);
          column-gap: clamp(0.938rem, 0.271rem + 1.39vw, 1.938rem);
  text-align: center;
}
.pagination .wp-pagenavi span, .pagination .wp-pagenavi a {
  display: inline-block;
  position: relative;
  padding: 9px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: clamp(1rem, 0.583rem + 0.87vw, 1.625rem);
  color: #222222;
  line-height: 2;
  text-align: center;
  /* 26 - 16 */
  font-family: "Tahoma", "Verdana", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  text-decoration: none;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
.pagination .wp-pagenavi span:hover, .pagination .wp-pagenavi a:hover {
  color: #EB6F45;
}
.pagination .wp-pagenavi .pages {
  display: none;
}
.pagination .wp-pagenavi .first {
  background-image: url(../img/news/icon_news_arrow02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(2.5rem, 1.417rem + 2.26vw, 4.125rem);
  height: clamp(2.5rem, 1.417rem + 2.26vw, 4.125rem);
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.pagination .wp-pagenavi .first:hover {
  background-image: url(../img/news/icon_news_arrow02_h.svg);
}
.pagination .wp-pagenavi .previouspostslink {
  background-image: url(../img/news/icon_news_arrow01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(2.5rem, 1.417rem + 2.26vw, 4.125rem);
  height: clamp(2.5rem, 1.417rem + 2.26vw, 4.125rem);
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.pagination .wp-pagenavi .previouspostslink:hover {
  background-image: url(../img/news/icon_news_arrow01_h.svg);
}
.pagination .wp-pagenavi .nextpostslink {
  display: inline-block;
  background-image: url(../img/news/icon_news_arrow01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(2.5rem, 1.417rem + 2.26vw, 4.125rem);
  height: clamp(2.5rem, 1.417rem + 2.26vw, 4.125rem);
}
.pagination .wp-pagenavi .nextpostslink:hover {
  background-image: url(../img/news/icon_news_arrow01_h.svg);
}
.pagination .wp-pagenavi .last {
  display: inline-block;
  background-image: url(../img/news/icon_news_arrow02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: clamp(2.5rem, 1.417rem + 2.26vw, 4.125rem);
  height: clamp(2.5rem, 1.417rem + 2.26vw, 4.125rem);
}
.pagination .wp-pagenavi .last:hover {
  background-image: url(../img/news/icon_news_arrow02_h.svg);
}
.pagination .wp-pagenavi .extend {
  display: none;
}/*# sourceMappingURL=style.css.map */