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

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

* {
  font-size: inherit;
  line-height: inherit;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

span {
  line-height: inherit;
  font-size: inherit;
  text-decoration: inherit;
  vertical-align: inherit;
  font-weight: inherit;
}

body {
  -webkit-text-size-adjust: 100%;
}

ol,
ul {
  list-style: none;
}

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

em,
strong,
em *,
strong *,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--font-weight-bold);
}

/*--form初期化--*/
input[type=submit],
button {
  cursor: pointer;
}

button,
input[type=text],
input[type=image],
input[type=password],
input[type=file],
input[type=submit],
input[type=reset],
input[type=button],
input[type=email],
input[type=tel],
textarea {
  font-family: inherit;
}

::placeholder {
  opacity: 1;
}

::-ms-input-placeholder {
  opacity: 1;
}

:-ms-input-placeholder {
  opacity: 1;
}

a {
  text-decoration: none;
  border: none;
  color: inherit;
}

button {
  background: none;
  border: 0;
  color: inherit;
  outline: none;
  padding: 0;
}

table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  text-align: left;
}

th {
  text-align: left;
}

@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
  }
}
@media screen and (max-width: 767px) {
  html,
  body,
  div,
  span,
  applet,
  object,
  iframe,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  pre,
  a,
  abbr,
  acronym,
  address,
  big,
  cite,
  code,
  del,
  dfn,
  em,
  img,
  ins,
  kbd,
  q,
  s,
  samp,
  small,
  strike,
  strong,
  sub,
  sup,
  tt,
  var,
  b,
  u,
  i,
  center,
  dl,
  dt,
  dd,
  ol,
  ul,
  li,
  fieldset,
  form,
  label,
  legend,
  table,
  caption,
  tbody,
  tfoot,
  thead,
  tr,
  th,
  td,
  article,
  aside,
  canvas,
  details,
  embed,
  figure,
  figcaption,
  footer,
  header,
  hgroup,
  menu,
  nav,
  output,
  ruby,
  section,
  summary,
  time,
  mark,
  audio,
  video {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  textarea,
  input[type=email],
  input[type=text],
  input[type=image],
  input[type=password] {
    -webkit-appearance: none;
  }
}
address {
  font-style: normal;
}

[hidden] {
  display: none !important;
}

/*--------------------
ブレイクポイント
--------------------*/
/*--------------------
メディアクエリ
--------------------*/
/*--------------------
矢印アイコン
--------------------*/
/*--------------------------------------
html,body
----------------------------------------*/
:root {
  /*size*/
  --site_width: 1280px;
  --site_width_lg: 1366px;
  --site_width_md: 1120px;
  --site_width_sm: 1020px;
  --site_width_xs: 660px;
  --site_padding: 40px;
  /*color*/
  --body_color: rgba(60 60 60 / 100%);
  --main_color: rgba(189 161 111 / 100%);
  --main_color_lt: rgba(241 236 229 / 100%);
  --main_color_dk: rgba(141 113 63 / 100%);
  --border_color: rgba(201 201 201 / 100%);
  --gray: rgba(125 125 125 / 100%);
  --gray_lt: rgba(246 246 246 / 100%);
  --pink_lt: rgba(245 233 231 /100%);
  --yellow_lt: rgba(255 247 231 /100%);
  --blue: rgba(94 155 180 /100%);
  --orange: rgba(218 106 56 /100%);
  --orange2: rgba(232 168 6 /100%);
  --red: rgba(200 2 2 / 100%);
  --green: rgba(23 74 69 / 100%);
  --line_color: rgba(6 199 85 / 100%);
  /*font*/
  --font-base: 1.6rem;
  --font_jp: "Yu Gothic", "Yu Gothic Medium", "YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  --font_jp_serif: "Noto Serif JP", serif;
  --font_en: "Montserrat", sans-serif;
  --font_en_serif: "Cormorant Garamond", serif;
  --font_weight_base: 500;
  --font_weight_regular: 400;
  --font_weight_medium: 500;
  --font_weight_semibold: 600;
  --font_weight_bold: 700;
  --line_height_base: 1.7;
  --line_height_headline: 1.3;
  /*z-index*/
  --z_index_modal: 1000;
  --z_index_header: 100;
  --z_index_side_campaign: 90;
  --z_index_fixed_nav: 80;
  /*height*/
  --height_header: 120px;
}
@media screen and (max-width: 768px) {
  :root {
    /*size*/
    --site_padding: 20px;
    /*height*/
    --height_header: 70px;
  }
}

html {
  font-size: 62.5%;
}

body {
  color: var(--body_color);
  font-family: var(--font_jp);
  font-size: var(--font-base);
  font-weight: var(--font_weight_base);
  line-height: var(--line_height_base);
  overflow-wrap: anywhere;
}

/*==================================================
sp pc
==================================================*/
@media screen and (max-width: 768px) {
  .pc_only {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .sp_only {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .sp_only {
    display: block;
  }
}

/*==================================================
module
==================================================*/
/*--------------------
container
--------------------*/
.m_container {
  width: 100%;
  max-width: var(--site_width);
  margin: 0 auto;
  padding-inline: var(--site_padding);
}
.m_container_md {
  max-width: var(--site_width_md);
}
.m_container_sm {
  max-width: var(--site_width_sm);
}
.m_container_xs {
  max-width: var(--site_width_xs);
}
@media screen and (max-width: 768px) {
  .m_container_sp0 {
    padding-inline: 0;
  }
}

/*--------------------
breadcrumb
--------------------*/
.m_breadcrumb {
  display: flex;
  padding-block: 8px;
}
@media screen and (max-width: 768px) {
  .m_breadcrumb {
    overflow-x: auto;
  }
}
.m_breadcrumb_lists {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
}
@media screen and (max-width: 768px) {
  .m_breadcrumb_lists {
    flex-wrap: nowrap;
  }
}
.m_breadcrumb_list {
  align-items: center;
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .m_breadcrumb_list {
    gap: 8px;
  }
}
.m_breadcrumb_list:not(:last-child)::after {
  content: "/";
}
@media screen and (max-width: 768px) {
  .m_breadcrumb_list:last-child {
    padding-right: var(--site_padding);
  }
}
.m_breadcrumb_item {
  font-size: 1.4rem;
  line-height: var(--line_height_headline);
}
@media screen and (max-width: 768px) {
  .m_breadcrumb_item {
    font-size: 1.1rem;
    white-space: nowrap;
  }
}
.m_breadcrumb a.m_breadcrumb_item {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .m_breadcrumb a.m_breadcrumb_item:hover {
    text-decoration: none;
  }
}

/*--------------------
hero
--------------------*/
.m_hero {
  min-height: 400px;
  padding-block: 230px 50px;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .m_hero {
    min-height: 180px;
    padding-block: 100px 20px;
  }
}
.m_hero_ttl {
  color: rgb(255, 255, 255);
  font-family: var(--font_jp_serif);
  font-size: 5.2rem;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_headline);
}
@media screen and (max-width: 768px) {
  .m_hero_ttl {
    font-size: 2.6rem;
  }
}
.m_hero_ttl::after {
  content: attr(data-en);
  display: block;
  font-family: var(--font_en);
  font-size: 2.4rem;
  font-weight: var(--font_weight_regular);
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .m_hero_ttl::after {
    font-size: 1.2rem;
    margin-top: 8px;
  }
}
.m_hero_bg {
  height: 100%;
  left: 0;
  object-fit: cover;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.m_hero_item_inner {
  aspect-ratio: 120/35;
  background-color: rgb(49, 49, 49);
  display: grid;
  padding: 16% 29% 4% 14%;
  place-content: center;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .m_hero_item_inner {
    aspect-ratio: 78/37;
    padding: 31% 35% 3% 6%;
  }
}
.m_hero_item_ttl {
  color: rgb(255, 255, 255);
  font-family: var(--font_jp_serif);
  font-feature-settings: "palt";
  font-size: 5.4rem;
  font-weight: var(--font_weight_semibold);
  letter-spacing: -0.025em;
  line-height: 1.2;
  text-align: center;
  text-shadow: 0 0 6px rgba(255, 255, 255, 0.4);
}
@media screen and (max-width: 1280px) {
  .m_hero_item_ttl {
    font-size: 4.21875vw;
  }
}
@media screen and (max-width: 768px) {
  .m_hero_item_ttl {
    font-size: 5.8974358974vw;
  }
}
.m_hero_item_ttl::before {
  color: rgb(114, 102, 112);
  content: attr(data-en);
  display: block;
  font-family: var(--font_en_serif);
  font-size: 3.9rem;
  font-weight: var(--font_weight_medium);
  letter-spacing: 0;
  margin-block: -10px -5px;
  text-shadow: none;
}
@media screen and (max-width: 1280px) {
  .m_hero_item_ttl::before {
    font-size: 3.04vw;
  }
}
@media screen and (max-width: 768px) {
  .m_hero_item_ttl::before {
    font-size: 5.12vw;
  }
}
.m_hero_item_ttl_sm {
  font-size: 4.2rem;
}
@media screen and (max-width: 1280px) {
  .m_hero_item_ttl_sm {
    font-size: 3.28125vw;
  }
}
@media screen and (max-width: 768px) {
  .m_hero_item_ttl_sm {
    font-size: 4.6153846154vw;
  }
}
.m_hero_item_img {
  max-width: 350px;
  position: absolute;
  right: 3%;
  top: 50%;
  transform: translateY(-50%);
  width: 30%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .m_hero_item_img {
    right: 2%;
    width: 39%;
  }
}
.m_hero_item_bg {
  height: 100%;
  left: 0;
  object-fit: contain;
  object-position: left top;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -2;
}

/*--------------------
headline
--------------------*/
.m_headline {
  background-color: var(--main_color_dk);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 250px;
  padding-block: 70px;
}
@media screen and (max-width: 768px) {
  .m_headline {
    min-height: 100px;
    padding-block: 20px;
  }
}
.m_headline_ttl {
  color: rgb(255, 255, 255);
  font-family: var(--font_jp_serif);
  font-size: 5.2rem;
  font-weight: var(--font_weight_semibold);
  line-height: var(--line_height_headline);
}
@media screen and (max-width: 768px) {
  .m_headline_ttl {
    font-size: 2.6rem;
  }
}
.m_headline_ttl::after {
  content: attr(data-en);
  display: block;
  font-family: var(--font_en);
  font-size: 2.4rem;
  font-weight: var(--font_weight_regular);
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .m_headline_ttl::after {
    font-size: 1.2rem;
    margin-top: 8px;
  }
}

.m_headline2 {
  background-color: var(--main_color_lt);
  padding-block: 80px;
}
@media screen and (max-width: 768px) {
  .m_headline2 {
    padding-block: 50px;
  }
}
.m_headline2_label {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .m_headline2_label {
    margin-bottom: 15px;
  }
}
.m_headline2_label_inner {
  background-color: rgb(255, 255, 255);
  border: 1px solid;
  display: inline-block;
  font-size: 2.4rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.025em;
  line-height: var(--line_height_headline);
  padding: 8px 20px 5px;
}
@media screen and (max-width: 768px) {
  .m_headline2_label_inner {
    font-size: 1.4rem;
    padding: 3px 15px 2px;
  }
}
.m_headline2_ttl {
  font-size: 2.4rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.025em;
  line-height: var(--line_height_headline);
}
@media screen and (max-width: 768px) {
  .m_headline2_ttl {
    font-size: 1.8rem;
  }
}

.m_headline3 {
  background-color: var(--main_color);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 250px;
  padding-block: 70px;
}
@media screen and (max-width: 768px) {
  .m_headline3 {
    min-height: 100px;
    padding-block: 20px;
  }
}
.m_headline3_ttl {
  color: rgb(255, 255, 255);
  font-family: var(--font_jp_serif);
  font-size: 5.2rem;
  font-weight: var(--font_weight_semibold);
  line-height: var(--line_height_headline);
}
@media screen and (max-width: 768px) {
  .m_headline3_ttl {
    font-size: 2.6rem;
  }
}
.m_headline3_ttl_sm {
  display: block;
  font-family: var(--font_jp);
  font-size: 1.6rem;
  font-weight: var(--font_weight_base);
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .m_headline3_ttl_sm {
    margin-top: 7px;
  }
}

/*--------------------
ttl
--------------------*/
.m_ttl_h2 {
  font-family: var(--font_jp_serif);
  font-size: 3.8rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.025em;
  line-height: var(--line_height_headline);
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .m_ttl_h2 {
    font-size: 2.8rem;
    margin-bottom: 30px;
  }
}
.m_ttl_h2::after {
  background-color: var(--main_color);
  content: "";
  display: block;
  height: 3px;
  margin-top: 40px;
  width: 100px;
}
@media screen and (max-width: 768px) {
  .m_ttl_h2::after {
    height: 2px;
    margin-top: 25px;
    width: 60px;
  }
}
.m_ttl_h2_noborder::after {
  content: none;
}

.m_ttl_h3 {
  font-size: 1.8rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.025em;
  line-height: var(--line_height_headline);
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .m_ttl_h3 {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
}

.m_ttl_h3_top {
  font-family: var(--font_jp_serif);
  font-size: 2.8rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.025em;
  line-height: var(--line_height_headline);
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .m_ttl_h3_top {
    font-size: 2.2rem;
    margin-bottom: 20px;
  }
}
.m_ttl_h3_top_lg {
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  .m_ttl_h3_top_lg {
    font-size: 3.3rem;
  }
}

.m_ttl_h3_border {
  border-left: 7px solid var(--main_color);
  font-size: 2.4rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.025em;
  line-height: var(--line_height_headline);
  margin-bottom: 40px;
  padding-left: 15px;
}
@media screen and (max-width: 768px) {
  .m_ttl_h3_border {
    border-left-width: 4.5px;
    font-size: 1.8rem;
    margin-bottom: 20px;
    padding-left: 10px;
  }
}

.m_ttl_h4 {
  border-bottom: 1px solid;
  font-size: 2rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.025em;
  line-height: var(--line_height_headline);
  margin-bottom: 25px;
  padding-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .m_ttl_h4 {
    font-size: 1.8rem;
    margin-bottom: 20px;
    padding-bottom: 5px;
  }
}

.m_ttl_h5 {
  font-size: 1.8rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.025em;
  line-height: var(--line_height_headline);
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .m_ttl_h5 {
    margin-bottom: 20px;
  }
}

.m_ttl_speech {
  font-size: 1.8rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.025em;
  line-height: 1.56;
  margin-bottom: 50px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_ttl_speech {
    margin-bottom: 30px;
  }
}
.m_ttl_speech_inner {
  padding-inline: 20px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .m_ttl_speech_inner {
    font-size: 1.4rem;
    padding-inline: 10px;
  }
}
.m_ttl_speech_deco {
  border-bottom: 2px solid var(--body_color);
  display: block;
  margin: 15px auto 0;
  position: relative;
  width: 255px;
}
@media screen and (max-width: 768px) {
  .m_ttl_speech_deco {
    border-bottom-width: 1px;
    margin-top: 10px;
    width: 165px;
  }
}
.m_ttl_speech_deco::before, .m_ttl_speech_deco::after {
  border-style: solid;
  border-width: 20px 20px 0 0;
  bottom: 0;
  content: "";
  left: 20%;
  position: absolute;
}
@media screen and (max-width: 768px) {
  .m_ttl_speech_deco::before, .m_ttl_speech_deco::after {
    border-width: 10px 10px 0 0;
  }
}
.m_ttl_speech_deco::before {
  border-color: var(--body_color) transparent transparent;
  translate: -50% 100%;
}
.m_ttl_speech_deco::after {
  border-color: rgb(255, 255, 255) transparent transparent;
  translate: calc(-50% - 2.4px) 100%;
}
@media screen and (max-width: 768px) {
  .m_ttl_speech_deco::after {
    translate: calc(-50% - 1.4px) 100%;
  }
}
.m_ttl_speech_inner .m_ttl_speech_deco {
  bottom: -15px;
  left: 0;
  margin-top: 0;
  position: absolute;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .m_ttl_speech_inner .m_ttl_speech_deco {
    bottom: -10px;
  }
}

.m_ttl_ribbon {
  background-color: var(--red);
  color: rgb(255, 255, 255);
  display: inline-block;
  font-size: 1.8rem;
  font-weight: var(--font_weight_bold);
  height: 36px;
  line-height: 36px;
  margin-inline: 15px;
  padding-inline: 20px;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_ttl_ribbon {
    font-size: 1.5rem;
    height: 30px;
    line-height: 30px;
    margin-inline: 10px;
    padding-inline: 15px;
  }
}
.m_ttl_ribbon::before, .m_ttl_ribbon::after {
  border-color: var(--red) transparent;
  border-style: solid;
  content: "";
  height: 0px;
  position: absolute;
  top: 0;
  width: 0px;
}
.m_ttl_ribbon::before {
  left: -14px;
  border-width: 18px 0px 18px 15px;
}
@media screen and (max-width: 768px) {
  .m_ttl_ribbon::before {
    left: -9px;
    border-width: 15px 0px 15px 10px;
  }
}
.m_ttl_ribbon::after {
  right: -14px;
  border-width: 18px 15px 18px 0px;
}
@media screen and (max-width: 768px) {
  .m_ttl_ribbon::after {
    right: -9px;
    border-width: 15px 10px 15px 0px;
  }
}
.m_ttl_ribbon_wrap {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.m_ttl_label {
  background-color: var(--body_color);
  color: rgb(255, 255, 255);
  font-size: 2.4rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.025em;
  line-height: var(--line_height_headline);
  padding: 12px 10px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_ttl_label {
    font-size: 1.8rem;
    padding: 10px;
  }
}

.m_ttl_label2 {
  background-color: var(--main_color_lt);
  font-size: 1.8rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.025em;
  line-height: var(--line_height_headline);
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .m_ttl_label2 {
    padding: 10px 15px;
  }
}

/*--------------------
txt
--------------------*/
@media screen and (max-width: 768px) {
  .m_txt {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .m_txt_sm {
    font-size: 1.4rem;
  }
}
.m_txt + .m_txt {
  margin-top: 1em;
}

/*--------------------
list
--------------------*/
.m_list li {
  padding-left: 1em;
  position: relative;
}
.m_list li + li {
  margin-top: 0.4em;
}
.m_list li::before {
  background-color: var(--main_color);
  border-radius: 50%;
  content: "";
  height: 0.4em;
  width: 0.4em;
  position: absolute;
  left: 0;
  top: 0.6em;
}

@media screen and (max-width: 768px) {
  .m_list_note {
    font-size: 1.4rem;
  }
}
.m_list_note li {
  padding-left: 1em;
  text-indent: -1em;
}
.m_list_note li + li {
  margin-top: 0.4em;
}

/*--------------------
btn
--------------------*/
.m_btn {
  align-items: center;
  border-radius: 8px;
  display: flex;
  font-weight: var(--font_weight_bold);
  justify-content: center;
  line-height: var(--line_height_headline);
  margin-inline: auto;
  max-width: 300px;
  min-height: 60px;
  padding: 10px 40px;
  position: relative;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .m_btn {
    border-radius: 4px;
    font-size: 1.6rem;
    max-width: 240px;
    min-height: 48px;
    padding-inline: 20px;
  }
}
.m_btn_lg {
  font-size: 1.8rem;
  max-width: 400px;
  min-height: 80px;
}
@media screen and (max-width: 768px) {
  .m_btn_lg {
    font-size: 1.4rem;
    max-width: 300px;
    min-height: 48px;
  }
}
.m_btn_border {
  background-color: rgb(255, 255, 255);
  border: 2px solid;
  color: var(--body_color);
  position: relative;
}
.m_btn_border::before, .m_btn_border::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 18px;
  width: 0.6em;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
.m_btn_border::before {
  transform: rotate(45deg);
}
.m_btn_border::after {
  transform: rotate(-45deg);
}
@media (any-hover: hover) {
  .m_btn_border {
    transition: all 0.3s;
  }
  .m_btn_border:hover {
    background-color: var(--body_color);
    border-color: var(--body_color);
    color: rgb(255, 255, 255);
  }
  .m_section_black .m_btn_border:hover {
    background-color: var(--main_color);
  }
}
@media screen and (max-width: 768px) {
  .m_btn_border {
    position: relative;
  }
  .m_btn_border::before, .m_btn_border::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 14px;
    width: 0.5em;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .m_btn_border::before {
    transform: rotate(45deg);
  }
  .m_btn_border::after {
    transform: rotate(-45deg);
  }
  .m_btn_border {
    border-width: 1px;
  }
}
.m_btn_black {
  background-color: var(--body_color);
  color: rgb(255, 255, 255);
  position: relative;
}
.m_btn_black::before, .m_btn_black::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 18px;
  width: 0.6em;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
.m_btn_black::before {
  transform: rotate(45deg);
}
.m_btn_black::after {
  transform: rotate(-45deg);
}
@media (any-hover: hover) {
  .m_btn_black {
    transition: all 0.3s;
  }
  .m_btn_black:hover {
    background-color: var(--main_color);
    color: rgb(255, 255, 255);
  }
}
@media screen and (max-width: 768px) {
  .m_btn_black {
    position: relative;
  }
  .m_btn_black::before, .m_btn_black::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 14px;
    width: 0.5em;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .m_btn_black::before {
    transform: rotate(45deg);
  }
  .m_btn_black::after {
    transform: rotate(-45deg);
  }
  .m_btn_black {
    border-width: 1px;
  }
}
.m_btn_main {
  background-color: var(--main_color_lt);
  position: relative;
}
.m_btn_main::before, .m_btn_main::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 18px;
  width: 0.6em;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
.m_btn_main::before {
  transform: rotate(45deg);
}
.m_btn_main::after {
  transform: rotate(-45deg);
}
@media (any-hover: hover) {
  .m_btn_main {
    transition: background-color 0.3s;
  }
  .m_btn_main:hover {
    background-color: rgb(242, 224, 199);
  }
}
@media screen and (max-width: 768px) {
  .m_btn_main {
    position: relative;
  }
  .m_btn_main::before, .m_btn_main::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 14px;
    width: 0.5em;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .m_btn_main::before {
    transform: rotate(45deg);
  }
  .m_btn_main::after {
    transform: rotate(-45deg);
  }
  .m_btn_main {
    border-width: 1px;
  }
}
.m_btn_main2 {
  background-color: var(--main_color);
  color: rgb(255, 255, 255);
  position: relative;
}
.m_btn_main2::before, .m_btn_main2::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 18px;
  width: 0.6em;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
.m_btn_main2::before {
  transform: rotate(45deg);
}
.m_btn_main2::after {
  transform: rotate(-45deg);
}
@media (any-hover: hover) {
  .m_btn_main2 {
    border: 2px solid var(--main_color);
    transition: all 0.3s;
  }
  .m_btn_main2:hover {
    background-color: rgb(255, 255, 255);
    color: var(--main_color);
  }
}
@media screen and (max-width: 768px) {
  .m_btn_main2 {
    position: relative;
  }
  .m_btn_main2::before, .m_btn_main2::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 14px;
    width: 0.5em;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .m_btn_main2::before {
    transform: rotate(45deg);
  }
  .m_btn_main2::after {
    transform: rotate(-45deg);
  }
}
.m_btn_line {
  background-color: var(--line_color);
  color: rgb(255, 255, 255);
  position: relative;
}
.m_btn_line::before, .m_btn_line::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 18px;
  width: 0.6em;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
.m_btn_line::before {
  transform: rotate(45deg);
}
.m_btn_line::after {
  transform: rotate(-45deg);
}
@media (any-hover: hover) {
  .m_btn_line {
    border: 2px solid var(--line_color);
    transition: all 0.3s;
  }
  .m_btn_line:hover {
    background-color: rgb(255, 255, 255);
    color: var(--line_color);
  }
}
@media screen and (max-width: 768px) {
  .m_btn_line {
    position: relative;
  }
  .m_btn_line::before, .m_btn_line::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 14px;
    width: 0.5em;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .m_btn_line::before {
    transform: rotate(45deg);
  }
  .m_btn_line::after {
    transform: rotate(-45deg);
  }
}
.m_btn_red {
  background-color: var(--red);
  color: rgb(255, 255, 255);
  position: relative;
}
.m_btn_red::before, .m_btn_red::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 18px;
  width: 0.6em;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
.m_btn_red::before {
  transform: rotate(45deg);
}
.m_btn_red::after {
  transform: rotate(-45deg);
}
@media (any-hover: hover) {
  .m_btn_red {
    border: 2px solid var(--red);
    transition: all 0.3s;
  }
  .m_btn_red:hover {
    background-color: rgb(255, 255, 255);
    color: var(--red);
  }
}
@media screen and (max-width: 768px) {
  .m_btn_red {
    position: relative;
  }
  .m_btn_red::before, .m_btn_red::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 14px;
    width: 0.5em;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .m_btn_red::before {
    transform: rotate(45deg);
  }
  .m_btn_red::after {
    transform: rotate(-45deg);
  }
}
.m_btn_blue {
  background-color: var(--blue);
  color: rgb(255, 255, 255);
  position: relative;
}
.m_btn_blue::before, .m_btn_blue::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 18px;
  width: 0.6em;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
.m_btn_blue::before {
  transform: rotate(45deg);
}
.m_btn_blue::after {
  transform: rotate(-45deg);
}
@media (any-hover: hover) {
  .m_btn_blue {
    border: 2px solid var(--blue);
    transition: all 0.3s;
  }
  .m_btn_blue:hover {
    background-color: rgb(255, 255, 255);
    color: var(--blue);
  }
}
@media screen and (max-width: 768px) {
  .m_btn_blue {
    position: relative;
  }
  .m_btn_blue::before, .m_btn_blue::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 14px;
    width: 0.5em;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .m_btn_blue::before {
    transform: rotate(45deg);
  }
  .m_btn_blue::after {
    transform: rotate(-45deg);
  }
}
.m_btn_orange2 {
  background-color: var(--orange2);
  color: rgb(255, 255, 255);
  position: relative;
}
.m_btn_orange2::before, .m_btn_orange2::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 18px;
  width: 0.6em;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
.m_btn_orange2::before {
  transform: rotate(45deg);
}
.m_btn_orange2::after {
  transform: rotate(-45deg);
}
@media (any-hover: hover) {
  .m_btn_orange2 {
    border: 2px solid var(--orange2);
    transition: all 0.3s;
  }
  .m_btn_orange2:hover {
    background-color: rgb(255, 255, 255);
    color: var(--orange2);
  }
}
@media screen and (max-width: 768px) {
  .m_btn_orange2 {
    position: relative;
  }
  .m_btn_orange2::before, .m_btn_orange2::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 14px;
    width: 0.5em;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .m_btn_orange2::before {
    transform: rotate(45deg);
  }
  .m_btn_orange2::after {
    transform: rotate(-45deg);
  }
}
.m_btn_more {
  background-color: rgb(255, 255, 255);
  border: 2px solid;
  color: var(--body_color);
}
.m_btn_more::before {
  content: "もっと見る";
}
.m_btn_more.is_active::before {
  content: "閉じる";
}
@media (any-hover: hover) {
  .m_btn_more {
    transition: all 0.3s;
  }
  .m_btn_more:hover {
    background-color: var(--body_color);
    border-color: var(--body_color);
    color: rgb(255, 255, 255);
  }
}
@media screen and (max-width: 768px) {
  .m_btn_more {
    border-width: 1px;
  }
}
.m_btn_more_arrow {
  bottom: 0;
  display: block;
  height: 20px;
  margin-block: auto;
  position: absolute;
  right: 24px;
  top: 0;
  transform: rotate(90deg);
  transition: transform 0.3s;
  width: 10px;
}
@media screen and (max-width: 768px) {
  .m_btn_more_arrow {
    height: 14px;
    right: 20px;
    width: 8px;
  }
}
.m_btn_more.is_active .m_btn_more_arrow {
  transform: rotate(-90deg);
}
.m_btn_more_arrow::before, .m_btn_more_arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 12px;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
@media screen and (max-width: 768px) {
  .m_btn_more_arrow::before, .m_btn_more_arrow::after {
    height: 1px;
    top: calc(50% - 0.5px);
    transform-origin: calc(100% - 0.5px) 50%;
    width: 10px;
  }
}
.m_btn_more_arrow::before {
  transform: rotate(45deg);
}
.m_btn_more_arrow::after {
  transform: rotate(-45deg);
}
.m_btn_toggle {
  background-color: rgb(255, 255, 255);
  border: 2px solid;
  color: var(--body_color);
}
.m_btn_toggle::before {
  content: attr(data-txt);
}
.m_btn_toggle.is_active::before {
  content: "閉じる";
}
@media (any-hover: hover) {
  .m_btn_toggle {
    transition: all 0.3s;
  }
  .m_btn_toggle:hover {
    background-color: var(--body_color);
    border-color: var(--body_color);
    color: rgb(255, 255, 255);
  }
}
@media screen and (max-width: 768px) {
  .m_btn_toggle {
    border-width: 1px;
  }
}
.m_btn_toggle_icon {
  bottom: 0;
  display: block;
  height: 14px;
  margin-block: auto;
  position: absolute;
  right: 14px;
  top: 0;
  width: 14px;
}
@media screen and (max-width: 768px) {
  .m_btn_toggle_icon {
    height: 10px;
    right: 9px;
    width: 10px;
  }
}
.m_btn_toggle_icon::before, .m_btn_toggle_icon::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 2px;
  background-color: currentColor;
  transition: opacity 0.3s, transform 0.3s;
}
@media screen and (max-width: 768px) {
  .m_btn_toggle_icon::before, .m_btn_toggle_icon::after {
    top: calc(50% - 0.5px);
    height: 1px;
  }
}
.m_btn_toggle_icon::after {
  transform: rotate(90deg);
}
.m_btn_toggle.is_active .m_btn_toggle_icon::after {
  opacity: 0;
  transform: rotate(180deg);
}
.m_btn_txt_sm {
  font-size: 1.4rem;
}

.m_btn_round {
  align-items: center;
  background-color: rgb(255, 255, 255);
  border-radius: 50px;
  border: 2px solid;
  display: inline-flex;
  gap: 0.25em;
  letter-spacing: 0.025em;
  padding: 0.1em 0.8em 0.05em;
}
@media (any-hover: hover) {
  .m_btn_round {
    transition: all 0.3s;
  }
  .m_btn_round:hover {
    background-color: var(--body_color);
    border-color: var(--body_color);
    color: rgb(255, 255, 255);
  }
}
@media screen and (max-width: 768px) {
  .m_btn_round {
    border-width: 1px;
  }
}
.m_btn_round svg {
  fill: currentColor;
  height: 1.1em;
  width: auto;
}
.m_btn_round_sm {
  font-size: 1.4rem;
}

.m_btns {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .m_btns {
    gap: 20px;
  }
}
.m_btns .m_btn {
  margin-inline: 0;
}

/*--------------------
link
--------------------*/
.m_link {
  text-decoration: underline;
}
@media (any-hover: hover) {
  .m_link:hover {
    text-decoration: none;
  }
}
.m_link_more {
  display: inline-block;
  padding-right: 20px;
  position: relative;
}
.m_link_more::before {
  content: "続きを見る";
}
.m_link_more.is_active::before {
  content: "閉じる";
}
@media screen and (max-width: 768px) {
  .m_link_more {
    border-width: 1px;
    font-size: 1.4rem;
    padding-right: 16px;
  }
}
.m_link_more_arrow {
  bottom: 0;
  display: block;
  height: 20px;
  margin-block: auto;
  position: absolute;
  right: 0;
  top: 0;
  transform: rotate(90deg);
  transition: transform 0.3s;
  width: 10px;
}
@media screen and (max-width: 768px) {
  .m_link_more_arrow {
    height: 14px;
    width: 8px;
  }
}
.m_link_more.is_active .m_link_more_arrow {
  transform: rotate(-90deg);
}
.m_link_more_arrow::before, .m_link_more_arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 12px;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
@media screen and (max-width: 768px) {
  .m_link_more_arrow::before, .m_link_more_arrow::after {
    height: 1px;
    top: calc(50% - 0.5px);
    transform-origin: calc(100% - 0.5px) 50%;
    width: 10px;
  }
}
.m_link_more_arrow::before {
  transform: rotate(45deg);
}
.m_link_more_arrow::after {
  transform: rotate(-45deg);
}

/*--------------------
tag
--------------------*/
.m_tag {
  border-radius: 50px;
  display: inline-block;
  line-height: var(--line_height_headline);
  padding: 10px 20px;
}
@media screen and (max-width: 768px) {
  .m_tag {
    font-size: 1.4rem;
    padding: 8px 15px;
  }
}
.m_tag::before {
  content: "#";
}
.m_tag_main {
  background-color: rgb(241, 236, 229);
}
.m_tag_gray {
  background-color: rgb(246, 246, 246);
}
.m_tag_white {
  background-color: rgb(255, 255, 255);
}
@media (any-hover: hover) {
  .m_tag {
    transition: all 0.3s;
  }
  .m_tag:hover {
    background-color: var(--main_color);
    color: rgb(255, 255, 255);
  }
}
.m_tag_lists {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
@media screen and (max-width: 768px) {
  .m_tag_lists {
    gap: 10px;
  }
}

@media (any-hover: hover) {
  span.m_tag {
    pointer-events: none;
  }
}

/*--------------------
category
--------------------*/
.m_category {
  border-radius: 8px;
  border: 1px solid;
  display: inline-block;
  font-size: 1.4rem;
  line-height: var(--line_height_headline);
  padding: 6px 10px;
}
@media screen and (max-width: 768px) {
  .m_category {
    border-radius: 4px;
    font-size: 1.2rem;
    padding: 3px 8px;
  }
}
.m_category_main {
  background-color: var(--main_color);
  border-color: var(--main_color);
  color: rgb(255, 255, 255);
}
.m_category_black {
  background-color: var(--body_color);
  border-color: var(--body_color);
  color: rgb(255, 255, 255);
}
.m_category_sm {
  border-radius: 4px;
  font-size: 1.2rem;
  padding: 2px 8px;
}

@media (any-hover: hover) {
  a.m_category {
    transition: all 0.3s;
  }
  a.m_category_main:hover {
    background-color: rgb(255, 255, 255);
    color: var(--main_color);
  }
  a.m_category_black:hover {
    background-color: rgb(255, 255, 255);
    color: var(--body_color);
  }
}

/*--------------------
modal
--------------------*/
.m_modal {
  display: flex;
  flex-direction: column;
  inset: 0;
  justify-content: center;
  opacity: 0;
  padding-inline: var(--site_padding);
  pointer-events: none;
  position: fixed;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: var(--z_index_modal);
}
.m_modal.is_active {
  opacity: 1;
  pointer-events: auto;
}
.m_modal_overlay {
  background-color: rgba(0, 0, 0, 0.6);
  inset: 0;
  position: absolute;
}
.m_modal_content {
  background: rgb(255, 255, 255);
  margin: 100px auto;
  max-width: 840px;
  position: relative;
  width: 100%;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .m_modal_content {
    margin-block: 50px;
  }
}
.m_modal_close {
  cursor: pointer;
  height: 30px;
  position: absolute;
  right: 0;
  top: -54px;
  width: 30px;
}
@media screen and (max-width: 768px) {
  .m_modal_close {
    height: 22px;
    top: -44px;
    width: 22px;
  }
}
.m_modal_close::before, .m_modal_close::after {
  background-color: rgb(255, 255, 255);
  content: "";
  height: 2px;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 34px;
}
@media screen and (max-width: 768px) {
  .m_modal_close::before, .m_modal_close::after {
    width: 26px;
  }
}
.m_modal_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.m_modal_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.m_modal_head {
  background-color: var(--main_color);
  padding: 40px;
}
@media screen and (max-width: 768px) {
  .m_modal_head {
    padding: 25px;
  }
}
.m_modal_body {
  border-bottom: 7px solid var(--main_color);
  border-left: 7px solid var(--main_color);
  border-right: 7px solid var(--main_color);
  max-height: 400px;
  overflow-y: auto;
  padding: 20px 15px;
}
@media screen and (max-width: 768px) {
  .m_modal_body {
    border-bottom-width: 5px;
    border-left-width: 5px;
    border-right-width: 5px;
    padding: 16px 10px;
  }
}

/*--------------------
accordion
--------------------*/
.m_accordion {
  background-color: rgb(255, 255, 255);
}
.m_accordion + .m_accordion {
  margin-top: 3px;
}
@media screen and (max-width: 768px) {
  .m_accordion + .m_accordion {
    margin-top: 2px;
  }
}
.m_accordion_header {
  align-items: center;
  background-color: var(--main_color_lt);
  border-left: 7px solid var(--main_color);
  cursor: pointer;
  display: flex;
  font-weight: var(--font_weight_bold);
  gap: 15px;
  line-height: var(--line_height_headline);
  min-height: 64px;
  padding: 15px 50px 15px 25px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .m_accordion_header {
    border-left-width: 4px;
    font-size: 1.6rem;
    gap: 10px;
    min-height: 48px;
    padding: 15px 40px 15px 15px;
  }
}
.m_accordion_header_arrow {
  bottom: 0;
  display: block;
  height: 20px;
  margin-block: auto;
  position: absolute;
  right: 24px;
  top: 0;
  transform: rotate(90deg);
  transition: transform 0.3s;
  width: 10px;
}
@media screen and (max-width: 768px) {
  .m_accordion_header_arrow {
    height: 14px;
    right: 20px;
    width: 8px;
  }
}
.m_accordion_header.is_active .m_accordion_header_arrow {
  transform: rotate(-90deg);
}
.m_accordion_header_arrow::before, .m_accordion_header_arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 12px;
  height: 2px;
  background-color: var(--main_color);
  transform-origin: calc(100% - 1px) 50%;
}
@media screen and (max-width: 768px) {
  .m_accordion_header_arrow::before, .m_accordion_header_arrow::after {
    height: 1px;
    top: calc(50% - 0.5px);
    transform-origin: calc(100% - 0.5px) 50%;
    width: 10px;
  }
}
.m_accordion_header_arrow::before {
  transform: rotate(45deg);
}
.m_accordion_header_arrow::after {
  transform: rotate(-45deg);
}
.m_accordion_content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.m_accordion_body {
  padding: 40px;
}
@media screen and (max-width: 768px) {
  .m_accordion_body {
    padding: 20px 15px;
  }
}
.m_accordion_grid {
  align-items: start;
  display: grid;
  gap: 30px;
  grid-template-columns: 560px 1fr;
  grid-template-rows: max-content 1fr;
}
@media screen and (max-width: 1080px) {
  .m_accordion_grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}
@media screen and (max-width: 768px) {
  .m_accordion_grid {
    gap: 25px;
  }
}
@media screen and (min-width: 1081px) {
  .m_accordion_grid_item_01 {
    grid-area: 1/1/2/2;
  }
}
@media screen and (min-width: 1081px) {
  .m_accordion_grid_item_02 {
    grid-area: 1/2/3/3;
  }
}
@media screen and (max-width: 768px) {
  .m_accordion_grid_item_02 img {
    width: 65%;
  }
}
@media screen and (min-width: 1081px) {
  .m_accordion_grid_item_03 {
    grid-area: 2/1/3/2;
  }
}
.m_accordion_voice .m_accordion_header {
  padding-block: 10px;
}
@media screen and (max-width: 768px) {
  .m_accordion_voice .m_accordion_header {
    padding-block: 15px;
  }
}
.m_accordion_voice_icon {
  margin-left: -10px;
}
@media screen and (max-width: 768px) {
  .m_accordion_voice_icon {
    margin-left: -5px;
    width: 36px;
  }
}
.m_accordion_faq .m_accordion_header {
  padding-left: 73px;
}
@media screen and (max-width: 768px) {
  .m_accordion_faq .m_accordion_header {
    padding-left: 46px;
  }
}
.m_accordion_faq .m_accordion_header::before {
  color: var(--main_color);
  content: "Q";
  font-family: var(--font_en);
  font-size: 3.2rem;
  font-weight: var(--font_weight_semibold);
  left: 20px;
  line-height: 1;
  position: absolute;
  top: 12px;
}
@media screen and (max-width: 768px) {
  .m_accordion_faq .m_accordion_header::before {
    font-size: 2.3rem;
    left: 13px;
    top: 13px;
  }
}
.m_accordion_faq .m_accordion_body {
  padding-left: 80px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .m_accordion_faq .m_accordion_body {
    padding-left: 50px;
  }
}
.m_accordion_faq .m_accordion_body::before {
  color: var(--main_color);
  content: "A";
  font-family: var(--font_en);
  font-size: 3.2rem;
  font-weight: var(--font_weight_semibold);
  left: 27px;
  line-height: 1;
  position: absolute;
  top: 40px;
}
@media screen and (max-width: 768px) {
  .m_accordion_faq .m_accordion_body::before {
    font-size: 2.3rem;
    left: 17px;
    top: 20px;
  }
}
.m_accordion_media {
  align-items: start;
  display: grid;
  gap: 40px;
  grid-template-columns: 1fr 620px;
}
@media screen and (max-width: 1080px) {
  .m_accordion_media {
    gap: 20px;
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 768px) {
  .m_accordion_media_img img {
    width: 175px;
  }
}
.m_accordion_buyer {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  .m_accordion_buyer {
    grid-template-columns: 90px 1fr;
    gap: 20px;
    margin-top: 15px;
  }
}
.m_accordion_buyer_img {
  aspect-ratio: 1/1;
  border-radius: 50%;
  object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .m_accordion_buyer_img {
    display: block;
    margin-inline: auto;
    width: 72px;
  }
}
.m_accordion_buyer_name {
  display: block;
  font-weight: var(--font_weight_bold);
  margin-top: 3px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_accordion_buyer_name {
    font-size: 1.4rem;
  }
}
.m_accordion_media_ttl {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .m_accordion_media_ttl {
    font-size: 1.6rem;
    margin-bottom: 15px;
  }
}
.m_accordion_buyer_txt {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .m_accordion_buyer_txt {
    font-size: 1.4rem;
    margin-top: 0;
  }
}
.m_accordion_row {
  display: grid;
  gap: 40px 29px;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 1080px) {
  .m_accordion_row {
    gap: 40px 20px;
  }
}
@media screen and (max-width: 768px) {
  .m_accordion_row {
    gap: 40px;
    grid-template-columns: 1fr;
  }
}
.m_accordion_boxs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media screen and (max-width: 1080px) {
  .m_accordion_boxs {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .m_accordion_boxs {
    grid-template-columns: 1fr;
  }
}
.m_accordion_box {
  border: 1px solid var(--border_color);
  padding-block: 20px;
}
.m_accordion_box_ttl {
  font-feature-settings: "palt";
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-top: 20px;
  text-align: center;
}

.m_accordion_nested .m_accordion_content {
  display: grid;
  grid-template-rows: 0fr;
  max-height: 100%;
  transition: grid-template-rows 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.m_accordion_nested .m_accordion_content.is_open {
  grid-template-rows: 1fr;
}
.m_accordion_nested .m_accordion_body {
  overflow: hidden;
  padding: 0;
}

.m_accordion_child .m_accordion_header {
  background-color: rgb(255, 255, 255);
  border-left: none;
  border-bottom: 1px solid var(--border_color);
  font-weight: var(--font_weight_medium);
}
.m_accordion_child .m_accordion_header_arrow::before, .m_accordion_child .m_accordion_header_arrow::after {
  background-color: var(--body_color);
}
.m_accordion_child .m_accordion_body_inner {
  background-color: var(--gray_lt);
  border-bottom: 1px solid var(--border_color);
  padding: 25px;
}
@media screen and (max-width: 768px) {
  .m_accordion_child .m_accordion_body_inner {
    padding: 15px;
  }
}
.m_accordion_child_head {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 15px;
  line-height: var(--line_height_headline);
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .m_accordion_child_head {
    gap: 5px 10px;
    margin-bottom: 5px;
  }
}
.m_accordion_child_ttl {
  font-weight: var(--font_weight_bold);
}
.m_accordion_child_tag {
  background-color: rgb(255, 255, 255);
  color: var(--orange);
  display: inline-block;
  padding: 2px 15px;
}
@media screen and (max-width: 768px) {
  .m_accordion_child_tag {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .m_accordion_child_txt {
    font-size: 1.4rem;
  }
}

/*--------------------
tab
--------------------*/
.m_tab_menus {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
}
@media screen and (max-width: 768px) {
  .m_tab_menus {
    gap: 4px 5px;
  }
}
.m_tab_menus_center {
  justify-content: center;
}
.m_tab_menu {
  border-bottom: 2px solid var(--border_color);
  cursor: pointer;
  font-size: 1.8rem;
  min-width: 160px;
  padding: 15px 40px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_tab_menu {
    border-width: 1px;
    flex: 1 1 auto;
    font-size: 1.4rem;
    min-width: calc(33.3333333333% - 20px);
    padding: 8px 0;
  }
  .m_tab_menus_sp_w50 .m_tab_menu {
    width: calc(50% - 20px);
  }
}
.m_tab_menu.is_active {
  border-color: var(--body_color);
  font-weight: var(--font_weight_bold);
}
.m_tab_contents {
  position: relative;
}
.m_tab_content {
  display: none;
}
.m_tab_content.is_active {
  display: block;
}

/*--------------------
section
--------------------*/
.m_section {
  padding-block: 100px;
}
@media screen and (max-width: 768px) {
  .m_section {
    padding-block: 50px;
  }
}
.m_section_main {
  background-color: var(--main_color_lt);
}
.m_section_main2 {
  background-color: var(--main_color);
}
.m_section_main_gradient {
  background-image: linear-gradient(0deg, rgb(255, 255, 255), var(--main_color_lt));
}
.m_section_gray {
  background-color: var(--gray_lt);
}
.m_section_black {
  background-color: var(--body_color);
  border-bottom: 2px solid;
  color: rgb(255, 255, 255);
}
@media screen and (max-width: 768px) {
  .m_section_black {
    border-bottom-width: 1px;
  }
}
.m_section_border {
  padding-block: 0;
}
.m_section_border_inner {
  border-top: 1px solid var(--border_color);
  padding-block: 100px;
}
@media screen and (max-width: 768px) {
  .m_section_border_inner {
    padding-block: 50px;
  }
}
.m_section_slider {
  overflow: hidden;
}
.m_section_slider .splide__track {
  overflow: visible;
}
.m_section_content + .m_section_content {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .m_section_content + .m_section_content {
    margin-top: 40px;
  }
}

/*--------------------
box
--------------------*/
.m_box {
  padding: 30px;
}
@media screen and (max-width: 768px) {
  .m_box {
    padding: 20px;
  }
}
.m_box_white {
  background-color: rgb(255, 255, 255);
}
.m_box_gray {
  background-color: var(--gray_lt);
}
.m_box_main {
  background-color: var(--main_color_lt);
}
.m_box_yellow {
  background-color: rgb(250, 238, 198);
}
.m_box_sm {
  margin-inline: auto;
  max-width: 800px;
}
.m_box_ttl {
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .m_box_ttl {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 768px) {
  .m_box_txt {
    font-size: 1.4rem;
  }
}
.m_box_txt_sm {
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .m_box_txt_sm {
    font-size: 1.3rem;
  }
}
.m_box_img {
  text-align: center;
}
.m_box_grid {
  display: grid;
  gap: 20px 50px;
  grid-template-columns: 570px 1fr;
  grid-template-rows: max-content 1fr;
}
@media screen and (min-width: 1081px) {
  .m_box_grid .m_box_ttl {
    margin-bottom: 0;
  }
  .m_box_grid .m_box_txt,
  .m_box_grid .m_box_grid_2 {
    grid-column-start: 1;
    grid-row-start: 2;
  }
  .m_box_grid .m_box_img {
    grid-row: span 2/span 2;
    grid-column-start: 2;
    grid-row-start: 1;
  }
  .m_box_grid .m_box_grid_3 {
    grid-row: span 3/span 3;
    grid-column-start: 2;
    grid-row-start: 1;
  }
  .m_box_grid .m_box_grid_4 {
    grid-row-start: 3;
  }
}
@media screen and (max-width: 1080px) {
  .m_box_grid {
    gap: 30px;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
  }
  .m_box_grid .m_box_ttl {
    margin-bottom: -20px;
  }
}
.m_box_row {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.m_box_col {
  flex: 1;
}
@media screen and (max-width: 1080px) {
  .m_box_col {
    flex: 1 1 calc(50% - 15px);
  }
}
@media screen and (max-width: 768px) {
  .m_box_col {
    flex: 1 1 100%;
  }
}
.m_box_lists {
  display: flex;
  gap: 12px;
  justify-content: center;
}
@media screen and (max-width: 1280px) {
  .m_box_lists {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 1080px) {
  .m_box_lists {
    gap: 7px;
  }
}
.m_box_list {
  display: grid;
  flex-wrap: wrap;
  flex: 1;
  max-width: calc(50% - 9px);
}
@media screen and (max-width: 1080px) {
  .m_box_list {
    max-width: calc(50% - 5px);
  }
}
.m_box_item {
  background-color: rgb(255, 255, 255);
  display: flex;
  flex-direction: column;
  padding: 15px 20px 20px;
}
@media screen and (max-width: 768px) {
  .m_box_item {
    padding: 8px 12px 12px;
  }
}
.m_box_item_img {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_box_item_img {
    margin-inline: auto;
    width: 50px;
  }
}
.m_box_item_ttl {
  display: flex;
  flex-direction: column;
  flex: 1;
  font-size: 1.8rem;
  font-weight: var(--font_weight_bold);
  justify-content: center;
  line-height: var(--line_height_headline);
  margin-top: 15px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_box_item_ttl {
    font-feature-settings: "palt";
    font-size: 1.4rem;
    letter-spacing: 0.025em;
    margin-top: 10px;
  }
}

/*--------------------
anchor
--------------------*/
.m_anchor_lists {
  display: flex;
  gap: 12px;
  justify-content: center;
}
@media screen and (max-width: 1280px) {
  .m_anchor_lists {
    flex-wrap: wrap;
  }
  .m_anchor_lists:has(.m_anchor_list:nth-child(4)) {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 1080px) {
  .m_anchor_lists {
    gap: 7px;
  }
  .m_anchor_lists:has(.m_anchor_list:nth-child(3)) {
    justify-content: flex-start;
  }
}
.m_anchor_list {
  display: grid;
  flex: 1;
  max-width: calc(25% - 9px);
}
@media screen and (max-width: 1280px) {
  .m_anchor_list {
    flex: 1 1 calc(25% - 9px);
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 1080px) {
  .m_anchor_list {
    flex: 1 1 calc(33.3333333333% - 5px);
    max-width: calc(50% - 5px);
  }
}
@media screen and (max-width: 1080px) {
  .m_anchor_list_sp50 {
    flex: 1 1 calc(50% - 5px);
  }
}
.m_anchor_item {
  background-color: rgb(255, 255, 255);
  border: 1px solid;
  display: flex;
  flex-direction: column;
  padding: 20px 20px 50px;
  position: relative;
  z-index: 0;
}
.m_anchor_item::after {
  border-bottom: 2px solid currentColor;
  border-right: 2px solid currentColor;
  bottom: 20px;
  content: "";
  height: 12px;
  left: 0;
  margin-inline: auto;
  position: absolute;
  right: 0;
  transform: rotate(45deg);
  width: 12px;
  z-index: 1;
}
@media (any-hover: hover) {
  .m_anchor_item {
    transition: border-color 0.3s;
  }
  .m_anchor_item::before {
    background-color: rgba(255, 255, 255, 0.3);
    border: 7px solid var(--main_color);
    content: "";
    height: calc(100% + 2px);
    left: -1px;
    opacity: 0;
    position: absolute;
    top: -1px;
    transition: opacity 0.3s;
    width: calc(100% + 2px);
    z-index: 2;
  }
  .m_anchor_item:hover {
    border-color: rgb(255, 255, 255);
  }
  .m_anchor_item:hover::before {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .m_anchor_item {
    padding: 12px 0 35px;
  }
  .m_anchor_item::after {
    border-width: 1px;
    bottom: 15px;
    height: 8px;
    width: 8px;
  }
}
.m_anchor_item_img {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_anchor_item_img {
    margin-inline: auto;
    width: 50px;
  }
}
.m_anchor_item_ttl {
  display: flex;
  flex-direction: column;
  flex: 1;
  font-size: 1.8rem;
  font-weight: var(--font_weight_bold);
  justify-content: center;
  line-height: var(--line_height_headline);
  margin-top: 15px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_anchor_item_ttl {
    font-size: 1.4rem;
    margin-top: 10px;
  }
}
.m_anchor_left {
  justify-content: start;
}

/*--------------------
dl
--------------------*/
.m_dl_border {
  border-top: 1px solid;
  padding-top: 20px;
}
@media screen and (max-width: 768px) {
  .m_dl_border {
    padding-top: 15px;
  }
}
.m_dl_list {
  border-bottom: 1px solid;
  display: grid;
  gap: 10px;
  grid-template-columns: 200px 1fr;
  padding-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .m_dl_list {
    gap: 10px;
    grid-template-columns: 100px 1fr;
    padding-bottom: 15px;
  }
}
.m_dl_list:not(:last-child) {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .m_dl_list:not(:last-child) {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 768px) {
  .m_dl_list:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  .m_dl_border .m_dl_list:last-child {
    border-bottom: 1px solid;
    margin-bottom: 15px;
    padding-bottom: 15px;
  }
}
@media screen and (max-width: 768px) {
  .m_dl_list_sp100 {
    grid-template-columns: 1fr;
  }
}
.m_dl_dt {
  font-weight: var(--font_weight_bold);
}
@media screen and (max-width: 768px) {
  .m_dl_dt {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .m_dl_dd {
    font-size: 1.4rem;
  }
}
.m_dl_btn_wrap {
  display: inline-block;
  margin-inline: 1em;
}
@media screen and (max-width: 768px) {
  .m_dl_btn_wrap {
    display: block;
    margin: 0.4em 0 0.8em;
  }
}
.m_dl_btn {
  font-size: 1.3rem;
}
@media screen and (max-width: 768px) {
  .m_dl_btn {
    font-size: 1.2rem;
  }
}
.m_dl_items {
  display: grid;
  gap: 9px;
  grid-template-columns: repeat(6, 1fr);
}
@media screen and (max-width: 1280px) {
  .m_dl_items {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (max-width: 1080px) {
  .m_dl_items {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .m_dl_items {
    gap: 7px;
  }
}
.m_dl_item {
  display: grid;
}
.m_dl_item_link {
  align-items: center;
  background-color: rgb(255, 255, 255);
  border: 1px solid;
  color: var(--body_color);
  display: flex;
  justify-content: center;
  line-height: var(--line_height_headline);
  margin-inline: auto;
  min-height: 56px;
  padding: 10px 25px;
  text-align: center;
  width: 100%;
  position: relative;
}
.m_dl_item_link::before, .m_dl_item_link::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 10px;
  width: 0.6em;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
.m_dl_item_link::before {
  transform: rotate(45deg);
}
.m_dl_item_link::after {
  transform: rotate(-45deg);
}
@media (any-hover: hover) {
  .m_dl_item_link {
    transition: all 0.3s;
  }
  .m_dl_item_link:hover {
    background-color: var(--body_color);
    border-color: var(--body_color);
    color: rgb(255, 255, 255);
  }
}
@media screen and (max-width: 768px) {
  .m_dl_item_link {
    border-width: 1px;
    font-size: 1.4rem;
    min-height: 40px;
    padding: 8px 15px;
    position: relative;
  }
  .m_dl_item_link::before, .m_dl_item_link::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 6px;
    width: 0.5em;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .m_dl_item_link::before {
    transform: rotate(45deg);
  }
  .m_dl_item_link::after {
    transform: rotate(-45deg);
  }
}
.m_dl_services {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(8, 1fr);
}
@media screen and (max-width: 1280px) {
  .m_dl_services {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (max-width: 1080px) {
  .m_dl_services {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .m_dl_services {
    gap: 5px;
  }
}
.m_dl_service {
  background-color: rgb(255, 255, 255);
  display: flex;
  flex-direction: column;
  padding-bottom: 8px;
}
.m_dl_service_img {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_dl_service_img img {
    width: 50px;
  }
}
.m_dl_service_ttl {
  align-items: center;
  display: flex;
  flex: 1;
  justify-content: center;
  line-height: var(--line_height_headline);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_dl_service_ttl {
    font-size: 1rem;
  }
}
.m_dl_banners {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media screen and (max-width: 1080px) {
  .m_dl_banners {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .m_dl_banners {
    gap: 20px;
    grid-template-columns: 1fr;
  }
}
.m_dl_banner img {
  width: 100%;
}

/*--------------------
phone
--------------------*/
.m_phone {
  background-color: rgb(255, 255, 255);
  border-radius: 8px;
  border: 1px solid;
  display: inline-block;
  padding: 20px 40px 15px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_phone {
    border-radius: 4px;
    padding: 15px 15px 10px;
    width: 100%;
  }
}
.m_phone_num {
  align-items: center;
  display: flex;
  font-family: var(--font_jp_serif);
  font-size: 4rem;
  font-weight: var(--font_weight_bold);
  gap: 10px;
  justify-content: center;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .m_phone_num {
    font-size: 2.8rem;
    gap: 6px;
  }
}
.m_phone_num::before {
  background: url(/library/images/common/icon/freedial.svg) center/contain no-repeat;
  content: "";
  height: 30px;
  margin-bottom: -4px;
  width: 54px;
}
@media screen and (max-width: 768px) {
  .m_phone_num::before {
    height: 21px;
    width: 38.5px;
  }
}
.m_phone_hour {
  display: block;
  font-size: 1.4rem;
  margin-top: 10px;
  padding-left: 12px;
}
@media screen and (max-width: 768px) {
  .m_phone_hour {
    font-size: 1.1rem;
    margin-top: 5px;
  }
}

/*--------------------
news
--------------------*/
.m_news_lists_wrap {
  background-color: rgb(255, 255, 255);
}
.m_news_lists_wrap .m_news_list:last-child .m_news_item {
  border-bottom: none;
}
.m_news_item {
  align-items: start;
  border-bottom: 1px solid;
  display: flex;
  gap: 50px;
  padding-block: 20px;
  position: relative;
  z-index: 0;
}
.m_news_lists_wrap .m_news_item {
  padding-inline: 20px;
}
.m_news_list:only-child .m_news_item {
  border-bottom: none;
}
@media screen and (max-width: 1080px) {
  .m_news_item {
    flex-direction: column;
    gap: 6px;
    padding-block: 15px;
  }
}
.m_news_item_link {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.m_news_item_head {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .m_news_item_head {
    gap: 5px 10px;
  }
}
.m_news_item_body {
  flex: 1;
}
.m_news_item_time {
  font-family: var(--font_en);
  font-size: 1.8rem;
  min-width: 100px;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .m_news_item_time {
    font-size: 1.6rem;
    min-width: 80px;
  }
}
.m_news_item_category {
  text-align: center;
  width: 116px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .m_news_item_category {
    width: 82px;
  }
}
.m_news_item_ttl {
  font-size: 1.6rem;
  line-height: var(--line_height_headline);
  margin-top: 8px;
}

/*--------------------
access
--------------------*/
.m_access_dl {
  border-bottom: 1px solid;
  display: grid;
  gap: 10px;
  grid-template-columns: 200px 1fr;
  padding-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .m_access_dl {
    font-size: 1.4rem;
    grid-template-columns: 100px 1fr;
  }
}
.m_access_dl + .m_access_dl {
  margin-top: 1em;
}
.m_access_dl dt {
  font-weight: var(--font_weight_bold);
}
.m_access_gmap {
  aspect-ratio: 120/35;
}
@media screen and (max-width: 768px) {
  .m_access_gmap {
    aspect-ratio: 390/225;
    margin-inline: calc(-1 * var(--site_padding));
  }
}
.m_access_gmap iframe {
  display: block;
  height: 100%;
  width: 100%;
}

/*--------------------
route
--------------------*/
.m_route {
  background-color: var(--gray_lt);
  border: 1px solid var(--border_color);
  width: 100%;
}
.m_route_img img {
  aspect-ratio: 36/26;
  object-fit: cover;
  width: 100%;
}
.m_route_body {
  padding: 15px 30px 30px;
}
@media screen and (max-width: 768px) {
  .m_route_body {
    padding: 10px 18px 18px;
  }
}
.m_route_num {
  color: var(--main_color);
  font-family: var(--font_jp_serif);
  font-size: 4rem;
  font-weight: var(--font_weight_bold);
  line-height: 1;
  margin-bottom: 15px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_route_num {
    font-size: 3rem;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 768px) {
  .m_route_txt {
    font-size: 1.4rem;
  }
}

/*--------------------
parking
--------------------*/
.m_parking_service {
  align-items: center;
  background-color: var(--main_color);
  display: flex;
  font-family: var(--font_jp_serif);
  gap: 20px;
  letter-spacing: 0.025em;
  margin-inline: auto;
  max-width: 800px;
  padding: 25px 20px;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 1080px) {
  .m_parking_service {
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .m_parking_service {
    gap: 15px;
    padding: 20px;
  }
}
.m_parking_service_ttl {
  align-items: center;
  background: url(/library/images/common/icon/parking_service.svg) left center/76px no-repeat;
  color: rgb(255, 255, 255);
  display: flex;
  font-size: 3.8rem;
  font-weight: var(--font_weight_medium);
  line-height: 1.2;
  min-height: 76px;
  padding-left: 110px;
}
@media screen and (max-width: 768px) {
  .m_parking_service_ttl {
    background-size: 56.5px;
    font-size: 2.9rem;
    margin-inline: -20px;
    min-height: 56.5px;
    padding-left: 68px;
  }
}
.m_parking_service_label {
  background-color: var(--main_color_lt);
  flex: 1;
  font-weight: var(--font_weight_semibold);
  line-height: 1;
  padding: 20px 0;
  text-align: center;
}
@media screen and (max-width: 1080px) {
  .m_parking_service_label {
    width: 100%;
  }
}
.m_parking_service_label_inner {
  position: relative;
}
.m_parking_service_label_inner::before {
  content: "※";
  font-size: 1.1rem;
  position: absolute;
  right: -5px;
  top: -15px;
}
.m_parking_service_en {
  color: var(--orange);
  font-size: 2.3rem;
}
.m_parking_service_num {
  font-size: 3.8rem;
}
.m_parking_service_txt {
  font-size: 1.8rem;
}
.m_parking_service_info {
  bottom: 6px;
  font-size: 1.2rem;
  font-weight: var(--font_weight_medium);
  line-height: 1;
  position: absolute;
  right: 20px;
}
@media screen and (max-width: 768px) {
  .m_parking_service_info {
    bottom: 5px;
    font-size: 1.1rem;
  }
}

/*--------------------
laurel
--------------------*/
.m_laurel {
  padding-block: 20px;
}
@media screen and (max-width: 768px) {
  .m_laurel {
    padding-block: 15px;
  }
}
.m_laurel_lists {
  display: flex;
  gap: 24px;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .m_laurel_lists {
    gap: 12px;
  }
}
.m_laurel_list {
  background: url(/library/images/common/deco_laurel.png) center bottom/contain no-repeat;
  color: rgb(153, 134, 117);
  font-family: var(--font_jp_serif);
  font-weight: var(--font_weight_semibold);
  letter-spacing: -0.025em;
  line-height: 1.4;
  max-width: 220px;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .m_laurel_list {
    max-width: 110px;
  }
}
.m_laurel_txt {
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .m_laurel_txt {
    font-size: 0.9rem;
  }
}
.m_laurel_ttl {
  font-size: 3rem;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .m_laurel_ttl {
    font-size: 1.5rem;
  }
}
.m_laurel_star {
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .m_laurel_star {
    font-size: 1.2rem;
  }
}
.m_laurel_note {
  font-size: 1.4rem;
  margin-top: 3px;
}
@media screen and (max-width: 768px) {
  .m_laurel_note {
    font-size: 0.7rem;
  }
}

/*--------------------
pager
--------------------*/
.m_pagers {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .m_pagers {
    gap: 6px;
    margin-top: 30px;
  }
}

.m_pager {
  display: grid;
}
.m_pager_item {
  background-color: rgb(255, 255, 255);
  border: 2px solid var(--body_color);
  color: var(--body_color);
  display: grid;
  font-family: var(--font_jp_serif);
  font-size: 2rem;
  font-weight: var(--font_weight_bold);
  min-width: 60px;
  min-height: 60px;
  padding: 5px 20px;
  place-content: center;
}
@media (any-hover: hover) {
  .m_pager_item {
    transition: all 0.3s;
  }
  .m_pager_item:hover {
    background-color: var(--body_color);
    border-color: var(--body_color);
    color: rgb(255, 255, 255);
  }
}
@media screen and (max-width: 768px) {
  .m_pager_item {
    border-width: 1px;
    font-size: 1.6rem;
    font-weight: var(--font_weight_medium);
    min-height: 40px;
    min-width: 40px;
    padding: 5px 15px;
  }
}
.m_pager_item_prev, .m_pager_item_next {
  position: relative;
}
.m_pager_item_prev::before, .m_pager_item_prev::after, .m_pager_item_next::before, .m_pager_item_next::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 8px;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
  left: 0;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .m_pager_item_prev::before, .m_pager_item_prev::after, .m_pager_item_next::before, .m_pager_item_next::after {
    height: 1px;
    top: calc(50% - 0.5px);
    transform-origin: calc(100% - 0.5px) 50%;
  }
}
.m_pager_item_prev::before, .m_pager_item_next::before {
  transform: rotate(45deg);
}
.m_pager_item_prev::after, .m_pager_item_next::after {
  transform: rotate(-45deg);
}
.m_pager_item_prev {
  transform: scale(-1, 1);
}
.m_pager_item_current {
  background-color: var(--main_color);
  border-color: var(--main_color);
  color: rgb(255, 255, 255);
  pointer-events: none;
}
.m_pager_item_dot {
  align-content: end;
  background-color: transparent;
  border: none;
  height: 100%;
  min-width: auto;
  padding: 0 3px;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .m_pager_item_dot {
    padding-inline: 2px;
  }
}

/*--------------------
item
--------------------*/
.m_item_lists {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 40px;
}
@media screen and (max-width: 1080px) {
  .m_item_lists {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .m_item_lists {
    gap: 14px;
    margin-top: 30px;
  }
}
.m_item_list {
  display: grid;
}
.m_item_box {
  background-color: rgb(255, 255, 255);
  border: 1px solid;
  cursor: pointer;
  padding: 20px;
}
@media (any-hover: hover) {
  .m_item_box {
    position: relative;
    transition: border-color 0.3s;
    z-index: 0;
  }
  .m_item_box::before {
    background-color: rgba(255, 255, 255, 0.3);
    border: 7px solid var(--main_color);
    content: "";
    height: calc(100% + 2px);
    left: -1px;
    opacity: 0;
    position: absolute;
    top: -1px;
    transition: opacity 0.3s;
    width: calc(100% + 2px);
    z-index: 1;
  }
  .m_item_box:hover {
    border-color: rgb(255, 255, 255);
  }
  .m_item_box:hover::before {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .m_item_box {
    padding: 10px 10px 12px;
  }
}
.m_item_box_img {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_item_box_img {
    margin-inline: auto;
    width: 85px;
  }
}
.m_item_box_ttl {
  font-size: 1.8rem;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_headline);
  margin-block: 15px 10px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_item_box_ttl {
    font-size: 1.4rem;
    margin-block: 10px 5px;
  }
}
.m_item_box_ttl_inner {
  display: inline-block;
  padding-inline: 0 20px;
  position: relative;
}
.m_item_box_ttl_inner::before, .m_item_box_ttl_inner::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 0.6em;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
.m_item_box_ttl_inner::before {
  transform: rotate(45deg);
}
.m_item_box_ttl_inner::after {
  transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .m_item_box_ttl_inner {
    padding-inline: 7px 14px;
    position: relative;
  }
  .m_item_box_ttl_inner::before, .m_item_box_ttl_inner::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 0;
    width: 0.5em;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .m_item_box_ttl_inner::before {
    transform: rotate(45deg);
  }
  .m_item_box_ttl_inner::after {
    transform: rotate(-45deg);
  }
}
.m_item_box_txt {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .m_item_box_txt {
    font-size: 1.2rem;
    margin-top: 10px;
  }
}

/*--------------------
other
--------------------*/
.m_other_item_lists {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(7, 1fr);
}
.m_other_item_lists_5 {
  gap: 18px;
  grid-template-columns: repeat(5, 1fr);
}
@media screen and (max-width: 1280px) {
  .m_other_item_lists {
    grid-template-columns: repeat(5, 1fr);
  }
  .m_other_item_lists_5 {
    gap: 18px;
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 1080px) {
  .m_other_item_lists {
    grid-template-columns: repeat(4, 1fr);
  }
  .m_other_item_lists_5 {
    gap: 18px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .m_other_item_lists {
    gap: 8px;
    grid-template-columns: repeat(3, 1fr);
  }
}
.m_other_item_list {
  display: grid;
}
.m_other_item_box {
  background-color: rgb(255, 255, 255);
  border: 1px solid;
  cursor: pointer;
  padding: 12px;
}
.m_other_item_lists_gr .m_other_item_box {
  background-image: linear-gradient(0deg, rgb(255, 255, 255), var(--main_color_lt));
}
@media (any-hover: hover) {
  .m_other_item_box {
    position: relative;
    transition: border-color 0.3s;
    z-index: 0;
  }
  .m_other_item_box::before {
    background-color: rgba(255, 255, 255, 0.3);
    border: 7px solid var(--main_color);
    content: "";
    height: calc(100% + 2px);
    left: -1px;
    opacity: 0;
    position: absolute;
    top: -1px;
    transition: opacity 0.3s;
    width: calc(100% + 2px);
    z-index: 1;
  }
  .m_other_item_box:hover {
    border-color: rgb(255, 255, 255);
  }
  .m_other_item_box:hover::before {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .m_other_item_box {
    padding: 6px 8px 10px;
  }
}
.m_other_item_box_img {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_other_item_box_img {
    margin-inline: auto;
    width: 75px;
  }
}
.m_other_item_box_ttl {
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_headline);
  margin-top: 15px;
  text-align: center;
}
.m_other_item_lists_5 .m_other_item_box_ttl {
  font-size: 1.8rem;
  margin-block: 20px 10px;
}
@media screen and (max-width: 768px) {
  .m_other_item_box_ttl {
    font-size: 1.2rem;
    margin-top: 8px;
  }
  .m_other_item_lists_5 .m_other_item_box_ttl {
    font-size: 1.2rem;
    margin-block: 8px 0;
  }
}
.m_other_item_box_ttl_inner {
  display: inline-block;
  padding-inline: 20px;
  position: relative;
}
.m_other_item_box_ttl_inner::before, .m_other_item_box_ttl_inner::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 0.6em;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
.m_other_item_box_ttl_inner::before {
  transform: rotate(45deg);
}
.m_other_item_box_ttl_inner::after {
  transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .m_other_item_box_ttl_inner {
    padding-inline: 6px 12px;
    position: relative;
  }
  .m_other_item_box_ttl_inner::before, .m_other_item_box_ttl_inner::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 0;
    width: 7px;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .m_other_item_box_ttl_inner::before {
    transform: rotate(45deg);
  }
  .m_other_item_box_ttl_inner::after {
    transform: rotate(-45deg);
  }
}

.m_other_menu_lists {
  display: grid;
  gap: 15px;
  grid-template-columns: repeat(5, 1fr);
}
@media screen and (max-width: 1280px) {
  .m_other_menu_lists {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 1080px) {
  .m_other_menu_lists {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .m_other_menu_lists {
    gap: 8px 7px;
  }
}
.m_other_menu_list {
  display: grid;
}
.m_other_menu_box {
  align-content: center;
  background-color: rgb(255, 255, 255);
  border: 2px solid;
  cursor: pointer;
  display: grid;
  min-height: 80px;
  padding: 15px 12px;
}
@media (any-hover: hover) {
  .m_other_menu_box {
    position: relative;
    transition: border-color 0.3s;
    z-index: 0;
  }
  .m_other_menu_box::before {
    background-color: rgba(255, 255, 255, 0.3);
    border: 7px solid var(--main_color);
    content: "";
    height: calc(100% + 2px);
    left: -1px;
    opacity: 0;
    position: absolute;
    top: -1px;
    transition: opacity 0.3s;
    width: calc(100% + 2px);
    z-index: 1;
  }
  .m_other_menu_box:hover {
    border-color: rgb(255, 255, 255);
  }
  .m_other_menu_box:hover::before {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .m_other_menu_box {
    border-width: 1px;
    min-height: 40px;
    padding: 0 6px;
  }
}
.m_other_menu_box_ttl {
  font-size: 1.8rem;
  line-height: 1.07;
  padding-inline: 12px;
  text-align: center;
  position: relative;
}
.m_other_menu_box_ttl::before, .m_other_menu_box_ttl::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 0.6em;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
.m_other_menu_box_ttl::before {
  transform: rotate(45deg);
}
.m_other_menu_box_ttl::after {
  transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .m_other_menu_box_ttl {
    font-size: 1.4rem;
    padding-inline: 0;
    position: relative;
  }
  .m_other_menu_box_ttl::before, .m_other_menu_box_ttl::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 0;
    width: 7px;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .m_other_menu_box_ttl::before {
    transform: rotate(45deg);
  }
  .m_other_menu_box_ttl::after {
    transform: rotate(-45deg);
  }
}

/*--------------------
search
--------------------*/
.m_search_brand_input {
  background-color: var(--gray_lt);
  border-radius: 8px;
  border: 1px solid rgb(127, 127, 127);
  display: block;
  font-size: 16px;
  height: 55px;
  max-width: 630px;
  padding-inline: 18px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .m_search_brand_input {
    border-radius: 4px;
    height: 50px;
    padding-inline: 12px;
  }
}
.m_search_brand_input::placeholder {
  color: rgb(194, 194, 194);
}

/*--------------------
column
--------------------*/
.m_column {
  background-color: rgb(255, 255, 255);
  border: 1px solid var(--border_color);
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
  width: 100%;
  z-index: 0;
}
@media (any-hover: hover) {
  .m_column:hover::before {
    opacity: 1;
  }
  .m_column:hover .m_column_time,
  .m_column:hover .m_column_ttl,
  .m_column:hover .m_column_tag {
    opacity: 0.7;
  }
  .m_column:hover .m_column_img::after {
    opacity: 1;
  }
  .m_column:hover .m_column_img img {
    filter: blur(5px);
  }
}
.m_column_link_area {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 4;
}
.m_column_img {
  position: relative;
  overflow: hidden;
}
.m_column_img::after {
  content: "VIEW MORE";
  display: grid;
  place-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0;
  background-color: rgba(60, 60, 60, 0.5);
  color: #fff;
  transition: all 0.3s ease;
}
.m_column_img img {
  position: relative;
  z-index: 1;
  aspect-ratio: 320/240;
  object-fit: cover;
  width: 100%;
  transition: filter 0.3s ease;
}
.m_column_body {
  display: flex;
  flex-direction: column;
  flex: 1;
  height: 100%;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .m_column_body {
    padding: 15px;
  }
}
.m_column_time {
  font-family: var(--font_en);
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .m_column_time {
    font-size: 1.4rem;
  }
}
.m_column_ttl {
  flex: 1;
  font-weight: var(--font_weight_bold);
}
@media screen and (max-width: 768px) {
  .m_column_ttl {
    font-size: 1.4rem;
  }
}
.m_column_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: end;
  position: relative;
  z-index: 3;
}
.m_column_tag {
  border-radius: 8px;
  border: 1px solid;
  display: inline-block;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_headline);
  padding: 4px 20px;
}
@media (any-hover: hover) {
  .m_column_tag {
    transition: 0.3s ease;
  }
}
@media screen and (max-width: 768px) {
  .m_column_tag {
    border-radius: 4px;
    font-size: 1.2rem;
    padding: 2px 15px;
  }
}
.m_column_tag_main {
  background-color: var(--main_color);
  color: rgb(255, 255, 255);
}
@media (any-hover: hover) {
  .m_column_tag_main:hover {
    background-color: rgb(255, 255, 255);
    color: var(--main_color);
  }
}

/*--------------------
model
--------------------*/
.m_model_lists {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 1080px) {
  .m_model_lists {
    gap: 20px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .m_model_lists {
    gap: 12px;
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 768px) {
  .m_model_list:nth-child(5), .m_model_list:nth-child(6) {
    display: none;
  }
}
.m_model_box {
  background-color: rgb(255, 255, 255);
  align-items: center;
  border: 1px solid;
  display: grid;
  grid-template-columns: 130px 1fr;
}
@media (any-hover: hover) {
  .m_model_box {
    position: relative;
    transition: border-color 0.3s;
    z-index: 0;
  }
  .m_model_box::before {
    background-color: rgba(255, 255, 255, 0.3);
    border: 7px solid var(--main_color);
    content: "";
    height: calc(100% + 2px);
    left: -1px;
    opacity: 0;
    position: absolute;
    top: -1px;
    transition: opacity 0.3s;
    width: calc(100% + 2px);
    z-index: 1;
  }
  .m_model_box:hover {
    border-color: rgb(255, 255, 255);
  }
  .m_model_box:hover::before {
    opacity: 1;
  }
}
@media screen and (max-width: 768px) {
  .m_model_box {
    grid-template-columns: 100px 1fr;
  }
}
.m_model_box_body {
  padding: 20px 50px 20px 30px;
  position: relative;
}
.m_model_box_body::before, .m_model_box_body::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 20px;
  width: 15px;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
.m_model_box_body::before {
  transform: rotate(45deg);
}
.m_model_box_body::after {
  transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .m_model_box_body {
    padding: 15px 40px 15px 15px;
    position: relative;
  }
  .m_model_box_body::before, .m_model_box_body::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 15px;
    width: 15px;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .m_model_box_body::before {
    transform: rotate(45deg);
  }
  .m_model_box_body::after {
    transform: rotate(-45deg);
  }
}
.m_model_box_ttl {
  font-size: 1.8rem;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_headline);
}
@media screen and (max-width: 768px) {
  .m_model_box_ttl {
    font-size: 1.6rem;
  }
}
.m_model_tag_lists {
  overflow: hidden;
  transition: max-height 0.3s ease;
}

/*--------------------
google_review
--------------------*/
@media screen and (max-width: 768px) {
  .m_google_review {
    margin-inline: calc(-1 * var(--site_padding));
  }
}

/*--------------------
results
--------------------*/
.m_results_item {
  background-color: rgb(255, 255, 255);
  border: 1px solid var(--border_color);
  display: flex;
  flex-direction: column;
  padding: 30px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .m_results_item {
    padding: 15px 15px 20px;
  }
}
.m_results_item_head {
  flex: 1;
}
.m_results_item_ttl {
  font-size: 2.4rem;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_headline);
}
@media screen and (max-width: 768px) {
  .m_results_item_ttl {
    font-size: 1.8rem;
  }
}
.m_results_item_category {
  font-weight: var(--font_weight_bold);
}
@media screen and (max-width: 768px) {
  .m_results_item_category {
    font-size: 1.4rem;
  }
}
.m_results_item_body {
  display: grid;
  gap: 40px;
  grid-template-columns: 1fr 283px;
}
@media screen and (max-width: 1080px) {
  .m_results_item_body {
    grid-template-columns: 200px 1fr;
  }
}
@media screen and (max-width: 768px) {
  .m_results_item_body {
    gap: 20px;
    grid-template-columns: fit-content(125px) minmax(170px, 1fr);
  }
}
.m_results_item_img {
  text-align: center;
}
.m_results_item_img img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .m_results_item_tag .m_tag {
    font-size: 1.2rem;
    padding: 6px 12px;
  }
}
.m_results_item_label {
  background-color: var(--body_color);
  border: 1px solid var(--border_color);
  color: rgb(255, 255, 255);
  font-weight: var(--font_weight_bold);
  padding: 3px 20px;
}
@media screen and (max-width: 768px) {
  .m_results_item_label {
    font-size: 1.05rem;
    padding-inline: 8px;
  }
}
.m_results_item_price {
  align-items: baseline;
  color: var(--orange);
  display: flex;
  line-height: 1.15;
  margin-top: -5px;
}
.m_results_item_price_num {
  font-family: var(--font_en_serif);
  font-size: 7rem;
  font-weight: var(--font_weight_semibold);
}
@media screen and (max-width: 768px) {
  .m_results_item_price_num {
    font-size: 4.6rem;
  }
}
.m_results_item_price_en {
  font-size: 2.4rem;
  font-weight: var(--font_weight_bold);
}
@media screen and (max-width: 768px) {
  .m_results_item_price_en {
    font-size: 1.58rem;
  }
}
@media screen and (max-width: 768px) {
  .m_results_item_date {
    font-size: 1.05rem;
  }
}
@media screen and (max-width: 768px) {
  .m_results_item_txt, .m_results_item_shop {
    font-size: 1.4rem;
  }
}
.m_results_item_btn .m_btn {
  min-height: 50px;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .m_results_item_btn .m_btn {
    font-size: 1.1rem;
    min-height: 30px;
  }
}

/*--------------------
voice
--------------------*/
.m_voice {
  background-color: var(--gray_lt);
  border: 1px solid var(--border_color);
  padding: 30px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .m_voice {
    padding: 20px;
  }
}
.m_voice_head {
  display: grid;
  gap: 20px;
  grid-template-columns: 90px 1fr;
}
@media screen and (max-width: 768px) {
  .m_voice_head {
    gap: 15px;
    grid-template-columns: 60px 1fr;
  }
}
.m_voice_ttl {
  font-size: 2rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.025em;
  line-height: var(--line_height_headline);
}
@media screen and (max-width: 768px) {
  .m_voice_ttl {
    font-size: 1.4rem;
  }
}
.m_voice_body {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .m_voice_body {
    margin-top: 12px;
  }
}
.m_voice_stars {
  color: var(--main_color);
  display: flex;
  font-size: 2.3rem;
  gap: 4px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .m_voice_stars {
    font-size: 1.6rem;
    gap: 2px;
  }
}
.m_voice_star {
  opacity: 0.45;
}
.m_voice_stars_1 .m_voice_star:nth-child(-n+1) {
  opacity: 1;
}
.m_voice_stars_2 .m_voice_star:nth-child(-n+2) {
  opacity: 1;
}
.m_voice_stars_3 .m_voice_star:nth-child(-n+3) {
  opacity: 1;
}
.m_voice_stars_4 .m_voice_star:nth-child(-n+4) {
  opacity: 1;
}
.m_voice_stars_5 .m_voice_star {
  opacity: 1;
}
.m_voice_txt {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .m_voice_txt {
    font-size: 1.4rem;
  }
}

/*--------------------
media
--------------------*/
@media screen and (min-width: 769px) {
  .m_media {
    align-items: start;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr;
  }
}
@media screen and (min-width: 769px) {
  .m_media_ttl {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
@media screen and (min-width: 769px) {
  .m_media_img {
    grid-column: 2/3;
    grid-row: 1/3;
  }
}
@media screen and (max-width: 768px) {
  .m_media_img {
    margin-left: calc(-1 * var(--site_padding));
    width: calc(100% + var(--site_padding));
  }
  .m_media_img img {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .m_media_body {
    grid-column: 1/2;
    grid-row: 2/3;
    padding-right: 60px;
  }
}
@media screen and (max-width: 768px) {
  .m_media_body {
    margin-top: 30px;
  }
}

/*--------------------
buyer
--------------------*/
.m_buyer {
  background-color: rgb(255, 255, 255);
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media (any-hover: hover) {
  .m_buyer {
    position: relative;
    transition: border-color 0.3s;
    z-index: 0;
  }
  .m_buyer::before {
    background-color: rgba(255, 255, 255, 0.3);
    border: 7px solid var(--main_color);
    content: "";
    height: calc(100% + 2px);
    left: -1px;
    opacity: 0;
    position: absolute;
    top: -1px;
    transition: opacity 0.3s;
    width: calc(100% + 2px);
    z-index: 1;
  }
  .m_buyer:hover {
    border-color: rgb(255, 255, 255);
  }
  .m_buyer:hover::before {
    opacity: 1;
  }
}
.m_buyer_img img {
  aspect-ratio: 32/38;
  width: 100%;
}
.m_buyer_body {
  flex: 1;
  text-align: center;
  padding-block: 20px 25px;
}
@media screen and (max-width: 768px) {
  .m_buyer_body {
    padding-block: 15px 18px;
  }
}
.m_buyer_name {
  font-weight: var(--font_weight_base);
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .m_buyer_name {
    font-size: 1.1rem;
  }
}
.m_buyer_name::before {
  content: attr(data-en);
  display: block;
  font-family: var(--font_jp_serif);
  font-size: 2.2rem;
  font-weight: var(--font_weight_medium);
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .m_buyer_name::before {
    font-size: 1.6rem;
    margin-bottom: 6px;
  }
}

/*--------------------
table
--------------------*/
.m_table {
  border-top: 1px solid var(--border_color);
  border-left: 1px solid var(--border_color);
  border-right: 1px solid var(--border_color);
}
.m_table tbody th:first-child {
  background-color: rgb(238, 238, 238);
  text-align: center;
  width: 20%;
}
@media screen and (max-width: 1080px) {
  .m_table tbody th:first-child {
    width: 25%;
  }
}
@media screen and (max-width: 768px) {
  .m_table tbody th:first-child {
    width: 32%;
  }
}
.m_table th,
.m_table td {
  border-bottom: 1px solid var(--border_color);
  padding: 10px 20px;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .m_table th,
  .m_table td {
    font-size: 1.4rem;
    padding: 5px 10px;
  }
}
.m_table th[rowspan],
.m_table td[rowspan] {
  vertical-align: middle;
}
.m_table th {
  font-size: 1.8rem;
  font-weight: var(--font_weight_bold);
}
@media screen and (max-width: 768px) {
  .m_table th {
    font-size: 1.4rem;
    padding-inline: 5px;
  }
}

/*--------------------
expandable
--------------------*/
.m_expandable_content {
  overflow: hidden;
  position: relative;
  transition: max-height 0.4s ease;
}
.m_expandable_content::after {
  background-image: linear-gradient(transparent, rgb(255, 255, 255));
  bottom: 0;
  content: "";
  height: 50%;
  left: 0;
  position: absolute;
  transition: opacity 0.4s ease;
  width: 100%;
}
.m_expandable_content.is_active::after {
  opacity: 0;
  pointer-events: none;
}
.m_expandable_content.is_show::after {
  content: none;
}
.m_expandable_toggle_wrap {
  margin-top: 30px;
  text-align: center;
}
@media screen and (max-width: 1080px) {
  .m_expandable_toggle_wrap {
    margin-top: 15px;
  }
}
.m_expandable_toggle {
  display: inline-block;
  padding-right: 18px;
  position: relative;
}
@media screen and (max-width: 1080px) {
  .m_expandable_toggle {
    font-size: 1.4rem;
    padding-right: 16px;
  }
}
.m_expandable_arrow {
  bottom: 0;
  display: block;
  height: 16px;
  margin-block: auto;
  position: absolute;
  right: 0;
  top: 0;
  transform: rotate(90deg);
  transition: transform 0.3s;
  width: 8px;
}
@media screen and (max-width: 768px) {
  .m_expandable_arrow {
    height: 12px;
    width: 6px;
  }
}
.m_link_more.is_active .m_expandable_arrow {
  transform: rotate(-90deg);
}
.m_expandable_arrow::before, .m_expandable_arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 10px;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
@media screen and (max-width: 768px) {
  .m_expandable_arrow::before, .m_expandable_arrow::after {
    height: 1px;
    top: calc(50% - 0.5px);
    transform-origin: calc(100% - 0.5px) 50%;
    width: 8px;
  }
}
.m_expandable_arrow::before {
  transform: rotate(45deg);
}
.m_expandable_arrow::after {
  transform: rotate(-45deg);
}

/*--------------------
pickup
--------------------*/
.m_pickup {
  background-color: var(--main_color_lt);
  display: flex;
  flex-direction: column;
  width: 100%;
}
@media (any-hover: hover) {
  .m_pickup {
    position: relative;
    transition: border-color 0.3s;
    z-index: 0;
  }
  .m_pickup::before {
    background-color: rgba(255, 255, 255, 0.3);
    border: 7px solid var(--main_color);
    content: "";
    height: calc(100% + 2px);
    left: -1px;
    opacity: 0;
    position: absolute;
    top: -1px;
    transition: opacity 0.3s;
    width: calc(100% + 2px);
    z-index: 1;
  }
  .m_pickup:hover {
    border-color: rgb(255, 255, 255);
  }
  .m_pickup:hover::before {
    opacity: 1;
  }
}
.m_pickup_img img {
  aspect-ratio: 1/1;
  object-fit: cover;
  width: 100%;
}
.m_pickup_body {
  flex: 1;
  padding: 20px 10px;
}
@media screen and (max-width: 768px) {
  .m_pickup_body {
    padding: 15px 10px;
  }
}
.m_pickup_ttl {
  font-family: var(--font_jp_serif);
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.025em;
  line-height: var(--line_height_headline);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_pickup_ttl {
    font-size: 1.4rem;
  }
}

/*--------------------
purchase
--------------------*/
.m_purchase {
  margin-inline: auto;
  max-width: 620px;
}
.m_purchase_label {
  background-color: var(--body_color);
  border: 1px solid var(--border_color);
  color: rgb(255, 255, 255);
  font-weight: var(--font_weight_bold);
  padding: 3px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_purchase_label {
    font-size: 1.2rem;
    padding: 2px;
  }
}
.m_purchase_price {
  align-items: baseline;
  color: var(--orange);
  display: flex;
  justify-content: center;
  line-height: 1.15;
  margin-top: -5px;
}
.m_purchase_price_num {
  font-family: var(--font_en_serif);
  font-size: 5rem;
  font-weight: var(--font_weight_semibold);
}
@media screen and (max-width: 768px) {
  .m_purchase_price_num {
    font-size: 3.5rem;
  }
}
.m_purchase_price_en {
  font-weight: var(--font_weight_bold);
}
@media screen and (max-width: 768px) {
  .m_purchase_price_en {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .m_purchase_price_tax {
    font-size: 1.05rem;
  }
}

/*--------------------
faq
--------------------*/
.m_faq {
  display: grid;
  gap: 40px;
}
.m_faq_list {
  counter-increment: faqNum;
}
.m_faq_dt {
  font-size: 2.4rem;
  font-weight: var(--font_weight_bold);
  position: relative;
  padding-left: 70px;
  letter-spacing: 0.025em;
  line-height: var(--line_height_headline);
}
@media screen and (max-width: 768px) {
  .m_faq_dt {
    font-size: 1.8rem;
    padding-left: 45px;
  }
}
.m_faq_dt::before {
  color: rgb(201, 201, 201);
  content: counter(faqNum, decimal-leading-zero);
  font-family: var(--font_jp_serif);
  font-size: 4rem;
  font-weight: var(--font_weight_bold);
  left: 0;
  letter-spacing: 0.025em;
  line-height: 1;
  position: absolute;
  text-align: center;
  top: -7px;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .m_faq_dt::before {
    font-size: 3rem;
    top: -6px;
  }
}
.m_faq_dd {
  margin-top: 15px;
}

/*--------------------
kizu
--------------------*/
.m_kizu_result_ttl {
  background-color: var(--main_color);
  color: rgb(255, 255, 255);
  font-size: 2.8rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.025em;
  line-height: var(--line_height_headline);
  padding: 15px 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_kizu_result_ttl {
    font-size: 1.8rem;
    padding: 10px 15px;
  }
}
.m_kizu_result_body {
  background-color: var(--main_color_lt);
  padding: 30px 29px 25px;
}
@media screen and (max-width: 768px) {
  .m_kizu_result_body {
    padding: 20px 20px 15px;
  }
}
.m_kizu_result_lists {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(6, 1fr);
}
@media screen and (max-width: 768px) {
  .m_kizu_result_lists {
    gap: 15px 6px;
    grid-template-columns: repeat(3, 1fr);
  }
}
.m_kizu_result_img {
  text-align: center;
}
.m_kizu_result_figcaption {
  font-size: 1.9rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.025em;
  margin-top: 5px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_kizu_result_figcaption {
    font-size: 1.4rem;
  }
}

/*--------------------
flow
--------------------*/
.m_flow_lists {
  display: grid;
  gap: 40px;
  margin-inline: auto;
  max-width: 800px;
}
@media screen and (max-width: 768px) {
  .m_flow_lists {
    gap: 20px;
  }
}
.m_flow_list {
  counter-increment: flowNum;
}
.m_flow_item {
  align-items: center;
  background-color: var(--gray_lt);
  border: 1px solid var(--border_color);
  padding: 30px;
}
@media screen and (max-width: 768px) {
  .m_flow_item {
    padding: 20px;
  }
}
.m_flow_item_head {
  padding-left: 100px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .m_flow_item_head {
    padding-left: 0;
  }
}
.m_flow_item_head::before {
  transform: translateY(-50%);
  color: rgb(201, 201, 201);
  content: counter(flowNum, decimal-leading-zero);
  display: block;
  font-family: var(--font_jp_serif);
  font-size: 5rem;
  font-weight: var(--font_weight_bold);
  left: 0;
  letter-spacing: 0.025em;
  line-height: 1;
  position: absolute;
  text-align: center;
  top: 46%;
  white-space: nowrap;
  width: 70px;
}
@media screen and (max-width: 768px) {
  .m_flow_item_head::before {
    font-size: 3rem;
    top: -6px;
    transform: none;
    width: 45px;
  }
}
.m_flow_item_ttl {
  align-items: center;
  display: flex;
  font-size: 2.4rem;
  font-weight: var(--font_weight_bold);
  letter-spacing: 0.025em;
  line-height: var(--line_height_headline);
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .m_flow_item_ttl {
    font-size: 1.8rem;
    margin-bottom: 15px;
    padding-left: 55px;
  }
}
.m_flow_item_body {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .m_flow_item_body {
    margin-top: 20px;
  }
}
.m_flow_item_banners {
  display: grid;
  gap: 15px;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .m_flow_item_banners {
    grid-template-columns: 1fr;
  }
}
.m_flow_item_banner img {
  width: 100%;
}

/*--------------------
shop
--------------------*/
.m_shop {
  background-color: rgb(255, 255, 255);
  border: 1px solid;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .m_shop {
    display: grid;
    gap: 0;
    grid-row: span 2;
    grid-template-rows: subgrid;
  }
}
.m_shop_header {
  display: grid;
  gap: 15px;
  grid-template-columns: 126px 1fr;
  line-height: 1.5;
  padding: 15px 40px 15px 15px;
  position: relative;
}
@media screen and (min-width: 769px) {
  .m_shop_header {
    pointer-events: none;
  }
}
@media screen and (max-width: 768px) {
  .m_shop_header {
    cursor: pointer;
    grid-template-columns: 116px 1fr;
  }
}
.m_shop_header_arrow {
  display: none;
}
@media screen and (max-width: 768px) {
  .m_shop_header_arrow {
    bottom: 0;
    display: block;
    height: 14px;
    margin-block: auto;
    position: absolute;
    right: 20px;
    top: 0;
    transform: rotate(90deg);
    transition: transform 0.3s;
    width: 8px;
  }
}
.m_shop_header.is_active .m_shop_header_arrow {
  transform: rotate(-90deg);
}
.m_shop_header_arrow::before, .m_shop_header_arrow::after {
  background-color: var(--body_color);
  content: "";
  height: 1px;
  position: absolute;
  right: 0;
  top: calc(50% - 0.5px);
  transform-origin: calc(100% - 0.5px) 50%;
  width: 10px;
}
.m_shop_header_arrow::before {
  transform: rotate(45deg);
}
.m_shop_header_arrow::after {
  transform: rotate(-45deg);
}
.m_shop_header_ttl {
  font-size: 2rem;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_headline);
}
@media screen and (max-width: 768px) {
  .m_shop_header_ttl {
    font-size: 1.6rem;
  }
}
.m_shop_header_category {
  line-height: 1;
}
.m_shop_header_category .m_category {
  border-radius: 0;
  font-weight: var(--font_weight_bold);
  padding: 2px 4px;
}
.m_shop_header_txt {
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .m_shop_header_txt {
    font-size: 1.4rem;
  }
}
.m_shop_content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@media screen and (min-width: 769px) {
  .m_shop_content {
    display: grid;
    max-height: 100%;
    overflow: visible;
  }
}
.m_shop_content_inner {
  padding: 0 15px 15px;
}
@media screen and (min-width: 769px) {
  .m_shop_content_inner {
    display: grid;
  }
}
.m_shop_body {
  background-color: var(--gray_lt);
  padding: 15px;
  display: flex;
  flex-direction: column;
}
.m_shop_body_content {
  flex: 1;
}
.m_shop_body_btn {
  margin-top: 15px;
}
.m_shop_lists {
  display: grid;
  gap: 25px;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 1080px) {
  .m_shop_lists {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .m_shop_lists {
    gap: 16px;
    grid-template-columns: 1fr;
  }
}
@media screen and (min-width: 769px) {
  .m_shop_list {
    display: contents;
  }
}

/*--------------------
brand
--------------------*/
.m_brand_lists {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 40px;
}
@media screen and (max-width: 1080px) {
  .m_brand_lists {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .m_brand_lists {
    gap: 12px;
    margin-top: 30px;
  }
}
.m_brand_list {
  display: grid;
}
.m_brand_list_more {
  grid-column: 1/-1;
  order: 100;
}
.m_brand_box {
  background-color: rgb(255, 255, 255);
  border: 1px solid var(--border_color);
  padding: 20px 24px 24px;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .m_brand_box {
    padding: 10px 10px 12px;
  }
}
.m_brand_box_img {
  text-align: center;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .m_brand_box_img {
    width: 85px;
  }
}
.m_brand_box_ttl {
  font-size: 1.8rem;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_headline);
  text-align: center;
  flex-grow: 1;
  display: flex;
}
@media screen and (max-width: 768px) {
  .m_brand_box_ttl {
    font-size: 1.4rem;
    justify-content: center;
  }
}
.m_brand_box_btn {
  font-weight: var(--font_weight_medium);
  min-height: 50px;
  padding-block: 0;
}
@media screen and (max-width: 768px) {
  .m_brand_box_btn {
    font-size: 1.1rem;
    min-height: 30px;
  }
  .m_brand_box_btn.m_btn_main {
    position: relative;
  }
  .m_brand_box_btn.m_btn_main::before, .m_brand_box_btn.m_btn_main::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 12px;
    width: 7px;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .m_brand_box_btn.m_btn_main::before {
    transform: rotate(45deg);
  }
  .m_brand_box_btn.m_btn_main::after {
    transform: rotate(-45deg);
  }
}

.m_brand_filter {
  background-color: rgb(255, 255, 255);
  border: 7px solid var(--main_color);
  padding: 40px;
}
@media screen and (max-width: 1080px) {
  .m_brand_filter {
    border-width: 5px;
    padding: 20px;
  }
}
.m_brand_filter_wrap {
  animation: fadeDown 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  grid-column: 1/-1;
}
@media screen and (max-width: 1080px) {
  .m_brand_filter_wrap {
    margin-top: -20px;
  }
}
.m_brand_filter_arrows {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: -1px;
}
@media screen and (max-width: 1080px) {
  .m_brand_filter_arrows {
    gap: 12px;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 20px;
    height: 20px;
  }
}
.m_brand_filter_arrow {
  background-color: var(--main_color);
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
  content: "";
  height: 30px;
  margin-inline: auto;
  width: 30px;
}
@media screen and (max-width: 1080px) {
  .m_brand_filter_arrow {
    height: 20px;
    width: 20px;
  }
}
.m_brand_filter_01 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_05 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_09 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_13 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_17 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_21 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_25 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_29 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_33 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_37 .m_brand_filter_arrow:not(:nth-child(1)) {
  background-color: transparent;
}
.m_brand_filter_02 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_06 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_10 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_14 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_18 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_22 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_26 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_30 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_34 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_38 .m_brand_filter_arrow:not(:nth-child(2)) {
  background-color: transparent;
}
@media screen and (min-width: 1081px) {
  .m_brand_filter_03 .m_brand_filter_arrow:not(:nth-child(3)), .m_brand_filter_07 .m_brand_filter_arrow:not(:nth-child(3)), .m_brand_filter_11 .m_brand_filter_arrow:not(:nth-child(3)), .m_brand_filter_15 .m_brand_filter_arrow:not(:nth-child(3)), .m_brand_filter_19 .m_brand_filter_arrow:not(:nth-child(3)), .m_brand_filter_23 .m_brand_filter_arrow:not(:nth-child(3)), .m_brand_filter_27 .m_brand_filter_arrow:not(:nth-child(3)), .m_brand_filter_31 .m_brand_filter_arrow:not(:nth-child(3)), .m_brand_filter_35 .m_brand_filter_arrow:not(:nth-child(3)), .m_brand_filter_39 .m_brand_filter_arrow:not(:nth-child(3)) {
    background-color: transparent;
  }
}
@media screen and (max-width: 1080px) {
  .m_brand_filter_03 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_07 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_11 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_15 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_19 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_23 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_27 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_31 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_35 .m_brand_filter_arrow:not(:nth-child(1)), .m_brand_filter_39 .m_brand_filter_arrow:not(:nth-child(1)) {
    background-color: transparent;
  }
}
@media screen and (min-width: 1081px) {
  .m_brand_filter_04 .m_brand_filter_arrow:not(:nth-child(4)), .m_brand_filter_08 .m_brand_filter_arrow:not(:nth-child(4)), .m_brand_filter_12 .m_brand_filter_arrow:not(:nth-child(4)), .m_brand_filter_16 .m_brand_filter_arrow:not(:nth-child(4)), .m_brand_filter_20 .m_brand_filter_arrow:not(:nth-child(4)), .m_brand_filter_24 .m_brand_filter_arrow:not(:nth-child(4)), .m_brand_filter_28 .m_brand_filter_arrow:not(:nth-child(4)), .m_brand_filter_32 .m_brand_filter_arrow:not(:nth-child(4)), .m_brand_filter_36 .m_brand_filter_arrow:not(:nth-child(4)), .m_brand_filter_40 .m_brand_filter_arrow:not(:nth-child(4)) {
    background-color: transparent;
  }
}
@media screen and (max-width: 1080px) {
  .m_brand_filter_04 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_08 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_12 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_16 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_20 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_24 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_28 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_32 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_36 .m_brand_filter_arrow:not(:nth-child(2)), .m_brand_filter_40 .m_brand_filter_arrow:not(:nth-child(2)) {
    background-color: transparent;
  }
}

.m_brand_item {
  background-color: rgb(255, 255, 255);
  border: 1px solid var(--border_color);
  display: flex;
  flex-direction: column;
  padding: 20px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .m_brand_item {
    padding: 10px 10px 15px;
  }
}
.m_brand_item_img {
  text-align: center;
  padding: 20px 20px 0;
}
@media screen and (max-width: 768px) {
  .m_brand_item_img {
    padding: 10px 0 0;
  }
  .m_brand_item_img img {
    width: 80%;
  }
}
.m_brand_item_head {
  flex: 1;
}
.m_brand_item_body {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .m_brand_item_body {
    padding-inline: 10px;
  }
}
@media screen and (max-width: 768px) {
  .m_brand_item_foot {
    padding-inline: 10px;
  }
}
.m_brand_item_ttl {
  font-size: 1.6rem;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_headline);
}
@media screen and (max-width: 768px) {
  .m_brand_item_ttl {
    font-size: 1.6rem;
  }
}
.m_brand_item_txt {
  line-height: var(--line_height_headline);
}
@media screen and (max-width: 768px) {
  .m_brand_item_txt {
    font-size: 1.2rem;
  }
}
.m_brand_item_category {
  font-weight: var(--font_weight_bold);
}
@media screen and (max-width: 768px) {
  .m_brand_item_category {
    font-size: 1.4rem;
  }
}
.m_brand_item_date {
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .m_brand_item_date {
    font-size: 1.2rem;
  }
}
.m_brand_item_label {
  background-color: var(--body_color);
  border: 1px solid var(--border_color);
  color: rgb(255, 255, 255);
  font-weight: var(--font_weight_bold);
  padding: 3px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .m_brand_item_label {
    font-size: 1.2rem;
    padding: 2px;
  }
}
.m_brand_item_price {
  align-items: baseline;
  color: var(--orange);
  display: flex;
  justify-content: center;
  line-height: 1.15;
  margin-top: -5px;
}
.m_brand_item_price_num {
  font-family: var(--font_en_serif);
  font-size: 5rem;
  font-weight: var(--font_weight_semibold);
}
@media screen and (max-width: 768px) {
  .m_brand_item_price_num {
    font-size: 3.5rem;
  }
}
.m_brand_item_price_en {
  font-weight: var(--font_weight_bold);
}
@media screen and (max-width: 768px) {
  .m_brand_item_price_en {
    font-size: 1.2rem;
  }
}
.m_brand_item_link {
  position: relative;
  z-index: 0;
}
@media (any-hover: hover) {
  .m_brand_item_link {
    transition: border-color 0.3s;
  }
  .m_brand_item_link::before {
    border: 7px solid var(--main_color);
    content: "";
    height: calc(100% + 2px);
    left: -1px;
    opacity: 0;
    position: absolute;
    top: -1px;
    transition: opacity 0.3s;
    width: calc(100% + 2px);
    z-index: 1;
  }
  .m_brand_item_link:hover {
    border-color: rgb(255, 255, 255);
  }
  .m_brand_item_link:hover::before {
    opacity: 1;
  }
}
.m_brand_item_link_area {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}
.m_brand_item_link_tag {
  position: relative;
  z-index: 3;
}
.m_brand_item_results {
  padding: 0;
}
.m_brand_item_results .m_brand_item_img img {
  aspect-ratio: 1/1;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.m_brand_item_results .m_brand_item_body {
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .m_brand_item_results .m_brand_item_body {
    padding: 15px;
  }
}
.m_brand_item_content {
  display: flex;
  flex-direction: column;
}
.m_brand_item_shop_results .m_brand_item_date {
  font-size: 1.6rem;
}
.m_brand_item_shop_results .m_brand_item_img {
  align-items: center;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
.m_brand_item_shop_results .m_brand_item_img img {
  height: 100%;
  object-fit: contain;
  width: 100%;
}
.m_brand_item_shop_results .m_brand_item_body {
  display: flex;
  flex: none;
  flex-direction: column;
}
.m_brand_item_shop_results .m_brand_item_content {
  flex: 1;
}
.m_brand_item_shop_results .m_brand_item_link_tag {
  margin-top: auto;
}
@media screen and (max-width: 768px) {
  .m_brand_item_shop_results {
    padding: 15px;
  }
  .m_brand_item_shop_results .m_brand_item_body,
  .m_brand_item_shop_results .m_brand_item_foot {
    padding-inline: 0;
  }
  .m_brand_item_shop_results .m_brand_item_body {
    display: grid;
    gap: 20px;
    grid-template-columns: 125px 1fr;
  }
  .m_brand_item_shop_results .m_brand_item_foot {
    margin-top: 15px;
  }
  .m_brand_item_shop_results .m_brand_item_ttl {
    font-size: 1.8rem;
    line-height: var(--line_height_headline);
  }
  .m_brand_item_shop_results .m_brand_item_img {
    align-items: center;
    aspect-ratio: 1/1;
    display: flex;
    justify-content: center;
    overflow: hidden;
    padding: 0;
  }
  .m_brand_item_shop_results .m_brand_item_img img {
    height: 100%;
    object-fit: contain;
    width: 100%;
  }
  .m_brand_item_shop_results .m_brand_item_label {
    font-size: 1.05rem;
    padding-inline: 8px;
    text-align: left;
  }
  .m_brand_item_shop_results .m_brand_item_price {
    justify-content: start;
  }
  .m_brand_item_shop_results .m_brand_item_price_num {
    font-size: 4.6rem;
  }
  .m_brand_item_shop_results .m_brand_item_price_en {
    font-size: 1.6rem;
  }
  .m_brand_item_shop_results .m_brand_item_date {
    font-size: 1.05rem;
  }
  .m_brand_item_shop_results .m_brand_item_shop {
    font-size: 1.4rem;
  }
}

.m_brand_media {
  border-bottom: 1px solid var(--border_color);
  display: grid;
  gap: 20px;
  grid-template-columns: 245px 1fr;
  padding-block: 20px;
}
@media screen and (max-width: 768px) {
  .m_brand_media {
    gap: 15px;
    grid-template-columns: 140px 1fr;
    padding-block: 15px;
  }
}
.m_brand_media_lists {
  display: grid;
  gap: 0 30px;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 1080px) {
  .m_brand_media_lists {
    gap: 0;
    grid-template-columns: 1fr;
  }
}
.m_brand_media_img {
  display: grid;
  place-content: center;
}
@media screen and (max-width: 768px) {
  .m_brand_media_img {
    padding: 6px;
  }
}
.m_brand_media_ttl {
  font-size: 1.8rem;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_headline);
  margin-top: 20px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .m_brand_media_ttl {
    font-size: 1.6rem;
    margin-top: 0px;
  }
}
.m_brand_media_txt {
  margin-top: 10px;
  line-height: var(--line_height_headline);
}
@media screen and (max-width: 768px) {
  .m_brand_media_txt {
    font-size: 1.2rem;
    margin-top: 8px;
  }
}
.m_brand_media_label {
  background-color: var(--body_color);
  border: 1px solid var(--border_color);
  color: rgb(255, 255, 255);
  font-weight: var(--font_weight_bold);
  margin-top: 30px;
  padding: 3px;
  text-align: center;
}
@media screen and (max-width: 1080px) {
  .m_brand_media_label {
    padding-inline: 10px;
    text-align: left;
  }
}
@media screen and (max-width: 768px) {
  .m_brand_media_label {
    font-size: 1.2rem;
    padding-block: 2px;
  }
}
.m_brand_media_price {
  align-items: baseline;
  color: var(--orange);
  display: flex;
  justify-content: center;
  line-height: 1;
}
@media screen and (max-width: 1080px) {
  .m_brand_media_price {
    justify-content: start;
  }
}
.m_brand_media_price_num {
  font-family: var(--font_en_serif);
  font-size: 5rem;
  font-weight: var(--font_weight_semibold);
}
@media screen and (max-width: 768px) {
  .m_brand_media_price_num {
    font-size: 3.5rem;
  }
}
.m_brand_media_price_en {
  font-weight: var(--font_weight_bold);
}
@media screen and (max-width: 768px) {
  .m_brand_media_price_en {
    font-size: 1.2rem;
  }
}

[data-order="01"] {
  order: 1;
}
@media screen and (max-width: 1080px) {
  [data-order="01"] {
    order: 1;
  }
}

[data-order="02"] {
  order: 2;
}
@media screen and (max-width: 1080px) {
  [data-order="02"] {
    order: 2;
  }
}

[data-order="03"] {
  order: 3;
}
@media screen and (max-width: 1080px) {
  [data-order="03"] {
    order: 5;
  }
}

[data-order="04"] {
  order: 4;
}
@media screen and (max-width: 1080px) {
  [data-order="04"] {
    order: 6;
  }
}

[data-order="05"] {
  order: 5;
}
@media screen and (max-width: 1080px) {
  [data-order="05"] {
    order: 3;
  }
}

[data-order="06"] {
  order: 6;
}
@media screen and (max-width: 1080px) {
  [data-order="06"] {
    order: 4;
  }
}

[data-order="07"] {
  order: 7;
}
@media screen and (max-width: 1080px) {
  [data-order="07"] {
    order: 7;
  }
}

[data-order="08"] {
  order: 8;
}
@media screen and (max-width: 1080px) {
  [data-order="08"] {
    order: 8;
  }
}

[data-order="09"] {
  order: 9;
}
@media screen and (max-width: 1080px) {
  [data-order="09"] {
    order: 9;
  }
}

[data-order="10"] {
  order: 10;
}
@media screen and (max-width: 1080px) {
  [data-order="10"] {
    order: 10;
  }
}

[data-order="11"] {
  order: 11;
}
@media screen and (max-width: 1080px) {
  [data-order="11"] {
    order: 13;
  }
}

[data-order="12"] {
  order: 12;
}
@media screen and (max-width: 1080px) {
  [data-order="12"] {
    order: 14;
  }
}

[data-order="13"] {
  order: 13;
}
@media screen and (max-width: 1080px) {
  [data-order="13"] {
    order: 11;
  }
}

[data-order="14"] {
  order: 14;
}
@media screen and (max-width: 1080px) {
  [data-order="14"] {
    order: 12;
  }
}

[data-order="15"] {
  order: 15;
}
@media screen and (max-width: 1080px) {
  [data-order="15"] {
    order: 15;
  }
}

[data-order="16"] {
  order: 16;
}
@media screen and (max-width: 1080px) {
  [data-order="16"] {
    order: 16;
  }
}

[data-order="17"] {
  order: 17;
}
@media screen and (max-width: 1080px) {
  [data-order="17"] {
    order: 17;
  }
}

[data-order="18"] {
  order: 18;
}
@media screen and (max-width: 1080px) {
  [data-order="18"] {
    order: 18;
  }
}

[data-order="19"] {
  order: 19;
}
@media screen and (max-width: 1080px) {
  [data-order="19"] {
    order: 21;
  }
}

[data-order="20"] {
  order: 20;
}
@media screen and (max-width: 1080px) {
  [data-order="20"] {
    order: 22;
  }
}

[data-order="21"] {
  order: 21;
}
@media screen and (max-width: 1080px) {
  [data-order="21"] {
    order: 19;
  }
}

[data-order="22"] {
  order: 22;
}
@media screen and (max-width: 1080px) {
  [data-order="22"] {
    order: 20;
  }
}

[data-order="23"] {
  order: 23;
}
@media screen and (max-width: 1080px) {
  [data-order="23"] {
    order: 23;
  }
}

[data-order="24"] {
  order: 24;
}
@media screen and (max-width: 1080px) {
  [data-order="24"] {
    order: 24;
  }
}

[data-order="25"] {
  order: 25;
}
@media screen and (max-width: 1080px) {
  [data-order="25"] {
    order: 25;
  }
}

[data-order="26"] {
  order: 26;
}
@media screen and (max-width: 1080px) {
  [data-order="26"] {
    order: 26;
  }
}

[data-order="27"] {
  order: 27;
}
@media screen and (max-width: 1080px) {
  [data-order="27"] {
    order: 29;
  }
}

[data-order="28"] {
  order: 28;
}
@media screen and (max-width: 1080px) {
  [data-order="28"] {
    order: 30;
  }
}

[data-order="29"] {
  order: 29;
}
@media screen and (max-width: 1080px) {
  [data-order="29"] {
    order: 27;
  }
}

[data-order="30"] {
  order: 30;
}
@media screen and (max-width: 1080px) {
  [data-order="30"] {
    order: 28;
  }
}

[data-order="31"] {
  order: 31;
}
@media screen and (max-width: 1080px) {
  [data-order="31"] {
    order: 31;
  }
}

[data-order="32"] {
  order: 32;
}
@media screen and (max-width: 1080px) {
  [data-order="32"] {
    order: 32;
  }
}

[data-order="33"] {
  order: 33;
}
@media screen and (max-width: 1080px) {
  [data-order="33"] {
    order: 33;
  }
}

[data-order="34"] {
  order: 34;
}
@media screen and (max-width: 1080px) {
  [data-order="34"] {
    order: 34;
  }
}

[data-order="35"] {
  order: 35;
}
@media screen and (max-width: 1080px) {
  [data-order="35"] {
    order: 37;
  }
}

[data-order="36"] {
  order: 36;
}
@media screen and (max-width: 1080px) {
  [data-order="36"] {
    order: 38;
  }
}

[data-order="37"] {
  order: 37;
}
@media screen and (max-width: 1080px) {
  [data-order="37"] {
    order: 35;
  }
}

[data-order="38"] {
  order: 38;
}
@media screen and (max-width: 1080px) {
  [data-order="38"] {
    order: 36;
  }
}

[data-order="39"] {
  order: 39;
}
@media screen and (max-width: 1080px) {
  [data-order="39"] {
    order: 39;
  }
}

[data-order="40"] {
  order: 40;
}
@media screen and (max-width: 1080px) {
  [data-order="40"] {
    order: 40;
  }
}

[data-order="41"] {
  order: 41;
}
@media screen and (max-width: 1080px) {
  [data-order="41"] {
    order: 41;
  }
}

[data-order="42"] {
  order: 42;
}
@media screen and (max-width: 1080px) {
  [data-order="42"] {
    order: 42;
  }
}

[data-order="43"] {
  order: 43;
}
@media screen and (max-width: 1080px) {
  [data-order="43"] {
    order: 45;
  }
}

[data-order="44"] {
  order: 44;
}
@media screen and (max-width: 1080px) {
  [data-order="44"] {
    order: 46;
  }
}

[data-order="45"] {
  order: 45;
}
@media screen and (max-width: 1080px) {
  [data-order="45"] {
    order: 43;
  }
}

[data-order="46"] {
  order: 46;
}
@media screen and (max-width: 1080px) {
  [data-order="46"] {
    order: 44;
  }
}

[data-order="47"] {
  order: 47;
}
@media screen and (max-width: 1080px) {
  [data-order="47"] {
    order: 47;
  }
}

[data-order="48"] {
  order: 48;
}
@media screen and (max-width: 1080px) {
  [data-order="48"] {
    order: 48;
  }
}

[data-order="49"] {
  order: 49;
}
@media screen and (max-width: 1080px) {
  [data-order="49"] {
    order: 49;
  }
}

[data-order="50"] {
  order: 50;
}
@media screen and (max-width: 1080px) {
  [data-order="50"] {
    order: 50;
  }
}

[data-order="51"] {
  order: 51;
}
@media screen and (max-width: 1080px) {
  [data-order="51"] {
    order: 53;
  }
}

[data-order="52"] {
  order: 52;
}
@media screen and (max-width: 1080px) {
  [data-order="52"] {
    order: 54;
  }
}

[data-order="53"] {
  order: 53;
}
@media screen and (max-width: 1080px) {
  [data-order="53"] {
    order: 51;
  }
}

[data-order="54"] {
  order: 54;
}
@media screen and (max-width: 1080px) {
  [data-order="54"] {
    order: 52;
  }
}

[data-order="55"] {
  order: 55;
}
@media screen and (max-width: 1080px) {
  [data-order="55"] {
    order: 55;
  }
}

[data-order="56"] {
  order: 56;
}
@media screen and (max-width: 1080px) {
  [data-order="56"] {
    order: 56;
  }
}

[data-order="57"] {
  order: 57;
}
@media screen and (max-width: 1080px) {
  [data-order="57"] {
    order: 57;
  }
}

[data-order="58"] {
  order: 58;
}
@media screen and (max-width: 1080px) {
  [data-order="58"] {
    order: 58;
  }
}

[data-order="59"] {
  order: 59;
}
@media screen and (max-width: 1080px) {
  [data-order="59"] {
    order: 61;
  }
}

[data-order="60"] {
  order: 60;
}
@media screen and (max-width: 1080px) {
  [data-order="60"] {
    order: 62;
  }
}

[data-order="61"] {
  order: 61;
}
@media screen and (max-width: 1080px) {
  [data-order="61"] {
    order: 59;
  }
}

[data-order="62"] {
  order: 62;
}
@media screen and (max-width: 1080px) {
  [data-order="62"] {
    order: 60;
  }
}

[data-order="63"] {
  order: 63;
}
@media screen and (max-width: 1080px) {
  [data-order="63"] {
    order: 63;
  }
}

[data-order="64"] {
  order: 64;
}
@media screen and (max-width: 1080px) {
  [data-order="64"] {
    order: 64;
  }
}

[data-order="65"] {
  order: 65;
}
@media screen and (max-width: 1080px) {
  [data-order="65"] {
    order: 65;
  }
}

[data-order="66"] {
  order: 66;
}
@media screen and (max-width: 1080px) {
  [data-order="66"] {
    order: 66;
  }
}

[data-order="67"] {
  order: 67;
}
@media screen and (max-width: 1080px) {
  [data-order="67"] {
    order: 69;
  }
}

[data-order="68"] {
  order: 68;
}
@media screen and (max-width: 1080px) {
  [data-order="68"] {
    order: 70;
  }
}

[data-order="69"] {
  order: 69;
}
@media screen and (max-width: 1080px) {
  [data-order="69"] {
    order: 67;
  }
}

[data-order="70"] {
  order: 70;
}
@media screen and (max-width: 1080px) {
  [data-order="70"] {
    order: 68;
  }
}

[data-order="71"] {
  order: 71;
}
@media screen and (max-width: 1080px) {
  [data-order="71"] {
    order: 71;
  }
}

[data-order="72"] {
  order: 72;
}
@media screen and (max-width: 1080px) {
  [data-order="72"] {
    order: 72;
  }
}

[data-order="73"] {
  order: 73;
}
@media screen and (max-width: 1080px) {
  [data-order="73"] {
    order: 73;
  }
}

[data-order="74"] {
  order: 74;
}
@media screen and (max-width: 1080px) {
  [data-order="74"] {
    order: 74;
  }
}

[data-order="75"] {
  order: 75;
}
@media screen and (max-width: 1080px) {
  [data-order="75"] {
    order: 77;
  }
}

[data-order="76"] {
  order: 76;
}
@media screen and (max-width: 1080px) {
  [data-order="76"] {
    order: 78;
  }
}

[data-order="77"] {
  order: 77;
}
@media screen and (max-width: 1080px) {
  [data-order="77"] {
    order: 75;
  }
}

[data-order="78"] {
  order: 78;
}
@media screen and (max-width: 1080px) {
  [data-order="78"] {
    order: 76;
  }
}

[data-order="79"] {
  order: 79;
}
@media screen and (max-width: 1080px) {
  [data-order="79"] {
    order: 79;
  }
}

[data-order="80"] {
  order: 80;
}
@media screen and (max-width: 1080px) {
  [data-order="80"] {
    order: 80;
  }
}

/*--------------------------------------
header
----------------------------------------*/
.l_header {
  background-color: rgb(255, 255, 255);
  border-bottom: 1px solid var(--border_color);
  height: var(--height_header);
  left: 0;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: var(--z_index_header);
}
.l_header_inner {
  align-items: center;
  display: flex;
  height: inherit;
  justify-content: space-between;
  padding-left: 50px;
}
@media screen and (max-width: 1080px) {
  .l_header_inner {
    padding-left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .l_header_inner {
    padding-left: 20px;
  }
}
@media screen and (max-width: 768px) {
  .l_header_logo img {
    width: 138px;
  }
}
.l_header_phone {
  display: block;
  margin-right: 50px;
  text-align: center;
}
@media screen and (max-width: 1080px) {
  .l_header_phone {
    margin-right: 20px;
  }
}
.l_header_phone_ttl {
  font-weight: var(--font_weight_bold);
}
@media screen and (max-width: 1080px) {
  .l_header_phone_ttl {
    font-size: 1.2rem;
  }
}
.l_header_phone_num {
  align-items: center;
  display: inline-flex;
  font-family: var(--font_jp_serif);
  font-size: 3.67rem;
  font-weight: var(--font_weight_bold);
  gap: 10px;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-top: 2px;
}
@media screen and (max-width: 1080px) {
  .l_header_phone_num {
    font-size: 2.8rem;
    gap: 5px;
    margin-top: 5px;
  }
}
.l_header_phone_num::before {
  background: url(/library/images/common/icon/freedial.svg) center/contain no-repeat;
  content: "";
  height: 28px;
  margin-bottom: -4px;
  width: 50px;
}
@media screen and (max-width: 1080px) {
  .l_header_phone_num::before {
    height: 20.16px;
    margin-bottom: -3px;
    width: 36px;
  }
}
.l_header_phone_hour {
  font-size: 1.4rem;
  margin-top: 3px;
  padding-left: 12px;
}
@media screen and (max-width: 1080px) {
  .l_header_phone_hour {
    font-size: 1.3rem;
    padding-left: 20px;
  }
}
.l_header_right {
  align-items: center;
  display: flex;
}
.l_header_right_menu {
  border-left: 1px solid var(--border_color);
  align-items: center;
  display: grid;
  height: var(--height_header);
  padding-block: 16px 12px;
  text-align: center;
  width: 100px;
}
@media screen and (max-width: 768px) {
  .l_header_right_menu {
    padding-block: 6px 4px;
    width: 60px;
  }
}
.l_header_right_line .l_header_right_menu_icon {
  color: var(--line_color);
}
.l_header_right_line .l_header_right_menu_icon svg {
  fill: currentColor;
}
@media (any-hover: hover) {
  .l_header_right_line {
    transition: all 0.3s;
  }
  .l_header_right_line .l_header_right_menu_icon {
    transition: color 0.3s;
  }
  .l_header_right_line:hover {
    background-color: var(--line_color);
    color: rgb(255, 255, 255);
  }
  .l_header_right_line:hover .l_header_right_menu_icon {
    color: rgb(255, 255, 255);
  }
}
.l_header_right_guide {
  border-left-color: transparent;
  background-color: var(--body_color);
  color: rgb(255, 255, 255);
}
@media (any-hover: hover) {
  .l_header_right_guide {
    transition: all 0.3s;
  }
  .l_header_right_guide:hover {
    background-color: var(--main_color);
  }
}
.l_header_right_menu_icon {
  display: grid;
  place-content: center;
}
@media screen and (max-width: 768px) {
  .l_header_right_menu_icon img,
  .l_header_right_menu_icon svg {
    height: 30px;
    object-fit: contain;
    width: 24px;
  }
}
.l_header_right_menu_ttl {
  font-size: 1.4rem;
  font-weight: var(--font_weight_bold);
}
@media screen and (max-width: 768px) {
  .l_header_right_menu_ttl {
    font-size: 1.05rem;
  }
}
.l_header_toggle {
  background-color: var(--body_color);
  color: rgb(255, 255, 255);
  display: grid;
  font-size: 1.05rem;
  font-weight: var(--font_weight_bold);
  height: var(--height_header);
  padding-top: 48px;
  position: relative;
  text-align: center;
  width: 60px;
}
.l_header_toggle::after {
  content: "MENU";
  display: block;
  line-height: 1;
}
.l_header_toggle_line_wrap {
  display: block;
  height: 20px;
  left: 0;
  margin-inline: auto;
  position: absolute;
  right: 0;
  top: 14px;
  width: 20px;
}
.l_header_toggle_line {
  background: currentColor;
  height: 1px;
  left: 0;
  position: absolute;
  top: 50%;
  transform-origin: center;
  transition: all 0.3s ease;
  width: 100%;
}
.l_header_toggle_line:nth-child(1) {
  transform: translateY(-9px);
}
.is_gnav_open .l_header_toggle_line:nth-child(1) {
  transform: translateY(0) rotate(45deg);
}
.l_header_toggle_line:nth-child(2) {
  transform: translateY(0);
}
.is_gnav_open .l_header_toggle_line:nth-child(2) {
  opacity: 0;
}
.l_header_toggle_line:nth-child(3) {
  transform: translateY(9px);
}
.is_gnav_open .l_header_toggle_line:nth-child(3) {
  transform: translateY(0) rotate(-45deg);
}

/*--------------------------------------
gnav
----------------------------------------*/
.l_gnav {
  border-bottom: 1px solid var(--border_color);
}
@media screen and (max-width: 768px) {
  .l_gnav {
    display: none;
  }
}
@media screen and (max-width: 1080px) {
  .l_gnav_inner {
    padding-inline: 20px;
  }
}
.l_gnav_lists {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 1080px) {
  .l_gnav_lists {
    gap: 10px;
  }
}
.l_gnav_list {
  flex: 1;
}
.l_gnav_item {
  cursor: pointer;
  display: grid;
  height: 65px;
  line-height: 1.38;
  place-content: center;
  text-align: center;
  position: relative;
  z-index: 3;
}
.l_gnav_item::after {
  background-color: currentColor;
  bottom: -1px;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transition: transform 0.3s ease-out;
  width: 100%;
  z-index: 1;
}
.l_gnav_list.is_active .l_gnav_item::after {
  transform: scaleX(100%);
}
@media (any-hover: hover) {
  .l_gnav_item:hover::after {
    transform: scaleX(100%);
  }
}
@media screen and (max-width: 1080px) {
  .l_gnav_item {
    font-size: 1.4rem;
  }
}
.l_gnav_mega_wrap {
  background: rgb(255, 255, 255);
  left: 0;
  margin-top: 1px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transform: translate3d(0, -20px, 0);
  transition: opacity 0.3s ease, transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  width: 100%;
  will-change: opacity, transform;
  z-index: 2;
}
.l_gnav_list.is_active .l_gnav_mega_wrap {
  opacity: 1;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
}
.l_gnav_mega_wrap::before {
  background-color: var(--gray_lt);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 30%;
  z-index: -1;
}
.l_gnav_mega_wrap.--custom::before {
  content: unset;
}
.l_gnav_mega + .l_gnav_mega {
  border-top: 1px solid var(--border_color);
}
.l_gnav_mega_inner {
  display: flex;
  gap: 50px;
  min-height: 150px;
}
.l_gnav_mega_head {
  background-color: var(--gray_lt);
  display: grid;
  place-content: center;
  width: 30%;
}
.l_gnav_mega_body {
  padding-block: 50px;
  width: 70%;
}
.--custom .l_gnav_mega_body {
  width: 100%;
}
.l_gnav_mega_link {
  font-size: 1.8rem;
  padding-right: 30px;
  position: relative;
}
.l_gnav_mega_link::before, .l_gnav_mega_link::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 10px;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
.l_gnav_mega_link::before {
  transform: rotate(45deg);
}
.l_gnav_mega_link::after {
  transform: rotate(-45deg);
}
@media (any-hover: hover) {
  .l_gnav_mega_link:hover {
    text-decoration: underline;
  }
}
.l_gnav_mega_lists {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(5, auto);
  margin-bottom: -10px;
}
.l_gnav_mega_lists_nowrap {
  display: block;
}
.l_gnav_mega_list {
  margin-bottom: 10px;
}
.l_gnav_mega_item {
  display: inline-block;
  line-height: 1.38;
  padding-left: 16px;
  position: relative;
}
.l_gnav_mega_item::before {
  background-color: rgb(174, 136, 136);
  bottom: 0;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
  content: "";
  height: 10px;
  left: 0;
  margin-block: auto;
  position: absolute;
  top: 0;
  width: 6px;
}
.l_gnav_mega_item[target=_blank] {
  padding-right: 20px;
}
.l_gnav_mega_item[target=_blank]::after {
  background: url(/library/images/common/icon/window.svg) center/contain no-repeat;
  bottom: 0;
  content: "";
  height: 13px;
  right: 0;
  margin-block: auto;
  position: absolute;
  top: 0;
  width: 13px;
}
@media (any-hover: hover) {
  .l_gnav_mega_item:hover {
    text-decoration: underline;
  }
}
.l_gnav_mega_row {
  display: flex;
  flex-wrap: wrap;
  margin-inline: -10px;
}
.l_gnav_mega_col_4 {
  flex: 0 0 auto;
  padding-inline: 10px;
  width: 33.3333333333%;
}
.l_gnav_mega_col_8 {
  flex: 0 0 auto;
  padding-inline: 10px;
  width: 66.6666666667%;
}
.l_gnav_mega_btn_wrap {
  display: flex;
  gap: 15px;
}
@media screen and (max-width: 1080px) {
  .l_gnav_mega_btn_wrap {
    flex-wrap: wrap;
  }
}
.l_gnav_mega_btn_wrap .m_btn {
  margin-inline: 0;
  width: 50%;
}
@media screen and (max-width: 1080px) {
  .l_gnav_mega_btn_wrap .m_btn {
    max-width: 100%;
    width: 100%;
  }
}
.l_gnav_mega_ttl {
  border-bottom: 2px solid;
  margin-bottom: 18px;
  padding-bottom: 6px;
}
.l_gnav_mega_ttl .l_gnav_mega_link {
  font-size: 1.6rem;
}
.l_gnav_mega_area + .l_gnav_mega_area {
  margin-top: 40px;
}
.l_gnav_overlay {
  background: rgba(0, 0, 0, 0.6);
  height: 100%;
  left: 0;
  margin-top: 1px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: opacity 0.2s;
  width: 100%;
  z-index: 1;
}
.l_gnav_overlay.is_active {
  opacity: 1;
  pointer-events: auto;
}

@media screen and (min-width: 769px) {
  .l_gnav_sp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .l_gnav_sp {
    background-color: var(--gray_lt);
    height: calc(100vh - var(--height_header));
    height: calc(100dvh - var(--height_header));
    left: 0;
    opacity: 0;
    overflow-y: auto;
    pointer-events: none;
    position: fixed;
    top: var(--height_header);
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
    z-index: calc(var(--z_index_header) - 1);
  }
  .is_gnav_open .l_gnav_sp {
    opacity: 1;
    pointer-events: auto;
  }
}
.l_gnav_sp_body {
  padding-bottom: 50px;
}
.l_gnav_sp_body + * {
  margin-top: 0 !important;
}
.l_gnav_sp_ttl {
  margin-block: 40px 15px;
  text-align: center;
}
.l_gnav_sp_bnr_lists {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr;
  padding-inline: 50px;
}
.l_gnav_sp_bnr_list {
  text-align: center;
}
.l_gnav_sp_bnr_phone {
  background-color: rgb(255, 255, 255);
  border-radius: 4px;
  border: 1px solid;
  display: grid;
  gap: 4px;
  padding-block: 10px 8px;
  place-content: center;
  text-align: center;
}
.l_gnav_sp_bnr_phone_num {
  align-items: center;
  display: inline-flex;
  font-family: var(--font_jp_serif);
  font-size: 2.6rem;
  font-weight: var(--font_weight_bold);
  gap: 5px;
  letter-spacing: 0.075em;
  line-height: 1;
}
.l_gnav_sp_bnr_phone_num::before {
  background: url(/library/images/common/icon/freedial.svg) center/contain no-repeat;
  content: "";
  height: 19.5px;
  margin-bottom: -4px;
  width: 35.5px;
}
.l_gnav_sp_bnr_phone_hour {
  font-size: 1.2rem;
  padding-left: 15px;
}
.l_gnav_sp_kaitori_lists {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr;
  padding-inline: 40px;
}
.l_gnav_sp_kaitori_list {
  display: grid;
}
.l_gnav_sp_box {
  align-items: center;
  border: 1px solid;
  display: grid;
  grid-template-columns: 113px 1fr;
}
.l_gnav_sp_box_img {
  height: 100%;
}
.l_gnav_sp_box_img img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.l_gnav_sp_box_body {
  padding: 16px 24px;
  position: relative;
}
.l_gnav_sp_box_body::before, .l_gnav_sp_box_body::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 12px;
  width: 12px;
  height: 1px;
  background-color: currentColor;
  transform-origin: calc(100% - 0.5px) 50%;
}
.l_gnav_sp_box_body::before {
  transform: rotate(45deg);
}
.l_gnav_sp_box_body::after {
  transform: rotate(-45deg);
}
.l_gnav_sp_box_ttl {
  font-size: 1.9rem;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_headline);
}
.l_gnav_sp_box_txt {
  font-size: 1.1rem;
  letter-spacing: 0.025em;
  line-height: var(--line_height_headline);
  margin-top: 10px;
}
.l_gnav_sp_foot {
  background-color: var(--body_color);
}
.l_gnav_sp_item {
  border-top: 1px solid;
  color: rgb(255, 255, 255);
  display: block;
  font-weight: var(--font_weight_base);
  line-height: var(--line_height_headline);
  padding: 16px 40px;
  position: relative;
}
.l_gnav_sp_item::before, .l_gnav_sp_item::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 24px;
  width: 12px;
  height: 1px;
  background-color: currentColor;
  transform-origin: calc(100% - 0.5px) 50%;
}
.l_gnav_sp_item::before {
  transform: rotate(45deg);
}
.l_gnav_sp_item::after {
  transform: rotate(-45deg);
}
.l_gnav_sp_lists_child .l_gnav_sp_item {
  padding-left: 56px;
  background-color: #515151;
}
.l_gnav_sp_accordion_header {
  border-top: 1px solid;
  color: rgb(255, 255, 255);
  cursor: pointer;
  font-weight: var(--font_weight_base);
  line-height: var(--line_height_headline);
  padding: 16px 40px;
  position: relative;
}
.l_gnav_sp_accordion_header_arrow {
  bottom: 0;
  display: block;
  height: 20px;
  margin-block: auto;
  position: absolute;
  right: 24px;
  top: 0;
  transform: rotate(90deg);
  transition: transform 0.3s;
  width: 10px;
}
.l_gnav_sp_accordion_header.is_active .l_gnav_sp_accordion_header_arrow {
  transform: rotate(-90deg);
}
.l_gnav_sp_accordion_header_arrow::before, .l_gnav_sp_accordion_header_arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 0;
  width: 12px;
  height: 1px;
  background-color: currentColor;
  transform-origin: calc(100% - 0.5px) 50%;
}
.l_gnav_sp_accordion_header_arrow::before {
  transform: rotate(45deg);
}
.l_gnav_sp_accordion_header_arrow::after {
  transform: rotate(-45deg);
}
.l_gnav_sp_accordion_content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.l_gnav_sp_menus {
  border-top: 1px solid rgb(255, 255, 255);
  display: flex;
}
.l_gnav_sp_menu {
  display: grid;
  flex: 1;
}
.l_gnav_sp_menu:not(:last-child) {
  border-right: 1px solid rgb(255, 255, 255);
}
.l_gnav_sp_menu_item {
  color: rgb(255, 255, 255);
  display: grid;
  height: 100%;
  place-content: center;
  font-weight: var(--font_weight_bold);
  line-height: 1.25;
  padding-block: 18px;
  text-align: center;
}

/*--------------------------------------
footer
----------------------------------------*/
.l_footer_sp_menus {
  display: flex;
}
@media screen and (min-width: 769px) {
  .l_footer_sp_menus {
    display: none;
  }
}
.l_footer_sp_menu {
  flex: 1;
}
.l_footer_sp_menu:not(:last-child) {
  border-right: 1px solid rgb(255, 255, 255);
}
.l_footer_sp_menu_item {
  display: block;
  padding-block: 10px;
  text-align: center;
}
.l_footer_sp_menu_ttl {
  color: rgb(255, 255, 255);
  font-weight: var(--font_weight_bold);
  margin-top: 7px;
}
.l_footer_nav {
  background-color: var(--body_color);
  padding-block: 60px;
}
@media screen and (max-width: 1080px) {
  .l_footer_nav {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 768px) {
  .l_footer_nav {
    font-size: 1.6rem;
    padding-block: 0;
  }
}
@media screen and (min-width: 769px) {
  .l_footer_nav_lists {
    display: flex;
    gap: 20px;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .l_footer_lists {
    display: grid;
    gap: 12px;
  }
  .l_footer_lists + .l_footer_lists {
    margin-top: 12px;
  }
}
@media screen and (min-width: 769px) {
  .l_footer_lists_child {
    margin-top: 12px;
    padding-left: 16px;
  }
}
.l_footer_item {
  color: rgb(255, 255, 255);
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_headline);
}
@media (any-hover: hover) {
  .l_footer_item {
    transition: opacity 0.3s;
  }
  .l_footer_item:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 768px) {
  .l_footer_item {
    border-top: 1px solid;
    display: block;
    font-weight: var(--font_weight_base);
    padding: 16px 40px;
    position: relative;
  }
  .l_footer_item::before, .l_footer_item::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 24px;
    width: 12px;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .l_footer_item::before {
    transform: rotate(45deg);
  }
  .l_footer_item::after {
    transform: rotate(-45deg);
  }
  .l_footer_lists_child .l_footer_item {
    padding-left: 56px;
    background-color: #515151;
  }
}
.l_footer_accordion_header {
  color: rgb(255, 255, 255);
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_headline);
}
@media screen and (min-width: 769px) {
  .l_footer_accordion_header {
    cursor: auto;
  }
}
@media screen and (max-width: 768px) {
  .l_footer_accordion_header {
    border-top: 1px solid;
    cursor: pointer;
    font-weight: var(--font_weight_base);
    padding: 16px 40px;
    position: relative;
  }
}
.l_footer_accordion_header_arrow {
  display: none;
}
@media screen and (max-width: 768px) {
  .l_footer_accordion_header_arrow {
    bottom: 0;
    display: block;
    height: 20px;
    margin-block: auto;
    position: absolute;
    right: 24px;
    top: 0;
    transform: rotate(90deg);
    transition: transform 0.3s;
    width: 10px;
  }
  .l_footer_accordion_header.is_active .l_footer_accordion_header_arrow {
    transform: rotate(-90deg);
  }
  .l_footer_accordion_header_arrow::before, .l_footer_accordion_header_arrow::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 0;
    width: 12px;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .l_footer_accordion_header_arrow::before {
    transform: rotate(45deg);
  }
  .l_footer_accordion_header_arrow::after {
    transform: rotate(-45deg);
  }
}
.l_footer_accordion_content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
@media screen and (min-width: 769px) {
  .l_footer_accordion_content {
    max-height: 100%;
    overflow: visible;
  }
}
.l_footer_body {
  background-color: rgb(255, 255, 255);
  padding-block: 40px;
}
@media screen and (max-width: 768px) {
  .l_footer_body {
    padding-block: 50px 30px;
  }
}
.l_footer_info {
  display: grid;
  gap: 30px;
  grid-template-columns: 1fr 600px;
}
@media screen and (max-width: 1080px) {
  .l_footer_info {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 1080px) {
  .l_footer_info_logo {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .l_footer_info_logo img {
    width: 180px;
  }
}
.l_footer_info_sns {
  display: flex;
  gap: 50px;
  margin-top: 30px;
}
@media screen and (max-width: 1080px) {
  .l_footer_info_sns {
    justify-content: center;
  }
}
.l_footer_info_permit {
  margin-top: 25px;
}
@media screen and (max-width: 768px) {
  .l_footer_info_permit {
    font-size: 1.2rem;
    line-height: 1.42;
  }
}
.l_footer_info_cta {
  background-color: var(--main_color_lt);
  border-radius: 8px;
  padding: 35px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .l_footer_info_cta {
    border-radius: 4px;
    padding: 25px 0;
  }
}
.l_footer_info_cta_ttl {
  margin-bottom: 5px;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .l_footer_info_cta_ttl {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .l_footer_info_cta_txt {
    font-size: 1.2rem;
  }
}
.l_footer_info_phone {
  background-color: rgb(255, 255, 255);
  border-radius: 8px;
  border: 1px solid;
  display: grid;
  gap: 10px;
  margin: 25px auto 0;
  max-width: 435px;
  padding-block: 20px 15px;
  place-content: center;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .l_footer_info_phone {
    border-radius: 4px;
    gap: 5px;
    margin-top: 20px;
    padding-block: 15px 10px;
    width: calc(100% - 40px);
  }
}
.l_footer_info_phone_num {
  align-items: center;
  display: inline-flex;
  font-family: var(--font_jp_serif);
  font-size: 4rem;
  font-weight: var(--font_weight_bold);
  gap: 10px;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .l_footer_info_phone_num {
    font-size: 2.8rem;
    gap: 6px;
  }
}
.l_footer_info_phone_num::before {
  background: url(/library/images/common/icon/freedial.svg) center/contain no-repeat;
  content: "";
  height: 30px;
  margin-bottom: -4px;
  width: 54px;
}
@media screen and (max-width: 768px) {
  .l_footer_info_phone_num::before {
    height: 21px;
    width: 38.5px;
  }
}
.l_footer_info_phone_hour {
  font-size: 1.4rem;
  padding-left: 12px;
}
@media screen and (max-width: 768px) {
  .l_footer_info_phone_hour {
    font-size: 1.1rem;
  }
}
.l_footer_corp {
  margin-top: 30px;
}
@media screen and (min-width: 769px) {
  .l_footer_corp {
    align-items: center;
    display: flex;
    flex-direction: row-reverse;
    gap: 30px;
    justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .l_footer_corp {
    margin-top: 30px;
  }
}
.l_footer_corp_bnr {
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .l_footer_corp_bnr {
    justify-content: center;
  }
  .l_footer_corp_bnr img {
    height: 58px;
    width: auto;
  }
}
.l_footer_corp_bnr_txt {
  font-size: 1.3rem;
  font-weight: var(--font_weight_bold);
  margin-top: 10px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .l_footer_corp_bnr_txt {
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 768px) {
  .l_footer_corp_logo {
    margin-top: 25px;
    text-align: center;
  }
  .l_footer_corp_logo img {
    width: 226px;
  }
}
.l_footer_corp_adress {
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .l_footer_corp_adress {
    font-size: 1.2rem;
    text-align: center;
  }
}
.l_footer_copy {
  background-color: rgb(223, 223, 224);
  font-size: 1.4rem;
  padding: 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .l_footer_copy {
    font-size: 1.1rem;
    padding: 15px;
  }
}

/*--------------------------------------
splide初期設定
----------------------------------------*/
.splide__wrap {
  position: relative;
}
.splide__arrow {
  background-color: rgba(60, 60, 60, 0.5);
  border-radius: 50%;
  bottom: 0;
  cursor: pointer;
  display: grid;
  height: 36px;
  margin: auto;
  place-content: center;
  position: absolute;
  top: 0;
  transition: opacity 0.3s;
  width: 36px;
  z-index: 1;
}
.splide__arrow svg {
  fill: rgb(255, 255, 255);
  width: 14px;
}
.splide__arrow--prev {
  right: calc(100% - 18px);
}
.splide__arrow--prev svg {
  transform: scale(-1, 1);
}
.splide__arrow--next {
  left: calc(100% - 18px);
}
.splide__arrow[disabled] {
  opacity: 0.5;
}
.splide__pagination {
  font-size: 0;
  gap: 10px;
  padding-top: 40px;
}
@media screen and (max-width: 768px) {
  .splide__pagination {
    gap: 7.5px;
    padding-top: 20px;
  }
}
.splide__pagination__page {
  background-color: rgb(194, 194, 194);
  border-radius: 50%;
  height: 15px;
  padding: 0;
  width: 15px;
}
@media screen and (max-width: 768px) {
  .splide__pagination__page {
    height: 10px;
    width: 10px;
  }
}
.splide__pagination__page.is-active {
  background-color: var(--body_color);
}

/*--------------------------------------
スライダー
----------------------------------------*/
.l_slider_item {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .l_slider_item {
    margin-top: 30px;
  }
}
.l_slider_item .splide__slide {
  display: flex;
  width: 320px;
}
@media screen and (max-width: 768px) {
  .l_slider_item .splide__slide {
    width: 100%;
  }
}

.l_slider_card {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .l_slider_card {
    margin-top: 30px;
    padding-inline: 20px;
  }
}
@media screen and (min-width: 769px) {
  .l_slider_card.is-initialized:not(.is-active) .splide__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
@media screen and (min-width: 1081px) {
  .l_slider_card.is-initialized:not(.is-active) .splide__list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.l_slider_vintage {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .l_slider_vintage {
    margin-top: 30px;
    padding-inline: 20px;
  }
}
@media screen and (min-width: 769px) {
  .l_slider_vintage.is-initialized:not(.is-active) .splide__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
@media screen and (min-width: 1081px) {
  .l_slider_vintage.is-initialized:not(.is-active) .splide__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1281px) {
  .l_slider_vintage.is-initialized:not(.is-active) .splide__list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.l_slider_voice {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .l_slider_voice {
    margin-top: 30px;
  }
}
.l_slider_voice .splide__slide {
  display: flex;
  width: 380px;
}
@media screen and (max-width: 768px) {
  .l_slider_voice .splide__slide {
    width: 100%;
  }
}

@media screen and (min-width: 769px) {
  .l_slider_route.is-initialized:not(.is-active) .splide__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media screen and (min-width: 1081px) {
  .l_slider_route.is-initialized:not(.is-active) .splide__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.l_slider_route .splide__slide {
  display: grid;
}

.l_slider_results {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .l_slider_results {
    margin-top: 30px;
  }
}
.l_slider_results .splide__slide {
  display: flex;
}

.l_slider_column {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .l_slider_column {
    margin-top: 30px;
  }
}
.l_slider_column .splide__slide {
  display: flex;
  width: 320px;
}
@media screen and (max-width: 768px) {
  .l_slider_column .splide__slide {
    width: 100%;
  }
}

.l_slider_pickup {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .l_slider_pickup {
    margin-top: 30px;
    padding-inline: 20px;
  }
}
@media screen and (min-width: 769px) {
  .l_slider_pickup.is-initialized:not(.is-active) .splide__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}
@media screen and (min-width: 1081px) {
  .l_slider_pickup.is-initialized:not(.is-active) .splide__list {
    grid-template-columns: repeat(5, 1fr);
  }
}
.l_slider_pickup .splide__slide {
  display: flex;
}

/*--------------------------------------
ブランド名を検索のモーダル
----------------------------------------*/
.results-suggest-hover {
  left: 0;
  position: absolute;
  top: 40%;
  width: 100%;
  z-index: 20000;
}

.results-suggest-hover-inner {
  max-width: 630px;
}

.results-suggest-hover-title {
  background-color: var(--body_color);
  color: rgb(255, 255, 255);
  padding: 20px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .results-suggest-hover-title {
    font-size: 1.4rem;
    padding: 15px;
  }
}
.results-suggest-hover-title .close {
  bottom: 0;
  color: rgb(255, 255, 255);
  height: 30px;
  margin-block: auto;
  position: absolute;
  right: 20px;
  top: 0;
  width: 30px;
}
@media screen and (max-width: 768px) {
  .results-suggest-hover-title .close {
    right: 15px;
  }
}
.results-suggest-hover-title .close::before, .results-suggest-hover-title .close::after {
  background-color: rgb(255, 255, 255);
  content: "";
  height: 2px;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 100%;
}
.results-suggest-hover-title .close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.results-suggest-hover-title .close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.results-suggest-hover-body {
  background-color: rgb(255, 255, 255);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.results-suggest-hover-body li a,
.results-suggest-hover-body li p {
  border-top: 1px solid;
  display: block;
  padding: 15px 20px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .results-suggest-hover-body li a,
  .results-suggest-hover-body li p {
    font-size: 1.4rem;
    padding: 10px 15px;
  }
}
.results-suggest-hover-body li.suggest-buy {
  font-weight: var(--font_weight_bold);
}
.results-suggest-hover-body li.normal a {
  color: var(--body_color);
}
@media (any-hover: hover) {
  .results-suggest-hover-body li a:hover {
    background-color: rgb(239, 232, 228);
  }
}

.results-suggest-bg {
  background-color: rgb(0, 0, 0);
  filter: alpha(opacity=50);
  height: 100%;
  left: 0;
  opacity: 0.5;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 19999;
}

/*--------------------------------------
cta
----------------------------------------*/
.l_cta {
  padding-top: 104px;
}
@media screen and (max-width: 768px) {
  .l_cta {
    padding-top: 50px;
  }
}
.l_cta_border {
  padding-top: 0;
}
.l_cta_border .l_cta_media {
  border-top: 1px solid var(--border_color);
  padding-top: 104px;
}
@media screen and (max-width: 768px) {
  .l_cta_border .l_cta_media {
    padding-top: 50px;
  }
}
.l_cta_gray {
  background-color: var(--gray_lt);
}
.l_cta_gray .m_ttl_speech_deco::after {
  border-top-color: var(--gray_lt);
}
.l_cta_yellow {
  background-color: var(--yellow_lt);
}
.l_cta_yellow .m_ttl_speech_deco::after {
  border-top-color: var(--yellow_lt);
}
.l_cta_section {
  padding-bottom: 104px;
}
@media screen and (max-width: 768px) {
  .l_cta_section {
    padding-bottom: 50px;
  }
}
@media screen and (min-width: 769px) {
  .l_cta_media {
    align-items: start;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr;
  }
}
#brand_top .l_cta_media, #item_top .l_cta_media {
  border-top: 1px solid var(--border_color);
  padding-top: 104px;
}
@media screen and (max-width: 768px) {
  #brand_top .l_cta_media, #item_top .l_cta_media {
    padding-top: 50px;
  }
}
@media screen and (min-width: 1081px) {
  .l_cta_media_580 {
    grid-template-columns: 620px 1fr;
  }
}
@media screen and (max-width: 1080px) {
  .l_cta_media_580 {
    display: block;
  }
  .l_cta_media_580 .l_cta_media_img {
    margin-bottom: 40px;
    text-align: center;
  }
}
@media screen and (min-width: 769px) {
  .l_cta_media_ttl {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
@media screen and (min-width: 769px) {
  .l_cta_media_img {
    grid-column: 2/3;
    grid-row: 1/3;
  }
}
@media screen and (max-width: 768px) {
  .l_cta_media_img {
    margin-left: calc(-1 * var(--site_padding));
    width: calc(100% + var(--site_padding));
  }
  .l_cta_media_img img {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .l_cta_media_body {
    grid-column: 1/2;
    grid-row: 2/3;
    padding-right: 60px;
  }
}
@media screen and (max-width: 768px) {
  .l_cta_media_body {
    margin-top: 30px;
  }
}
.l_cta_lists {
  display: grid;
  gap: 27px;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 80px;
}
@media screen and (max-width: 1080px) {
  .l_cta_lists {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .l_cta_lists {
    gap: 20px;
    grid-template-columns: 1fr;
    margin-top: 40px;
  }
}
.l_cta_list {
  display: grid;
}
.l_cta_box {
  background-color: rgb(255, 255, 255);
  border: 1px solid;
  display: block;
}
@media (any-hover: hover) {
  .l_cta_box {
    position: relative;
    transition: border-color 0.3s;
    z-index: 0;
  }
  .l_cta_box:hover {
    border-color: var(--main_color);
  }
  .l_cta_box:hover .l_cta_box_img img {
    transform: scale(1.1);
  }
  .l_cta_box:hover .l_cta_box_body {
    background-color: var(--main_color);
    color: rgb(255, 255, 255);
  }
  .l_cta_box:hover .l_cta_box_body::before,
  .l_cta_box:hover .l_cta_box_body::after {
    right: 20px;
  }
}
@media screen and (max-width: 768px) {
  .l_cta_box {
    align-items: center;
    display: grid;
    grid-template-columns: 132px 1fr;
  }
}
.l_cta_box_img {
  display: block;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .l_cta_box_img {
    height: 100%;
  }
}
.l_cta_box_img img {
  width: 100%;
  transition: transform 0.6s ease;
}
@media screen and (max-width: 768px) {
  .l_cta_box_img img {
    height: 100%;
    object-fit: cover;
  }
}
.l_cta_box_body {
  padding: 25px 30px;
  position: relative;
}
.l_cta_box_body::before, .l_cta_box_body::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 25px;
  width: 20px;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
.l_cta_box_body::before {
  transform: rotate(45deg);
}
.l_cta_box_body::after {
  transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .l_cta_box_body {
    padding: 18px 25px;
    position: relative;
  }
  .l_cta_box_body::before, .l_cta_box_body::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 15px;
    width: 15px;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .l_cta_box_body::before {
    transform: rotate(45deg);
  }
  .l_cta_box_body::after {
    transform: rotate(-45deg);
  }
}
.l_cta_box_body::before, .l_cta_box_body::after {
  transition: right 0.5s ease;
}
.l_cta_box_ttl {
  font-size: 2.4rem;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_headline);
}
@media screen and (max-width: 768px) {
  .l_cta_box_ttl {
    font-size: 2.2rem;
  }
}
.l_cta_box_txt {
  letter-spacing: 0.025em;
  line-height: var(--line_height_headline);
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .l_cta_box_txt {
    font-size: 1.2rem;
  }
}
.l_cta_bnr {
  background-color: var(--main_color_lt);
  margin-top: 104px;
  padding-block: 80px;
}
@media screen and (max-width: 768px) {
  .l_cta_bnr {
    margin-top: 50px;
    padding-block: 40px;
  }
}
.l_cta_bnr_lists {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 1080px) {
  .l_cta_bnr_lists {
    grid-template-columns: 1fr;
  }
}
.l_cta_bnr_list {
  text-align: center;
}
@media screen and (min-width: 1081px) {
  .l_cta_bnr_list {
    display: grid;
    grid-auto-rows: auto 1fr;
  }
}
.l_cta_bnr_ttl {
  margin-bottom: 20px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .l_cta_bnr_ttl {
    margin-bottom: 15px;
    text-align: left;
  }
}
.l_cta_bnr_phone, .l_cta_btn_phone {
  background-color: rgb(255, 255, 255);
  border-radius: 8px;
  border: 1px solid;
  display: grid;
  gap: 10px;
  height: 190px;
  place-content: center;
  text-align: center;
}
@media screen and (max-width: 1080px) {
  .l_cta_bnr_phone, .l_cta_btn_phone {
    gap: 8px;
    height: auto;
    padding-block: 20px 15px;
  }
}
@media screen and (max-width: 768px) {
  .l_cta_bnr_phone, .l_cta_btn_phone {
    border-radius: 4px;
    gap: 6px;
    padding-block: 15px 10px;
  }
}
@media screen and (min-width: 769px) {
  .l_cta_btn_phone_md {
    margin-inline: auto;
    max-width: 580px;
    height: 140px;
  }
  .l_cta_btn_phone_md .l_cta_btn_phone_num {
    font-size: 4.6rem;
  }
  .l_cta_btn_phone_md .l_cta_btn_phone_hour {
    font-size: 1.8rem;
  }
}
.l_cta_bnr_phone_num, .l_cta_btn_phone_num {
  align-items: center;
  display: inline-flex;
  font-family: var(--font_jp_serif);
  font-size: 5.4rem;
  font-weight: var(--font_weight_bold);
  gap: 18px;
  letter-spacing: 0.075em;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .l_cta_bnr_phone_num, .l_cta_btn_phone_num {
    font-size: 3.2rem;
    gap: 7px;
  }
}
.l_cta_bnr_phone_num::before, .l_cta_btn_phone_num::before {
  background: url(/library/images/common/icon/freedial.svg) center/contain no-repeat;
  content: "";
  height: 37px;
  margin-bottom: -6px;
  width: 65px;
}
@media screen and (max-width: 768px) {
  .l_cta_bnr_phone_num::before, .l_cta_btn_phone_num::before {
    height: 24px;
    margin-bottom: -4px;
    width: 44px;
  }
}
.l_cta_bnr_phone_hour, .l_cta_btn_phone_hour {
  font-size: 2.2rem;
  padding-left: 20px;
}
@media screen and (max-width: 768px) {
  .l_cta_bnr_phone_hour, .l_cta_btn_phone_hour {
    font-size: 1.6rem;
    padding-left: 15px;
  }
}
.l_cta_bnr_ann {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .l_cta_bnr_ann {
    font-size: 1.6rem;
  }
}
.l_cta_btn_lists {
  display: grid;
  gap: 40px;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 1080px) {
  .l_cta_btn_lists {
    gap: 30px;
    grid-template-columns: 1fr;
  }
}
.l_cta_btn_list {
  align-self: end;
}
.l_cta_btn_ttl {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .l_cta_btn_ttl {
    margin-bottom: 15px;
  }
}
.l_cta_btn {
  border-radius: 8px;
  display: grid;
  font-size: 3rem;
  font-weight: var(--font_weight_bold);
  height: 110px;
  line-height: var(--line_height_headline);
  place-content: center;
  text-align: center;
  width: 100%;
  position: relative;
}
.l_cta_btn::before, .l_cta_btn::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0.8em;
  width: 0.5em;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
.l_cta_btn::before {
  transform: rotate(45deg);
}
.l_cta_btn::after {
  transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .l_cta_btn {
    border-radius: 4px;
    font-size: 2rem;
    height: 70px;
  }
}
.l_cta_btn_md {
  font-size: 2rem;
  height: 80px;
}
@media screen and (max-width: 768px) {
  .l_cta_btn_md {
    height: 70px;
  }
}
.l_cta_btn_lg {
  font-size: 3.2rem;
  height: 190px;
}
@media screen and (max-width: 1080px) {
  .l_cta_btn_lg {
    height: 136px;
  }
}
@media screen and (max-width: 768px) {
  .l_cta_btn_lg {
    font-size: 2.2rem;
    height: 82px;
  }
}
.l_cta_flows {
  display: flex;
  gap: 28px;
}
@media screen and (max-width: 768px) {
  .l_cta_flows {
    gap: 6px;
  }
}
.l_cta_flow {
  background-color: rgb(255, 255, 255);
  border: 2px solid;
  display: grid;
  flex: 1;
  min-height: 210px;
  padding: 30px;
  place-content: center;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .l_cta_flow {
    border-width: 1px;
    min-height: 105px;
    padding: 15px 0;
  }
}
.l_cta_flow:not(:last-child)::before, .l_cta_flow:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  border-style: solid;
  translate: 100% -50%;
}
.l_cta_flow:not(:last-child)::before {
  border-width: 14px 0 14px 14px;
  border-color: transparent transparent transparent var(--body_color);
}
@media screen and (max-width: 768px) {
  .l_cta_flow:not(:last-child)::before {
    border-width: 7px 0 7px 6px;
  }
}
.l_cta_flow:not(:last-child)::after {
  border-width: 11.2px 0 11.2px 11.2px;
  border-color: transparent transparent transparent rgb(255, 255, 255);
}
@media screen and (max-width: 768px) {
  .l_cta_flow:not(:last-child)::after {
    border-width: 5.5px 0 5.5px 4.7px;
  }
}
.l_cta_flow_ttl {
  font-family: var(--font_jp_serif);
  font-size: 2.8rem;
  font-weight: var(--font_weight_bold);
  line-height: var(--line_height_headline);
}
@media screen and (max-width: 768px) {
  .l_cta_flow_ttl {
    font-size: 1.65rem;
    letter-spacing: -0.025em;
  }
}
.l_cta_flow_num {
  font-size: 5.2rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .l_cta_flow_num {
    font-size: 2.4rem;
  }
}
.l_cta_grid {
  display: grid;
  gap: 40px;
  grid-template-columns: 600px 1fr;
}
@media screen and (max-width: 1080px) {
  .l_cta_grid {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 768px) {
  .l_cta_grid {
    gap: 30px;
  }
}
.l_cta_grid_box .l_cta_box {
  margin-inline: auto;
  max-width: 380px;
}
@media screen and (max-width: 768px) {
  .l_cta_grid_box .l_cta_box {
    max-width: 100%;
  }
}

/*--------------------------------------
side_campaign
----------------------------------------*/
.l_side_campaign {
  bottom: 140px;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: 45px;
  transition: opacity 0.3s;
  z-index: var(--z_index_side_campaign);
}
@media screen and (max-width: 768px) {
  .l_side_campaign {
    bottom: 100px;
    right: 20px;
  }
}
.l_side_campaign.is_visible {
  opacity: 1;
  pointer-events: auto;
}
.l_side_campaign_close {
  background-color: rgba(60, 60, 60, 0.7);
  border-radius: 50%;
  cursor: pointer;
  height: 35px;
  position: absolute;
  right: -17px;
  top: -17px;
  width: 35px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .l_side_campaign_close {
    right: -10px;
    top: -10px;
    height: 20px;
    width: 20px;
  }
}
.l_side_campaign_close::before, .l_side_campaign_close::after {
  background-color: rgb(255, 255, 255);
  content: "";
  height: 2px;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 76%;
}
@media screen and (max-width: 768px) {
  .l_side_campaign_close::before, .l_side_campaign_close::after {
    height: 1px;
  }
}
.l_side_campaign_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.l_side_campaign_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.l_side_campaign_btn_img {
  filter: drop-shadow(2px 2px 10px rgba(0, 0, 0, 0.3));
}
@media screen and (max-width: 768px) {
  .l_side_campaign_btn_img {
    filter: drop-shadow(1px 1px 5px rgba(0, 0, 0, 0.3));
    width: 85px;
  }
}

/*--------------------------------------
fixed_nav
----------------------------------------*/
.l_fixed_nav {
  background-color: rgba(0, 0, 0, 0.6);
  bottom: 0;
  display: flex;
  gap: 28px;
  justify-content: center;
  left: 0;
  opacity: 0;
  padding-block: 15px;
  pointer-events: none;
  position: fixed;
  transform: translate3d(0, 20px, 0);
  transition: opacity 0.3s ease, transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  width: 100%;
  z-index: var(--z_index_fixed_nav);
}
.l_fixed_nav.is_visible {
  opacity: 1;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
}
.l_fixed_nav.is_hidden {
  opacity: 0;
  pointer-events: none;
  transform: translate3d(0, 20px, 0);
}
@media screen and (max-width: 768px) {
  .l_fixed_nav {
    gap: 20px;
    padding: 20px;
  }
}
.l_fixed_nav_btn {
  border-radius: 8px;
  border: 2px solid;
  color: rgb(255, 255, 255);
  display: grid;
  font-size: 1.8rem;
  height: 50px;
  place-content: center;
  width: 250px;
  position: relative;
}
.l_fixed_nav_btn::before, .l_fixed_nav_btn::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 18px;
  width: 10px;
  height: 2px;
  background-color: currentColor;
  transform-origin: calc(100% - 1px) 50%;
}
.l_fixed_nav_btn::before {
  transform: rotate(45deg);
}
.l_fixed_nav_btn::after {
  transform: rotate(-45deg);
}
@media (any-hover: hover) {
  .l_fixed_nav_btn {
    transition: all 0.3s;
  }
  .l_fixed_nav_btn:hover {
    background-color: var(--main_color);
    border-color: var(--main_color);
  }
}
@media screen and (max-width: 768px) {
  .l_fixed_nav_btn {
    border-radius: 4px;
    border-width: 1px;
    font-size: 1.6rem;
    height: 42px;
    width: 100%;
    position: relative;
  }
  .l_fixed_nav_btn::before, .l_fixed_nav_btn::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 10px;
    width: 8px;
    height: 1px;
    background-color: currentColor;
    transform-origin: calc(100% - 0.5px) 50%;
  }
  .l_fixed_nav_btn::before {
    transform: rotate(45deg);
  }
  .l_fixed_nav_btn::after {
    transform: rotate(-45deg);
  }
}

/*==================================================
utility
==================================================*/
/*--------------------
animation
--------------------*/
.u_fade_down {
  animation: fadeDown 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes fadeDown {
  0% {
    opacity: 0;
    transform: translate3d(0, -10px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
/*--------------------
hover
--------------------*/
@media (any-hover: hover) {
  .u_hover {
    transition: opacity 0.3s;
  }
  .u_hover:hover {
    opacity: 0.7;
  }
}

/*--------------------
color
--------------------*/
.u_color_main {
  color: var(--main_color);
}
.u_color_orange {
  color: var(--orange);
}
.u_color_red {
  color: var(--red);
}
.u_color_green {
  color: var(--green);
}
.u_color_white {
  color: rgb(255, 255, 255);
}
.u_color_line {
  color: var(--line_color);
}

/*--------------------
text
--------------------*/
.u_text_center {
  text-align: center;
}
@media screen and (min-width: 769px) {
  .u_text_pc_center {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .u_text_sp_center {
    text-align: center;
  }
}

/*--------------------
weight
--------------------*/
.u_weight_bold {
  font-weight: var(--font_weight_bold);
}

/*--------------------
font
--------------------*/
.u_font_en {
  font-family: var(--font_en);
  font-weight: var(--font_weight_regular);
}
.u_font_en_serif {
  font-family: var(--font_en_serif);
  font-weight: var(--font_weight_medium);
}
.u_font_en_serif_bold {
  font-family: var(--font_en_serif);
  font-weight: var(--font_weight_semibold);
}
.u_font_bold {
  font-weight: var(--font_weight_bold);
}

/*--------------------
grid
--------------------*/
.u_grid {
  display: grid;
  gap: 30px;
}
.u_grid_2 {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .u_grid_2 {
    grid-template-columns: 1fr;
  }
}

/*--------------------
margin
--------------------*/
.u_my40 {
  margin-block: 40px !important;
}

.u_mt5 {
  margin-top: 5px !important;
}

.u_mt10 {
  margin-top: 10px !important;
}

.u_mt15 {
  margin-top: 15px !important;
}

.u_mt20 {
  margin-top: 20px !important;
}

.u_mt30 {
  margin-top: 30px !important;
}

.u_mt40 {
  margin-top: 40px !important;
}

.u_mt50 {
  margin-top: 50px !important;
}

.u_mt60 {
  margin-top: 60px !important;
}

.u_mt80 {
  margin-top: 80px !important;
}

.u_mb0 {
  margin-bottom: 0 !important;
}

.u_mb15 {
  margin-bottom: 15px !important;
}

.u_mb20 {
  margin-bottom: 20px !important;
}

.u_py80 {
  padding-block: 80px !important;
}

.u_pt0 {
  padding-top: 0 !important;
}

.u_pt40 {
  padding-top: 40px !important;
}

.u_pb0 {
  padding-bottom: 0 !important;
}

@media screen and (max-width: 768px) {
  .u_sp_mt0 {
    margin-top: 0 !important;
  }
  .u_sp_mt10 {
    margin-top: 10px !important;
  }
  .u_sp_mt15 {
    margin-top: 15px !important;
  }
  .u_sp_mt20 {
    margin-top: 20px !important;
  }
  .u_sp_mt30 {
    margin-top: 30px !important;
  }
  .u_sp_mt40 {
    margin-top: 40px !important;
  }
  .u_sp_mt50 {
    margin-top: 50px !important;
  }
  .u_sp_py40 {
    padding-block: 40px !important;
  }
  .u_sp_pt30 {
    padding-top: 30px !important;
  }
}
/*SASS MODULE*/