:root {
  --font: "Noto Sans JP", sans-serif;
  --wfont: "Plus Jakarta Sans", sans-serif;
  --base-color: #000;
  --c-base: #231815;
  --c-primary: #f08200;
  --c-warning: #8a6d3b;
  --c-danger: #a94442;
  --c-gray: #efefef;
  --c-gray-light: #f4f4f4;
  --c-gray-dark: #ccc;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  outline: none;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, l, ul, ol, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
}

html {
  font-family: var(--font);
  font-style: normal;
  font-size: 62.5%;
}

body {
  color: var(--base-color);
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  word-break: break-word;
  width: 100%;
  min-height: 100vh;
  -webkit-text-size-adjust: 100%;
  display: grid;
  grid-template-rows: auto 1fr auto;
  grid-template-columns: 100%;
}

body {
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}
a {
  color: var(--c-base);
  text-decoration: none;
}
a:link, a:active, a:hover, a:visited {
  outline: 0 none;
}

ul,
ol {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  image-rendering: -webkit-optimize-contrast;
}

img[src$=".svg"] {
  width: 100%;
}

.menu-fixed {
  height: 100vh;
  overflow: hidden;
}

.first_wrap {
  position: relative;
  width: 100%;
  overflow: clip;
}
.first_wrap::before {
  content: "";
  display: block;
  position: absolute;
  top: -460px;
  right: -205px;
  z-index: -1;
  background: url(../common/img/back_header_right.webp) no-repeat;
  background-size: contain;
  width: 375px;
  height: 636px;
}

.second_home_wrap {
  position: relative;
  width: 100%;
  overflow: clip;
}
.second_home_wrap::before {
  content: "";
  display: block;
  position: absolute;
  top: 220px;
  left: -255px;
  z-index: -1;
  background: url(../common/img/back_header_left.webp) no-repeat;
  background-size: contain;
  width: 712px;
  height: 906px;
}
.second_home_wrap::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 495px;
  left: -180px;
  z-index: -1;
  background: url(../common/img/back_footer_deco.webp) no-repeat;
  background-size: contain;
  width: 712px;
  height: 906px;
}

.second_lower_wrap {
  position: relative;
  width: 100%;
  overflow: clip;
}
.second_lower_wrap::before {
  content: "";
  display: block;
  position: absolute;
  top: -440px;
  left: -485px;
  z-index: -1;
  background: url(../common/img/back_header_left.webp) no-repeat;
  background-size: contain;
  width: 712px;
  height: 906px;
}
.second_lower_wrap::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 495px;
  left: -180px;
  z-index: -1;
  background: url(../common/img/back_footer_deco.webp) no-repeat;
  background-size: contain;
  width: 712px;
  height: 906px;
}

.main {
  padding: 110px 0 0;
}

.p_head_inner {
  padding: 25px 4%;
}
.p_head .breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 20px;
  white-space: nowrap;
  margin: 0 0 50px;
}
.p_head .breadcrumb li {
  font-size: 1.3rem;
  line-height: 19px;
}
.p_head .breadcrumb li:first-child {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}
.p_head .breadcrumb li:first-child a {
  display: block;
  width: 18px;
  height: 15px;
}
.p_head .breadcrumb li:first-child a img {
  vertical-align: baseline;
}
.p_head .breadcrumb li:last-child {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.p_head .breadcrumb li:not(:last-child) {
  position: relative;
}
.p_head .breadcrumb li:not(:last-child)::after {
  position: absolute;
  top: 50%;
  right: -13px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  content: "";
  width: 6px;
  height: 11px;
  background: url(../common/img/ico_arrow.svg) no-repeat center/contain;
}
.p_head .breadcrumb li a {
  color: #6e6e6e;
}
.p_head .p_ttl {
  font-family: var(--wfont);
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.p_head .p_ttl span {
  display: block;
  font-family: var(--font);
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin: 5px 0 0;
}

@media (min-width: 768px) {
  .p_head_inner {
    max-width: 1576px;
    margin: 0 auto;
    padding: 25px 15px;
  }
  .p_head .breadcrumb {
    gap: 40px;
  }
  .p_head .breadcrumb li {
    font-size: 1.5rem;
    line-height: 22px;
  }
  .p_head .breadcrumb li:first-child a {
    width: 20px;
    height: 19px;
  }
  .p_head .breadcrumb li:not(:last-child)::after {
    right: -23px;
    width: 7px;
    height: 13px;
  }
  .p_head .p_ttl span {
    display: inline-block;
    margin: 0 0 0 20px;
  }
}
@media (min-width: 1024px) {
  .p_head_inner {
    padding: 50px 15px;
  }
  .p_head .breadcrumb {
    margin: 0 0 50px;
  }
  .p_head .p_ttl {
    font-size: 5rem;
  }
  .p_head .p_ttl span {
    font-size: 2.2rem;
    margin: 0 0 0 30px;
  }
}
@media (min-width: 1200px) {
  .menu-fixed {
    height: auto;
    overflow: auto;
  }
  .first_wrap::before {
    top: -950px;
    right: -425px;
    width: 755px;
    height: 1272px;
  }
  .second_home_wrap::before {
    top: -570px;
    left: -255px;
    width: 1425px;
    height: 1813px;
  }
  .second_home_wrap::after {
    bottom: -60px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 1425px;
    height: 1815px;
  }
  .second_lower_wrap::before {
    top: -1150px;
    left: -405px;
    width: 1425px;
    height: 1813px;
  }
  .second_lower_wrap::after {
    bottom: -60px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 1425px;
    height: 1815px;
  }
  .p_head .breadcrumb li a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .p_head .breadcrumb li a:hover {
    color: #d8a821;
  }
}
.visible-xs {
  display: none !important;
}

.visible-sm {
  display: none !important;
}

.visible-md {
  display: none !important;
}

.visible-lg {
  display: none !important;
}

.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}

@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}

@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}

@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .visible-sm-block {
    display: block !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .visible-sm-inline {
    display: inline !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}

@media (min-width: 1024px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}

@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}

@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}

.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}

.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}

@media print {
  .hidden-print {
    display: none !important;
  }
}
.header {
  position: relative;
}
.header_logo {
  position: absolute;
  top: 12px;
  left: 15px;
}
.header_logo img {
  width: 90px;
}
.header_ctt {
  position: fixed;
  top: 22px;
  right: 78px;
  z-index: 10001;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background-color: #000;
}
.header_ctt a {
  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: 100%;
  height: 100%;
}
.header_ctt img {
  width: 23px;
}
.header_menu {
  position: fixed;
  top: 22px;
  right: 15px;
  z-index: 10001;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background-color: #000;
}
.header_menu label {
  display: block;
  width: 100%;
  height: 100%;
}
.header_menu span {
  display: inline-block;
  position: absolute;
  left: 16px;
  width: 20px;
  height: 2px;
  background-color: #d8a821;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.header_menu span:nth-child(1) {
  top: 17px;
}
.header_menu span:nth-child(2) {
  top: 25px;
}
.header_menu span:nth-child(3) {
  bottom: 17px;
}
.header .menu_input {
  display: none;
}
.header .menu_input:checked ~ .header_menu span:nth-child(1) {
  -webkit-transform: translateY(9px) rotate(-45deg);
          transform: translateY(9px) rotate(-45deg);
}
.header .menu_input:checked ~ .header_menu span:nth-child(2) {
  opacity: 0;
}
.header .menu_input:checked ~ .header_menu span:nth-child(3) {
  -webkit-transform: translateY(-7px) rotate(45deg);
          transform: translateY(-7px) rotate(45deg);
}
.header .menu_input:checked ~ .gnav {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.gnav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  overflow: auto;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}
.gnav_logo {
  position: absolute;
  top: 40px;
  left: 30px;
}
.gnav_logo a {
  pointer-events: none;
}
.gnav_inner {
  padding: 126px 10.6666666667% 37px 8%;
}
.gnav .gnav_ldiv .gnav_item {
  font-size: 1.8rem;
  font-weight: 700;
  border-bottom: 1px solid #d9d9d9;
  margin: 0 0 20px;
}
.gnav .gnav_ldiv .gnav_item a, .gnav .gnav_ldiv .gnav_item span {
  display: block;
  padding: 10px;
}
.gnav .gnav_ldiv .gnav_item .gnav_lowerlist {
  margin: 10px 0 10px 38px;
}
.gnav .gnav_ldiv .gnav_item .gnav_lowerlist li {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  border-bottom: none;
}
.gnav .gnav_ldiv .gnav_item .gnav_lowerlist li:not(:last-child) {
  margin: 0 0 20px;
}
.gnav .gnav_ldiv .gnav_item .gnav_lowerlist li a {
  position: relative;
  padding: 0;
}
.gnav .gnav_ldiv .gnav_item .gnav_lowerlist li a::before {
  position: absolute;
  top: 50%;
  left: -16px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  width: 7px;
  height: 1px;
  background-color: #000;
}
.gnav .gnav_rdiv .gnav_item {
  font-size: 1.8rem;
  font-weight: 700;
  border-bottom: 1px solid #d9d9d9;
  margin: 0 0 20px;
}
.gnav .gnav_rdiv .gnav_item a {
  display: block;
  padding: 10px;
}
.gnav_sns ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 14px;
}
.gnav_sns ul li {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid #000;
}
.gnav_sns ul li:nth-child(1) img {
  width: 25px;
}
.gnav_sns ul li:nth-child(2) img {
  width: 25px;
}
.gnav_sns ul li a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
}
.gnav_sns ul li a img:last-of-type {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  height: auto;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.gnav .btn_contact {
  height: 67px;
  background-color: #000;
  margin: 50px 0 0;
}
.gnav .btn_contact a {
  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;
  color: #d8a821;
  font-size: 1.8rem;
  font-weight: 700;
  width: 100%;
  height: 100%;
}
.gnav .btn_contact i {
  display: inline-block;
  width: 30px;
  height: 25px;
  background: url(../common/img/ico_contact.svg) no-repeat;
  background-size: contain;
  margin: 0 14px 0 0;
}

@media (min-width: 1200px) {
  .header_logo {
    display: none;
  }
  .header_ctt {
    display: none;
  }
  .header_menu {
    display: none;
  }
  .header.wide_header .gnav_logo img {
    width: 80px;
    -webkit-transition: width 0.2s linear;
    transition: width 0.2s linear;
  }
  .gnav {
    height: auto;
    overflow: visible;
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }
  .gnav_logo {
    top: 10px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .gnav_logo img {
    width: 108px;
    -webkit-transition: width 0.2s linear;
    transition: width 0.2s linear;
  }
  .gnav_logo a {
    display: block;
    pointer-events: auto;
  }
  .gnav_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 100px;
    max-width: 1760px;
    margin: 0 auto;
    padding: 0 12px;
  }
  .gnav .gnav_ldiv {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: min(6.9444444444vw, 120px);
    margin: 0 0 0 min(6.9444444444vw, 120px);
  }
  .gnav .gnav_ldiv .gnav_item {
    font-size: 1.6rem;
    border-bottom: none;
    margin: 0;
  }
  .gnav .gnav_ldiv .gnav_item:first-child {
    display: none;
  }
  .gnav .gnav_ldiv .gnav_item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
    padding: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .gnav .gnav_ldiv .gnav_item a:hover {
    color: #d8a821;
  }
  .gnav .gnav_ldiv .gnav_item .gnav_lowerlist {
    position: absolute;
    top: 75px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    display: none;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    width: 260px;
    border-radius: 10px;
    background-color: #303030;
    margin: -15px 0 0;
    margin: 0;
    padding: 40px 55px 50px;
  }
  .gnav .gnav_ldiv .gnav_item .gnav_lowerlist li {
    font-size: 1.4rem;
    font-weight: 700;
  }
  .gnav .gnav_ldiv .gnav_item .gnav_lowerlist li:not(:last-child) {
    margin: 0 0 30px;
  }
  .gnav .gnav_ldiv .gnav_item .gnav_lowerlist li a {
    color: #fff;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .gnav .gnav_ldiv .gnav_item .gnav_lowerlist li a:hover {
    color: #d8a821;
  }
  .gnav .gnav_ldiv .gnav_item .gnav_lowerlist li a::before {
    background-color: #fff;
  }
  .gnav .gnav_ldiv .submenu {
    position: relative;
  }
  .gnav .gnav_ldiv .submenu:hover .gnav_lowerlist {
    display: block;
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }
  .gnav .gnav_ldiv .submenu > a {
    position: relative;
    padding-right: 30px;
  }
  .gnav .gnav_ldiv .submenu > a::after {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 13px 9.5px 0 9.5px;
    border-color: #000000 transparent transparent transparent;
    margin: 1px 0 0;
  }
  .gnav .gnav_ldiv .submenu > a:hover::after {
    border-color: #d8a821 transparent transparent transparent;
  }
  .gnav .gnav_rdiv {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: min(2.0833333333vw, 36px);
  }
  .gnav .gnav_rdiv .gnav_item {
    font-size: 1.6rem;
    border-bottom: none;
    margin: 0;
  }
  .gnav .gnav_rdiv .gnav_item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
    padding: 0;
  }
  .gnav_sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 0 0 min(1.3888888889vw, 24px);
  }
  .gnav_sns ul {
    gap: min(0.8101851852vw, 14px);
  }
  .gnav_sns ul li {
    width: min(3.2407407407vw, 56px);
    height: min(3.2407407407vw, 56px);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .gnav_sns ul li:nth-child(1) img {
    width: min(1.5625vw, 27px);
  }
  .gnav_sns ul li:nth-child(2) img {
    width: min(1.5625vw, 27px);
  }
  .gnav_sns ul li:hover {
    background-color: #000;
  }
  .gnav_sns ul li:hover a img {
    opacity: 1;
  }
  .gnav .btn_contact {
    height: 100%;
    margin: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .gnav .btn_contact:hover {
    background-color: #d8a821;
  }
  .gnav .btn_contact:hover a {
    color: #fff;
  }
  .gnav .btn_contact:hover i {
    background: url(../common/img/ico_w_contact.svg) no-repeat;
    background-size: contain;
  }
  .gnav .btn_contact a {
    font-size: 1.6rem;
    padding: 0 min(1.1574074074vw, 20px);
  }
  .gnav .btn_contact i {
    width: min(1.7361111111vw, 30px);
    height: min(1.4467592593vw, 25px);
    margin: 0 min(0.8101851852vw, 14px) 0 0;
  }
}
@media (min-width: 1400px) {
  .gnav .gnav_ldiv .gnav_item {
    font-size: 1.8rem;
  }
  .gnav .gnav_ldiv .gnav_item .gnav_lowerlist li {
    font-size: 1.6rem;
  }
  .gnav .gnav_rdiv .gnav_item {
    font-size: 1.8rem;
  }
  .gnav .btn_contact a {
    font-size: 1.8rem;
    padding: 0 min(2.6041666667vw, 45px);
  }
}
.footer .f_partners {
  background-color: rgba(238, 238, 238, 0.4);
  -webkit-backdrop-filter: blur(13.5px);
          backdrop-filter: blur(13.5px);
}
.footer .f_partners_inner {
  padding: 30px 8% 40px;
}
.footer .f_partners_ttl {
  position: relative;
  font-family: var(--wfont);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 20px;
  padding: 0 0 8px;
}
.footer .f_partners_ttl::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background-color: var(--base-color);
}
.footer .f_partners .list_partners {
  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: 8px;
}
.footer .f_partners .list_partners li {
  width: 100%;
  max-width: 314px;
  height: 52px;
}
.footer .f_partners .list_partners li:nth-child(1) img {
  height: 32px;
}
.footer .f_partners .list_partners li a {
  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: 100%;
  height: 100%;
  border-radius: 10px;
  background-color: #fff;
}
.footer .f_nav {
  background-image: url(../common/img/back_footer_sp.webp);
  background-image: -webkit-image-set(url(../common/img/back_footer_sp.webp) 1x, url(../common/img/back_footer_sp@2x.webp) 2x);
  background-image: image-set(url(../common/img/back_footer_sp.webp) 1x, url(../common/img/back_footer_sp@2x.webp) 2x);
  background-size: cover;
  background-position: center;
}
.footer .f_nav_inner {
  padding: 65px 13.3333333333% 45px;
}
.footer .f_nav_box {
  display: grid;
  grid-template-columns: 44% 56%;
  grid-template-areas: "a a" "b d" "c d" "e e";
}
.footer .f_nav_box .logo {
  grid-area: a;
  margin: 0 auto 50px;
}
.footer .f_nav_box .logo img {
  width: 90px;
}
.footer .f_nav_box .nav_list ul li {
  font-size: 1.5rem;
  font-weight: 700;
}
.footer .f_nav_box .nav_list ul li:not(:last-child) {
  margin: 0 0 25px;
}
.footer .f_nav_box .nav_list ul li a {
  color: #fff;
}
.footer .f_nav_box .nav_list ul li .nav_lowerlist {
  display: none;
}
.footer .f_nav_box .nav_list_01 {
  grid-area: b;
  margin: 0 0 25px;
}
.footer .f_nav_box .nav_list_02 {
  grid-area: c;
}
.footer .f_nav_box .nav_list_03 {
  grid-area: d;
}
.footer .f_nav_box .sns_list {
  grid-area: e;
  margin: 67px 0 0;
}
.footer .f_nav_box .sns_list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  margin: 0 0 43px;
}
.footer .f_nav_box .sns_list ul li {
  width: 50px;
}
.footer .f_nav_box .sns_list ul li a {
  position: relative;
}
.footer .f_nav_box .sns_list ul li img:last-of-type {
  position: absolute;
  left: 0;
  width: 100%;
  height: auto;
  opacity: 0;
}
.footer .f_nav_box .sns_list .copyright {
  display: block;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  text-align: center;
}
.footer .f_line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.footer .f_line .f_line_1 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: auto;
  height: 10px;
  background: #ffd400;
  background: -webkit-gradient(linear, left top, right top, from(rgb(255, 212, 0)), color-stop(50%, rgb(202, 58, 28)), to(rgb(116, 60, 89)));
  background: linear-gradient(90deg, rgb(255, 212, 0) 0%, rgb(202, 58, 28) 50%, rgb(116, 60, 89) 100%);
}
.footer .f_line .f_line_2 {
  display: block;
  width: 8%;
  height: 10px;
  background-color: #743c59;
}
.footer .f_line .f_line_3 {
  display: block;
  width: 8%;
  height: 10px;
  background-color: #d8a821;
}
.footer .f_line .f_line_4 {
  display: block;
  width: 8%;
  height: 10px;
  background-color: #c5c71d;
}

@media (min-width: 768px) {
  .footer .f_partners_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 1226px;
    margin: 0 auto;
    padding: 18px 15px 13px;
  }
  .footer .f_partners_ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin: 0 24px 0 0;
    padding: 0 16px 0 0;
  }
  .footer .f_partners_ttl::after {
    left: auto;
    right: 0;
    width: 1px;
    height: 100%;
  }
  .footer .f_partners .list_partners {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 3px 0;
  }
  .footer .f_partners .list_partners li {
    width: auto;
    max-width: 100%;
  }
  .footer .f_partners .list_partners li a {
    padding: 0 20px;
  }
  .footer .f_nav_inner {
    max-width: 1226px;
    margin: 0 auto;
    padding: 33px 15px 22px;
  }
  .footer .f_nav_box {
    grid-template-columns: 25% 25% 25% 25%;
    grid-template-areas: "a b c d" "e e e e";
  }
  .footer .f_nav_box .logo {
    margin: 0;
  }
  .footer .f_nav_box .nav_list ul li:not(:last-child) {
    margin: 0 0 35px;
  }
  .footer .f_nav_box .nav_list ul li .nav_lowerlist {
    display: block;
    margin: 20px 0 0 16px;
  }
  .footer .f_nav_box .nav_list ul li .nav_lowerlist li {
    font-weight: 400;
  }
  .footer .f_nav_box .nav_list ul li .nav_lowerlist li:not(:last-child) {
    margin: 0 0 15px;
  }
  .footer .f_nav_box .nav_list ul li .nav_lowerlist li a {
    position: relative;
  }
  .footer .f_nav_box .nav_list ul li .nav_lowerlist li a::before {
    position: absolute;
    top: 50%;
    left: -16px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    content: "";
    width: 7px;
    height: 1px;
    background-color: #fff;
  }
  .footer .f_nav_box .nav_list_01 {
    margin: 0;
  }
}
@media (min-width: 1024px) {
  .footer .f_partners_inner {
    padding: 36px 15px 26px;
  }
  .footer .f_partners_ttl {
    font-size: 2.2rem;
    margin: 0 48px 0 0;
    padding: 0 32px 0 0;
  }
  .footer .f_partners .list_partners {
    padding: 6px 0;
  }
  .footer .f_partners .list_partners li {
    height: 70px;
  }
  .footer .f_partners .list_partners li:nth-child(1) img {
    height: 40px;
  }
  .footer .f_partners .list_partners li:nth-child(2) img {
    height: 36px;
  }
  .footer .f_partners .list_partners li a {
    padding: 0 40px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .footer .f_partners .list_partners li a:hover {
    opacity: 0.7;
  }
  .footer .f_nav {
    background-image: url(../common/img/back_footer.webp);
    background-image: -webkit-image-set(url(../common/img/back_footer.webp) 1x, url(../common/img/back_footer@2x.webp) 2x);
    background-image: image-set(url(../common/img/back_footer.webp) 1x, url(../common/img/back_footer@2x.webp) 2x);
  }
  .footer .f_nav_inner {
    padding: 66px 15px 44px;
  }
  .footer .f_nav_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .footer .f_nav_box .logo img {
    width: 126px;
  }
  .footer .f_nav_box .nav_list ul li .nav_lowerlist li a::before {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .footer .f_nav_box .nav_list ul li .nav_lowerlist li a:hover:before {
    background-color: #000;
  }
  .footer .f_nav_box .nav_list ul li a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .footer .f_nav_box .nav_list ul li a:hover {
    color: #000;
  }
  .footer .f_nav_box .sns_list {
    margin: 47px 0 0;
  }
  .footer .f_nav_box .sns_list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin: 0 0 33px;
  }
  .footer .f_nav_box .sns_list ul li {
    width: 60px;
  }
  .footer .f_nav_box .sns_list ul li a:hover img:last-of-type {
    opacity: 1;
  }
  .footer .f_nav_box .sns_list ul li img:last-of-type {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .footer .f_nav_box .sns_list .copyright {
    font-size: 1.3rem;
  }
  .footer .f_line .f_line_2 {
    width: 3.6458333333%;
  }
  .footer .f_line .f_line_3 {
    width: 3.6458333333%;
  }
  .footer .f_line .f_line_4 {
    width: 3.6458333333%;
  }
}
.p_body_notfound {
  position: relative;
  background-color: rgba(238, 238, 238, 0.4);
  -webkit-backdrop-filter: blur(13.5px);
          backdrop-filter: blur(13.5px);
  padding: 25px 0 90px;
}
.p_body_notfound_inner {
  padding: 0 4%;
}
.p_body_notfound .box {
  border-radius: 10px;
  background-color: #fff;
  padding: 50px 5.3333333333%;
}
.p_body_notfound .box .ttl {
  font-size: 2rem;
  text-align: center;
  margin: 0 0 30px;
}
.p_body_notfound .box .ttl i {
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 auto 10px;
}
.p_body_notfound .box p {
  font-size: 1.4rem;
  line-height: 2;
  text-align: center;
}
.p_body_notfound .box .btn {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 58px;
  text-align: center;
  width: 280px;
  height: 58px;
  margin: 50px auto 0;
}
.p_body_notfound .box .btn a {
  display: block;
  color: #d8a821;
  border-radius: 40px;
  background-color: #000;
}

@media (min-width: 768px) {
  .p_body_notfound {
    padding: 50px 0 120px;
  }
  .p_body_notfound_inner {
    max-width: 1576px;
    margin: 0 auto;
    padding: 0 15px;
  }
}
@media (min-width: 1024px) {
  .p_body_notfound {
    padding: 70px 0 150px;
  }
  .p_body_notfound .box {
    padding: 95px min(10.8695652174%, 170px) 130px;
  }
  .p_body_notfound .box .ttl {
    font-size: 3rem;
    margin: 0 0 40px;
  }
  .p_body_notfound .box .ttl i {
    width: 56px;
    height: 56px;
    margin: 0 auto 15px;
  }
  .p_body_notfound .box p {
    font-size: 1.6rem;
  }
  .p_body_notfound .box .btn {
    font-size: 1.6rem;
    margin: 100px auto 0;
  }
}
@media (min-width: 1200px) {
  .p_body_notfound .box .btn a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .p_body_notfound .box .btn a:hover {
    color: #fff;
    background-color: #d8a821;
  }
}/*# sourceMappingURL=common.css.map */