@charset "UTF-8";
/* Sass Document */
/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/
html,
body {
  height: 100%;
}

html {
  font-size: 62.5%;
}
@media screen and (max-width: 840px) {
  html {
    width: 100%;
  }
}

body {
  -webkit-text-size-adjust: 100%;
  width: 100%;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  font-size: 1.6rem;
}
body.is_fixed {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
@media screen and (max-width: 1200px) {
  body {
    min-width: inherit;
    font-size: 4.1025641026vw;
    line-height: 1.63;
  }
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
address,
ul,
ol,
li,
dl,
dt,
dd,
table,
th,
td,
img,
form,
figure {
  margin: 0;
  padding: 0;
  border: none;
  list-style-type: none;
  font-style: normal;
  letter-spacing: 0.05em;
}

* {
  box-sizing: border-box;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: normal;
  line-break: strict;
}

@media (min-width: 768px) {
  a[href*="tel:"] {
    text-decoration: none;
    cursor: default;
    pointer-events: none;
  }
  a:hover {
    opacity: 0.7;
  }
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

main {
  display: block;
  overflow: hidden;
}

strong {
  font-weight: 700;
}

a {
  color: #000;
  text-decoration: none;
  outline: none;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

input,
button,
textarea,
select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select::-ms-expand {
  display: none;
}

body {
  background: #fff;
}

.pc {
  display: block;
}
@media screen and (max-width: 840px) {
  .pc {
    display: none !important;
  }
}

.sp {
  display: none !important;
}
@media screen and (max-width: 840px) {
  .sp {
    display: block !important;
  }
}

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

.tac,
.tac * {
  text-align: center;
}

.en {
  font-family: "Roboto", sans-serif;
}

.marker {
  background: linear-gradient(transparent 60%, #fff38a 60%);
  display: inline;
}

.wrap {
  max-width: 116rem;
  margin: 0 auto;
}
@media screen and (max-width: 1200px) {
  .wrap {
    width: 96.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  .wrap {
    width: 89.7435897436vw;
  }
}

.flex {
  display: flex;
}

main {
  margin-top: 9rem;
  overflow: hidden;
}
@media screen and (max-width: 1350px) {
  main {
    margin-top: 6.851852vw;
  }
}
@media screen and (max-width: 840px) {
  main {
    margin-top: 28.2051282051vw;
  }
}

#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  z-index: 100;
}

:root {
  --header-height: 90px;
}

body.admin-bar #header {
  top: 32px;
}

@media screen and (max-width: 782px) {
  body.admin-bar #header {
    top: 0;
  }
}
[id] {
  scroll-margin-top: var(--header-height);
}

body.admin-bar [id] {
  scroll-margin-top: calc(var(--header-height) + 32px);
}

@media screen and (max-width: 782px) {
  body.admin-bar [id] {
    scroll-margin-top: calc(var(--header-height) + 46px);
  }
}
/* フェードイン */
.fadeup {
  opacity: 0;
  transform: translateY(20px);
  transition-duration: 1s;
}

.fadeup.on {
  opacity: 1;
  transform: translateY(0);
}

.btn_line a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 37.8rem;
  height: 8rem;
  padding-left: 1.3rem;
  font-size: 1.6rem;
  color: #fff;
  background: #06c755;
  box-shadow: 0 0.5rem 0 #019b1d;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1200px) {
  .btn_line a {
    width: 31.5vw;
    height: 6.6666666667vw;
    padding-left: 1.0833333333vw;
    font-size: 1.3333333333vw;
    box-shadow: 0 0.4166666667vw 0 #019b1d;
  }
}
@media screen and (max-width: 840px) {
  .btn_line a {
    width: 89.7435897436vw;
    height: 17.9487179487vw;
    padding-left: 2.5641025641vw;
    font-size: 3.0769230769vw;
    box-shadow: 0 1.2820512821vw 0 #019b1d;
  }
}
.btn_line a img {
  position: absolute;
  top: 50%;
  left: 1.5rem;
  width: 3.5rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  .btn_line a img {
    left: 1.25vw;
    width: 2.9166666667vw;
  }
}
@media screen and (max-width: 840px) {
  .btn_line a img {
    left: 4.8717948718vw;
    width: 8.9743589744vw;
  }
}
.btn_line a p {
  letter-spacing: 0;
}
.btn_line a .top p {
  font-size: 2.7rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .btn_line a .top p {
    font-size: 2.25vw;
  }
}
@media screen and (max-width: 840px) {
  .btn_line a .top p {
    font-size: 5.8974358974vw;
  }
}
.btn_line a .triangle {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.7rem 0 0.7rem 0.7rem;
  border-color: transparent transparent transparent #fff;
  transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  .btn_line a .triangle {
    right: 1.25vw;
    border-width: 0.5833333333vw 0 0.5833333333vw 0.5833333333vw;
  }
}
@media screen and (max-width: 840px) {
  .btn_line a .triangle {
    right: 4.1538461538vw;
    border-width: 1.7948717949vw 0 1.7948717949vw 1.7948717949vw;
  }
}
.btn_line a:hover {
  box-shadow: 0 0 0 #019b1d;
  transform: translateY(0.5rem);
  opacity: 1;
}
@media screen and (max-width: 1200px) {
  .btn_line a:hover {
    box-shadow: 0 0 0 #019b1d;
    transform: translateY(0.4166666667vw);
  }
}
@media screen and (max-width: 1200px) {
  .btn_line a:hover {
    box-shadow: 0 0 0 #019b1d;
    transform: translateY(1.2820512821vw);
  }
}

.btn_tel a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 37.8rem;
  height: 8rem;
  font-size: 1.6rem;
  color: #fff;
  background: #e4292f;
  box-shadow: 0 0.5rem 0 #b60202;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1200px) {
  .btn_tel a {
    width: 31.5vw;
    height: 6.6666666667vw;
    font-size: 1.3333333333vw;
    box-shadow: 0 0.4166666667vw 0 #b60202;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  .btn_tel a {
    width: 89.7435897436vw;
    height: 17.9487179487vw;
    font-size: 3.0769230769vw;
    box-shadow: 0 1.2820512821vw 0 #b60202;
    border-radius: 1.2820512821vw;
  }
}
.btn_tel a img {
  position: absolute;
  top: 50%;
  left: 2.8rem;
  width: 1.98rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  .btn_tel a img {
    left: 2.3333333333vw;
    width: 1.65vw;
  }
}
@media screen and (max-width: 840px) {
  .btn_tel a img {
    left: 6.9230769231vw;
    width: 5.0769230769vw;
  }
}
.btn_tel a p {
  letter-spacing: 0.01em;
}
.btn_tel a .top p {
  font-size: 2.7rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .btn_tel a .top p {
    font-size: 2.25vw;
  }
}
@media screen and (max-width: 840px) {
  .btn_tel a .top p {
    font-size: 5.8974358974vw;
  }
}
.btn_tel a .triangle {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.7rem 0 0.7rem 0.7rem;
  border-color: transparent transparent transparent #fff;
  transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  .btn_tel a .triangle {
    right: 1.25vw;
    border-width: 0.5833333333vw 0 0.5833333333vw;
  }
}
@media screen and (max-width: 840px) {
  .btn_tel a .triangle {
    right: 4.1538461538vw;
    border-width: 1.7948717949vw 0 1.7948717949vw 1.7948717949vw;
  }
}
.btn_tel a:hover {
  box-shadow: 0 0 0 #b60202;
  transform: translateY(0.5rem);
  opacity: 1;
}
@media screen and (max-width: 1200px) {
  .btn_tel a:hover {
    box-shadow: 0 0 0 #b60202;
    transform: translateY(0.4166666667vw);
  }
}

.btn_mail a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 37.8rem;
  height: 8rem;
  padding-left: 0.6rem;
  font-size: 1.6rem;
  color: #fff;
  background: #25a6e3;
  box-shadow: 0 0.5rem 0 #0a78ad;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1200px) {
  .btn_mail a {
    width: 31.5vw;
    height: 6.6666666667vw;
    padding-left: 0.5vw;
    font-size: 1.3333333333vw;
    box-shadow: 0 0.4166666667vw 0 #0a78ad;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  .btn_mail a {
    width: 89.7435897436vw;
    height: 17.9487179487vw;
    padding-left: 0;
    font-size: 3.0769230769vw;
    box-shadow: 0 1.2820512821vw 0 #0a78ad;
    border-radius: 1.2820512821vw;
  }
}
.btn_mail a p {
  letter-spacing: 0.01em;
}
.btn_mail a img {
  position: absolute;
  top: 50%;
  left: 2.4rem;
  width: 2.8rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  .btn_mail a img {
    left: 2vw;
    width: 2.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  .btn_mail a img {
    left: 5.8974358974vw;
    width: 7.1794871795vw;
  }
}
.btn_mail a .top p {
  font-size: 2.7rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .btn_mail a .top p {
    font-size: 2.25vw;
  }
}
@media screen and (max-width: 840px) {
  .btn_mail a .top p {
    font-size: 5.8974358974vw;
  }
}
.btn_mail a .triangle {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.7rem 0 0.7rem 0.7rem;
  border-color: transparent transparent transparent #fff;
  transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  .btn_mail a .triangle {
    right: 1.25vw;
    border-width: 0.5833333333vw 0 0.5833333333vw 0.5833333333vw;
  }
}
@media screen and (max-width: 840px) {
  .btn_mail a .triangle {
    right: 4.1538461538vw;
    border-width: 1.7948717949vw 0 1.7948717949vw 1.7948717949vw;
  }
}
.btn_mail a:hover {
  box-shadow: 0 0 0 #0a78ad;
  transform: translateY(0.5rem);
  opacity: 1;
}
@media screen and (max-width: 1200px) {
  .btn_mail a:hover {
    box-shadow: 0 0 0 #0a78ad;
    transform: translateY(0.4166666667vw);
  }
}

.red {
  color: #e4292f;
}

.btn a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 35rem;
  height: 7rem;
  margin: 3.5rem auto 0;
  font-size: 2rem;
  font-weight: 700;
  background: #fff03a;
  box-shadow: 0 0.3rem 0 #cbbe28;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1200px) {
  .btn a {
    width: 29.1666666667vw;
    height: 5.8333333333vw;
    margin: 2.9166666667vw auto 0;
    font-size: 1.6666666667vw;
    box-shadow: 0 0.25vw 0 #cbbe28;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  .btn a {
    width: 73.0769230769vw;
    height: 15.3846153846vw;
    margin: 7.6923076923vw auto 0;
    font-size: 4.8717948718vw;
    box-shadow: 0 0.7692307692vw 0 #cbbe28;
    border-radius: 1.2820512821vw;
  }
}
.btn a .triangle {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.7rem 0 0.7rem 0.7rem;
  border-color: transparent transparent transparent #000;
  transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  .btn a .triangle {
    right: 1.6666666667vw;
    border-width: 0.5833333333vw 0 0.5833333333vw 0.5833333333vw;
  }
}
@media screen and (max-width: 840px) {
  .btn a .triangle {
    right: 4.358974359vw;
    border-width: 1.2820512821vw 0 1.2820512821vw 1.2820512821vw;
  }
}
.btn a:hover {
  box-shadow: 0 0 0 #cbbe28;
  transform: translateY(0.3rem);
  opacity: 1;
}
@media screen and (max-width: 1200px) {
  .btn a:hover {
    box-shadow: 0 0 0 #cbbe28;
    transform: translateY(0.25vw);
  }
}
.btn._b a {
  color: #fff;
  background: #292929;
  box-shadow: 0 0.3rem 0 #000;
}
.btn._b a .triangle {
  border-color: transparent transparent transparent #fff;
}

.title02._line {
  position: relative;
  padding-bottom: 1.5rem;
  margin-bottom: 2.5rem;
  font-size: 4rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .title02._line {
    padding-bottom: 1.25vw;
    margin-bottom: 2.0833333333vw;
    font-size: 3.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  .title02._line {
    padding-bottom: 3.3333333333vw;
    margin-bottom: 4.358974359vw;
    font-size: 7.6923076923vw;
  }
}
.title02._line:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 3.5rem;
  height: 0.3rem;
  background: #ffc300;
  transform: translateX(-50%);
}
@media screen and (max-width: 1200px) {
  .title02._line:after {
    width: 2.9166666667vw;
    height: 0.25vw;
  }
}
@media screen and (max-width: 840px) {
  .title02._line:after {
    width: 8.9743589744vw;
    height: 0.7692307692vw;
  }
}

.breadcrumb {
  padding: 2rem 0;
}
@media screen and (max-width: 1200px) {
  .breadcrumb {
    padding: 1.6666666667vw 0;
    font-size: 1.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  .breadcrumb {
    padding: 3.8461538462vw 0;
    font-size: 3.3333333333vw;
  }
}
.breadcrumb .wrap {
  align-items: center;
  flex-wrap: wrap;
  gap: 1.2rem;
}
@media screen and (max-width: 1200px) {
  .breadcrumb .wrap {
    gap: 1vw;
  }
}
@media screen and (max-width: 840px) {
  .breadcrumb .wrap {
    gap: 1.2820512821vw 3.0769230769vw;
  }
}
.breadcrumb .wrap li {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.3rem;
}
@media screen and (max-width: 1200px) {
  .breadcrumb .wrap li {
    gap: 1vw;
    font-size: 1.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  .breadcrumb .wrap li {
    gap: 3.0769230769vw;
    font-size: 3.3333333333vw;
  }
}
.breadcrumb .wrap li + li:before {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  margin-top: 0.2rem;
  border-left: 0.1rem solid #000;
  border-bottom: 0.1rem solid #000;
  transform: rotate(225deg);
}
@media screen and (max-width: 1200px) {
  .breadcrumb .wrap li + li:before {
    width: 0.4166666667vw;
    height: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  .breadcrumb .wrap li + li:before {
    width: 1.2820512821vw;
    height: 1.2820512821vw;
  }
}

.service_area {
  padding: 5rem 0 6rem;
  background: #fbf7de;
}
@media screen and (max-width: 1200px) {
  .service_area {
    padding: 4.1666666667vw 0 5vw;
  }
}
@media screen and (max-width: 840px) {
  .service_area {
    padding: 8.9743589744vw 0 10.2564102564vw;
  }
}
.service_area .center {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1200px) {
  .service_area .center {
    margin-bottom: 3.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  .service_area .center {
    margin-bottom: 6.1538461538vw;
  }
}
.service_area .center p {
  font-size: 2rem;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .service_area .center p {
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  .service_area .center p {
    font-size: 3.8461538462vw;
  }
}
.service_area .flex {
  flex-wrap: wrap;
  gap: 1.3rem;
}
@media screen and (max-width: 1200px) {
  .service_area .flex {
    gap: 1.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  .service_area .flex {
    gap: 2.5641025641vw;
  }
}
.service_area .flex .service_btn {
  width: 28rem;
}
@media screen and (max-width: 1200px) {
  .service_area .flex .service_btn {
    width: 23.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  .service_area .flex .service_btn {
    width: 43.5897435897vw;
  }
}
.service_area .flex .service_btn a {
  position: relative;
  display: block;
  padding: 2.5rem 1.5rem 1.9rem;
  background: #fff;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1200px) {
  .service_area .flex .service_btn a {
    padding: 2.0833333333vw 1.25vw 1.5833333333vw;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  .service_area .flex .service_btn a {
    padding: 5.1282051282vw 2.5641025641vw 5.641025641vw;
    border-radius: 1.2820512821vw;
  }
}
.service_area .flex .service_btn a .image {
  display: block;
  margin: auto;
  text-align: center;
}
.service_area .flex .service_btn a .title02 {
  margin: 1.3rem 0 0.9rem;
  font-size: 2.2rem;
  color: #e4292f;
  font-weight: 700;
  text-align: center;
  line-height: 1.090909;
}
@media screen and (max-width: 1200px) {
  .service_area .flex .service_btn a .title02 {
    margin: 1.0833333333vw 0 0.75vw;
    font-size: 1.8333333333vw;
  }
}
@media screen and (max-width: 840px) {
  .service_area .flex .service_btn a .title02 {
    margin: 2.8205128205vw 0 1.2820512821vw;
    font-size: 5.641025641vw;
  }
}
.service_area .flex .service_btn a p {
  font-size: 1.6rem;
  text-align: center;
  line-height: 1.625;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 1200px) {
  .service_area .flex .service_btn a p {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  .service_area .flex .service_btn a p {
    font-size: 3.8461538462vw;
  }
}
.service_area .flex .service_btn a .triangle {
  position: absolute;
  bottom: 0.72rem;
  right: 0.76rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.7rem 0 0.7rem 0.7rem;
  border-color: transparent transparent transparent #e4292f;
  transform: rotate(45deg);
}
@media screen and (max-width: 1200px) {
  .service_area .flex .service_btn a .triangle {
    bottom: 0.6vw;
    right: 0.6333333333vw;
    border-width: 0.5833333333vw 0 0.5833333333vw 0.5833333333vw;
  }
}
@media screen and (max-width: 840px) {
  .service_area .flex .service_btn a .triangle {
    bottom: 0.6666666667vw;
    right: 0.6666666667vw;
    border-width: 1.7948717949vw 0 1.7948717949vw 1.7948717949vw;
  }
}
.service_area .flex .service_btn:nth-of-type(1) a .image {
  width: 3.5rem;
}
@media screen and (max-width: 1200px) {
  .service_area .flex .service_btn:nth-of-type(1) a .image {
    width: 2.9166666667vw;
  }
}
@media screen and (max-width: 840px) {
  .service_area .flex .service_btn:nth-of-type(1) a .image {
    width: 6.4102564103vw;
  }
}
.service_area .flex .service_btn:nth-of-type(2) a .image {
  width: 3.857rem;
}
@media screen and (max-width: 1200px) {
  .service_area .flex .service_btn:nth-of-type(2) a .image {
    width: 3.2141666667vw;
  }
}
@media screen and (max-width: 840px) {
  .service_area .flex .service_btn:nth-of-type(2) a .image {
    width: 7.2538461538vw;
  }
}
.service_area .flex .service_btn:nth-of-type(3) a .image {
  width: 3.405rem;
}
@media screen and (max-width: 1200px) {
  .service_area .flex .service_btn:nth-of-type(3) a .image {
    width: 2.8375vw;
  }
}
@media screen and (max-width: 840px) {
  .service_area .flex .service_btn:nth-of-type(3) a .image {
    width: 6.2358974359vw;
  }
}
.service_area .flex .service_btn:nth-of-type(4) a .image {
  width: 3.2rem;
}
@media screen and (max-width: 1200px) {
  .service_area .flex .service_btn:nth-of-type(4) a .image {
    width: 2.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  .service_area .flex .service_btn:nth-of-type(4) a .image {
    width: 6.4102564103vw;
  }
}

.cta {
  padding: 6rem 0;
  background: url(../img/common/bg_cta.png), #fff03a;
}
@media screen and (max-width: 1200px) {
  .cta {
    padding: 5vw 0;
  }
}
@media screen and (max-width: 840px) {
  .cta {
    padding: 8.9743589744vw 0 10.2564102564vw;
  }
}
.cta .title_top {
  display: block;
  width: 38.274rem;
  margin: auto;
}
@media screen and (max-width: 1200px) {
  .cta .title_top {
    width: 31.895vw;
  }
}
@media screen and (max-width: 840px) {
  .cta .title_top {
    width: 81.3128205128vw;
  }
}
.cta .title02 {
  margin-bottom: 2.8rem;
  font-size: 5rem;
  font-weight: 800;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .cta .title02 {
    margin-bottom: 2.3333333333vw;
    font-size: 4.1666666667vw;
  }
}
@media screen and (max-width: 840px) {
  .cta .title02 {
    margin-bottom: 5.1282051282vw;
    font-size: 10.7692307692vw;
    line-height: 1.2619;
  }
}
.cta .flex {
  display: flex;
  justify-content: center;
  gap: 1.3rem;
  margin-bottom: 3.8rem;
}
@media screen and (max-width: 1200px) {
  .cta .flex {
    gap: 1.0833333333vw;
    margin-bottom: 3.1666666667vw;
  }
}
@media screen and (max-width: 840px) {
  .cta .flex {
    flex-wrap: wrap;
    gap: 3.3333333333vw;
    margin-bottom: 8.4615384615vw;
  }
}
.cta .shop_area {
  padding: 1.3rem 2.6rem 2.6rem;
  background: #fff;
  border: 0.5rem solid #ffc300;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1200px) {
  .cta .shop_area {
    padding: 1.0833333333vw 2.1666666667vw 2.1666666667vw;
    border: 0.4166666667vw solid #ffc300;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  .cta .shop_area {
    padding: 2.0512820513vw 5.641025641vw 5.3846153846vw;
    border: 0.7692307692vw solid #ffc300;
    border-radius: 1.2820512821vw;
  }
}
.cta .shop_area .red {
  margin-bottom: 0.3rem;
  font-size: 2.7rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .cta .shop_area .red {
    margin-bottom: 0.25vw;
    font-size: 2.25vw;
  }
}
@media screen and (max-width: 840px) {
  .cta .shop_area .red {
    margin-bottom: 0.7692307692vw;
    font-size: 5.641025641vw;
  }
}
.cta .shop_area .red .large {
  font-size: 3.3rem;
}
@media screen and (max-width: 1200px) {
  .cta .shop_area .red .large {
    font-size: 2.75vw;
  }
}
@media screen and (max-width: 840px) {
  .cta .shop_area .red .large {
    font-size: 7.6923076923vw;
  }
}
.cta .shop_area .red + p {
  font-size: 1.8rem;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .cta .shop_area .red + p {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 840px) {
  .cta .shop_area .red + p {
    font-size: 3.8461538462vw;
  }
}
.cta .shop_area ul {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 1.8rem;
}
@media screen and (max-width: 1200px) {
  .cta .shop_area ul {
    margin-top: 1.5vw;
  }
}
@media screen and (max-width: 840px) {
  .cta .shop_area ul {
    justify-content: flex-start;
    width: 74.8717948718vw;
    margin: 3.8461538462vw auto 0;
  }
}
.cta .shop_area ul li {
  padding: 0 1.5rem;
}
@media screen and (max-width: 1200px) {
  .cta .shop_area ul li {
    padding: 0 1.25vw;
  }
}
@media screen and (max-width: 840px) {
  .cta .shop_area ul li {
    width: 25%;
    padding: 0;
    text-align: center;
  }
}
.cta .shop_area ul li + li {
  position: relative;
}
.cta .shop_area ul li + li:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.1rem;
  height: 2.2rem;
  background: #c9c9c9;
  transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  .cta .shop_area ul li + li:before {
    height: 1.8333333333vw;
  }
}
@media screen and (max-width: 840px) {
  .cta .shop_area ul li + li:before {
    height: 5.1282051282vw;
  }
}
@media screen and (max-width: 840px) {
  .cta .shop_area ul li:nth-child(5):before, .cta .shop_area ul li:nth-child(9):before {
    display: none;
  }
}
@media screen and (max-width: 840px) {
  .cta .shop_area ul li:last-of-type:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 0.1rem;
    height: 5.1282051282vw;
    background: #c9c9c9;
    transform: translateY(-50%);
  }
}
.cta .shop_area ul li a {
  display: block;
  font-size: 2.2rem;
  font-weight: 700;
}
@media screen and (max-width: 1200px) {
  .cta .shop_area ul li a {
    font-size: 1.8333333333vw;
  }
}
@media screen and (max-width: 840px) {
  .cta .shop_area ul li a {
    font-size: 4.6153846154vw;
  }
}
.cta .shop_area .btn a {
  width: 37.8rem;
  height: 5rem;
  margin: 2.6rem auto 0;
  font-size: 2rem;
  color: #fff;
  background: #000;
  box-shadow: none;
}
@media screen and (max-width: 1200px) {
  .cta .shop_area .btn a {
    width: 31.5vw;
    height: 4.1666666667vw;
    margin: 2.1666666667vw auto 0;
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  .cta .shop_area .btn a {
    width: 78.4615384615vw;
    height: 12.0512820513vw;
    margin: 5.3846153846vw auto 0;
    font-size: 4.358974359vw;
  }
}
.cta .shop_area .btn a .triangle {
  border-color: transparent transparent transparent #fff;
}
.cta .shop_area .btn a:hover {
  transform: unset;
  opacity: 0.7;
}

.splide .splide__arrow {
  position: absolute;
  top: 50%;
  width: 3.5rem;
  height: 7rem;
  transform: translateY(-50%);
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  z-index: 2;
}
@media screen and (max-width: 1200px) {
  .splide .splide__arrow {
    width: 2.9166666667vw;
    height: 5.8333333333vw;
  }
}
@media screen and (max-width: 840px) {
  .splide .splide__arrow {
    width: 8.9743589744vw;
    height: 17.9487179487vw;
  }
}
.splide .splide__arrow.splide__arrow--prev {
  left: -5.5rem;
  background: url(../img/common/arrow_slide_prev.svg) no-repeat center center;
  background-size: 100% auto;
}
@media screen and (max-width: 1200px) {
  .splide .splide__arrow.splide__arrow--prev {
    left: -1.25vw;
  }
}
@media screen and (max-width: 840px) {
  .splide .splide__arrow.splide__arrow--prev {
    left: -4.8717948718vw;
  }
}
.splide .splide__arrow.splide__arrow--next {
  right: -5.5rem;
  background: url(../img/common/arrow_slide_next.svg) no-repeat center center;
  background-size: 100% auto;
}
@media screen and (max-width: 1200px) {
  .splide .splide__arrow.splide__arrow--next {
    right: -1.25vw;
  }
}
@media screen and (max-width: 840px) {
  .splide .splide__arrow.splide__arrow--next {
    right: -4.8717948718vw;
  }
}
.splide .splide__arrow:hover {
  opacity: 0.7;
}
.splide .splide__arrow svg {
  display: none;
}

#maker_area {
  padding: 5rem 0 6rem;
  background: #f4f4f4;
}
@media screen and (max-width: 1200px) {
  #maker_area {
    padding: 4.1666666667vw 0 5vw;
  }
}
@media screen and (max-width: 840px) {
  #maker_area {
    padding: 8.9743589744vw 0 10.7692307692vw;
  }
}
#maker_area .center {
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 1200px) {
  #maker_area .center {
    margin-bottom: 2.9166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #maker_area .center {
    margin-bottom: 6.4102564103vw;
  }
}
#maker_area .center p {
  font-size: 2rem;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  #maker_area .center p {
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #maker_area .center p {
    font-size: 3.8461538462vw;
  }
}
#maker_area .center.bottom {
  margin-top: 3rem;
  margin-bottom: 0;
}
@media screen and (max-width: 1200px) {
  #maker_area .center.bottom {
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 840px) {
  #maker_area .center.bottom {
    margin-top: 6.4102564103vw;
  }
}
#maker_area ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.3rem 6rem;
  padding: 1.5rem 0 3rem;
  background: #fff;
  border: 0.5rem solid #ffc300;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1200px) {
  #maker_area ul {
    gap: 1.0833333333vw 5vw;
    padding: 1.25vw 0 2.5vw;
    border: 0.4166666667vw solid #ffc300;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #maker_area ul {
    gap: 1.2820512821vw 2.5641025641vw;
    padding: 3.8461538462vw 3.8461538462vw 6.1538461538vw;
    border: 0.7692307692vw solid #ffc300;
    border-radius: 1.2820512821vw;
  }
}
#maker_area ul li {
  width: 21.2rem;
}
@media screen and (max-width: 1200px) {
  #maker_area ul li {
    width: 17.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #maker_area ul li {
    width: calc((100% - 3.8461538462vw) / 2);
  }
}
#maker_area ul li a {
  display: block;
}
#maker_area ul li a img {
  display: block;
  width: 87.2641509434%;
  margin: auto;
}
#maker_area ul li a p {
  margin-top: 0.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 1200px) {
  #maker_area ul li a p {
    margin-top: 0.4166666667vw;
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 840px) {
  #maker_area ul li a p {
    margin-top: 0.7692307692vw;
    font-size: 3.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #maker_area .btn a {
    width: 79.4871794872vw;
  }
}

#voice {
  padding: 5rem 0 6rem;
}
@media screen and (max-width: 1200px) {
  #voice {
    padding: 4.1666666667vw 0 5vw;
  }
}
@media screen and (max-width: 840px) {
  #voice {
    padding: 8.9743589744vw 0 10.2564102564vw;
  }
}
#voice .center {
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 1200px) {
  #voice .center {
    margin-bottom: 2.9166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #voice .center {
    margin-bottom: 6.4102564103vw;
  }
}
#voice .center p {
  font-size: 2rem;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  #voice .center p {
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #voice .center p {
    font-size: 3.8461538462vw;
  }
}
#voice #voice_slide .splide__slide {
  padding: 2.5rem 3rem;
  border: 0.1rem solid #dedede;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1200px) {
  #voice #voice_slide .splide__slide {
    padding: 2.0833333333vw 2.5vw;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #voice #voice_slide .splide__slide {
    padding: 4.6153846154vw 6.4102564103vw 4.1025641026vw;
    border-radius: 1.2820512821vw;
  }
}
#voice #voice_slide .splide__slide .flex {
  align-items: center;
  gap: 2.5rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 1200px) {
  #voice #voice_slide .splide__slide .flex {
    gap: 2.0833333333vw;
    margin-bottom: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #voice #voice_slide .splide__slide .flex {
    gap: 5.641025641vw;
    margin-bottom: 3.8461538462vw;
  }
}
#voice #voice_slide .splide__slide .flex figure {
  width: 8rem;
}
@media screen and (max-width: 1200px) {
  #voice #voice_slide .splide__slide .flex figure {
    width: 6.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #voice #voice_slide .splide__slide .flex figure {
    width: 20.5128205128vw;
  }
}
#voice #voice_slide .splide__slide .flex .info .name {
  margin-bottom: 0.5rem;
  font-size: 2rem;
  font-weight: 600;
}
@media screen and (max-width: 1200px) {
  #voice #voice_slide .splide__slide .flex .info .name {
    margin-bottom: 0.4166666667vw;
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #voice #voice_slide .splide__slide .flex .info .name {
    margin-bottom: 1.2820512821vw;
    font-size: 4.1025641026vw;
  }
}
#voice #voice_slide .splide__slide .flex .info .place {
  font-size: 1.5rem;
  font-weight: 600;
}
@media screen and (max-width: 1200px) {
  #voice #voice_slide .splide__slide .flex .info .place {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 840px) {
  #voice #voice_slide .splide__slide .flex .info .place {
    font-size: 3.3333333333vw;
  }
}
#voice #voice_slide .splide__slide p {
  font-size: 1.7rem;
}
@media screen and (max-width: 1200px) {
  #voice #voice_slide .splide__slide p {
    font-size: 1.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #voice #voice_slide .splide__slide p {
    font-size: 3.8461538462vw;
  }
}

#qa_area {
  padding: 5rem 0 6rem;
}
@media screen and (max-width: 1200px) {
  #qa_area {
    padding: 4.1666666667vw 0 5vw;
  }
}
@media screen and (max-width: 840px) {
  #qa_area {
    padding: 8.9743589744vw 0 10.7692307692vw;
  }
}
#qa_area .center {
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 1200px) {
  #qa_area .center {
    margin-bottom: 2.9166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #qa_area .center {
    margin-bottom: 7.4358974359vw;
  }
}
#qa_area .center p {
  font-size: 2rem;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  #qa_area .center p {
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #qa_area .center p {
    font-size: 3.8461538462vw;
  }
}
#qa_area .qa_content {
  max-width: 77rem;
  margin: auto;
}
#qa_area .qa_content .acc {
  padding: 2.3rem 2.5rem 2.2rem;
  background: #fff;
  border: 0.1rem solid #dedede;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1200px) {
  #qa_area .qa_content .acc {
    padding: 1.9166666667vw 2.0833333333vw 1.8333333333vw;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #qa_area .qa_content .acc {
    padding: 3.8461538462vw 3.8461538462vw 4.1025641026vw;
    border-radius: 1.2820512821vw;
  }
}
#qa_area .qa_content .acc dt {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font-size: 2rem;
  font-weight: 700;
  cursor: pointer;
}
@media screen and (max-width: 1200px) {
  #qa_area .qa_content .acc dt {
    gap: 1.25vw;
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #qa_area .qa_content .acc dt {
    gap: 2.5641025641vw;
    font-size: 4.1025641026vw;
  }
}
#qa_area .qa_content .acc dt .en {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 4rem;
  height: 3.5rem;
  font-size: 2.3rem;
  color: #fff;
  background: #000;
  clip-path: polygon(25% 0%, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
}
@media screen and (max-width: 1200px) {
  #qa_area .qa_content .acc dt .en {
    width: 3.3333333333vw;
    height: 2.9166666667vw;
    font-size: 1.9166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #qa_area .qa_content .acc dt .en {
    width: 7.4025641026vw;
    height: 6.4102564103vw;
    font-size: 4.358974359vw;
  }
}
#qa_area .qa_content .acc dt .txt {
  flex: 1;
}
#qa_area .qa_content .acc dt .arrow {
  position: relative;
  width: 2rem;
  height: 2rem;
}
@media screen and (max-width: 1200px) {
  #qa_area .qa_content .acc dt .arrow {
    width: 1.6666666667vw;
    height: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #qa_area .qa_content .acc dt .arrow {
    width: 3.8461538462vw;
    height: 3.8461538462vw;
  }
}
#qa_area .qa_content .acc dt .arrow:before, #qa_area .qa_content .acc dt .arrow:after {
  position: absolute;
  top: 0;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 0.3rem;
  margin: auto;
  background: #e4292f;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media screen and (max-width: 1200px) {
  #qa_area .qa_content .acc dt .arrow:before, #qa_area .qa_content .acc dt .arrow:after {
    height: 0.25vw;
  }
}
@media screen and (max-width: 840px) {
  #qa_area .qa_content .acc dt .arrow:before, #qa_area .qa_content .acc dt .arrow:after {
    height: 0.7692307692vw;
  }
}
#qa_area .qa_content .acc dt .arrow:after {
  transform: rotate(90deg);
}
#qa_area .qa_content .acc dt.acc_active .arrow:after {
  transform: rotate(0);
}
#qa_area .qa_content .acc dd {
  display: none;
  padding-right: 4.5rem;
  margin-top: 1.5rem;
  font-size: 1.8rem;
}
@media screen and (max-width: 1200px) {
  #qa_area .qa_content .acc dd {
    padding-right: 3.75vw;
    margin-top: 1.25vw;
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 840px) {
  #qa_area .qa_content .acc dd {
    padding-right: 6.4102564103vw;
    margin-top: 3.2051282051vw;
    font-size: 3.8461538462vw;
  }
}
#qa_area .qa_content .acc dd .flex {
  align-items: baseline;
  gap: 1.5rem;
}
@media screen and (max-width: 1200px) {
  #qa_area .qa_content .acc dd .flex {
    gap: 1.25vw;
  }
}
@media screen and (max-width: 840px) {
  #qa_area .qa_content .acc dd .flex {
    gap: 3.0769230769vw;
  }
}
#qa_area .qa_content .acc dd .en {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 4rem;
  height: 3.5rem;
  font-size: 2.3rem;
  color: #fff;
  background: #e4292f;
  clip-path: polygon(25% 0%, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
}
@media screen and (max-width: 1200px) {
  #qa_area .qa_content .acc dd .en {
    width: 3.3333333333vw;
    height: 2.9166666667vw;
    font-size: 1.9166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #qa_area .qa_content .acc dd .en {
    width: 7.4025641026vw;
    height: 6.4102564103vw;
    font-size: 4.358974359vw;
  }
}
#qa_area .qa_content .acc dd .txt {
  flex: 1;
}
#qa_area .qa_content .acc + .acc {
  margin-top: 0.8rem;
}
@media screen and (max-width: 1200px) {
  #qa_area .qa_content .acc + .acc {
    margin-top: 0.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #qa_area .qa_content .acc + .acc {
    margin-top: 1.7948717949vw;
  }
}

#shop {
  padding: 6rem 0;
}
@media screen and (max-width: 1200px) {
  #shop {
    padding: 5vw 0;
  }
}
@media screen and (max-width: 840px) {
  #shop {
    padding: 10.2564102564vw 0;
  }
}
#shop .title_top {
  display: block;
  width: 32.674rem;
  margin: auto;
}
@media screen and (max-width: 1200px) {
  #shop .title_top {
    width: 27.2283333333vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .title_top {
    width: 61.8256410256vw;
  }
}
#shop .title02 {
  margin-bottom: 2rem;
  font-size: 3.8rem;
  color: #e4292f;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  #shop .title02 {
    margin-bottom: 1.6666666667vw;
    font-size: 3.1666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .title02 {
    margin-bottom: 3.8461538462vw;
    font-size: 7.1794871795vw;
  }
}
#shop .title02:after {
  display: none;
}
#shop .title02 .en {
  font-size: 5.5rem;
}
@media screen and (max-width: 1200px) {
  #shop .title02 .en {
    font-size: 4.5833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .title02 .en {
    font-size: 11.7948717949vw;
  }
}
#shop .center {
  margin-bottom: 4rem;
}
@media screen and (max-width: 1200px) {
  #shop .center {
    margin-bottom: 3.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .center {
    margin-bottom: 5.641025641vw;
  }
}
#shop .center p {
  font-size: 2rem;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  #shop .center p {
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .center p {
    font-size: 3.8461538462vw;
  }
}
#shop .cat_area {
  max-width: 84.5rem;
  padding: 1.5rem;
  margin: 0 auto 4rem;
  border: 0.3rem solid #ffc300;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1200px) {
  #shop .cat_area {
    padding: 1.25vw;
    margin: 0 auto 3.3333333333vw;
    border: 0.25vw solid #ffc300;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .cat_area {
    padding: 3.8461538462vw;
    margin: 0 auto 7.6923076923vw;
    border: 0.7692307692vw solid #ffc300;
    border-radius: 1.2820512821vw;
  }
}
#shop .cat_area ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem 1rem;
}
@media screen and (max-width: 1200px) {
  #shop .cat_area ul {
    gap: 0.75vw 0.8333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .cat_area ul {
    gap: 2.5641025641vw;
  }
}
#shop .cat_area ul li {
  width: calc((100% - 4rem) / 5);
}
@media screen and (max-width: 1200px) {
  #shop .cat_area ul li {
    width: calc((100% - 3.3333333333vw) / 5);
  }
}
@media screen and (max-width: 1200px) {
  #shop .cat_area ul li {
    width: calc((100% - 2.5641025641vw) / 2);
  }
}
#shop .cat_area ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 5.5rem;
  font-size: 1.5rem;
  text-align: center;
  font-weight: 700;
  line-height: 1.25;
  background: #fff03a;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1200px) {
  #shop .cat_area ul li a {
    height: 4.5833333333vw;
    font-size: 1.25vw;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .cat_area ul li a {
    height: 14.1025641026vw;
    font-size: 3.8461538462vw;
    border-radius: 1.2820512821vw;
  }
}
#shop .shop_list .shop_list_in + .shop_list_in {
  margin-top: 3.5rem;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .shop_list_in + .shop_list_in {
    margin-top: 2.9166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .shop_list_in + .shop_list_in {
    margin-top: 10.2564102564vw;
  }
}
#shop .shop_list .shop_list_in > .title03 {
  padding: 1.2rem 2rem 1.4rem;
  margin-bottom: 2rem;
  font-size: 2rem;
  color: #fff;
  font-weight: 700;
  background: #000;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .shop_list_in > .title03 {
    padding: 1vw 1.6666666667vw 1.1666666667vw;
    margin-bottom: 1.6666666667vw;
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .shop_list_in > .title03 {
    padding: 3.3333333333vw 5.1282051282vw 3.8461538462vw;
    margin-bottom: 2.5641025641vw;
    font-size: 4.6153846154vw;
  }
}
#shop .shop_list .flex {
  flex-wrap: wrap;
  gap: 2.5rem;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex {
    gap: 2.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex {
    gap: 2.5641025641vw;
  }
}
#shop .shop_list .flex .box {
  width: calc((100% - 5rem) / 3);
  padding: 1.7rem 2rem 2.2rem;
  border: 0.1rem solid #000;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box {
    width: calc((100% - 4.1666666667vw) / 3);
    padding: 1.4166666667vw 1.6666666667vw 1.8333333333vw;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box {
    width: 100%;
    padding: 4.358974359vw 5.1282051282vw 4.6153846154vw;
    border-radius: 1.2820512821vw;
  }
}
#shop .shop_list .flex .box .box_flex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box .box_flex {
    margin-bottom: 0.8333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .box_flex {
    margin-bottom: 2.5641025641vw;
  }
}
#shop .shop_list .flex .box .box_flex .left {
  max-width: 15.5rem;
  width: 46.9696969697%;
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .box_flex .left {
    max-width: none;
    width: 46.4516129032%;
  }
}
#shop .shop_list .flex .box .box_flex .left .title04 {
  margin-bottom: 0.8rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.388888;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box .box_flex .left .title04 {
    margin-bottom: 0.6666666667vw;
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .box_flex .left .title04 {
    margin-bottom: 2.0512820513vw;
    font-size: 4.6153846154vw;
  }
}
#shop .shop_list .flex .box .box_flex .left .review_list {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box .box_flex .left .review_list {
    gap: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .box_flex .left .review_list {
    gap: 1.2820512821vw;
  }
}
#shop .shop_list .flex .box .box_flex .left .review_list .avarage {
  font-size: 1.3rem;
  font-weight: 700;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box .box_flex .left .review_list .avarage {
    font-size: 1.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .box_flex .left .review_list .avarage {
    font-size: 3.3333333333vw;
  }
}
#shop .shop_list .flex .box .box_flex .left .review_list .ti-platform-icon {
  display: none;
}
#shop .shop_list .flex .box .box_flex .left .review_list .star {
  font-size: 1.2rem;
  color: #ffc300;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box .box_flex .left .review_list .star {
    font-size: 1vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .box_flex .left .review_list .star {
    font-size: 3.0769230769vw;
  }
}
#shop .shop_list .flex .box .box_flex .left .review_list .total {
  font-size: 1.3rem;
  font-weight: 700;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box .box_flex .left .review_list .total {
    font-size: 1.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .box_flex .left .review_list .total {
    font-size: 3.3333333333vw;
  }
}
#shop .shop_list .flex .box .box_flex .left .review_list .ti-widget[data-layout-id="109"][data-set-id=light-minimal] {
  text-align: left;
}
#shop .shop_list .flex .box .box_flex .left .review_list .ti-widget[data-layout-id="109"][data-set-id=light-minimal] .ti-header .ti-fade-container {
  justify-content: flex-start;
}
#shop .shop_list .flex .box .box_flex .left .review_list .ti-fade-container:nth-child(1) {
  justify-content: flex-start;
}
#shop .shop_list .flex .box .box_flex .right {
  position: relative;
  max-width: 15.5rem;
  width: 46.9696969697%;
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .box_flex .right {
    max-width: none;
    width: 50%;
  }
}
#shop .shop_list .flex .box .box_flex .right .area_cat {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 2.5rem;
  padding: 0 0.8rem;
  font-size: 1.1rem;
  font-weight: 700;
  background: #fff03a;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box .box_flex .right .area_cat {
    height: 2.0833333333vw;
    padding: 0 0.6666666667vw;
    font-size: 0.9166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .box_flex .right .area_cat {
    height: 6.4102564103vw;
    padding: 0 2.0512820513vw;
    font-size: 2.8205128205vw;
  }
}
#shop .shop_list .flex .box .time {
  margin-bottom: 1rem;
  font-size: 1.3rem;
  text-align: center;
  font-weight: 700;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box .time {
    margin-bottom: 0.8333333333vw;
    font-size: 1.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .time {
    margin-bottom: 2.8205128205vw;
    font-size: 3.3333333333vw;
  }
}
#shop .shop_list .flex .box .btn_tel {
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box .btn_tel {
    margin-bottom: 1.25vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .btn_tel {
    margin-bottom: 3.8461538462vw;
  }
}
#shop .shop_list .flex .box .btn_tel a {
  flex-direction: unset;
  gap: 1.5rem;
  width: 100%;
  height: 5.7rem;
  font-size: 3rem;
  font-weight: 700;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box .btn_tel a {
    gap: 1.25vw;
    height: 4.75vw;
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .btn_tel a {
    gap: 3.8461538462vw;
    height: 14.6153846154vw;
    font-size: 7.6923076923vw;
  }
}
#shop .shop_list .flex .box .btn_tel a img {
  position: unset;
  width: 1.44rem;
  transform: unset;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box .btn_tel a img {
    width: 1.2vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .btn_tel a img {
    width: 3.6923076923vw;
  }
}
#shop .shop_list .flex .box .btn_tel a .arrow {
  position: absolute;
  top: 50%;
  right: 1.43rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.6rem 0 0.6rem 0.6rem;
  border-color: transparent transparent transparent #fff;
  transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box .btn_tel a .arrow {
    right: 1.1916666667vw;
    border-width: 0.5vw 0 0.5vw 0.5vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .btn_tel a .arrow {
    right: 3.6666666667vw;
    border-width: 1.5384615385vw 0 1.5384615385vw 1.5384615385vw;
  }
}
#shop .shop_list .flex .box .btn_area {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
}
#shop .shop_list .flex .box .btn_area .btn_g {
  width: calc((100% - 1rem) / 2);
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box .btn_area .btn_g {
    width: calc((100% - 0.8333333333vw) / 2);
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .btn_area .btn_g {
    width: calc((100% - 2.5641025641vw) / 2);
  }
}
#shop .shop_list .flex .box .btn_area .btn_g a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: unset;
  gap: 0.54rem;
  width: 100%;
  height: 4.2rem;
  font-size: 1.5rem;
  color: #000;
  font-weight: 700;
  background: #dedede;
  border-radius: 0.5rem;
  box-shadow: 0 0.3rem 0 0 #bebebe;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box .btn_area .btn_g a {
    gap: 0.45vw;
    height: 3.5vw;
    font-size: 1.25vw;
    border-radius: 0.4166666667vw;
    box-shadow: 0 0.25vw 0 0 #bebebe;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .btn_area .btn_g a {
    gap: 1.4615384615vw;
    height: 10.7692307692vw;
    font-size: 3.8461538462vw;
    border-radius: 1.2820512821vw;
    box-shadow: 0 0.7692307692vw 0 0 #bebebe;
  }
}
#shop .shop_list .flex .box .btn_area .btn_g a img {
  width: 1.3rem;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box .btn_area .btn_g a img {
    width: 1.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .btn_area .btn_g a img {
    width: 3.3333333333vw;
  }
}
#shop .shop_list .flex .box .btn_area .btn_g a .arrow {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.5rem 0 0.5rem 0.6rem;
  border-color: transparent transparent transparent #000;
  transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box .btn_area .btn_g a .arrow {
    right: 0.625vw;
    border-width: 0.4166666667vw 0 0.4166666667vw 0.5vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .btn_area .btn_g a .arrow {
    right: 1.9230769231vw;
    border-width: 1.2820512821vw 0 1.2820512821vw 1.5384615385vw;
  }
}
#shop .shop_list .flex .box .btn_area .btn_g a:hover {
  box-shadow: 0 0 0 #000;
  transform: translateY(0.5rem);
  opacity: 1;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .flex .box .btn_area .btn_g a:hover {
    transform: translateY(0.4166666667vw);
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .flex .box .btn_area .btn_g a:hover {
    transform: translateY(1.2820512821vw);
  }
}
#shop .shop_list .bottom {
  margin-top: 3.5rem;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .bottom {
    margin-top: 2.9166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .bottom {
    margin-top: 5.1282051282vw;
  }
}
#shop .shop_list .bottom .title03 {
  width: -moz-fit-content;
  width: fit-content;
  padding-bottom: 0.4rem;
  margin: 0 auto 2.4rem;
  font-size: 2rem;
  text-align: center;
  font-weight: 700;
  border-bottom: 0.3rem solid #fff03a;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .bottom .title03 {
    padding-bottom: 0.3333333333vw;
    margin: 0 auto 2vw;
    font-size: 1.6666666667vw;
    border-bottom: 0.25vw solid #fff03a;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .bottom .title03 {
    padding-bottom: 0.7948717949vw;
    margin: 0 auto 3.8205128205vw;
    font-size: 5.1282051282vw;
    border-bottom: 0.7692307692vw solid #fff03a;
  }
}
#shop .shop_list .bottom .box_area {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .bottom .box_area {
    gap: 1.25vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .bottom .box_area {
    gap: 2.5641025641vw;
  }
}
#shop .shop_list .bottom .box_area .g_box {
  width: 24rem;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .bottom .box_area .g_box {
    width: 20vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .bottom .box_area .g_box {
    width: calc((100% - 2.5641025641vw) / 2);
  }
}
#shop .shop_list .bottom .box_area .g_box a {
  position: relative;
  display: block;
  padding: 1.3rem 0.8rem 1.2rem;
  border: 0.1rem solid #dedede;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .bottom .box_area .g_box a {
    padding: 1.0833333333vw 0.6666666667vw 1vw;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .bottom .box_area .g_box a {
    padding: 3.3333333333vw 2.5641025641vw 3.3333333333vw;
    border-radius: 1.2820512821vw;
  }
}
#shop .shop_list .bottom .box_area .g_box a .title04 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.9rem;
  font-size: 2rem;
  color: #e4292f;
  font-weight: 700;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .bottom .box_area .g_box a .title04 {
    gap: 0.8333333333vw;
    margin-bottom: 0.75vw;
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .bottom .box_area .g_box a .title04 {
    gap: 2.5641025641vw;
    margin-bottom: 2.3076923077vw;
    font-size: 5.1282051282vw;
  }
}
#shop .shop_list .bottom .box_area .g_box a .title04 img {
  width: 2.14rem;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .bottom .box_area .g_box a .title04 img {
    width: 1.7833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .bottom .box_area .g_box a .title04 img {
    width: 5.4871794872vw;
  }
}
#shop .shop_list .bottom .box_area .g_box a p {
  font-size: 1.5rem;
  text-align: center;
  line-height: 1.466666;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .bottom .box_area .g_box a p {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .bottom .box_area .g_box a p {
    font-size: 3.8461538462vw;
  }
}
#shop .shop_list .bottom .box_area .g_box a .arrow {
  position: absolute;
  bottom: 0.26rem;
  right: 0.32rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.7rem 0 0.7rem 0.7rem;
  border-color: transparent transparent transparent #e4292f;
  transform: rotate(45deg);
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .bottom .box_area .g_box a .arrow {
    bottom: 0.2166666667vw;
    right: 0.2666666667vw;
    border-width: 0.5833333333vw 0 0.5833333333vw 0.5833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .bottom .box_area .g_box a .arrow {
    bottom: 0.5641025641vw;
    right: 0.6666666667vw;
    border-width: 1.7948717949vw 0 1.7948717949vw 1.7948717949vw;
  }
}
#shop .shop_list .bottom .box_area .g_box:nth-of-type(2) a .title04 img {
  width: 2.7rem;
}
@media screen and (max-width: 1200px) {
  #shop .shop_list .bottom .box_area .g_box:nth-of-type(2) a .title04 img {
    width: 2.25vw;
  }
}
@media screen and (max-width: 840px) {
  #shop .shop_list .bottom .box_area .g_box:nth-of-type(2) a .title04 img {
    width: 6.9230769231vw;
  }
}

#cat_area {
  padding: 5rem 0 6rem;
}
@media screen and (max-width: 1200px) {
  #cat_area {
    padding: 4.1666666667vw 0 5vw;
  }
}
@media screen and (max-width: 840px) {
  #cat_area {
    padding: 8.9743589744vw 0 10.2564102564vw;
  }
}
#cat_area .center {
  margin-bottom: 3.5rem;
}
@media screen and (max-width: 1200px) {
  #cat_area .center {
    margin-bottom: 2.9166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #cat_area .center {
    margin-bottom: 5.1282051282vw;
  }
}
#cat_area .center p {
  font-size: 2rem;
  text-align: center;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 1200px) {
  #cat_area .center p {
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #cat_area .center p {
    font-size: 3.8461538462vw;
  }
}
#cat_area ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
@media screen and (max-width: 1200px) {
  #cat_area ul {
    gap: 0.8333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #cat_area ul {
    gap: 1.5384615385vw;
  }
}
#cat_area ul li {
  width: 18.5rem;
}
@media screen and (max-width: 1200px) {
  #cat_area ul li {
    width: 15.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #cat_area ul li {
    width: 21.2820512821vw;
  }
}
#cat_area ul li a {
  display: block;
  padding: 1.5rem;
  border: 0.1rem solid #dedede;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1200px) {
  #cat_area ul li a {
    padding: 1.25vw;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #cat_area ul li a {
    padding: 3.8461538462vw 1.2820512821vw;
    border-radius: 1.2820512821vw;
  }
}
#cat_area ul li a img {
  display: block;
  width: 10rem;
  margin: auto;
}
@media screen and (max-width: 1200px) {
  #cat_area ul li a img {
    width: 8.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #cat_area ul li a img {
    width: 100%;
  }
}
#cat_area ul li a p {
  margin-top: 1.3rem;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  #cat_area ul li a p {
    margin-top: 1.0833333333vw;
    font-size: 1.8333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #cat_area ul li a p {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 2.5em;
    margin-top: 2.8205128205vw;
    font-size: 4.358974359vw;
    letter-spacing: 0.01em;
    line-height: 1.3529;
  }
}

#main_title_area.simple_head {
  height: 22rem;
  background: #fff03a;
  overflow: hidden;
  justify-content: space-between;
  align-items: center;
  display: flex;
  text-align: center;
}
#main_title_area.simple_head .wrap {
  width: 100%;
}
#main_title_area.simple_head .en {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
}
#main_title_area.simple_head h1 {
  margin-top: 1.4rem;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 1200px) {
  #main_title_area.simple_head {
    height: 16.6666666667vw;
  }
  #main_title_area.simple_head .en {
    font-size: 1.6666666667vw;
  }
  #main_title_area.simple_head h1 {
    margin-top: 1.1666666667vw;
    font-size: 3.5vw;
  }
}
@media screen and (max-width: 840px) {
  #main_title_area.simple_head {
    height: 33.3333333333vw;
  }
  #main_title_area.simple_head .en {
    font-size: 3.5vw;
  }
  #main_title_area.simple_head h1 {
    margin-top: 0.8rem;
    font-size: 7vw;
  }
}

.blog_archive__side .side_box + .side_box {
  margin-top: 4.5rem;
}
.blog_archive__side .side_title {
  display: flex;
  align-items: baseline;
  gap: 2rem;
  font-size: 2.1rem;
  font-weight: 700;
  padding-bottom: 1.4rem;
  padding-left: 1.4rem;
  border-bottom: 2px solid #000;
  position: relative;
}
@media screen and (max-width: 840px) {
  .blog_archive__side .side_title {
    font-size: 5.3846153846vw;
    padding-bottom: 3.5897435897vw;
    padding-left: 3.5897435897vw;
  }
}
.blog_archive__side .side_title::before {
  content: "";
  width: 8rem;
  height: 0.2rem;
  background-color: #e4292f;
  position: absolute;
  left: 0;
  bottom: -2px;
}
.blog_archive__side .side_title .en {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 840px) {
  .blog_archive__side .side_title .en {
    font-size: 3.5897435897vw;
  }
}
.blog_archive__side .blog-search-form {
  display: flex;
  align-items: center;
  background: #f4f4f4;
  border-radius: 0.5rem;
}
.blog_archive__side .blog-search-form input::-moz-placeholder {
  color: #cccccc;
}
.blog_archive__side .blog-search-form input::placeholder {
  color: #cccccc;
}
@media screen and (max-width: 840px) {
  .blog_archive__side .blog-search-form input::-moz-placeholder {
    font-size: 3.8461538462vw;
  }
  .blog_archive__side .blog-search-form input::placeholder {
    font-size: 3.8461538462vw;
  }
}
.blog_archive__side .blog-search-form__input {
  flex: 1;
  border: 0;
  padding: 2.2rem;
  font-size: 1.5rem;
  background: transparent;
}
@media screen and (max-width: 840px) {
  .blog_archive__side .blog-search-form__input {
    padding: 4.6153846154vw;
    font-size: 3.5897435897vw;
  }
}
.blog_archive__side .blog-search-form__input:focus {
  outline: none;
}
.blog_archive__side .blog-search-form__button {
  display: grid;
  place-items: center;
  width: 4.8rem;
  height: 4.8rem;
  border: 0;
  background: transparent;
  cursor: pointer;
}
@media screen and (max-width: 840px) {
  .blog_archive__side .blog-search-form__button {
    width: 12.3076923077vw;
    height: 12.3076923077vw;
  }
}
.blog_archive__side .blog-search-form__button svg {
  width: 2rem;
  height: 2rem;
}
@media screen and (max-width: 840px) {
  .blog_archive__side .blog-search-form__button svg {
    width: 4.358974359vw;
    height: 4.358974359vw;
  }
}
.blog_archive__side .category_list li {
  border-bottom: 1px solid #d3d3d3;
  padding: 0 1.5rem;
}
@media screen and (max-width: 840px) {
  .blog_archive__side .category_list li {
    padding: 0 3.5897435897vw;
  }
}
.blog_archive__side .category_list a {
  display: flex;
  justify-content: space-between;
  padding: 18px 0;
  text-decoration: none;
  font-size: 14px;
  align-items: center;
}
@media screen and (max-width: 840px) {
  .blog_archive__side .category_list a {
    font-size: 3.8461538462vw;
  }
}
.blog_archive__side .category_list .arrow {
  display: inline-flex;
}
.blog_archive__side .category_list .arrow::after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #e4292f;
  border-right: 2px solid #e4292f;
  transform: rotate(45deg);
}
.blog_archive__side .no-post {
  margin: 2rem 0 0;
}
.blog_archive__side .popular_list__item {
  border-bottom: 1px solid #d3d3d3;
  margin-top: 2.5rem;
}
.blog_archive__side .popular_list__item a {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 16px;
  padding-bottom: 2rem;
}
@media screen and (max-width: 840px) {
  .blog_archive__side .popular_list__item a {
    grid-template-columns: 38.4615384615vw minmax(0, 1fr);
    gap: 5.1282051282vw;
  }
}
.blog_archive__side .popular_list__item .thumb {
  aspect-ratio: 4/3;
  background: #f2f2f2;
}
@media screen and (max-width: 840px) {
  .blog_archive__side .popular_list__item .thumb {
    width: 38.4615384615vw;
  }
}
.blog_archive__side .popular_list__item .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem;
}
.blog_archive__side .popular_list__item .meta {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}
@media screen and (max-width: 840px) {
  .blog_archive__side .popular_list__item .meta {
    gap: 2.5641025641vw;
    margin-bottom: 2.5641025641vw;
  }
}
.blog_archive__side .popular_list__item .cat {
  background: #e4292f;
  color: #fff;
  font-size: 1.3rem;
  padding: 5px;
  border-radius: 0.3rem;
  line-height: 1;
}
@media screen and (max-width: 840px) {
  .blog_archive__side .popular_list__item .cat {
    font-size: 3.0769230769vw;
    padding: 1.2820512821vw;
  }
}
.blog_archive__side .popular_list__item .date {
  font-size: 1.5rem;
  color: #aaaaaa;
}
@media screen and (max-width: 840px) {
  .blog_archive__side .popular_list__item .date {
    font-size: 3.3333333333vw;
  }
}
.blog_archive__side .popular_list__item .title {
  font-size: 1.7rem;
}
@media screen and (max-width: 840px) {
  .blog_archive__side .popular_list__item .title {
    font-size: 3.8461538462vw;
  }
}

#visit-area {
  padding: 6rem 0 6.3rem;
  background: #fbf7de;
}
@media screen and (max-width: 1200px) {
  #visit-area {
    padding: 5vw 0 5.25vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area {
    padding: 8.9743589744vw 0 11.0256410256vw;
  }
}
#visit-area .wrap {
  max-width: 77rem;
}
#visit-area figure {
  margin: 0 auto 4rem;
}
@media screen and (max-width: 1200px) {
  #visit-area figure {
    margin: 0 auto 3.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area figure {
    margin: 0 auto 5.1282051282vw;
  }
}
#visit-area .area_con + .area_con {
  margin-top: 3rem;
}
@media screen and (max-width: 1200px) {
  #visit-area .area_con + .area_con {
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .area_con + .area_con {
    margin-top: 5.1282051282vw;
  }
}
#visit-area .area_con .title03 {
  margin-bottom: 1rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.35;
}
@media screen and (max-width: 1200px) {
  #visit-area .area_con .title03 {
    margin-bottom: 0.8333333333vw;
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .area_con .title03 {
    margin-bottom: 1.7948717949vw;
    font-size: 4.358974359vw;
    line-height: 1.705882;
  }
}
#visit-area .area_con p {
  font-size: 1.8rem;
  line-height: 1.5;
}
@media screen and (max-width: 1200px) {
  #visit-area .area_con p {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .area_con p {
    font-size: 3.8461538462vw;
    line-height: 1.6;
  }
}
#visit-area .red {
  margin-top: 3.9rem;
  font-size: 1.8rem;
}
@media screen and (max-width: 1200px) {
  #visit-area .red {
    margin-top: 3.25vw;
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .red {
    margin-top: 7.5897435897vw;
    font-size: 3.8461538462vw;
  }
}
#visit-area .btn_area {
  display: flex;
  justify-content: center;
  gap: 1.4rem;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area {
    gap: 1.1666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area {
    flex-wrap: wrap;
    gap: 2.8205128205vw;
  }
}
#visit-area .btn_area .btn_r,
#visit-area .btn_area .btn_g {
  width: 37.8rem;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area .btn_r,
  #visit-area .btn_area .btn_g {
    width: 31.5vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area .btn_r,
  #visit-area .btn_area .btn_g {
    width: 100%;
  }
}
#visit-area .btn_area .btn_r a,
#visit-area .btn_area .btn_g a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  height: 9rem;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area .btn_r a,
  #visit-area .btn_area .btn_g a {
    height: 7.5vw;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area .btn_r a,
  #visit-area .btn_area .btn_g a {
    height: 19.2307692308vw;
    border-radius: 1.2820512821vw;
  }
}
#visit-area .btn_area .btn_r a p,
#visit-area .btn_area .btn_g a p {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.3rem;
  font-weight: 700;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area .btn_r a p,
  #visit-area .btn_area .btn_g a p {
    font-size: 1.9166666667vw;
  }
}
#visit-area .btn_area .btn_r a .small,
#visit-area .btn_area .btn_g a .small {
  margin-top: 0.37rem;
  font-size: 1.3rem;
  text-align: center;
  font-weight: 500;
  line-height: 1.384615;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area .btn_r a .small,
  #visit-area .btn_area .btn_g a .small {
    margin-top: 0.3083333333vw;
    font-size: 1.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area .btn_r a .small,
  #visit-area .btn_area .btn_g a .small {
    margin-top: 0.7692307692vw;
    font-size: 3.5897435897vw;
  }
}
#visit-area .btn_area .btn_r a .arrow,
#visit-area .btn_area .btn_g a .arrow {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.7rem 0 0.7rem 0.7rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area .btn_r a .arrow,
  #visit-area .btn_area .btn_g a .arrow {
    right: 1.25vw;
    border-width: 0.5833333333vw 0 0.5833333333vw 0.5833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area .btn_r a .arrow,
  #visit-area .btn_area .btn_g a .arrow {
    right: 4.1538461538vw;
    border-width: 1.7948717949vw 0 1.7948717949vw 1.7948717949vw;
  }
}
#visit-area .btn_area .btn_r a:hover,
#visit-area .btn_area .btn_g a:hover {
  transform: translateY(0.5rem);
  opacity: 1;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area .btn_r a:hover,
  #visit-area .btn_area .btn_g a:hover {
    transform: translateY(0.4166666667vw);
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area .btn_r a:hover,
  #visit-area .btn_area .btn_g a:hover {
    transform: translateY(1.2820512821vw);
  }
}
#visit-area .btn_area .btn_r a {
  color: #fff;
  background: #e4292f;
  box-shadow: 0 0.5rem 0 0 #b60202;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area .btn_r a {
    box-shadow: 0 0.4166666667vw 0 0 #b60202;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area .btn_r a {
    box-shadow: 0 1.2820512821vw 0 0 #b60202;
  }
}
#visit-area .btn_area .btn_r a p {
  gap: 1.5rem;
  font-size: 1.8rem;
  line-height: 1;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area .btn_r a p {
    gap: 1.25vw;
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area .btn_r a p {
    gap: 2.5641025641vw;
    font-size: 3.8461538462vw;
  }
}
#visit-area .btn_area .btn_r a p img {
  width: 1.38rem;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area .btn_r a p img {
    width: 1.15vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area .btn_r a p img {
    width: 3.2307692308vw;
  }
}
#visit-area .btn_area .btn_r a .tel {
  margin: 0.6rem 0;
  font-size: 3rem;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area .btn_r a .tel {
    margin: 0.5vw 0;
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area .btn_r a .tel {
    margin: 0.5128205128vw 0;
    font-size: 6.9230769231vw;
  }
}
#visit-area .btn_area .btn_r a .small {
  margin-top: 0;
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area .btn_r a .small {
    font-size: 3.3333333333vw;
  }
}
#visit-area .btn_area .btn_r a .arrow {
  border-color: transparent transparent transparent #fff;
}
#visit-area .btn_area .btn_r a:hover {
  box-shadow: 0 0 0 #b60202;
}
#visit-area .btn_area .btn_g a {
  color: #fff;
  background: #09c655;
  box-shadow: 0 0.5rem 0 0 #019b1d;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area .btn_g a {
    box-shadow: 0 0.4166666667vw 0 0 #019b1d;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area .btn_g a {
    box-shadow: 0 1.2820512821vw 0 0 #019b1d;
  }
}
#visit-area .btn_area .btn_g a p {
  gap: 0.5rem;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area .btn_g a p {
    gap: 0.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area .btn_g a p {
    gap: 2.5641025641vw;
    font-size: 6.4102564103vw;
  }
}
#visit-area .btn_area .btn_g a p img {
  width: 2.5rem;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area .btn_g a p img {
    width: 2.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area .btn_g a p img {
    width: 6.4102564103vw;
  }
}
#visit-area .btn_area .btn_g a .arrow {
  border-color: transparent transparent transparent #fff;
}
#visit-area .btn_area .btn_g a:hover {
  box-shadow: 0 0 0 #019b1d;
}
#visit-area .btn_area.under {
  margin-top: 4rem;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area.under {
    margin-top: 3.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area.under {
    margin-top: 3.5897435897vw;
  }
}
#visit-area .btn_area.under .btn_r a,
#visit-area .btn_area.under .btn_g a {
  height: 8rem;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area.under .btn_r a,
  #visit-area .btn_area.under .btn_g a {
    height: 6.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area.under .btn_r a,
  #visit-area .btn_area.under .btn_g a {
    height: 17.9487179487vw;
  }
}
#visit-area .btn_area.under .btn_r a .small,
#visit-area .btn_area.under .btn_g a .small {
  margin-top: 0;
  font-size: 1.6rem;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area.under .btn_r a .small,
  #visit-area .btn_area.under .btn_g a .small {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area.under .btn_r a .small,
  #visit-area .btn_area.under .btn_g a .small {
    font-size: 3.0769230769vw;
  }
}
#visit-area .btn_area.under .btn_r a p {
  font-size: 3rem;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area.under .btn_r a p {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area.under .btn_r a p {
    font-size: 7.6923076923vw;
  }
}
#visit-area .btn_area.under .btn_r a .small {
  display: block;
  margin-bottom: 0.6rem;
  font-size: 1.6rem;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area.under .btn_r a .small {
    margin-bottom: 0.5vw;
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area.under .btn_r a .small {
    margin-bottom: 1.2820512821vw;
    font-size: 3.8461538462vw;
  }
}
#visit-area .btn_area.under .btn_r a .small span {
  font-size: 1.3rem;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area.under .btn_r a .small span {
    font-size: 1.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area.under .btn_r a .small span {
    font-size: 3.0769230769vw;
  }
}
#visit-area .btn_area.under .btn_r a img {
  width: 1.32rem;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area.under .btn_r a img {
    width: 1.1vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area.under .btn_r a img {
    width: 3.1282051282vw;
  }
}
#visit-area .btn_area.under .btn_g a {
  padding-left: 2rem;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area.under .btn_g a {
    padding-left: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area.under .btn_g a {
    padding-left: 1.5384615385vw;
  }
}
#visit-area .btn_area.under .btn_g a p {
  font-size: 2.7rem;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area.under .btn_g a p {
    font-size: 2.25vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area.under .btn_g a p {
    font-size: 5.8974358974vw;
  }
}
#visit-area .btn_area.under .btn_g a img {
  position: absolute;
  top: 50%;
  left: 1.5rem;
  width: 3.5rem;
  transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  #visit-area .btn_area.under .btn_g a img {
    left: 1.25vw;
    width: 2.9166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #visit-area .btn_area.under .btn_g a img {
    left: 4.8717948718vw;
    width: 8.4615384615vw;
  }
}

/* -----------------
footer
-------------------- */
#footer {
  position: relative;
  padding: 6rem 0 2.4rem;
  background: #1d1d1d;
}
@media screen and (max-width: 1200px) {
  #footer {
    padding: 5vw 0 2vw;
  }
}
@media screen and (max-width: 840px) {
  #footer {
    padding: 0;
  }
}
#footer * {
  color: #fff;
}
@media screen and (max-width: 840px) {
  #footer .wrap {
    width: 100%;
  }
}
#footer .flex {
  justify-content: space-between;
}
@media screen and (max-width: 840px) {
  #footer .flex {
    display: block;
  }
}
#footer .flex .main_nav {
  display: flex;
  gap: 10rem;
}
@media screen and (max-width: 1200px) {
  #footer .flex .main_nav {
    gap: 8.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .flex .main_nav {
    display: block;
    background: #fff;
  }
}
#footer .flex .main_nav .in .title02 {
  position: relative;
  padding-left: 2.2rem;
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: bold;
}
@media screen and (max-width: 1200px) {
  #footer .flex .main_nav .in .title02 {
    padding-left: 1.8333333333vw;
    margin-bottom: 1.6666666667vw;
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .flex .main_nav .in .title02 {
    padding: 5.5128205128vw 11.2820512821vw 6.0256410256vw;
    margin-bottom: 0;
    font-size: 4.358974359vw;
    color: #fff;
    background: #1d1d1d;
  }
}
#footer .flex .main_nav .in .title02:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.4rem;
  height: 2.2rem;
  background: #fff03a;
  transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  #footer .flex .main_nav .in .title02:before {
    width: 0.3333333333vw;
    height: 1.8333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .flex .main_nav .in .title02:before {
    left: 6.4102564103vw;
    width: 1.0256410256vw;
    height: 5.641025641vw;
  }
}
#footer .flex .main_nav .in ul {
  margin: 0 2.2rem;
}
@media screen and (max-width: 1200px) {
  #footer .flex .main_nav .in ul {
    margin: 0 1.8333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .flex .main_nav .in ul {
    margin: 0;
  }
}
#footer .flex .main_nav .in ul li {
  font-size: 1.7rem;
  font-weight: bold;
}
@media screen and (max-width: 1200px) {
  #footer .flex .main_nav .in ul li {
    font-size: 1.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .flex .main_nav .in ul li {
    font-size: 4.1025641026vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .flex .main_nav .in ul li a {
    position: relative;
    display: flex;
    align-items: center;
    padding: 3.7179487179vw 6.4102564103vw 4.2307692308vw;
    font-size: 4.1025641026vw;
    color: #000;
    pointer-events: none;
  }
}
@media screen and (max-width: 840px) {
  #footer .flex .main_nav .in ul li a .arrow {
    position: absolute;
    top: 50%;
    right: 7.0512820513vw;
    display: block;
    width: 4.2820512821vw;
    height: 2.6666666667vw;
    transform: translateY(-1.2820512821vw);
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  }
}
@media screen and (max-width: 840px) {
  #footer .flex .main_nav .in ul li a .arrow::before, #footer .flex .main_nav .in ul li a .arrow::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: calc(50% - 0.3205128205vw);
    width: 0.641025641vw;
    height: 3.3333333333vw;
    border-radius: 9999px;
    background-color: #e4292f;
    transform-origin: 50% calc(100% - 0.3205128205vw);
  }
}
#footer .flex .main_nav .in ul li a .arrow::before {
  transform: rotate(45deg);
}
#footer .flex .main_nav .in ul li a .arrow::after {
  transform: rotate(-45deg);
}
@media screen and (max-width: 840px) {
  #footer .flex .main_nav .in ul li.acc_active a .arrow {
    transform: translateY(-1.7948717949vw) rotate(180deg);
  }
}
#footer .flex .main_nav .in ul li + li {
  margin-top: 1.5rem;
}
@media screen and (max-width: 1200px) {
  #footer .flex .main_nav .in ul li + li {
    margin-top: 1.25vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .flex .main_nav .in ul li + li {
    margin-top: 0;
    border-top: 0.1rem solid #dedede;
  }
}
#footer .flex .main_nav .in ul li .child_cat {
  display: none;
}
@media screen and (max-width: 840px) {
  #footer .flex .main_nav .in ul li .child_cat ul {
    display: flex;
    flex-wrap: wrap;
    gap: 4.6153846154vw 5.8974358974vw;
    padding: 5.7692307692vw 7.6923076923vw 5.5128205128vw;
    background: #f8f8f8;
  }
}
@media screen and (max-width: 840px) {
  #footer .flex .main_nav .in ul li .child_cat ul li {
    font-size: 3.5897435897vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .flex .main_nav .in ul li .child_cat ul li a {
    padding: 0;
    font-weight: 500;
    pointer-events: auto !important;
  }
}
@media screen and (max-width: 840px) {
  #footer .flex .main_nav .in ul li .child_cat ul li + li {
    border-top: none;
  }
}
#footer .flex .main_nav .in.maker ul li a {
  pointer-events: auto !important;
}
#footer .flex .other_nav {
  display: flex;
  justify-content: flex-end;
  gap: 8rem;
}
@media screen and (max-width: 1200px) {
  #footer .flex .other_nav {
    gap: 6.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .flex .other_nav {
    justify-content: space-between;
    gap: 0;
    padding: 8.358974359vw 6.4102564103vw 9.0769230769vw;
    background: #1d1d1d;
  }
}
#footer .flex .other_nav ul li {
  font-size: 1.6rem;
}
@media screen and (max-width: 1200px) {
  #footer .flex .other_nav ul li {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .flex .other_nav ul li {
    font-size: 3.5897435897vw;
  }
}
#footer .flex .other_nav ul li a {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
@media screen and (max-width: 1200px) {
  #footer .flex .other_nav ul li a {
    gap: 1vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .flex .other_nav ul li a {
    gap: 3.5641025641vw;
    color: #fff;
  }
}
#footer .flex .other_nav ul li a img {
  width: 1.2rem;
}
@media screen and (max-width: 1200px) {
  #footer .flex .other_nav ul li a img {
    width: 1vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .flex .other_nav ul li a img {
    width: 2.8205128205vw;
  }
}
#footer .flex .other_nav ul li + li {
  margin-top: 1em;
}
#footer .footer_mid {
  margin: 5.88rem 0 4.55rem;
}
@media screen and (max-width: 1200px) {
  #footer .footer_mid {
    margin: 4.9vw 0 3.7916666667vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .footer_mid {
    margin: 3.7435897436vw 0 11.5384615385vw;
  }
}
#footer .footer_mid .footer_logo {
  width: 28.849rem;
  margin: 0 auto 2rem;
}
@media screen and (max-width: 1200px) {
  #footer .footer_mid .footer_logo {
    width: 24.0408333333vw;
    margin: 0 auto 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .footer_mid .footer_logo {
    width: 70.8256410256vw;
    margin: 0 auto 4.3333333333vw;
  }
}
#footer .footer_mid p {
  font-size: 1.5rem;
  text-align: center;
  line-height: 1.733333;
}
@media screen and (max-width: 1200px) {
  #footer .footer_mid p {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .footer_mid p {
    font-size: 3.8461538462vw;
  }
}
#footer .footer_mid .sns {
  display: flex;
  justify-content: center;
  gap: 1.3rem;
  margin-top: 2.49rem;
}
@media screen and (max-width: 1200px) {
  #footer .footer_mid .sns {
    gap: 1.0833333333vw;
    margin-top: 2.075vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .footer_mid .sns {
    gap: 3.3333333333vw;
    margin-top: 5.1282051282vw;
  }
}
#footer .footer_mid .sns li {
  width: 5rem;
}
@media screen and (max-width: 1200px) {
  #footer .footer_mid .sns li {
    width: 4.1666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .footer_mid .sns li {
    width: 12.8205128205vw;
  }
}
#footer .footer_bottom {
  display: flex;
  justify-content: space-between;
  padding-top: 2rem;
  border-top: 0.1rem solid #404040;
}
@media screen and (max-width: 1200px) {
  #footer .footer_bottom {
    padding-top: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .footer_bottom {
    justify-content: center;
    flex-wrap: wrap;
    gap: 2.0512820513vw;
    padding-top: 3.9743589744vw;
    padding-bottom: 21.1282051282vw;
  }
}
#footer .footer_bottom p {
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 1200px) {
  #footer .footer_bottom p {
    font-size: 1.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .footer_bottom p {
    font-size: 3.3333333333vw;
    text-align: center;
  }
}
#footer .footer_bottom .copy {
  font-size: 1.2rem;
  color: #898989;
  font-weight: 400;
}
@media screen and (max-width: 1200px) {
  #footer .footer_bottom .copy {
    font-size: 1vw;
  }
}
@media screen and (max-width: 840px) {
  #footer .footer_bottom .copy {
    font-size: 3.0769230769vw;
  }
}

.btn_top {
  position: absolute;
  bottom: 3rem;
  right: 3rem;
  width: 12rem;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media screen and (max-width: 1200px) {
  .btn_top {
    bottom: 2.5vw;
    right: 2.5vw;
    width: 10vw;
  }
}
@media screen and (max-width: 840px) {
  .btn_top {
    bottom: 39.7435897436vw;
    right: 2.7692307692vw;
    width: 20.5717948718vw;
  }
}
.btn_top:hover {
  opacity: 0.7;
}

@media screen and (max-width: 840px) {
  .floating {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 100vw;
    z-index: 3;
  }
}
@media screen and (max-width: 840px) {
  .floating .flex .btn_line,
  .floating .flex .btn_tel {
    width: 50%;
  }
}
@media screen and (max-width: 840px) {
  .floating .flex .btn_line a,
  .floating .flex .btn_tel a {
    width: 100%;
    height: 15.3846153846vw;
    font-size: 2.8205128205vw;
  }
}
@media screen and (max-width: 840px) {
  .floating .flex .btn_line a img,
  .floating .flex .btn_tel a img {
    position: unset;
    transform: unset;
  }
}
@media screen and (max-width: 840px) {
  .floating .flex .btn_line a .top,
  .floating .flex .btn_tel a .top {
    display: flex;
    align-content: center;
    justify-content: center;
    gap: 1.7948717949vw;
  }
}
@media screen and (max-width: 840px) {
  .floating .flex .btn_line a .top p,
  .floating .flex .btn_tel a .top p {
    font-size: 4.1025641026vw;
  }
}
@media screen and (max-width: 840px) {
  .floating .flex .btn_line a .triangle,
  .floating .flex .btn_tel a .triangle {
    top: 4.1025641026vw;
    right: 2.0512820513vw;
    border-width: 1.2820512821vw 0 1.2820512821vw 1.2820512821vw;
    transform: unset;
  }
}
@media screen and (max-width: 840px) {
  .floating .flex .btn_line a img {
    width: 5.3820512821vw;
  }
}
@media screen and (max-width: 840px) {
  .floating .flex .btn_tel a {
    border-radius: 0;
  }
}
@media screen and (max-width: 840px) {
  .floating .flex .btn_tel a img {
    width: 3.0769230769vw;
  }
}
@media screen and (max-width: 840px) {
  .floating.sp {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    transform: translateY(0);
    transition: all 0.25s ease;
    will-change: transform;
    opacity: 0;
  }
}
@media screen and (max-width: 840px) {
  .floating.sp.is-open {
    transform: translateY(100%);
    opacity: 1;
  }
}

body.fixed {
  height: 100vh;
  overflow: hidden;
}

#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  z-index: 100;
}
#header #header_top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 9rem;
  padding: 1rem 4rem 1.6rem;
}
@media screen and (max-width: 1350px) {
  #header #header_top {
    height: 6.6666666667vw;
    padding: 0.7407407407vw 2.962962963vw 1.1851851852vw;
  }
}
@media screen and (max-width: 840px) {
  #header #header_top {
    height: 15.3846153846vw;
    padding: 2.5641025641vw 2.5641025641vw 2.5641025641vw 3.8461538462vw;
  }
}
#header #header_top .logo {
  width: 25.781rem;
}
@media screen and (max-width: 1350px) {
  #header #header_top .logo {
    width: 19.097037037vw;
  }
}
@media screen and (max-width: 840px) {
  #header #header_top .logo {
    width: 42.4948717949vw;
  }
}
#header #header_top .logo a {
  display: block;
}
#header #header_top .logo a img {
  vertical-align: baseline;
}
#header #header_top .header_btn_area {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4rem;
}
@media screen and (max-width: 1350px) {
  #header #header_top .header_btn_area {
    gap: 2.962962963vw;
  }
}
@media screen and (max-width: 840px) {
  #header #header_top .header_btn_area {
    gap: 3.3333333333vw;
  }
}
#header #header_top .header_btn_area .nav {
  display: flex;
  gap: 3rem;
}
@media screen and (max-width: 1350px) {
  #header #header_top .header_btn_area .nav {
    gap: 1vw;
  }
}
#header #header_top .header_btn_area .nav li {
  font-size: 1.6rem;
  font-weight: bold;
}
@media screen and (max-width: 1350px) {
  #header #header_top .header_btn_area .nav li {
    font-size: 1.1851851852vw;
  }
}
#header #header_top .header_btn_area .btn_area {
  display: flex;
  gap: 1rem;
}
@media screen and (max-width: 1350px) {
  #header #header_top .header_btn_area .btn_area {
    gap: 0.7407407407vw;
  }
}
@media screen and (max-width: 840px) {
  #header #header_top .header_btn_area .btn_area {
    gap: 2.5641025641vw;
  }
}
@media screen and (max-width: 840px) {
  #header #header_top .header_btn_area .btn_area.sp {
    display: flex !important;
  }
}
#header #header_top .header_btn_area .btn_area .btn_line a {
  width: 23rem;
  height: 7rem;
  font-size: 1.3rem;
  box-shadow: 0 0.6rem 0 #019b1d;
}
@media screen and (max-width: 1350px) {
  #header #header_top .header_btn_area .btn_area .btn_line a {
    width: 17.037037037vw;
    height: 5.1851851852vw;
    font-size: 0.962962963vw;
  }
}
#header #header_top .header_btn_area .btn_area .btn_line a img {
  position: unset;
  width: 2.099rem;
  transform: unset;
}
@media screen and (max-width: 1350px) {
  #header #header_top .header_btn_area .btn_area .btn_line a img {
    width: 1.5548148148vw;
  }
}
#header #header_top .header_btn_area .btn_area .btn_line a .top {
  display: flex;
  align-content: center;
  justify-content: center;
  gap: 1rem;
}
@media screen and (max-width: 1350px) {
  #header #header_top .header_btn_area .btn_area .btn_line a .top {
    gap: 0.7407407407vw;
  }
}
#header #header_top .header_btn_area .btn_area .btn_line a .top p {
  font-size: 1.8rem;
}
@media screen and (max-width: 1350px) {
  #header #header_top .header_btn_area .btn_area .btn_line a .top p {
    font-size: 1.3333333333vw;
  }
}
#header #header_top .header_btn_area .btn_area .btn_line a:hover {
  box-shadow: 0 0 0 #019b1d;
}
#header #header_top .header_btn_area .btn_area .btn_tel a {
  width: 23rem;
  height: 7rem;
  font-size: 1.3rem;
  box-shadow: 0 0.6rem 0 #cc0709;
}
@media screen and (max-width: 1350px) {
  #header #header_top .header_btn_area .btn_area .btn_tel a {
    width: 17.037037037vw;
    height: 5.1851851852vw;
    font-size: 0.962962963vw;
    box-shadow: 0 0.4444444444vw 0 #cc0709;
  }
}
#header #header_top .header_btn_area .btn_area .btn_tel a img {
  position: unset;
  width: 1.2rem;
  transform: unset;
}
@media screen and (max-width: 1350px) {
  #header #header_top .header_btn_area .btn_area .btn_tel a img {
    width: 0.8888888889vw;
  }
}
#header #header_top .header_btn_area .btn_area .btn_tel a .top {
  display: flex;
  align-content: center;
  justify-content: center;
  gap: 1rem;
}
@media screen and (max-width: 1350px) {
  #header #header_top .header_btn_area .btn_area .btn_tel a .top {
    gap: 0.7407407407vw;
  }
}
#header #header_top .header_btn_area .btn_area .btn_tel a .top p {
  font-size: 1.8rem;
}
@media screen and (max-width: 1350px) {
  #header #header_top .header_btn_area .btn_area .btn_tel a .top p {
    font-size: 1.3333333333vw;
  }
}
#header #header_top .header_btn_area .btn_area .btn_tel a:hover {
  box-shadow: 0 0 0 #cc0709;
}
@media screen and (max-width: 840px) {
  #header #header_top .header_btn_area .btn_area .btn_header a {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 1.1538461538vw;
  }
}
@media screen and (max-width: 840px) {
  #header #header_top .header_btn_area .btn_area .btn_header a img {
    width: 4.1025641026vw;
  }
}
@media screen and (max-width: 840px) {
  #header #header_top .header_btn_area .btn_area .btn_header a span {
    font-size: 2.8205128205vw;
    font-weight: 700;
    letter-spacing: 0;
  }
}
#header #header_top .header_btn_area .btn_menu {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 2.6rem;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media screen and (max-width: 1350px) {
  #header #header_top .header_btn_area .btn_menu {
    width: 2.962962963vw;
    height: 1.9259259259vw;
  }
}
@media screen and (max-width: 840px) {
  #header #header_top .header_btn_area .btn_menu {
    width: 10.2564102564vw;
    height: 10.2564102564vw;
    background: #e4292f;
    border-radius: 0.7692307692vw;
  }
}
#header #header_top .header_btn_area .btn_menu:hover {
  opacity: 0.7;
}
@media screen and (max-width: 840px) {
  #header #header_top .header_btn_area .btn_menu:hover {
    opacity: 1;
  }
}
#header #header_top .header_btn_area .btn_menu .toggle {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 840px) {
  #header #header_top .header_btn_area .btn_menu .toggle {
    width: 5.641025641vw;
    height: 3.6256410256vw;
  }
}
#header #header_top .header_btn_area .btn_menu .toggle span {
  display: inline-block;
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  height: 0.4rem;
  margin: auto;
  background-color: #e4292f;
  border-radius: 0.2rem;
  transition: all 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media screen and (max-width: 1350px) {
  #header #header_top .header_btn_area .btn_menu .toggle span {
    height: 0.2962962963vw;
    border-radius: 0.1481481481vw;
  }
}
@media screen and (max-width: 840px) {
  #header #header_top .header_btn_area .btn_menu .toggle span {
    height: 0.2rem;
    border-radius: 0.1rem;
    background-color: #fff;
  }
}
#header #header_top .header_btn_area .btn_menu .toggle span:nth-of-type(1) {
  top: 0;
}
#header #header_top .header_btn_area .btn_menu .toggle span:nth-of-type(2) {
  top: 0;
  bottom: 0;
  margin: auto;
}
#header #header_top .header_btn_area .btn_menu .toggle span:nth-of-type(3) {
  bottom: 0;
}
#header #header_top .header_btn_area .btn_menu .toggle.active span:nth-of-type(1) {
  transform: translateY(9px) rotate(140deg);
}
@media screen and (max-width: 1350px) {
  #header #header_top .header_btn_area .btn_menu .toggle.active span:nth-of-type(1) {
    transform: translateY(0.6666666667vw) rotate(140deg);
  }
}
@media screen and (max-width: 840px) {
  #header #header_top .header_btn_area .btn_menu .toggle.active span:nth-of-type(1) {
    transform: translateY(1.5384615385vw) rotate(140deg);
  }
}
#header #header_top .header_btn_area .btn_menu .toggle.active span:nth-of-type(2) {
  opacity: 0;
}
#header #header_top .header_btn_area .btn_menu .toggle.active span:nth-of-type(3) {
  top: 0;
  bottom: auto;
  transform: translateY(9px) rotate(-140deg);
}
@media screen and (max-width: 1350px) {
  #header #header_top .header_btn_area .btn_menu .toggle.active span:nth-of-type(3) {
    transform: translateY(0.6666666667vw) rotate(-140deg);
  }
}
@media screen and (max-width: 840px) {
  #header #header_top .header_btn_area .btn_menu .toggle.active span:nth-of-type(3) {
    transform: translateY(1.5384615385vw) rotate(-140deg);
  }
}
#header #header_bottom {
  position: relative;
  display: none;
}
@media screen and (max-width: 840px) {
  #header #header_bottom {
    display: flex;
  }
}
#header #header_bottom .header_bottom_btn {
  position: relative;
  width: 50%;
}
#header #header_bottom .header_bottom_btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3rem;
  width: 100%;
  height: 7rem;
  font-size: 2.4rem;
  color: #fff;
  font-weight: bold;
  background: #000;
}
@media screen and (max-width: 1350px) {
  #header #header_bottom .header_bottom_btn a {
    gap: 2.2222222222vw;
    height: 5.1851851852vw;
    font-size: 1.7777777778vw;
  }
}
@media screen and (max-width: 840px) {
  #header #header_bottom .header_bottom_btn a {
    position: relative;
    gap: 0;
    height: 12.8205128205vw;
    font-size: 4.6153846154vw;
  }
}
#header #header_bottom .header_bottom_btn a .triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.9rem 0 0.9rem 0.9rem;
  border-color: transparent transparent transparent #fff;
}
@media screen and (max-width: 1350px) {
  #header #header_bottom .header_bottom_btn a .triangle {
    border-width: 0.6666666667vw 0 0.6666666667vw 0.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #header #header_bottom .header_bottom_btn a .triangle {
    position: absolute;
    top: 50%;
    right: 3.9743589744vw;
    border-width: 1.2820512821vw 0 1.2820512821vw 1.2820512821vw;
    transform: translateY(-50%);
  }
}
#header #header_bottom .header_bottom_btn + .header_bottom_btn:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.1rem;
  height: 5rem;
  background: #939393;
  transform: translateY(-50%);
  z-index: 2;
}
@media screen and (max-width: 1350px) {
  #header #header_bottom .header_bottom_btn + .header_bottom_btn:before {
    height: 0.3703703704vw;
  }
}
@media screen and (max-width: 840px) {
  #header #header_bottom .header_bottom_btn + .header_bottom_btn:before {
    height: 7.6923076923vw;
  }
}

#gnav {
  position: relative;
  position: fixed;
  top: 9rem;
  left: 0;
  width: 100%;
  height: 100vh;
  padding: 4rem 0 2.6rem;
  background: #fff;
  transform-origin: top;
  transform: scaleY(0);
  z-index: 110;
  transition: transform 0.25s;
}
@media screen and (max-width: 1350px) {
  #gnav {
    top: 6.6666666667vw;
  }
}
@media screen and (max-width: 1200px) {
  #gnav {
    padding: 3.3333333333vw 0 2.1666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav {
    top: 28.2051282051vw;
    height: calc(100vh - 28.2051282051vw);
    padding: 0;
    -webkit-overflow-scrolling: touch;
    overflow-y: scroll;
  }
}
#gnav.on {
  transform: scaleY(1);
}
@media screen and (max-width: 840px) {
  #gnav .wrap {
    width: 100%;
  }
}
@media screen and (max-width: 840px) {
  #gnav .sp_nav ul li a {
    display: flex;
    align-items: center;
    gap: 3.9743589744vw;
    padding: 5.5128205128vw 6.6666666667vw 5.9230769231vw;
    font-size: 4.358974359vw;
    font-weight: 700;
  }
}
@media screen and (max-width: 840px) {
  #gnav .sp_nav ul li + li {
    border-top: 0.1rem solid #dedede;
  }
}
@media screen and (max-width: 840px) {
  #gnav .sp_nav ul li:nth-of-type(1) a img {
    width: 4.8717948718vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .sp_nav ul li:nth-of-type(2) a img {
    width: 5.1282051282vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .sp_nav ul li:nth-of-type(3) a img {
    width: 5.1282051282vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .sp_nav ul li:nth-of-type(4) a img {
    width: 5.1282051282vw;
  }
}
#gnav .flex {
  justify-content: space-between;
}
@media screen and (max-width: 840px) {
  #gnav .flex {
    display: block;
  }
}
#gnav .flex .main_nav {
  display: flex;
  gap: 10rem;
}
@media screen and (max-width: 1200px) {
  #gnav .flex .main_nav {
    gap: 8.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .flex .main_nav {
    display: block;
  }
}
#gnav .flex .main_nav .in .title02 {
  position: relative;
  padding-left: 2.2rem;
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: bold;
}
@media screen and (max-width: 1200px) {
  #gnav .flex .main_nav .in .title02 {
    padding-left: 1.8333333333vw;
    margin-bottom: 1.6666666667vw;
    font-size: 1.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .flex .main_nav .in .title02 {
    padding: 5.5128205128vw 11.2820512821vw 6.0256410256vw;
    margin-bottom: 0;
    font-size: 4.358974359vw;
    color: #fff;
    background: #1d1d1d;
  }
}
#gnav .flex .main_nav .in .title02:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.4rem;
  height: 2.2rem;
  background: #fff03a;
  transform: translateY(-50%);
}
@media screen and (max-width: 1200px) {
  #gnav .flex .main_nav .in .title02:before {
    width: 0.3333333333vw;
    height: 1.8333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .flex .main_nav .in .title02:before {
    left: 6.4102564103vw;
    width: 1.0256410256vw;
    height: 5.641025641vw;
  }
}
#gnav .flex .main_nav .in ul {
  margin: 0 2.2rem;
}
@media screen and (max-width: 1200px) {
  #gnav .flex .main_nav .in ul {
    margin: 0 1.8333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .flex .main_nav .in ul {
    margin: 0;
  }
}
#gnav .flex .main_nav .in ul li {
  font-size: 1.7rem;
  font-weight: bold;
}
@media screen and (max-width: 1200px) {
  #gnav .flex .main_nav .in ul li {
    font-size: 1.4166666667vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .flex .main_nav .in ul li {
    font-size: 4.1025641026vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .flex .main_nav .in ul li a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 3.9743589744vw;
    padding: 5.5128205128vw 6.6666666667vw 5.9230769231vw;
    font-size: 4.358974359vw;
    pointer-events: none;
  }
}
@media screen and (max-width: 840px) {
  #gnav .flex .main_nav .in ul li a .arrow {
    position: absolute;
    top: 50%;
    right: 7.0512820513vw;
    display: block;
    width: 16.7px;
    height: 10.4px;
    transform: translateY(-1.2820512821vw);
    transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  }
}
@media screen and (max-width: 840px) {
  #gnav .flex .main_nav .in ul li a .arrow::before, #gnav .flex .main_nav .in ul li a .arrow::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: calc(50% - 0.3205128205vw);
    width: 0.641025641vw;
    height: 3.3333333333vw;
    border-radius: 9999px;
    background-color: #e4292f;
    transform-origin: 50% calc(100% - 0.3205128205vw);
  }
}
#gnav .flex .main_nav .in ul li a .arrow::before {
  transform: rotate(45deg);
}
#gnav .flex .main_nav .in ul li a .arrow::after {
  transform: rotate(-45deg);
}
@media screen and (max-width: 840px) {
  #gnav .flex .main_nav .in ul li.acc_active a .arrow {
    transform: translateY(-1.7948717949vw) rotate(180deg);
  }
}
#gnav .flex .main_nav .in ul li + li {
  margin-top: 1.5rem;
}
@media screen and (max-width: 1200px) {
  #gnav .flex .main_nav .in ul li + li {
    margin-top: 1.25vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .flex .main_nav .in ul li + li {
    margin-top: 0;
    border-top: 0.1rem solid #dedede;
  }
}
#gnav .flex .main_nav .in ul li .child_cat {
  display: none;
}
#gnav .flex .main_nav .in ul li .child_cat a {
  pointer-events: auto !important;
}
@media screen and (max-width: 840px) {
  #gnav .flex .main_nav .in ul li .child_cat ul {
    display: flex;
    flex-wrap: wrap;
    gap: 4.6153846154vw 5.8974358974vw;
    padding: 5.7692307692vw 7.6923076923vw 5.5128205128vw;
    background: #f8f8f8;
  }
}
@media screen and (max-width: 840px) {
  #gnav .flex .main_nav .in ul li .child_cat ul li {
    font-size: 3.5897435897vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .flex .main_nav .in ul li .child_cat ul li a {
    padding: 0;
    font-weight: 500;
  }
}
@media screen and (max-width: 840px) {
  #gnav .flex .main_nav .in ul li .child_cat ul li + li {
    border-top: none;
  }
}
#gnav .flex .main_nav .in.maker ul li a {
  pointer-events: auto !important;
}
#gnav .flex .other_nav {
  display: flex;
  justify-content: flex-end;
  gap: 8rem;
}
@media screen and (max-width: 1200px) {
  #gnav .flex .other_nav {
    gap: 6.6666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .flex .other_nav {
    justify-content: space-between;
    gap: 0;
    padding: 8.358974359vw 6.4102564103vw 9.0769230769vw;
    background: #1d1d1d;
  }
}
#gnav .flex .other_nav ul li {
  font-size: 1.6rem;
}
@media screen and (max-width: 1200px) {
  #gnav .flex .other_nav ul li {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .flex .other_nav ul li {
    font-size: 3.5897435897vw;
  }
}
#gnav .flex .other_nav ul li a {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
@media screen and (max-width: 1200px) {
  #gnav .flex .other_nav ul li a {
    gap: 1vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .flex .other_nav ul li a {
    gap: 3.8461538462vw;
    color: #fff;
  }
}
#gnav .flex .other_nav ul li + li {
  margin-top: 1em;
}
@media screen and (max-width: 840px) {
  #gnav .sp_bg_b {
    padding-bottom: 20.5128205128vw;
    background: #1d1d1d;
  }
}
#gnav .btn_area {
  display: flex;
  justify-content: center;
  gap: 1.3rem;
  margin: 4.5rem 0 3rem;
}
@media screen and (max-width: 1200px) {
  #gnav .btn_area {
    gap: 1.0833333333vw;
    margin: 3.75vw 0 2.5vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .btn_area {
    flex-wrap: wrap;
    gap: 3.3333333333vw;
    margin: 0 0 7.6923076923vw;
  }
}
#gnav .sns {
  display: flex;
  justify-content: center;
  gap: 1.3rem;
}
@media screen and (max-width: 1200px) {
  #gnav .sns {
    gap: 1.0833333333vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .sns {
    gap: 3.3333333333vw;
    margin-bottom: 10.2564102564vw;
  }
}
#gnav .sns li {
  width: 5rem;
}
@media screen and (max-width: 1200px) {
  #gnav .sns li {
    width: 4.1666666667vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .sns li {
    width: 12.8205128205vw;
  }
}
@media screen and (max-width: 840px) {
  #gnav .btn_close {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 4.1025641026vw;
    font-size: 5.1282051282vw;
    color: #fff;
  }
}