@charset "utf-8";

html,
body {
  width: 100%;
  height: auto;
  /* overflow-x: hidden; */
  font-size: 10px;
  line-height: 1.6;
}

html.roll,
body.roll {
  overflow: hidden;
}

body {
  color: #333333;
}

@media screen and (min-width: 769px) {
  h1 {
    font-size: 3.2rem;
  }
}

@media screen and (max-width: 768px) {
  h1 {
    font-size: 2.4rem;
  }
}

@media screen and (min-width: 769px) {
  h2 {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 768px) {
  h2 {
    font-size: 2rem;
  }
}

@media screen and (min-width: 769px) {
  h3 {
    font-size: 2rem;
  }
}

@media screen and (max-width: 768px) {
  h3 {
    font-size: 1.6rem;
  }
}

@media screen and (min-width: 769px) {
  h4 {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 768px) {
  h4 {
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 769px) {

  p,
  dt,
  dd,
  li {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 768px) {

  p,
  dt,
  dd,
  li {
    font-size: 1.4rem;
  }
}

a,
span,
strong {
  font-size: 100%;
}

strong {
  font-weight: bold;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

/* CSS Remedy */
html,
body {
  /* overflow-y: auto; */
  -ms-overflow-style: none;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
  color: #333;
  font-weight: normal;
}

/* 
html ::-moz-selection,
body ::-moz-selection {
  color: #fff;
}

html ::selection,
body ::selection {
  color: #fff;
}

html ::-moz-selection,
body ::-moz-selection {
  color: #fff;
} */

html,
body,
div,
main,
header,
footer,
nav,
section,
article,
aside,
span,
applet,
object,
iframe,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
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,
caption {
  margin: 0;
  padding: 0;
  word-break: break-all;
  word-wrap: break-word;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 0;
  outline: 0;

  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  vertical-align: baseline;
  background: transparent;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

div,
main,
header,
footer,
nav,
section,
article,
aside,
span,
applet,
object,
iframe,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
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 {
  font-size: 100%;
}

a {
  text-decoration: none;
}

/*input[type="button"],input[type="submit"],button { box-shadow:none; border:none;-webkit-appearance: none;}*/
input,
button,
textarea {
  padding: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

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

fieldset,
img {
  border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal;
}

ol,
ul {
  list-style: none;
}

caption,
th {
  text-align: left;
}


q:before,
q:after {
  content: "";
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

abbr,
acronym {
  border: 0;
}

ul.wpp-list li {
  clear: none;
}

pre {
  /* Mozilla */
  white-space: -moz-pre-wrap;
  /* Opera 4-6 */
  white-space: -pre-wrap;
  /* Opera 7 */
  white-space: -o-pre-wrap;
  /* CSS3 */
  white-space: pre-wrap;
  /* IE 5.5+ */
  word-wrap: break-word;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*\*/
  /*/
height: auto;
overflow: hidden;
/**/
}

.mosaic {
  -webkit-filter: blur(5px);
  -moz-filter: blur(5px);
  -o-filter: blur(5px);
  -ms-filter: blur(5px);
  filter: blur(5px);
}

.transition {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (max-device-width: 780px) {

  body,
  div,
  dl,
  dt,
  dd,
  ul,
  ol,
  li,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  pre,
  form,
  fieldset,
  input,
  textarea,
  p,
  blockquote,
  th,
  td,
  table,

}

/*============================
#footer
============================*/
.l_footer .l_footer__info {
  background: url(../img/footer01.png) no-repeat center center/cover;
}

.l_footer .l_footer__info .l_footer__infowrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__info .l_footer__infowrap {
    height: 43.7333vw;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__info .l_footer__infowrap {
    height: 63rem;
  }
}

.l_footer .l_footer__info .l_footer__infowrap .l_footer__logobox {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__logobox .l_footer__logo {
    width: 29.8666vw;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__logobox .l_footer__logo {
    max-width: 32rem;
  }
}

.l_footer .l_footer__info .l_footer__infowrap .l_footer__logobox .l_footer__logo a img {
  -o-object-fit: contain;
  object-fit: contain;
}

.l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox {
  width: 50%;
}

.l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox dl {
    font-size: 0.9rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox dl {
    font-size: 2.4rem;
  }
}

.l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox dl dt {
  color: #5C5151;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox dl dt {
    width: 5.2rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox dl dt {
    width: 13rem;
  }
}

.l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox dl dd {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  color: #5C5151;
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox dl dd {
    line-height: 1.4;
  }
}

.l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox dl dd a {
  color: #fff;
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox dl:nth-child(n+2) {
    margin-top: 0.8rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox dl:nth-child(n+2) {
    margin-top: 1rem;
  }
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox .c_sns {
    margin-top: 0.4rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox .c_sns {
    margin-top: 3.6rem;
  }
}

.l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox .c_sns a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox .c_sns a:nth-child(n+2) {
    margin-left: 2.8rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox .c_sns a:nth-child(n+2) {
    margin-left: 5.6rem;
  }
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox .c_sns .icon_insta {
    max-width: 1.6rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox .c_sns .icon_insta {
    max-width: 4.8rem;
  }
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox .c_sns .icon_tiktok {
    max-width: 4.3rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox .c_sns .icon_tiktok {
    max-width: 12rem;
  }
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox .c_sns .icon_yt {
    max-width: 4.3rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__info .l_footer__infowrap .l_footer__infobox .c_sns .icon_yt {
    max-width: 12rem;
  }
}

.l_footer .l_footer__lower {
  position: relative;
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower {
    /* padding-bottom: 8rem; */
    margin-top: 1.8rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower {
    margin-top: 3.2rem;
  }
}

.l_footer .l_footer__lower::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.67;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(24%, #FEFEFE), to(#F3E5DF));
  background: linear-gradient(to bottom, transparent 0%, #FEFEFE 24%, #F3E5DF 100%);
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav {
    margin-top: 2.4rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav {
    margin-top: 6.4rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>a {
  font-family: "EB Garamond", serif;
  color: #332525;
  letter-spacing: 0.6px;
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>a {
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>a {
    font-size: 2rem;
  }
}

.l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul {
  display: block;
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul {
    margin-top: 0.8rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul {
    margin-top: 1.6rem;
  }
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul li {
    line-height: 1.4;
  }
}

.l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul li a {
  color: #5C5151;
  letter-spacing: 0.4px;
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul li a {
    font-size: 1rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul li a {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul li:nth-child(n+2) {
    margin-top: 0.8rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul li:nth-child(n+2) {
    margin-top: 1.6rem;
  }
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul li ul {
    margin-top: 0.8rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul li ul {
    margin-top: 1rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul li ul li {
    padding-left: 0.8rem;
  }
}

.l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul li ul li a {
  position: relative;
  letter-spacing: 1px;
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul li ul li a {
    padding-left: 1.2rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul li ul li a {
    font-size: 1.6rem;
    padding-left: 0.6rem;
  }
}

.l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul li ul li a::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul li ul li a::before {
    content: "";
    left: 3px;
    display: block;
    width: 0.5rem;
    height: 0.7rem;
    background: url(../img/arrow-r2.svg) no-repeat center center/contain;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul li ul li a::before {
    content: "-";
    left: 0;
  }
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul li ul li:nth-child(n+2) {
    margin-top: 1rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem>ul li ul li:nth-child(n+2) {
    margin-top: 1.4rem;
  }
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem:nth-child(n+2) {
    margin-top: 0.8rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .c_inner .l_footer__nav .l_footer__navlist .l_footer__navitem:nth-child(n+2) {
    margin-left: 21.8rem;
  }
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower .c_inner .l_footer__annotation {
    margin-top: 3.2rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .c_inner .l_footer__annotation {
    margin-top: 3.2rem;
  }
}

.l_footer .l_footer__lower .c_inner .l_footer__annotation ul li {
  color: #5C5151;
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower .c_inner .l_footer__annotation ul li {
    font-size: 0.7rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .c_inner .l_footer__annotation ul li {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower .l_footer__small {
    padding-bottom: 2.4rem;
    margin-top: 4rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .l_footer__small {
    padding-bottom: 2.4rem;
    margin-top: 12.4rem;
  }
}

.l_footer .l_footer__lower .l_footer__small .l_footer__smalllink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.l_footer .l_footer__lower .l_footer__small .l_footer__smalllink a {
  position: relative;
  color: #5C5151;
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower .l_footer__small .l_footer__smalllink a {
    font-size: 0.8rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .l_footer__small .l_footer__smalllink a {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower .l_footer__small .l_footer__smalllink a:nth-child(n+2) {
    margin-left: 0.3rem;
    padding-left: 0.5rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .l_footer__small .l_footer__smalllink a:nth-child(n+2) {
    margin-left: 0.8rem;
    padding-left: 1.2rem;
  }
}

.l_footer .l_footer__lower .l_footer__small .l_footer__smalllink a:nth-child(n+2)::before {
  content: "|";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
}

.l_footer .l_footer__lower .l_footer__small small {
  display: block;
  color: #5C5151;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .l_footer .l_footer__lower .l_footer__small small {
    font-size: 0.8rem;
  }
}

@media screen and (min-width: 769px) {
  .l_footer .l_footer__lower .l_footer__small small {
    font-size: 1.6rem;
  }
}

/*============================
#header
============================*/
.l_header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  width: 100%;
  background: #fff;
  /*============================
  #btt
  ============================*/
  /*============================
  #js_nav
  ============================*/
}

@media screen and (max-width: 768px) {
  .l_header {
    height: 5.6rem;
  }
}

@media screen and (min-width: 769px) {
  .l_header {
    height: 8rem;
  }
}

.l_header .btt {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: 48px;
  height: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 50px;
  background: #AB8B8C;
}

.l_header .btt span {
  color: #fff;
}

.l_header .btt:hover {
  cursor: pointer;
}

.l_header .c_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .l_header .c_inner {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media screen and (max-width: 768px) {
  .l_header .c_inner .logo {
    max-width: 9rem;
  }
}

@media screen and (min-width: 769px) {
  .l_header .c_inner .logo {
    max-width: 10rem;
  }
}

.l_header .c_inner .logo a img {
  -o-object-fit: contain;
  object-fit: contain;
}

.l_header .c_inner .l_header__nav {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .l_header .c_inner .l_header__nav {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .l_header .c_inner .l_header__nav {
    margin-left: 20.7rem;
  }
}

@media screen and (min-width: 769px) and (max-width: 1000px) {
  .l_header .c_inner .l_header__nav {
    margin-left: 10.2rem;
  }
}

@media screen and (min-width: 769px) {
  .l_header .c_inner .l_header__nav .l_header__nav_ist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.l_header .c_inner .l_header__nav .l_header__nav_ist>li a {
  color: #333;
}

@media screen and (max-width: 768px) {
  .l_header .c_inner .l_header__nav .l_header__nav_ist>li a {
    font-size: 1.6rem;
  }
}

@media screen and (min-width: 769px) {
  .l_header .c_inner .l_header__nav .l_header__nav_ist>li a {
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 769px) {
  .l_header .c_inner .l_header__nav .l_header__nav_ist>li:nth-child(n+2) {
    margin-left: 4.8rem;
  }
}

.l_header .c_inner .l_header__nav .l_header__nav_ist .has_sub {
  position: relative;
}

.l_header .c_inner .l_header__nav .l_header__nav_ist .has_sub>a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 4;
}

.l_header .c_inner .l_header__nav .l_header__nav_ist .has_sub>a img {
  -o-object-fit: contain;
  object-fit: contain;
  width: 1rem;
  margin-left: 0.2rem;
}

.l_header .c_inner .l_header__nav .l_header__nav_ist .has_sub .sub {
  visibility: hidden;
  position: absolute;
  top: 4rem;
  left: -1.2rem;
  right: 0;
  width: 32rem;
  opacity: 0;
  z-index: 3;
  padding: 3.2rem 3.2rem;
  background-color: #FAF8F8;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.l_header .c_inner .l_header__nav .l_header__nav_ist .has_sub .sub>ul>li a {
  position: relative;
  left: 0;
  padding-left: 2.6rem;
  -webkit-transition: 0.2s cubic-bezier(0.17, 0.84, 0.44, 1);
  transition: 0.2s cubic-bezier(0.17, 0.84, 0.44, 1);
}

.l_header .c_inner .l_header__nav .l_header__nav_ist .has_sub .sub>ul>li a:hover {
  left: 0.5rem;
}

.l_header .c_inner .l_header__nav .l_header__nav_ist .has_sub .sub>ul>li>a {
  width: 100%;
  text-align: center;
  color: #5C5151;
  font-size: 1.8rem;
  letter-spacing: 0.4px;
}

.l_header .c_inner .l_header__nav .l_header__nav_ist .has_sub .sub>ul>li>a::before {
  content: "";
  position: absolute;
  top: 52%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background: url(../img/arrow-crsb.png) no-repeat center center/contain;
}

.l_header .c_inner .l_header__nav .l_header__nav_ist .has_sub .sub>ul>li:nth-child(n+2) {
  margin-top: 1.6rem;
}

.l_header .c_inner .l_header__nav .l_header__nav_ist .has_sub .sub>ul>li ul {
  margin-top: 1rem;
}

.l_header .c_inner .l_header__nav .l_header__nav_ist .has_sub .sub>ul>li ul li a {
  font-size: 1.4rem;
  letter-spacing: 1.6px;
}

.l_header .c_inner .l_header__nav .l_header__nav_ist .has_sub .sub>ul>li ul li a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 6px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block;
  width: 0.6rem;
  height: 0.8rem;
  background: url(../img/arrow-r2.svg) no-repeat center center/contain;
}

.l_header .c_inner .l_header__nav .l_header__nav_ist .has_sub .sub.active {
  visibility: visible;
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .l_header .c_inner .l_header_reserve {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    width: 100%;
    margin: 0 auto;
    background-color: #FAF8F8;
    padding: 1rem 3rem;

    display: none;
  }
}

@media screen and (min-width: 769px) {
  .l_header .c_inner .l_header_reserve {
    display: contents;
    margin-left: auto;
  }
}

@media screen and (max-width: 768px) {
  .l_header .c_inner .l_header_reserve .c_btn_reserve {
    max-width: 40rem;
  }
}

.l_header .sp_nav {
  position: absolute;
  right: 0;
  left: 0;
  top: 5.6rem;
  z-index: 99;
  width: 100%;
  height: 100vh;
  padding: 0 3rem;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all ease-in-out 0.3s;
  transition: all ease-in-out 0.3s;
}

.l_header .sp_nav.active {
  opacity: 1;
  visibility: visible;
  overflow-y: auto;
}

.l_header .sp_nav .nav__items {
  width: 100%;
  margin-top: 7.2rem;
  margin-bottom: 3rem;
  margin-bottom: 14vh;
}

.l_header .sp_nav .nav__items>li a {
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: 0.4px;
}

.l_header .sp_nav .nav__items>li:nth-child(n+2) {
  margin-top: 3.2rem;
}

.l_header .sp_nav .nav__items>li:last-child {
  margin-top: 4.8rem;
}

.l_header .sp_nav .nav__items>li ul {
  margin-top: 1rem;
}

.l_header .sp_nav .nav__items>li ul li a {
  font-size: 1.4rem;
  letter-spacing: 0.4px;
}

.l_header .sp_nav .nav__items>li ul li:nth-child(n+2) {
  margin-top: 1.4rem;
}

.l_header .sp_nav .nav__items>li ul li ul li a {
  position: relative;
  font-size: 1.2rem;
  letter-spacing: 1.6px;
  padding-left: 2.2rem;
}

.l_header .sp_nav .nav__items>li ul li ul li a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 4px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block;
  width: 4px;
  height: 6px;
  background: url(../img/arrow-rwh2.svg) no-repeat center center/contain;
}

.l_header .sp_nav .nav__items .c_sns a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .l_header .sp_nav .nav__items .c_sns a:nth-child(n+2) {
    margin-left: 2.8rem;
  }
}

@media screen and (max-width: 768px) {
  .l_header .sp_nav .nav__items .c_sns .icon_insta {
    max-width: 1.8rem;
  }
}

@media screen and (max-width: 768px) {
  .l_header .sp_nav .nav__items .c_sns .icon_tiktok {
    max-width: 4.8rem;
  }
}

@media screen and (max-width: 768px) {
  .l_header .sp_nav .nav__items .c_sns .icon_yt {
    max-width: 4.8rem;
  }
}

.l_header .sp_ham {
  position: absolute;
  top: 50%;
  right: 3rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 10000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 2.8rem;
  height: 1.2rem;
  background-color: transparent;
  border-color: transparent;
}

@media screen and (min-width: 769px) {
  .l_header .sp_ham {
    display: none;
  }
}

@media screen and (min-width: 960px) {
  .l_header .sp_ham {
    display: none;
  }
}

.l_header .sp_ham span {
  width: 100%;
  height: 2px;
  background-color: #AB8B8C;
  border-radius: 50px;
  position: relative;
  display: block;
  -webkit-transform-origin: center center;
  transform-origin: center center;
  -webkit-transition: ease-in-out 0.4s;
  transition: ease-in-out 0.4s;
}

.l_header .sp_ham.active span {
  width: 1.8rem;
  background-color: #1C1B1F;
  border-radius: initial;
}

.l_header .sp_ham.active span:nth-child(1) {
  -webkit-transform: translate(0, 3px) rotate(45deg);
  transform: translate(0, 3px) rotate(45deg);
}

.l_header .sp_ham.active span:nth-child(2) {
  -webkit-transform: translate(0, -3px) rotate(-45deg);
  transform: translate(0, -3px) rotate(-45deg);
}

.l_header .sp_ham.active_ip span {
  width: 1.8rem;
  background-color: #1C1B1F;
  border-radius: initial;
}

.l_header .sp_ham.active_ip span:nth-child(1) {
  -webkit-transform: translate(0, 4px) rotate(45deg);
  transform: translate(0, 4px) rotate(45deg);
}

.l_header .sp_ham.active_ip span:nth-child(2) {
  -webkit-transform: translate(0, -4px) rotate(-45deg);
  transform: translate(0, -4px) rotate(-45deg);
}

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

.en {
  font-family: "EB Garamond", serif;
}

@media screen and (max-width: 768px) {
  .pc_only {
    display: none;
  }
}

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

.c_inner {
  width: 100%;
  margin: 0 auto;
}


@media screen and (min-width: 769px) {
  .c_inner {
    max-width: 1240px;
    padding: 0 2rem;
  }
}

@media screen and (max-width: 768px) {
  .c_inner {
    padding: 0 3rem;
  }
}

.c_sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c_sns a img {
  -o-object-fit: contain;
  object-fit: contain;
}

.c_hours p {
  color: #332525;
}

@media screen and (max-width: 768px) {
  .c_hours p {
    font-size: 1rem;
  }
}

@media screen and (min-width: 769px) {
  .c_hours p {
    font-size: 1.8rem;
  }
}

.c_hours .table_hours {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .c_hours .table_hours {
    margin-top: 0.2rem;
  }
}

@media screen and (min-width: 769px) {
  .c_hours .table_hours {
    max-width: 75.2rem;
    margin-top: 0.8rem;
  }
}

.c_hours .table_hours thead {
  background: #F0F1F0;
}

.c_hours .table_hours thead tr th {
  color: #332525;
}

@media screen and (max-width: 768px) {
  .c_hours .table_hours thead tr th {
    font-size: 1rem;
  }
}

@media screen and (min-width: 769px) {
  .c_hours .table_hours thead tr th {
    font-size: 1.8rem;
  }
}

.c_hours .table_hours thead tr .wed {
  color: #5C5151;
}

.c_hours .table_hours thead tr .sat {
  color: #238FCD;
}

.c_hours .table_hours thead tr .holi {
  color: #FD4477;
}

.c_hours .table_hours tbody tr td {
  color: #5C5151;
}

@media screen and (max-width: 768px) {
  .c_hours .table_hours tbody tr td {
    font-size: 1rem;
  }
}

@media screen and (min-width: 769px) {
  .c_hours .table_hours tbody tr td {
    font-size: 2.4rem;
  }
}

.c_hours .table_hours thead tr th,
.c_hours .table_hours thead tr td,
.c_hours .table_hours tbody tr th,
.c_hours .table_hours tbody tr td {
  text-align: center;
  vertical-align: center;
  border: 0.3px solid rgba(92, 81, 81, 0.5);
}

@media screen and (max-width: 768px) {

  .c_hours .table_hours thead tr th,
  .c_hours .table_hours thead tr td,
  .c_hours .table_hours tbody tr th,
  .c_hours .table_hours tbody tr td {
    height: 2rem;
  }
}

@media screen and (min-width: 769px) {

  .c_hours .table_hours thead tr th,
  .c_hours .table_hours thead tr td,
  .c_hours .table_hours tbody tr th,
  .c_hours .table_hours tbody tr td {
    height: 5.4rem;
  }
}

.c_hours .table_hours thead tr th.hours_time,
.c_hours .table_hours thead tr td.hours_time,
.c_hours .table_hours tbody tr th.hours_time,
.c_hours .table_hours tbody tr td.hours_time {
  font-family: "EB Garamond", serif;
  color: #332525;
  background: #F0F1F0;
}

@media screen and (max-width: 768px) {

  .c_hours .table_hours thead tr th.hours_time,
  .c_hours .table_hours thead tr td.hours_time,
  .c_hours .table_hours tbody tr th.hours_time,
  .c_hours .table_hours tbody tr td.hours_time {
    width: 29%;
    font-size: 1rem;
  }
}

@media screen and (min-width: 769px) {

  .c_hours .table_hours thead tr th.hours_time,
  .c_hours .table_hours thead tr td.hours_time,
  .c_hours .table_hours tbody tr th.hours_time,
  .c_hours .table_hours tbody tr td.hours_time {
    width: 25.8rem;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 768px) {

  .c_hours .table_hours thead tr th:nth-child(n+2),
  .c_hours .table_hours thead tr td:nth-child(n+2),
  .c_hours .table_hours tbody tr th:nth-child(n+2),
  .c_hours .table_hours tbody tr td:nth-child(n+2) {
    width: 9%;
  }
}

@media screen and (min-width: 769px) {

  .c_hours .table_hours thead tr th:nth-child(n+2),
  .c_hours .table_hours thead tr td:nth-child(n+2),
  .c_hours .table_hours tbody tr th:nth-child(n+2),
  .c_hours .table_hours tbody tr td:nth-child(n+2) {
    width: 6.4rem;
  }
}

.c_hours span {
  display: block;
  color: #5C5151;
  letter-spacing: 1.4px;
}

@media screen and (max-width: 768px) {
  .c_hours span {
    font-size: 0.8rem;
    margin-top: 0.4rem;
  }
}

@media screen and (min-width: 769px) {
  .c_hours span {
    font-size: 1.6rem;
    margin-top: 1.2rem;
  }
}

/* 追加 */

:root {
  --color_border: hsla(0, 0%, 78%, .5);
  --color_gray: hsla(0, 0%, 78%, .15);
  --swl-color_hov_gray: rgba(3, 2, 2, .05);
  --swl-color_shadow: rgba(0, 0, 0, .12);
  --swl-fz--root: 3.6vw;
  --swl-fz--side: var(--swl-fz--root);
  --swl-block-margin: 2em;
  --swl-sidebar_width: 280px;
  --swl-sidebar_margin: 24px;
  --swl-pad_post_content: 0px;
  --swl-pad_container: 4vw;
  --swl-h2-margin--x: -2vw;
  --swl-box_shadow: 0 2px 4px rgba(0, 0, 0, .05), 0 4px 4px -4px rgba(0, 0, 0, .1);
  --swl-img_shadow: 0 2px 8px rgba(0, 0, 0, .1), 0 4px 8px -4px rgba(0, 0, 0, .2);
  --swl-btn_shadow: 0 2px 2px rgba(0, 0, 0, .1), 0 4px 8px -4px rgba(0, 0, 0, .2);
  --swl-text_color--black: #333;
  --swl-text_color--white: #fff;
  --swl-fz--xs: .75em;
  --swl-fz--small: .9em;
  --swl-fz--normal: 1rem;
  --swl-fz--medium: 1.1em;
  --swl-fz--large: 1.25em;
  --swl-fz--huge: 1.6em;
  --swl-list-padding--left: 1.5em;
  --swl-list-padding--has_bg: 1em 1em 1em 1.75em
}

@media (min-width:600px) {
  :root {
    --swl-fz--root: 16px;
    --swl-h2-margin--x: -16px
  }

  .l-content {
    /* padding-top: 4em */
  }

  .-smalltxtbox .c-headLogo__link {
    font-size: 24px
  }

  .c-mvBtn__btn {
    font-size: 14px
  }

  .c-postTitle__ttl {
    font-size: 24px
  }

  .c-postTitle__date .__y {
    font-size: 14px
  }

  .c-postTitle__date .__md {
    font-size: 24px
  }

  .p-postList .c-postTitle__date .__md,
  .p-postList .c-postTitle__ttl {
    font-size: 20px
  }

  .c-postThumb__cat {
    font-size: 11px
  }

  .p-blogCard__caption {
    font-size: 12px;
    left: 24px
  }

  .p-blogCard__inner {
    padding: 24px
  }

  .p-blogCard__thumb {
    width: 21%
  }

  [data-type=type1] .p-blogCard__inner {
    padding-top: 25px
  }

  [data-type=type2] .p-blogCard__inner {
    padding-top: 28px
  }

  [data-type=type3] .p-blogCard__caption {
    bottom: 8px;
    right: 8px
  }

  .p-breadcrumb__list {
    font-size: 11px
  }

  .-frame-off .p-postList.-type-list2 {
    padding-top: 2em
  }

  .-type-list2 .p-postList__item {
    margin-bottom: 2em;
    padding-bottom: 2em
  }

  .-type-card.-pc-col1 .p-postList__item,
  .-type-thumb.-pc-col1 .p-postList__item {
    width: 100%
  }

  .-type-card.-pc-col1 .p-postList__item {
    margin: 0 0 3em
  }

  .-type-big .p-postList__body:after {
    width: 80%
  }

  .-type-card .p-postList__title,
  .-type-list .p-postList__title,
  .-type-list2 .p-postList__title {
    font-size: 16px
  }

  #sidebar .-type-card .p-postList__title,
  .-related .p-postList__title,
  .-type-thumb .p-postList__title,
  .w-footer:not(.-col1) .p-postList__title {
    font-size: 14px
  }

  #sidebar .-type-list .p-postList__title,
  .-type-card .p-postList__excerpt {
    font-size: 13px
  }

  .-type-list .p-postList__excerpt,
  .-type-list2 .p-postList__excerpt {
    font-size: 14px
  }

  .p-postList__meta {
    font-size: 11px
  }

  .-w-ranking.-type-card .p-postList__item:before {
    font-size: 14px
  }

  .-w-ranking.-type-list .p-postList__item:before {
    font-size: 12px
  }

  .c-widget__title {
    font-size: 16px
  }

  .cat-post-count,
  .post_count,
  .tag-link-count {
    font-size: 13px
  }

  .post_content h2 {
    font-size: 1.4em
  }

  .post_content h3 {
    font-size: 1.3em
  }

  .post_content h4 {
    font-size: 1.2em
  }

  .wp-block-group {
    --swl-box_padding: 2em !important;
  }

  [class*=is-style-big_icon_] {
    padding: 2.5em 2em 2em
  }

  [class*=is-style-big_icon_]:before {
    left: .75em
  }

  .wp-block-columns.has-2-columns {
    flex-wrap: nowrap !important
  }

  .wp-block-columns.first_big:not(.sp_column2) .wp-block-column:not(:first-child),
  .wp-block-columns.last_big:not(.sp_column2) .wp-block-column:not(:last-child) {
    flex-basis: calc(50% - var(--wp-column-gap)/2) !important
  }

  [class*=is-style-btn_] {
    --the-min-width: 40%
  }

  [class*=is-style-btn_].-size-s {
    --the-min-width: 20%
  }

  [class*=is-style-btn_].-size-l {
    --the-min-width: 80%
  }

  .is-style-more_btn {
    --the-min-width: 64%
  }
}

@media (min-width:960px) {
  :root {
    --swl-fz--side: 14px;
    --swl-pad_post_content: 16px;
    --swl-pad_container: 32px
  }

  .-sidebar-on .l-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
  }

  .c-smallNavTitle {
    display: block;
    position: relative;
    top: 4px
  }

  .c-headLogo {
    height: var(--logo_size_pc)
  }

  .l-fixHeader .c-headLogo {
    height: var(--logo_size_pcfix)
  }

  .-sidebar-on .l-mainContent {
    width: calc(100% - var(--swl-sidebar_width) - var(--swl-sidebar_margin))
  }

  #sidebar .c-widget+.c-widget {
    margin-top: 2.5em
  }

  .-sidebar-on #sidebar {
    width: var(--swl-sidebar_width)
  }

  .c-fixBtn:hover {
    opacity: 1
  }

  .p-fixBtnWrap {
    bottom: 2.5em;
    right: 2.5em
  }

  #sidebar .-type-card .p-postList__item {
    width: 100%
  }

  .-type-card.-pc-col2 .p-postList__item {
    padding: 0 .75em
  }

  .w-footer.-col1 .-type-card .p-postList__item {
    width: 33.33333%
  }

  .w-footer.-col1 .-type-list {
    display: flex;
    flex-wrap: wrap;
    margin-left: -.5em;
    margin-right: -.5em
  }

  .w-footer.-col1 .-type-list .p-postList__item {
    padding: .5em;
    width: 50%
  }

  .is-hide-last--pc .p-postList__item:last-child,
  .p-spMenu {
    display: none
  }

  .hov-bg-main {
    transition: background-color .25s, color .25s
  }

  .hov-bg-main:hover {
    background-color: var(--color_main) !important;
    color: #fff !important
  }

  .pc-py-0 {
    padding-bottom: 0 !important;
    padding-top: 0 !important
  }

  .pc-py-20 {
    padding-bottom: 2em !important;
    padding-top: 2em !important
  }

  .pc-py-40 {
    padding-bottom: 4em !important;
    padding-top: 4em !important
  }

  .pc-py-60 {
    padding-bottom: 6em !important;
    padding-top: 6em !important
  }

  .pc-py-80 {
    padding-bottom: 8em !important;
    padding-top: 8em !important
  }

  .sp_,
  .sp_only {
    display: none !important
  }

  .w-fixSide {
    display: flex;
    flex-direction: column;
    margin-top: 2.5em;
    position: sticky
  }

  .w-fixSide .c-widget {
    flex: 1 1 auto
  }

  .w-fixSide.-multiple .c-listMenu,
  .w-fixSide.-multiple .widget_swell_index {
    min-height: 8em;
    overflow-y: auto !important
  }

  .w-fixSide.-multiple .widget_swell_new_posts,
  .w-fixSide.-multiple .widget_swell_popular_posts {
    min-height: 160px;
    overflow-y: auto !important
  }

  .wp-block-image.is-style-photo_frame img,
  .wp-block-video.is-style-photo_frame video,
  img.photo_frame {
    border: 6px solid #fff
  }

  .wp-block-cover {
    padding: 2em
  }
}

@media (min-width:1200px) {
  :root {
    --swl-sidebar_width: 304px;
    --swl-sidebar_margin: 52px
  }

  :root .-frame-on-sidebar {
    --swl-sidebar_width: 316px
  }

  :root .-frame-on.-sidebar-on {
    --swl-sidebar_margin: 36px
  }

  :root {
    --swl-pad_container: 48px
  }
}

:root {
  --wp--preset--aspect-ratio--square: 1;
  --wp--preset--aspect-ratio--4-3: 4 / 3;
  --wp--preset--aspect-ratio--3-4: 3 / 4;
  --wp--preset--aspect-ratio--3-2: 3 / 2;
  --wp--preset--aspect-ratio--2-3: 2 / 3;
  --wp--preset--aspect-ratio--16-9: 16 / 9;
  --wp--preset--aspect-ratio--9-16: 9 / 16;
  --wp--preset--color--black: #000000;
  --wp--preset--color--cyan-bluish-gray: #abb8c3;
  --wp--preset--color--white: #ffffff;
  --wp--preset--color--pale-pink: #f78da7;
  --wp--preset--color--vivid-red: #cf2e2e;
  --wp--preset--color--luminous-vivid-orange: #ff6900;
  --wp--preset--color--luminous-vivid-amber: #fcb900;
  --wp--preset--color--light-green-cyan: #7bdcb5;
  --wp--preset--color--vivid-green-cyan: #00d084;
  --wp--preset--color--pale-cyan-blue: #8ed1fc;
  --wp--preset--color--vivid-cyan-blue: #0693e3;
  --wp--preset--color--vivid-purple: #9b51e0;
  --wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg, rgba(6, 147, 227, 1) 0%, rgb(155, 81, 224) 100%);
  --wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg, rgb(122, 220, 180) 0%, rgb(0, 208, 130) 100%);
  --wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg, rgba(252, 185, 0, 1) 0%, rgba(255, 105, 0, 1) 100%);
  --wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg, rgba(255, 105, 0, 1) 0%, rgb(207, 46, 46) 100%);
  --wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg, rgb(238, 238, 238) 0%, rgb(169, 184, 195) 100%);
  --wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg, rgb(74, 234, 220) 0%, rgb(151, 120, 209) 20%, rgb(207, 42, 186) 40%, rgb(238, 44, 130) 60%, rgb(251, 105, 98) 80%, rgb(254, 248, 76) 100%);
  --wp--preset--gradient--blush-light-purple: linear-gradient(135deg, rgb(255, 206, 236) 0%, rgb(152, 150, 240) 100%);
  --wp--preset--gradient--blush-bordeaux: linear-gradient(135deg, rgb(254, 205, 165) 0%, rgb(254, 45, 45) 50%, rgb(107, 0, 62) 100%);
  --wp--preset--gradient--luminous-dusk: linear-gradient(135deg, rgb(255, 203, 112) 0%, rgb(199, 81, 192) 50%, rgb(65, 88, 208) 100%);
  --wp--preset--gradient--pale-ocean: linear-gradient(135deg, rgb(255, 245, 203) 0%, rgb(182, 227, 212) 50%, rgb(51, 167, 181) 100%);
  --wp--preset--gradient--electric-grass: linear-gradient(135deg, rgb(202, 248, 128) 0%, rgb(113, 206, 126) 100%);
  --wp--preset--gradient--midnight: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%);
  --wp--preset--font-size--small: 13px;
  --wp--preset--font-size--medium: 20px;
  --wp--preset--font-size--large: 36px;
  --wp--preset--font-size--x-large: 42px;
  --wp--preset--spacing--20: 0.44rem;
  --wp--preset--spacing--30: 0.67rem;
  --wp--preset--spacing--40: 1rem;
  --wp--preset--spacing--50: 1.5rem;
  --wp--preset--spacing--60: 2.25rem;
  --wp--preset--spacing--70: 3.38rem;
  --wp--preset--spacing--80: 5.06rem;
  --wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
  --wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
  --wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
  --wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);
  --wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);
  --swl-fz--content: 4vw;
  --swl-font_family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --swl-font_weight: 500;
  --swl-box_padding: 1.5em;
  --color_main: #bd8f89;
  --color_text: #333;
  --color_link: #1176d4;
  --color_htag: #bd8f89;
  --color_bg: #fdfdfd;
  --color_gradient1: #d8ffff;
  --color_gradient2: #87e7ff;
  --color_main_thin: rgba(236, 179, 171, 0.05);
  --color_main_dark: rgba(142, 107, 103, 1);
  --color_list_check: #bd8f89;
  --color_list_num: #bd8f89;
  --color_list_good: #86dd7b;
  --color_list_triangle: #f4e03a;
  --color_list_bad: #f36060;
  --color_faq_q: #d55656;
  --color_faq_a: #6599b7;
  --color_icon_good: #3cd250;
  --color_icon_good_bg: #ecffe9;
  --color_icon_bad: #4b73eb;
  --color_icon_bad_bg: #eafaff;
  --color_icon_info: #f578b4;
  --color_icon_info_bg: #fff0fa;
  --color_icon_announce: #ffa537;
  --color_icon_announce_bg: #fff5f0;
  --color_icon_pen: #7a7a7a;
  --color_icon_pen_bg: #f7f7f7;
  --color_icon_book: #787364;
  --color_icon_book_bg: #f8f6ef;
  --color_icon_point: #ffa639;
  --color_icon_check: #86d67c;
  --color_icon_batsu: #f36060;
  --color_icon_hatena: #5295cc;
  --color_icon_caution: #f7da38;
  --color_icon_memo: #84878a;
  --color_deep01: #e44141;
  --color_deep02: #3d79d5;
  --color_deep03: #63a84d;
  --color_deep04: #f09f4d;
  --color_pale01: #fff2f0;
  --color_pale02: #f3f8fd;
  --color_pale03: #f1f9ee;
  --color_pale04: #fdf9ee;
  --color_mark_blue: #b7e3ff;
  --color_mark_green: #bdf9c3;
  --color_mark_yellow: #fcf69f;
  --color_mark_orange: #ffddbc;
  --border01: solid 1px var(--color_main);
  --border02: double 4px var(--color_main);
  --border03: dashed 2px var(--color_border);
  --border04: solid 4px var(--color_gray);
  --card_posts_thumb_ratio: 56.25%;
  --list_posts_thumb_ratio: 61.805%;
  --big_posts_thumb_ratio: 56.25%;
  --thumb_posts_thumb_ratio: 61.805%;
  --blogcard_thumb_ratio: 56.25%;
  --color_header_bg: #fdfdfd;
  --color_header_text: #333;
  --color_footer_bg: #fdfdfd;
  --color_footer_text: #333;
  --color_content_bg: var(--color_bg);
  --container_size: 1200px;
  /* --article_size: 900px; */
  --article_size: 840px;
  --logo_size_sp: 48px;
  --logo_size_pc: 40px;
  --logo_size_pcfix: 32px;
}

@media screen and (min-width: 600px) {
  :root {
    --swl-fz--content: 16px;
  }
}

#footer {
  margin-bottom: 0;
  overflow-x: hidden;
}

#content-wrapper {
  padding-top: 8em;
  font-size: 16px;
}

.l-content {
  margin: 0 auto 6em;
  position: relative;
  z-index: 1;
  max-width: calc(var(--container_size, 0px) + var(--swl-pad_container, 0px) * 2);
  padding-left: var(--swl-pad_container, 0);
  padding-right: var(--swl-pad_container, 0);
}

.l-article {
  max-width: var(--article_size);
  padding-left: 0;
  padding-right: 0;
}

.l-mainContent {
  position: static !important;
  width: 100%;
}

.l-article,
.lp-content .l-article {
  margin-left: auto;
  margin-right: auto;
}

.c-postTitle {
  align-items: center;
  display: flex;
  flex-direction: row-reverse;
}

.l-mainContent__inner>:first-child,
.l-parent>:first-child,
.media>:first-child {
  margin-top: 0 !important;
}


.c-postTitle__ttl {
  font-size: 2vw;
  font-weight: 700;
  line-height: 1.4;
  width: 100%;
}

@media (min-width: 600px) {
  .c-postTitle__ttl {
    font-size: 24px;
  }
}

.c-postTitle__date {
  border-right: 1px solid var(--color_border);
  font-weight: 400;
  line-height: 1;
  margin-right: .75em;
  padding: .5em .75em .5em 0;
  text-align: center;
  flex-shrink: 0;
}

.u-thin {
  opacity: .8;
}

.c-postTitle__date .__y {
  display: block;
  font-size: 1.5vw;
  line-height: 1;
  margin-bottom: 4px;
}

@media (min-width: 600px) {
  .c-postTitle__date .__y {
    font-size: 14px;
  }
}

.c-postTitle__date .__md {
  display: block;
  font-size: 2vw;
}

@media (min-width: 600px) {
  .c-postTitle__date .__md {
    font-size: 24px;
  }
}

.p-articleThumb {
  margin: 2em 0;
  text-align: center;
  width: 100%;
}

.l-mainContent__inner>.post_content {
  margin: 2em 0;
  padding: 0 var(--swl-pad_post_content, 0);
}


/* swell */
@font-face {
  font-family: icomoon;
  font-style: normal;
  font-weight: 400;
  src: url(../font/icomoon.woff2?fq24x) format("woff2"), url(../font/icomoon.ttf?fq24x) format("truetype"), url(../font/icomoon.woff?fq24x) format("woff"), url(../font/icomoon.svg?fq24x#icomoon) format("svg")
}

.cap_box {
  --capbox-color: var(--color_main);
  --capbox-color--bg: unset;
  --the-icon-size: 1.1em;
  position: relative;
}

.is-style-onborder_ttl2>.cap_box_ttl {
  display: inline-flex;
  left: 1em;
  top: 1em;
}

.cap_box_ttl span {
  color: white;
}

.cap_box_content {
  background-color: var(--capbox-color--bg);
  border: 1px solid var(--capbox-color);
  clear: both;
  margin-top: -2px;
  padding: 1.5em;
  position: relative;
  z-index: 0;
  margin-bottom: 24px;
}

.cap_box_content>:last-child {
  margin-bottom: 0;
}

.wp-block-columns {
  align-items: normal !important;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap !important;
  --wp-column-gap: 1.5em;
  gap: var(--wp-column-gap) !important;
  line-height: 1.6;
}

@media (min-width: 600px) {
  .wp-block-columns {
    flex-wrap: nowrap !important;
  }


}

.wp-block-column.is-vertically-aligned-center {
  align-self: center;
}

.media .has-text-align-center {
  text-align: center;
  margin-bottom: 0;
}

.fs_l,
.has-l-font-size,
.has-large-font-size,
.u-fz-l {
  font-size: 1.25em;
}

.fs_xs,
.has-xs-font-size,
.u-fz-xs {
  font-size: .75em !important;
}


.wp-block-list {
  padding-left: 1.5em;
}

.wp-block-list li {
  list-style-type: disc;
}

.is-style-icon_announce,
.is-style-icon_bad,
.is-style-icon_book,
.is-style-icon_good,
.is-style-icon_info,
.is-style-icon_pen {
  border-radius: 2px;
  line-height: 1.6;
  padding: 1em 1em 1em 4.25em;
  position: relative;
}

.is-style-icon_announce:before,
.is-style-icon_bad:before,
.is-style-icon_book:before,
.is-style-icon_good:before,
.is-style-icon_info:before,
.is-style-icon_pen:before {
  content: "";
  display: inline-block;
  font-family: icomoon;
  font-size: inherit;
  left: 1.25em;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) scale(1.5);
  transform: translateY(-50%) scale(1.5);
}

.is-style-icon_announce:after,
.is-style-icon_bad:after,
.is-style-icon_book:after,
.is-style-icon_good:after,
.is-style-icon_info:after,
.is-style-icon_pen:after {
  border-right: 1px solid;
  content: "";
  display: block;
  height: 50%;
  left: 3.25em;
  opacity: .4;
  position: absolute;
  top: 25%;
  width: 0;
}


.is-style-icon_pen {
  background: var(--color_icon_pen_bg);
  border-color: var(--color_icon_pen);
}

.is-style-icon_pen:before {
  color: var(--color_icon_pen);
  content: "\e934";
}

.is-style-icon_announce {
  background: var(--color_icon_announce_bg);
  border-color: var(--color_icon_announce);
}

.is-style-icon_announce:before {
  color: var(--color_icon_announce);
  content: "\e913";
}

.is-style-icon_announce:after {
  border-right-color: var(--color_icon_announce);
}

.is-style-icon_info {
  background: var(--color_icon_info_bg);
  border-color: var(--color_icon_info);
}

.is-style-icon_info:before {
  color: var(--color_icon_info);
  content: "\e941";
}

.is-style-icon_info:after {
  border-right-color: var(--color_icon_info);
}

.is-style-icon_good {
  background: var(--color_icon_good_bg);
  border-color: var(--color_icon_good);
}

.is-style-icon_good::before {
  color: var(--color_icon_good);
  content: "";
}

.is-style-icon_good::after {
  border-right-color: var(--color_icon_good);
}

.is-style-icon_book {
  background: var(--color_icon_book_bg);
  border-color: var(--color_icon_book);
}

.is-style-icon_book:before {
  color: var(--color_icon_book);
  content: "\e91a";
}

.c_btn_reserve {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .c_btn_reserve {
    max-width: 22.4rem;
  }
}

.c_btn_reserve a {
  display: block;
  width: 100%;
  color: #fff !important;
  text-align: center;
  background: #AB8B8C;
  border: 1px solid #AB8B8C;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  letter-spacing: 0.8px;
  font-size: 1.4rem;
  padding: 1.48rem 0rem;
}

@media screen and (max-width: 768px) {
  .c_btn_reserve a {
    font-size: 1.4rem;
    padding: 1.48rem 0rem;
  }
}

.c_btn_reserve a:hover {
  color: #AB8B8C !important;
  background: #FAF8F8;
  border: 1px solid #AB8B8C;
}

.c_btn_line {
  color: #fff;
  text-align: center;
  text-decoration: none;
  height: 54px;
  width: 54px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  margin-left: 16px;
  transition: opacity 0.3s ease;
  flex-shrink: 0;
  background-color: #06C755;
  display: flex;
  justify-content: center;
  align-items: center;
}

.c_btn_line img {
  width: 28px;
  height: auto;
}

.c_btn_line:hover {
  opacity: 0.85;
}

@media screen and (max-width: 768px) {
  .c_btn_line {
    display: none;
  }
}

.p-articleMetas {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  gap: .625em;
  padding: 0 1px;
}

.p-articleMetas.-top {
  margin-top: .75em;
}

.c-prNotation[data-style=small] {
  align-items: center;
  border: 1px solid;
  border-radius: 1px;
  display: inline-flex;
  font-size: 13px;
  gap: .25em;
  padding: .125em .4em;
}

.icon-info:before {
  content: "\e91d";
}

.c-prNotation {
  line-height: 1.5;
}

.c-postTimes {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .5em;
}

.c-postTimes__modified:before,
.c-postTimes__posted:before {
  margin-right: .325em;
  position: relative;
  top: 1px;
}

.icon-posted:before {
  content: "\e931";
}

[class*=" icon-"]:before,
[class^=icon-]:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: icomoon !important;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: none;
}

.c-categoryList {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .5em;
  font-size: 11px;
}

.c-categoryList:before {
  content: "\e92f";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: icomoon !important;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: none;
  color: var(--color_main);
}

.p-articleMetas a.c-categoryList__link {
  border-radius: 1px;
  display: block;
  line-height: 1;
  padding: 4px .5em;
  text-decoration: none;
  background-color: var(--color_main);
  transition: box-shadow .25s;
  color: #fff;
}

/* .wp-block-group {
  padding: 2em;
  margin-bottom: 2em;
  background: #f7f7f7;
  color: #5f5a59;
  display: block;
  font-style: normal;
  position: relative;
} */

.media .wp-block-group__inner-container>:last-child {
  margin-bottom: 0;
}

.is-style-note_box,
.is-style-stitch {
  background: #f7f7f7;
  color: #5f5a59;
  display: block;
  font-style: normal;
  padding: var(--swl-box_padding);
  position: relative;
  margin-bottom: 2em;
}

.is-style-note_box:before,
.is-style-stitch:before {
  border: 1px dashed hsla(0, 0%, 78%, .6);
  border-radius: inherit;
  content: "";
  display: block;
  height: calc(100% - 12px);
  left: 6px;
  pointer-events: none;
  position: absolute;
  top: 6px;
  width: calc(100% - 12px);
}

.has-text-align-center {
  text-align: center;
}

.swl-marker {
  display: inline;
  padding: 2px;
}

.mark_green {
  background: linear-gradient(transparent 64%, var(--color_mark_green) 0%);
}

.has-swl-deep-01-color {
  color: #e44141;
}

.fs_xl,
.has-huge-font-size,
.has-xl-font-size,
.u-fz-xl {
  font-size: 1.6em !important;
}

[class*=is-style-btn_] {
  --the-fz: 1em;
  --the-width: auto;
  --the-min-width: 64%;
  --the-padding: .75em 1.5em;
  --the-btn-color: var(--color_main);
  --the-btn-color2: var(--color_main);
  --the-btn-bg: var(--the-btn-color);
  display: block;
  font-size: var(--the-fz);
  margin: 0 auto 2em;
  position: relative;
  text-align: center;
}

.red_ {
  --the-btn-color: #f74a4a !important;
  --the-btn-color2: #ffbc49 !important;
  --the-solid-shadow: rgba(185, 56, 56, 1) !important;
}

[class*=is-style-btn_] a {
  background: var(--the-btn-bg);
  border-radius: 80px;
  display: inline-block;
  letter-spacing: var(--swl-letter_spacing, 1px);
  line-height: 1.5;
  margin: 0;
  min-width: var(--the-min-width);
  padding: var(--the-padding);
  position: relative;
  text-decoration: none;
  width: var(--the-width);
}

@media (min-width: 600px) {
  [class*=is-style-btn_] {
    --the-min-width: 40% !important;
  }
}

.media .is-style-btn_line a {
  background: none;
  border: 1px solid;
  color: var(--the-btn-color, var(--color_main));
  position: relative;
  transition: background-color .25s;
}

.media .is-style-btn_line a * {
  color: var(--the-btn-color, var(--color_main));
}

.media .is-style-btn_line a:hover {
  background-color: var(--the-btn-color, var(--color_main));
  border-color: transparent;
  color: #fff !important;
  opacity: 1;
}

.media .is-style-btn_line a:hover * {
  color: #fff;
}

.swell-block-button .swell-block-button__link[data-has-icon] {
  align-items: center;
  display: inline-flex;
  gap: .5em;
  justify-content: center;
  text-decoration: none;
}

svg:not([fill]) {
  fill: currentcolor;
}

b,
strong {
  font-weight: 700;
}

.wp-block-list {
  margin-bottom: 24px;
}

.has-swl-deep-01-background-color {
  background-color: var(--color_deep01) !important;
  color: var(--swl-text_color--white, #fff);
}

.has-border.-border02 {
  background: #fff;
  border: var(--border02);
  margin-bottom: 2em;
}

.is-style-border>.swell-block-dl__dt {
  border-left: 1px solid var(--color_main);
  padding-left: .75em;
}

.swell-block-dl__dd {
  margin-left: 1em;
  padding: 1em;
}

.swell-block-dl__dd>:last-child {
  margin-bottom: 0;
}

.post_content h3:before {
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  z-index: 0;
}

.swell-block-faq .faq_q {
  font-size: 1.1em;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 1em;
  position: relative;
  background: hsla(0, 0%, 78%, .15);
  padding: 1.25em 1em 1.25em 4em;
  font-size: 1.1em;
  cursor: pointer;
  margin-bottom: 0;
}

.swell-block-faq.-icon-circle {
  --swl-faq_icon_radius: 50%;
}

.swell-block-faq .faq_q:before {
  content: "Q";
  border-radius: 10%;
  bottom: unset;
  font-family: Arial, sans-serif;
  font-weight: 400;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  line-height: 2;
  position: absolute;
  text-align: center;
  width: 2em;
  height: 2em;
  color: #fff;
  background: #333;
}

[data-a=fill-main] .faq_a:before,
[data-q=fill-main] .faq_q:before {
  background-color: var(--color_main);
  color: #fff;
}

.swell-block-faq .faq_a {
  position: relative;
  padding: 1.25em 1em 1.25em 4em;
}

.swell-block-faq .faq_a:before {
  content: "A";
  display: block;
  border-radius: 10%;
  font-family: Arial, sans-serif;
  line-height: 2;
  position: absolute;
  text-align: center;
  width: 2em;
  left: 1em;
  top: 1em;
  box-shadow: 0 0 0 1px currentcolor;
  color: #6599b7;
}

[data-a=fill-custom] .faq_a:before {
  background-color: var(--color_faq_a);
  color: #fff;
}

[data-q=fill-text] .faq_q:before {
  background: var(--color_text);
  color: #fff;
}

.is-style-faq-stripe .faq_q {
  background-color: var(--color_gray);
}

[data-a=col-custom] .faq_a:before {
  box-shadow: 0 0 0 1px currentcolor;
  color: var(--color_faq_a);
}

.is-style-faq-box .faq_a,
.is-style-faq-box .faq_q,
.is-style-faq-stripe .faq_a,
.is-style-faq-stripe .faq_q {
  padding: 1.25em 1em 1.25em 4em;
}

/* .is-style-faq-box .faq_a:before,
.is-style-faq-box .faq_q:before,
.is-style-faq-stripe .faq_a:before,
.is-style-faq-stripe .faq_q:before {
  left: 1em;
  position: absolute;
  top: 1em;
} */

table:has([data-cell1-fixed] tr>:first-child:not(.-no1)) {
  width: 1200px;
}

[data-cell1-fixed] tr>:first-child:not(.-no1) {
  left: 0;
  position: sticky !important;
  top: 0;
  z-index: 3;
}

table:has([data-cell1-fixed] tr > :first-child:not(.-no1)) {
  width: 1200px;
}

.wp-block-table>table {
  --swl-cell1-width: unset;
}

.wp-block-table>table tr>:first-child:not(.-no1) {
  max-width: var(--swl-cell1-width, auto);
  min-width: var(--swl-cell1-width, var(--swl-minwidth-cell, 0)) !important;
  width: var(--swl-cell1-width, auto);
}

[data-table-scrollable] table {
  border-collapse: separate;
  max-width: var(--table-width, 100%) !important;
  min-width: 100%;
  width: var(--table-width, 100%) !important;
}

[data-table-scrollable=both] {
  display: block;
  max-width: 100%;
  overflow-x: scroll;
  padding-bottom: 16px;
  width: 100%;
}

.swl-cell-bg[data-icon="doubleCircle"] {
  --cell-icon-color: #ffc977;
}

.swl-cell-bg[data-icon-type=obj] {
  display: inline-flex !important;
  flex-direction: row-reverse;
  font-family: Arial, Helvetica, sans-serif;
  height: auto;
  text-indent: -.28em;
  vertical-align: middle;
  width: auto;
}

.swl-cell-bg[data-icon=doubleCircle] {
  --cell-icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M25,43.4C14.9,43.4,6.6,35.1,6.6,25S14.9,6.6,25,6.6S43.4,14.9,43.4,25S35.1,43.4,25,43.4z M25,8.8 C16.1,8.8,8.8,16.1,8.8,25S16.1,41.2,25,41.2S41.2,33.9,41.2,25S33.9,8.8,25,8.8z'/%3E%3Cpath d='M25,2C12.3,2,2,12.3,2,25s10.3,23,23,23s23-10.3,23-23S37.7,2,25,2z M25,45.5C13.7,45.5,4.5,36.3,4.5,25S13.7,4.5,25,4.5 S45.5,13.7,45.5,25S36.3,45.5,25,45.5z'/%3E%3C/svg%3E");
}

.swl-cell-bg[data-icon=line] {
  --cell-icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M38.5,26.5h-27c-0.8,0-1.5-0.7-1.5-1.5v0c0-0.8,0.7-1.5,1.5-1.5h27c0.8,0,1.5,0.7,1.5,1.5v0C40,25.8,39.3,26.5,38.5,26.5z'/%3E%3C/svg%3E");
}

.swl-cell-bg[data-icon=circle] {
  --cell-icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M25,47C12.9,47,3,37.1,3,25S12.9,3,25,3s22,9.9,22,22S37.1,47,25,47z M25,5.6C14.3,5.6,5.6,14.3,5.6,25S14.3,44.4,25,44.4 S44.4,35.7,44.4,25S35.7,5.6,25,5.6z'/%3E%3C/svg%3E");
}


.swl-cell-bg[data-icon="circle"] {
  --cell-icon-color: #94e29c;
}

.swl-cell-bg[data-icon-size=l] {
  --cell-icon-size: 2.5em;
}

.swl-cell-bg:before {
  background-color: inherit;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: -1;
}

.swl-cell-bg[data-icon]:after {
  background-color: var(--cell-icon-color, currentColor);
  content: "";
  -webkit-mask-image: var(--cell-icon-svg, unset);
  mask-image: var(--cell-icon-svg, unset);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  pointer-events: none;
}

.swl-cell-bg[data-icon-type=obj]:after {
  display: inline-block;
  height: var(--cell-icon-size);
  position: relative;
  width: var(--cell-icon-size);
  z-index: 0;
}

.cap_box[data-colset="col3"] {
  --capbox-color: #2fcd90;
  --capbox-color--bg: #eafaf2;
}

.cap_box[data-colset="col1"] {
  --capbox-color: #f59b5f;
  --capbox-color--bg: #fff8eb;
}

.cap_box_ttl {
  align-items: center;
  background-color: var(--capbox-color);
  color: #fff;
  display: flex;
  gap: .5em;
  justify-content: center;
  line-height: 1.5;
  margin-bottom: 0 !important;
  padding: .5em;
  position: relative;
  text-align: center;
  z-index: 1;
}

.cap_box_content {
  background-color: var(--capbox-color--bg);
  border: 1px solid var(--capbox-color);
  clear: both;
  margin-top: -2px;
  padding: 1.25em;
  position: relative;
  z-index: 0;
}

.has-border,
div.has-background,
p.has-background {
  padding: var(--swl-box_padding);
}


.is-style-bad_list,
.is-style-check_list,
.is-style-good_list,
.is-style-index,
.is-style-note_list,
.is-style-num_circle,
.is-style-triangle_list {
  /* --swl-list-padding--left: .25em; */
  padding-left: 0;
  --swl-list-padding--has_bg: 1em;
}

.is-style-bad_list li,
.is-style-check_list li,
.is-style-good_list li,
.is-style-index li,
.is-style-note_list li,
.is-style-num_circle li,
.is-style-triangle_list {
  padding-left: 1.5em;
  position: relative;
  list-style-type: none !important;
}


.is-style-bad_list li:before,
.is-style-check_list li:before,
.is-style-good_list li:before,
.is-style-triangle_list li:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: none;
  border: none;
  border-radius: 0;
  display: block;
  font-family: icomoon;
  height: auto;
  left: 0;
  position: absolute;
  top: 0;
  width: 1em;
}

.is-style-check_list li:before {
  color: var(--color_list_check);
  content: "\e923";
}

.c-balloon__body {
  align-items: flex-start;
  display: flex;
  flex-basis: 100%;
  padding: 4px 24px;
}

@media (min-width: 600px) {
  .c-balloon__body {
    padding: 8px 24px;
  }
}

.-bln-left .c-balloon__body {
  justify-content: flex-start;
}

.c-balloon__text {
  border-radius: 8px;
  color: #333;
  line-height: 1.6;
  max-width: 560px;
  padding: 1em;
  position: relative;
}

[data-col="red"] .c-balloon__text {
  background: #ffebeb;
  border-color: #f48789;
}

.-border-on .c-balloon__text {
  border-style: solid;
  border-width: 1px;
}

.media .-border-on .c-balloon__text>:last-child,
.media .-border-on .c-balloon__text>p:last-of-type {
  margin-bottom: 0;
}

.wp-block-column {
  flex-grow: 1;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}

@media (min-width: 782px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
    flex-basis: 0;
    flex-grow: 1;
  }
}

.is-layout-constrained>:last-child {
  margin-bottom: 0;
}

.c-balloon {
  align-content: flex-start;
  display: flex;
  justify-content: space-between;
  position: relative;
}

.c-balloon__icon {
  flex-shrink: 0;
  position: relative;
  text-align: center;
  width: 60px;
}

@media (min-width: 600px) {
  .c-balloon__icon {
    width: 80px;
  }
}

.c-balloon__iconImg {
  display: block;
  margin: 0 auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.-circle>.c-balloon__iconImg {
  border: 2px solid #ececec;
  border-radius: 50%;
}

@media (min-width: 600px) {
  .c-balloon .c-balloon__iconImg {
    height: 80px;
    width: 80px;
  }
}

.c-balloon__shapes {
  background-color: inherit;
  border-color: inherit;
  height: 0;
  position: absolute;
  top: 16px;
  width: 0;
  z-index: 1;
}

.c-balloon__before {
  z-index: 3;
}

[data-col="red"] .c-balloon__before {
  border-right-color: #ffebeb;
}

.c-balloon__after,
.c-balloon__before {
  border-color: transparent;
  border-style: solid;
  display: block;
  height: 0;
  position: absolute;
  top: 0;
  width: 0;
}

.-speaking .c-balloon__after,
.-speaking .c-balloon__before {
  border-width: 8px 10px 8px 0;
  left: -10px;
}

.-bln-left .c-balloon__shapes {
  left: 0;
}

.-speaking.-border-on .c-balloon__before {
  left: -8px;
}

.c-balloon__after {
  border-right-color: inherit;
  z-index: 2;
}

:where(.has-border) {
  margin-left: .3px;
}

.has-border.-border04 {
  border: var(--border04);
  margin-bottom: 2em;
}

[data-col="gray"] .c-balloon__text {
  background: #f7f7f7;
  border-color: #ccc;
}

[data-col="gray"] .c-balloon__before {
  border-right-color: #f7f7f7;
}

.has-border.-border03 {
  border: var(--border03);
  margin-bottom: 2em;
}

.is-style-num_circle {
  counter-reset: li;
}

.is-style-num_circle li {
  padding-left: 2em;
  margin-bottom: 0.4em;
}

.is-style-num_circle li:before {
  background-color: var(--color_list_num);
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--color_list_num);
  box-sizing: content-box;
  color: #fff;
  content: counter(li);
  counter-increment: li;
  display: block;
  height: 1.8em;
  left: 1px;
  line-height: 1.8;
  padding: 0;
  position: absolute;
  text-align: center;
  top: -.15em;
  -webkit-transform: scale(.75);
  transform: scale(.75);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  width: 1.8em;
}

.is-style-kakko_box {
  padding: var(--swl-box_padding);
  position: relative;
  margin-bottom: 2em;
}

.is-style-kakko_box:before {
  border-left: 1px solid;
  border-top: 1px solid;
  left: 0;
  top: 0;
}

.is-style-kakko_box:after {
  border-bottom: 1px solid;
  border-right: 1px solid;
  bottom: 0;
  right: 0;
}

.is-style-kakko_box:after,
.is-style-kakko_box:before {
  border-color: var(--color_main);
  content: "";
  display: inline-block;
  height: 2em;
  position: absolute;
  width: 2.25em;
}

.has-border.-border01 {
  border: var(--border01);
  margin-bottom: 2em;
}

.swell-block-step {
  --swl-step_arrow_color: #dedede;
  counter-reset: step;
}

.swell-block-step__item {
  margin-bottom: 0 !important;
  padding: 0 0 3em 64px;
  position: relative;
}

@media only screen and (max-width: 600px) {
  .swell-block-step__item {
    padding: 0 0 2em 64px;
  }
}

.swell-block-step__item:before {
  border-left: 1px dashed var(--color_border);
  content: "";
  display: block;
  height: 100%;
  left: 23px;
  position: absolute;
  top: 0;
  width: 0;
}


.swell-block-step__number {
  box-sizing: content-box;
  color: #fff;
  display: flex;
  flex-direction: column;
  height: 48px;
  justify-content: center;
  left: 0;
  line-height: 1;
  position: absolute;
  text-align: center;
  top: 0;
  width: 48px;
}

[data-num-style=circle] .swell-block-step__number,
[data-num-style=circle] .swell-block-step__number .__shape {
  border-radius: 50%;
}

.u-bg-main {
  background-color: var(--color_main) !important;
  color: #fff !important;
}


.swell-block-step__number .__label {
  content: attr(data-label);
  display: block;
  font-size: 10px;
  padding-bottom: 1px;
  color: white;
  font-size: 0.7em !important;
}

.swell-block-step__number:after {
  content: counter(step);
  counter-increment: step;
  display: block;
  font-size: 20px;
}

.swell-block-step__number::after {
  line-height: 0.8;
}

.swell-block-step__item .swell-block-step__title {
  font-weight: 700;
  margin: 0;
  padding: 0;
}

.swell-block-step:not(.is-style-big):not(.is-style-small)>.swell-block-step__item>.swell-block-step__title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 48px;
}

.fs_l,
.has-l-font-size,
.has-large-font-size,
.u-fz-l {
  font-size: var(--swl-fz--large) !important;
}

.swell-block-step__title+.swell-block-step__body {
  margin-top: 1em;
}

.swell-block-step__title+.swell-block-step__body:last-child {
  margin-bottom: 0;
}

@media not all and (min-width: 600px) {
  .swell-block-step:not(.is-style-big):not(.is-style-small)>.swell-block-step__item>.swell-block-step__body {
    margin-left: -48px;
  }

  .swell-block-step__item:before {
    display: none;
  }
}

.swell-block-dl__dt {
  font-weight: bold;
}

.is-style-big_kakko_box {
  padding: var(--swl-box_padding);
  position: relative;
  margin-bottom: 2em;
}

.is-style-big_kakko_box:before {
  border-bottom: 1px solid;
  border-left: 1px solid;
  border-top: 1px solid;
  bottom: 0;
  left: 0;
}

.is-style-big_kakko_box:after {
  border-bottom: 1px solid;
  border-right: 1px solid;
  border-top: 1px solid;
  bottom: 0;
  right: 0;
}

.is-style-big_kakko_box:after,
.is-style-big_kakko_box:before {
  border-color: var(--color_main);
  content: "";
  display: inline-block;
  height: 100%;
  position: absolute;
  width: .75em;
}

.has-text-align-right {
  text-align: right;
}

.is-style-float.swell-block-dl {
  display: flex;
  flex-wrap: wrap;
  line-height: 1.5;
}

.is-style-float>.swell-block-dl__dt {
  margin-top: 0 !important;
  padding: .25em 2.5em .25em 0;
  position: relative;
  width: var(--swl-dt-width);
}

.is-style-float>.swell-block-dl__dt:after {
  background: var(--color_border);
  bottom: auto;
  content: "";
  display: block;
  height: 2px;
  left: auto;
  position: absolute;
  right: 1em;
  top: calc(1em - 1px);
  width: .5em;
}

.is-style-float>.swell-block-dl__dd {
  margin-left: 0;
  padding: .25em 0;
  width: calc(100% - var(--swl-dt-width));
}

.swl-inline-list {
  display: inline-block;
  line-height: 1.5;
  padding: 2px 0 2px 1.5em;
  position: relative;
  text-align-last: left;
}

table td:has(*[data-icon=check]),
table td:has(*[data-icon=close]) {

  text-align-last: left;
}

.swl-inline-list:not([data-icon=dot]):before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: none;
  border: none;
  border-radius: 0;
  display: block;
  font-family: icomoon;
  height: auto;
  left: .25em;
  position: absolute;
  top: 2px;
  width: 1em;
}

.swl-inline-list[data-icon=check]:before {
  color: var(--color_list_check);
  content: "\e923";
  -webkit-transform: scale(.8);
  transform: scale(.8);
}

.swl-inline-list[data-icon=close]:before {
  color: var(--color_list_bad);
  content: "\e91f";
}

.is-style-bad_list li:before {
  color: var(--color_list_bad);
  content: "\e91f";
}

.wp-block-quote {
  background: var(--color_gray);
  position: relative;
  padding: 2em;
  margin-bottom: 2em;
}

.wp-block-quote:last-child {
  margin-bottom: 0;
}

.is-style-balloon_box,
.is-style-sticky_box {
  line-height: 1.4;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.is-style-balloon_box {
  background-color: var(--color_main);
  border-radius: 2px;
  color: #fff;
  min-width: 2em;
  padding: .5em 1.25em;
}

.is-style-balloon_box:before {
  border: 12px solid transparent;
  border-top: 12px solid var(--color_main);
  bottom: -22px;
  content: "";
  height: 0;
  left: 1.25em;
  position: absolute;
  visibility: visible;
  width: 0;
}

.is-style-crease {
  background-color: #f7f7f7;
  padding: calc(.5em + 20px);
  position: relative;
  margin-bottom: 2em;
}

.is-style-crease:before {
  background-color: inherit;
  border-color: var(--color_content_bg) var(--color_content_bg) rgba(0, 0, 0, .1) rgba(0, 0, 0, .1);
  border-style: solid;
  border-width: 0 20px 20px 0;
  box-shadow: -1px 1px 1px rgba(0, 0, 0, .05);
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 0;
}

.is-style-more_btn {
  --the-fz: .9em;
  --the-width: auto;
  --the-min-width: 80%;
  --the-padding: .75rem 3em;
  display: block;
  margin: 0 auto 2em;
  padding: 2px 0;
  position: relative;
  text-align: center;
}

._404 .is-style-more_btn {
  margin-top: 4em;
}

.media .is-style-more_btn a {
  background: #fff;
  box-shadow: 0 0 0 1px #dcdcdc;
  color: #666;
  display: inline-block;
  font-size: var(--the-fz);
  min-width: var(--the-min-width);
  padding: var(--the-padding);
  position: relative;
  width: var(--the-width);
  text-decoration: none !important;
}

.swell-block-button a {
  text-align: center;
}

.is-style-more_btn a:after {
  content: "\e930";
  font-family: icomoon;
  position: absolute;
  right: 1em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  transition: -webkit-transform .25s;
  transition: transform .25s;
  transition: transform .25s, -webkit-transform .25s;
}

.is-style-more_btn a:hover {
  background-color: var(--color_main);
  box-shadow: none;
  color: #fff;
  opacity: 1 !important;
}


.is-style-more_btn a:hover:after {
  -webkit-transform: translateX(4px) translateY(-50%);
  transform: translateX(4px) translateY(-50%);
}

/* category */
#content-wrapper.category .l-article {
  max-width: 900px;
}

@media (min-width: 600px) {
  .c-pageTitle {
    font-size: 1.5em;
  }
}

.c-pageTitle {
  font-size: 1.3em;
  line-height: 1.4;
  position: relative;
  border-bottom: 1px solid var(--color_border);
}

.c-pageTitle[data-style=b_bottom] .c-pageTitle__inner {
  border-bottom: 1px solid var(--color_main);
  float: left;
  margin-bottom: -1px;
  padding: .25em .5em;
  font-size: 1.2em;
}

.c-pageTitle__subTitle {
  font-style: italic;
  margin-left: 1em;
  opacity: .8;
  position: relative;
  top: -2px;
  font-size: .7em;
}

.c-pageTitle:after {
  clear: both;
  content: "";
  display: block;
  height: 0;
  visibility: hidden;
}

.p-termContent {
  margin-top: 4em;
}

.p-postList.p-postList {
  list-style: none;
  margin-bottom: 0;
  padding-left: 0;
}

.p-postList.-type-card,
.p-postList.-type-thumb {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px 14px;
}

.p-postList.p-postList {
  list-style: none;
  margin-bottom: 0;
  padding-left: 0;
}

.c-postThumb__figure {
  margin-bottom: 10px;
  overflow: hidden;
}

.c-postThumb__figure img {
  transition: .4s;
}

.category .p-postList__item a {
  color: #333;
  transition: .4s;
}

.category .p-postList__item a:hover {
  opacity: .7;
}

.category .p-postList__item a:hover img {
  transform: scale(1.05);
}

.p-postList__title {
  font-weight: bold;
  margin-bottom: 10px;
}

.pagination {
  margin: 3em 0;
}

.page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 14px;
  height: 36px;
  line-height: 36px;
  margin: 6px;
  min-width: 36px;
  padding: 0;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: color .25s, background-color .25s;
  width: auto;
}

.page-numbers li span,
.page-numbers li a:hover {
  background-color: var(--color_main);
  color: #fff;
  box-shadow: var(--swl-box_shadow);
}

.page-numbers li a {
  color: #fff;
  background-color: #dedede;
  box-shadow: var(--swl-box_shadow);
}

.p-postList__times {
  font-size: 12px;
  margin-top: .6em;
}


/* モーダル */
.l_header_reserve {
  display: flex;
  align-items: center;
  gap: 10px;
  /* ボタン間の余白 */
}

/* 共通ボタンの基本スタイルを既存のc_btn_reserveに合わせる */
.c_btn_line {
  display: inline-block;
  color: #fff;
  text-align: center;
  text-decoration: none;
  height: 54px;
  width: 54px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  margin-left: 16px;
  transition: opacity 0.3s ease;
  flex-shrink: 0;
  /* ボタンが縮まないように */
}

.c_btn_line:hover {
  opacity: 0.85;
}

/* 個別のボタンスタイル */
.c_btn_line {
  background-color: #06C755;
  /* LINEグリーン */
  display: flex;
  justify-content: center;
  align-items: center;
}

.c_btn_line img {
  width: 28px;
  height: auto;
}

.c_btn_line span {
  font-size: 1.4rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .c_btn_line {
    display: none;
  }
}

/* モーダル */
.reservation-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}

.reservation-modal.is-active {
  opacity: 1;
  visibility: visible;
}

.modal-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
}

.modal-content {
  position: relative;
  background-color: #fff;
  width: 90%;
  max-width: 400px;
  padding: 40px 20px 30px;
  border-radius: 10px;
  text-align: center;
  z-index: 1;
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.1);
}

.modal-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  background: none;
  border: none;
  cursor: pointer;
  opacity: 0.5;
  transition: opacity 0.3s;
}

.modal-close:hover {
  opacity: 1;
}

.modal-close span,
.modal-close span:before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 2px;
  background-color: #333;
  border-radius: 2px;
}

.modal-close span {
  transform: translate(-50%, -50%) rotate(45deg);
}

.modal-close span:before {
  content: '';
  transform: rotate(90deg);
  top: 0;
  left: 0;
}

.modal-title {
  font-size: 1.6rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  margin-bottom: 25px;
  color: #5A4A4B;
}

.modal-btn-wrap {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.modal-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px;
  color: #fff;
  text-decoration: none;
  border-radius: 8px;
  font-family: "Noto Serif JP", serif;
  font-size: 1.6rem;
  font-weight: 500;
  transition: opacity 0.3s ease;
}

.modal-btn:hover {
  opacity: 0.85;
}

.modal-btn img {
  width: 22px;
}

.modal-btn.line {
  background-color: #06C755;
}

.modal-btn.web {
  background-color: #AB8B8C;
}

.modal-btn.tel {
  background-color: #5A4A4B;
}






/* パンくず */
.breadcrumb {
  margin-bottom: 3em;
  overflow-x: auto;
  scrollbar-width: thin;
}

.breadcrumb ul {
  display: flex;
  align-items: center;
  gap: 10px;
}

.breadcrumb li {
  display: flex;
  align-items: center;
  padding-left: 0;
  margin-top: 0;
  flex-shrink: 0;
}

.breadcrumb li a {
  color: #333;
  text-decoration: underline;
  transition: .4s;
  flex-shrink: 0;
}

.breadcrumb li a:hover {
  opacity: .6;
}

.breadcrumb li:not(:last-of-type):after {
  content: ">";
  display: inline-block;
  margin-left: 10px;
}


/* パーツ */
.media * {
  box-sizing: border-box;
}

.media iframe {
  max-width: 100%;
}

.post_content p {
  margin-bottom: 1.2em;
}

.media textarea {
  width: 100%;
  height: 140px;
  border: 1px solid #000;
}

.media a {
  color: #1a0dab;
  text-decoration: underline;
  transition: .4s;
}

.media a:hover {
  opacity: .6;
}

.media h2 {
  background: var(--color_htag);
  padding: .75em 1em;
  color: #fff;
  font-size: 1.4em;
  line-height: 1.4;
  margin: 4em 0 2em;
  margin-left: var(--swl-h2-margin--x, 0);
  margin-right: var(--swl-h2-margin--x, 0);
  position: relative;
  z-index: 1;
  font-weight: bold;
}

.media h2::before {
  position: absolute;
  display: block;
  pointer-events: none;
  content: "";
  top: -4px;
  left: 0;
  width: 100%;
  height: calc(100% + 4px);
  box-sizing: content-box;
  border-top: solid 2px var(--color_htag);
  border-bottom: solid 2px var(--color_htag);

}

.media h3 {
  padding: 0 .5em .5em;
  font-size: 1.3em;
  line-height: 1.4;
  margin: 3em 0 2em;
  position: relative;
  font-weight: bold;
}

.media h3::before {
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  z-index: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--color_htag) 0%, var(--color_htag) 29.3%, rgba(150, 150, 150, .2) 29.3%, rgba(150, 150, 150, .2) 100%);
}


.media h2+h3 {
  margin-top: 0;
}

.media h4 {
  font-weight: bold;
  font-size: 1.2em;
  line-height: 1.4;
  margin: 3em 0 1.5em;
  position: relative;
  padding: 0 0 0 16px;
  border-left: solid 2px var(--color_htag);
}

.media h3+h4 {
  margin-top: 0;
}

.ttl-sub {
  position: relative;
  font-weight: bold;
  padding-left: 1.4em;
  font-size: 1.1em;
  line-height: 1.4;
  margin: 2em 0 1em;
}

.ttl-sub::before {
  position: absolute;
  top: .28em;
  left: 0;
  content: "";
  display: block;
  width: 0.8em;
  aspect-ratio: 1 / 1;
  background-color: var(--color_htag);
}

.ttl-check {
  position: relative;
  font-size: 1.1em;
  font-weight: bold;
  padding-left: 1.4em;
  margin: 2em 0 1em;
}

.ttl-check::before,
.check-list li::before {
  font-family: icomoon;
  content: "\e923";
  color: var(--color_htag);
}

.ttl-check::before {
  position: absolute;
  left: 0;
  top: .1em;
  display: block;
  font-weight: bold;
  font-size: 1em;
}

.text-pink {
  color: #f578b4;
  font-weight: bold;
}

.text-red {
  color: #f74a4a;
  font-weight: bold;
}

.text-min {
  display: inline-block;
  margin-bottom: 24px;
  color: rgb(107 114 128);
  font-size: clamp(0.625rem, 2.63vw, 11px);
}

.wp-element-caption {
  color: inherit;
  display: block;
  line-height: 1.4;
  margin-bottom: 0;
  margin-top: .75em;
  opacity: .8;
  text-align: center;
  font-size: max(11px, .75em) !important;
  margin-bottom: 24px;
}

.media *:has(+.wp-element-caption) {
  margin-bottom: 0;
}

.bold {
  font-weight: bold;
}

.marker,
.mark_orange {
  font-weight: bold;
  background: linear-gradient(transparent 64%, var(--color_mark_orange) 0%);
}


.size-full,
.wp-block-image {
  margin-bottom: 24px;
}

.size-full img {
  display: block;
  width: 100%;
  height: auto;
}

.media table {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 24px;
  font-size: 14px;
}

.media table thead {
  border: none;
}

.media table thead th {
  background: #bd8f89;
}

.media table thead th,
.media table thead th a {
  color: #fff;
  font-weight: bold;
}

.media table tbody th {
  background: #f7f7f7;
  font-weight: bold;
}

.media table th,
.media table td {
  border: 1px solid #dcdcdc;
  padding: 0.8em;
  text-align: center;
  vertical-align: middle;
}

.media table th>:last-child,
.media table td>:last-child {
  margin-bottom: 0;
}

.media table td:has(.c-btn) {
  padding: 0.9em;
}

.media table td:has(li) {
  text-align-last: left;
}

.media table a:has(img) {
  display: block;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.media table img {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px;
}

.box {
  padding: 1.5em;
  margin-bottom: 24px;
}

.media .box>:first-child {
  margin-top: 0;
}

.media .box>:last-child {
  margin-bottom: 0;
}

.normalbox {
  border: 1px solid #bd8f89;
}

.box[data-box="bg-pink"] {
  border: none;
  background: #FDFAFB;
}

.box[data-box="bg-gray"] {
  border: none;
  background: #f7f7f7;
}

.media ul:not([class]),
.media ol:not([class]),
.check-list {
  margin-bottom: 24px;
}

.article ul:not([class]) li {
  position: relative;
  padding-left: 1.2em;
}

.media ul:not([class]) li::before {
  position: absolute;
  top: 0.5em;
  left: .2em;
  content: "";
  display: block;
  width: .5em;
  aspect-ratio: 1 / 1;
  background: var(--color_htag);
  border-radius: 50%;
}

.media ol:not([class]) li {
  list-style-type: decimal;
  margin-left: 1.4em;
}

.media ul:not([class]) li+li,
.media ol:not([class]) li+li,
.check-list li+li {
  margin-top: 0.4rem;
}

.check-list li {
  position: relative;
  padding-left: 1.4em;
}

.check-list li::before {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1em;
  font-weight: bold;
}

.media dl:not([class]) {
  display: grid;
  grid-template-columns: 27% 1fr;
  gap: 0 2.6em;
  margin-bottom: 24px;
  word-break: break-all;
}

.media dl:not([class]) dt {
  font-weight: 700;
}

.media dl:not([class]) dd {
  position: relative;
}

.media dl:not([class]) dd::before {
  position: absolute;
  top: 1em;
  left: -2em;
  content: "";
  display: block;
  width: 1em;
  height: 1px;
  background: #333;
}

.media dl:not([class]) dt,
.media dl:not([class]) dd {
  padding: .2em 0;
}

.media dl:not([class]) dt>:first-child,
.media dl:not([class]) dd>:first-child {
  margin-top: 0;
}

.media dl:not([class]) dt>:last-child,
.media dl:not([class]) dd>:last-child {
  margin-bottom: 0;
}


.list-01 {
  margin-bottom: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.list-01 li {
  border: 1px dotted #000;
  border-radius: 4px;
  padding: 1em 1.2em;
  display: table;
  width: 100%;
}

.list-01 li p {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 0;
}

.list-01 li p::before {
  content: '';
  position: absolute;
  top: 0.4em;
  left: 0;
  display: block;
  width: .8em;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  margin-right: 8px;
  background-color: var(--color_htag);
}

.list-02 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.4rem;
  margin-bottom: 24px;
}

.list-02 li {
  display: flex;
  align-items: center;
  padding: 0.5rem 0 0.75rem 1rem;
  border-left: 4px solid var(--color_htag);
}

.flex {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 24px;
  text-align: justify;
}

.flex img {
  width: 50%;
  height: auto;
}

.media .flex-inner>:first-child {
  margin-top: 0;
}

.media .flex-inner>:last-child {
  margin-bottom: 0;
}

.float {
  margin-bottom: 24px;
  text-align: justify;
}

.float::after {
  content: "";
  display: table;
  clear: both;
}

.float img {
  float: left;
  width: 100%;
  max-width: 50%;
  height: auto;
  margin: 0 16px 10px 0;
}

.media .float-inner>:first-child {
  margin-top: 0;
}

.media .float-inner>:last-child {
  margin-bottom: 0;
}


.arrow-down {
  width: fit-content;
  margin: 30px auto;
}

.arrow-down::before {
  content: '';
  display: block;
  color: #333;
  line-height: 1;
  width: 30px;
  height: 30px;
  border: 3px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
}

.arrow-down_min {
  width: fit-content;
  margin: 16px auto;
}

.arrow-down_min::before {
  content: '';
  display: block;
  color: #333;
  line-height: 1;
  width: 18px;
  height: 18px;
  border: 3px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
}

.b-quote {
  position: relative;
  padding: 1.5em;
  margin-bottom: 24px;
}

.b-quote::after,
.b-quote::before {
  border-color: var(--color_main);
  content: "";
  display: inline-block;
  height: 100%;
  position: absolute;
  width: .75em;
}

.b-quote::before {
  border-bottom: 1px solid;
  border-left: 1px solid;
  border-top: 1px solid;
  bottom: 0;
  left: 0;
}

.b-quote::after {
  border-bottom: 1px solid;
  border-right: 1px solid;
  border-top: 1px solid;
  bottom: 0;
  right: 0;
}

.media .b-quote>:first-child {
  margin-top: 0;
}

.media .b-quote>:last-child {
  margin-bottom: 0;
}

.b-quote .size-full {
  max-width: 600px;
  margin-right: auto;
  margin-left: auto;
}

.fukidashi {
  position: relative;
  line-height: 1.4;
  background-color: var(--color_main);
  border-radius: 2px;
  color: #fff;
  width: fit-content;
  min-width: 2em;
  padding: .5em 1.25em;
  margin-bottom: 24px;
  font-size: 1.1em;
  font-weight: bold;
  letter-spacing: .04em;
}

.fukidashi::after {
  border: 12px solid transparent;
  border-top: 12px solid var(--color_main);
  bottom: -22px;
  content: "";
  height: 0;
  left: 1.25em;
  position: absolute;
  visibility: visible;
  width: 0;
}

.is-style-balloon_box2 {
  border: 1px solid;
  border-radius: 2px;
  line-height: 1.4;
  min-width: 2em;
  padding: .5em 1.25em;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background-color: #fff;
  color: #333;
}

.is-style-balloon_box2:before {
  background: inherit;
  border-bottom: 1px solid;
  border-right: 1px solid;
  bottom: -7px;
  content: "";
  height: 12px;
  left: 1.25em;
  position: absolute;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  visibility: visible;
  width: 12px;
}

.matomebox {
  border: 4px double #bd8f89;
  border-radius: 0.5rem;
}

.matomebox-ttl {
  color: var(--color_htag);
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: 1em;
  text-align: center;
}

.surveybox {
  border: 1px solid #c9c9c9;
}

.surveybox-ttl {
  font-weight: bold;
  margin-bottom: .8em;
  text-align: center;
  font-size: 1.1em;
}

.surveybox-list {
  margin-bottom: 24px;
}

.surveybox-list li {
  position: relative;
  padding-left: 1.4em;
}

.surveybox-list li+li {
  margin-top: 0.25rem;
}

.surveybox-list li::before {
  position: absolute;
  top: .45em;
  left: 0;
  content: "";
  width: .8em;
  aspect-ratio: 1 / 1;
  background: #333;
}

.smalltextbox {
  background-color: #f7f7f7;
  position: relative;
}

.smalltextbox::before {
  background-color: inherit;
  border-color: #fdfdfd #fdfdfd rgba(0, 0, 0, .1) rgba(0, 0, 0, .1);
  border-style: solid;
  border-width: 0 20px 20px 0;
  box-shadow: -1px 1px 1px rgba(0, 0, 0, .05);
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 0;
}

.smalltextbox-ttl {
  font-weight: bold;
  margin-bottom: 14px;
}

.smalltextbox-inner {}

.smalltextbox-inner *,
.smalltextbox-inner p {
  font-size: 14px;
}

.matomebox>:first-child,
.matomebox-inner>:first-child,
.smalltextbox-inner>:first-child,
.surveybox>:first-child,
.surveybox-inner>:first-child {
  margin-top: 0;
}

.matomebox-inner>:last-child,
.smalltextbox-inner>:last-child,
.surveybox>:last-child,
.surveybox-inner>:last-child {
  margin-bottom: 0;
}

.c-btn {
  width: fit-content;
  margin: 1.5rem auto 2rem;
  transition: .4s;
}

.c-btn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #f74a4a;
  box-shadow: 0 6px 0 rgba(185, 56, 56, 1);
  border-radius: 9999px;
  overflow: hidden;
  font-weight: bold;
  width: fit-content;
  min-width: 300px;
  max-width: 100%;
  padding: .8em 1em;
  font-size: 1.1em;
  text-decoration: none;
  transition: .4s;
  text-align: center;
}

.c-btn a:hover {
  opacity: 1;
  box-shadow: none;
  transform: translate3d(0, 6px, 0);
}


.swl-inline-btn {
  display: inline-block;
  font-size: .9em;
  margin: 0 .25em;
}

table .swl-inline-btn {
  margin: .5em .25em;
}

.swl-inline-btn.is-style-btn_solid {
  -webkit-transform: translateY(-2px);
  transform: translateY(-2px);
  transition: .4s;
}

.is-style-btn_solid a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #f74a4a;
  box-shadow: 0 6px 0 rgba(185, 56, 56, 1);
  border-radius: 9999px;
  overflow: hidden;
  font-weight: bold;
  width: 100%;
  padding: .8em 1em;
  text-decoration: none;
  transition: .4s;
  text-align: center;
  font-size: 14px;
}

.is-style-btn_solid a:hover {
  box-shadow: none;
}

.swl-inline-btn.is-style-btn_solid:hover {
  transform: translateY(4px);
}

.tag {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 24px;
  font-size: 12px;
}

.tag.center {
  justify-content: center;
}

.tag .item {
  padding: .4em 1em;
  border: 1px solid var(--color_htag);
  border-radius: 9999px;
}

.tag .item.on {
  color: #fff;
  background: linear-gradient(135deg, #AB8B8C 0%, #C9A9AA 100%);
}

.c-scrollHint,
.scroll-hint {
  animation: FloatHorizontal 2s ease-in-out infinite alternate;
  margin-bottom: 2px !important;
  margin-top: 3em;
  text-align: right;
}

.c-scrollHint span,
.scroll-hint span {
  align-items: center;
  display: inline-flex;
  font-size: 12px;
  line-height: 1;
  opacity: .75;
  vertical-align: middle;
}

.c-scrollHint span i,
.scroll-hint span i {
  font-size: 16px;
  margin-left: 4px;
}

.icon-more_arrow:before {
  content: "\e930";
}

.scroll-x {
  overflow-x: auto;
  margin-bottom: 24px;
  padding-bottom: 8px;
}

.scroll-x>* {
  min-width: 110%;
}

.media .scroll-x>:first-child {
  margin-top: 0;
}

.media .scroll-x>:last-child {
  margin-bottom: 0px;
}

.scroll-x .table {
  margin-bottom: 4px;
}

.media table .c-btn {
  width: 100%;
  max-width: 250px;
  margin: 0 auto;
}

.media table .c-btn a {
  min-width: 100%;
  width: 100%;
  font-size: 1em;
}

.media table .c-btn a::after {
  width: 1.2rem;
}

.media .scroll-x table thead th {
  width: min(48vw, 220px);
}

.media .scroll-x table thead th:first-child {
  width: min(34vw, 180px);
}


.table.sticky-top thead {
  position: sticky;
  top: 78px;
  left: 0;
  z-index: 10;
}

.table.sticky-top thead th:not(:first-child) {
  position: relative;
}

.table.sticky-top thead th:not(:first-child)::before {
  position: absolute;
  top: 0;
  left: -1px;
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: #b5b5b5;
}

.table.sticky-top .c-btn {}

.table.sticky-top .c-btn a {
  padding: 10px;
  border-radius: 20px;
  min-height: 4em;
}

.table.sticky-top .c-btn a::after {
  display: none;
}

.table.sticky-top thead th {
  position: relative;
}

.table.sticky-left {
  will-change: transform;
}

.table.sticky-left thead th:first-of-type,
.table.sticky-left tbody th {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 3;
}

.table.sticky-left thead th:first-of-type::before,
.table.sticky-left tbody th::before,
.table.sticky-left thead th:first-of-type::after,
.table.sticky-left tbody th::after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
}

.table.sticky-left thead th:first-of-type::before {
  background: #dcdcdc;
  position: absolute;
  top: 0;
  left: -1px;
}

.table.sticky-left tbody th::before {
  background: #dcdcdc;
  position: absolute;
  top: 0;
  left: -1px;
}

.table.sticky-left thead th:first-of-type::after {
  background: #dcdcdc;
  position: absolute;
  top: 0;
  right: 0;
}

.table.sticky-left tbody th::after {
  background: #dcdcdc;
  position: absolute;
  top: 0;
  right: -1px;
}

.jump {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: .8em;
  margin-bottom: 24px;
}

.jump .item {
  display: flex;
  text-align: center;
}

.jump .item a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.4rem;
  width: 100%;
  border: 1px solid #bd8f89;
  text-decoration: none;
  color: #bd8f89;
}

.jump .item a:hover {
  opacity: 1;
  background: #bd8f89;
  color: #fff;
}


.numbering {
  margin-bottom: 24px;
}

.numbering-wrap {
  margin-bottom: 24px;
}

.numbering-ttl {
  position: relative;
  font-weight: bold;
  padding-left: 50px;
  margin-bottom: 16px;
  font-size: 20px;
}

.numbering-num {
  position: absolute;
  top: 50%;
  left: 2px;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  font-size: .8em;
  aspect-ratio: 1 / 1;
  background: var(--color_htag);
  border-radius: 50%;
  color: #fff;
  font-weight: bold;
}

.post_content .pickup-ttl {
  padding: 12px;
  border-top: 2px dashed var(--color_htag);
  margin: 2em 0 0;
  font-weight: bold;
  font-size: 1.3em;
  color: var(--color_htag);
}

.pickup-ttl a {
  font-weight: bold;
}

.pickup-text {
  display: block;
  font-weight: normal;
  font-size: 14px;
  margin-bottom: 4px;
  color: #333;
}

.rank-i {
  margin-bottom: 24px;
}

.rank a {
  font-size: 1.3em;
  font-weight: bold;
}

.rank-inner {
  font-size: 1.3em;
}

.rank-catch {
  display: block;
  font-size: 14px;
}

.rank-icon-block {
  position: relative;
  padding-top: .8em;
  padding-left: 4em;
  margin: 2em 0 1em;
  border-top: 3px dotted var(--color_htag);
}

.rank-icon {
  position: absolute;
  left: 0;
  top: 62%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: bold;
  background: url(../img/rank-04.svg) center center / contain no-repeat;
  width: 3em;
  aspect-ratio: 1 / 1;
}

.rank-icon-block .rank-icon_01 {
  background: url(../img/rank-01.svg) center center / contain no-repeat;
}

.rank-icon-block .rank-icon_02 {
  background: url(../img/rank-02.svg) center center / contain no-repeat;
}

.rank-icon-block .rank-icon_03 {
  background: url(../img/rank-03.svg) center center / contain no-repeat;
}


.step {
  margin-bottom: 40px;
}

.step-ttl {
  position: relative;
  font-weight: 700;
  padding-left: 64px;
  margin-bottom: 16px;
  font-size: 20px;
}

.step .step-ttl:first-child .step-ttl {
  margin-top: 24px;
}

.step-wrap {
  position: relative;
}


.step-wrap::before {
  border-left: 1px dashed var(--color_border);
  content: "";
  display: block;
  height: 100%;
  left: 23px;
  position: absolute;
  top: 0;
  width: 0;
}

.step-num {
  position: absolute;
  text-align: center;
  top: 47%;
  left: 0;
  transform: translateY(-50%);
  font-size: 20px;
  color: #fff;
  line-height: 1;
  box-sizing: content-box;
  display: flex;
  flex-direction: column;
  width: 48px;
  aspect-ratio: 1 / 1;
  justify-content: center;
  background-color: var(--color_main);
  border-radius: 50%;
}

.step-step {
  display: block;
  font-size: 11px;
  line-height: 1;
  color: #fff;
}

.step-wrap:has(+.step-wrap) {
  padding-bottom: 40px;
}

.step-inner {
  padding-left: 64px;
}

.step-inner>:last-child {
  margin-bottom: 0;
}

.map {
  margin-bottom: 24px;
}

.map-ttl {
  border: 1px solid;
  border-radius: 2px;
  line-height: 1.4;
  min-width: 2em;
  padding: .5em 1.25em;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 24px auto;
  background: #f7f7f7;
  font-size: 1.1em;
  font-weight: bold;
  letter-spacing: .04em;
}

.map-ttl::before {
  background: #f7f7f7;
  border-bottom: 1px solid;
  border-right: 1px solid;
  bottom: -12px;
  content: "";
  height: 12px;
  left: 50%;
  position: absolute;
  -webkit-transform: rotate(45deg) translateX(-50%);
  transform: rotate(45deg) translateX(-50%);
  visibility: visible;
  width: 12px;
}

.accordion,
.swell-block-accordion__item {
  margin: 24px 0;
}

.accordion:has(+.accordion) {
  margin-bottom: 14px;
}

.accordion+.accordion {
  margin-top: 14px;
}

.accordion-ttl,
.swell-block-accordion__title {
  background: var(--color_gray);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 400;
  padding: 1em;
  position: relative;
  font-weight: bold;
}

.accordion-btn {
  transition: transform .25s, opacity .25s, -webkit-transform .25s;
}

.accordion-btn::before {
  content: "\e904";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: icomoon;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: none;
}

.accordion-ttl.action .accordion-btn {
  transform: rotate(180deg);
}

.accordion-inner {
  padding: 1em;
  display: none;
}

.swell-block-accordion__body {
  padding: 1em;
}

.swell-block-accordion__icon {
  flex: 0 0 auto;
  font-size: 1.25em;
  text-align: right;
  width: 1em;
  transition: .2s;
}


.swell-block-accordion__item[open] .swell-block-accordion__icon {
  transform: rotate(180deg);
}

[class*=" icon-"]:before,
[class^=icon-]:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: icomoon !important;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: none;
}

.icon-arrow_drop_down:before,
.icon-caret-down:before {
  content: "\e904";
}

.accordion-inner>:first-child {
  margin-top: 0;
}

.accordion-inner>:last-child {
  margin-bottom: 0;
}

.accordion-inner.action {
  display: block;
}

.info {
  display: flex;
  gap: 0.6rem;
}

.info-ttl {
  min-width: 20%;
  font-weight: bold;
}

.relatedpost {
  margin: 2em 0 1.5em;
}

.media .relatedpost-head {
  padding: .5em;
  font-size: 1em;
  font-weight: bold;
  background: #bd8f89;
  text-align: center;
  color: #fff;
  margin-bottom: 0;
}

.relatedpost-wrap {
  padding: 1em;
  border: 1px solid #bd8f89;
}

.relatedpost-post+.relatedpost-post {
  margin-top: 14px;
}

.relatedpost-post a {
  display: grid;
  align-items: center;
  grid-template-columns: 120px 1fr;
  gap: 14px;
}

.relatedpost-img img {
  display: block;
  width: 100%;
  height: auto;
}

.post_content .relatedpost-ttl {
  margin-bottom: 0;
  line-height: 1.6;
}

.faq-wrap {
  /* margin-bottom: 24px; */
}

.faq {
  margin-bottom: 24px;
}

.faqQ {
  font-size: 1.1em;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 1em;
  position: relative;
  background: hsla(0, 0%, 78%, .15);
  padding: 1.25em 1em 1.25em 4em;
  font-size: 1.1em;
  cursor: pointer;
}

.faqQ::before {
  content: "Q";
  border-radius: 10%;
  bottom: unset;
  font-family: Arial, sans-serif;
  font-weight: 400;
  top: 50%;
  left: 13px;
  transform: translateY(-50%);
  line-height: 2;
  position: absolute;
  text-align: center;
  width: 2em;
  color: #fff;
  background: #333;
}

.faqA {
  position: relative;
  padding: 1.25em 1em 1.25em 4em;
  display: none;
}

.faqA::before {
  content: "A";
  display: block;
  border-radius: 10%;
  font-family: Arial, sans-serif;
  line-height: 2;
  position: absolute;
  text-align: center;
  width: 2em;
  left: 1em;
  top: 1em;
  box-shadow: 0 0 0 1px currentcolor;
  color: #6599b7;
}


.link-in,
.link-out {
  font-size: 14px;
  text-align: right;
  margin-bottom: 20px;
}

.link-in:has(+.link-in),
.link-in:has(+.link-out),
.link-out:has(+.link-out),
.link-out:has(+.link-in) {
  margin-bottom: 8px;
}


.link-out a,
.link-in a {
  position: relative;
  padding-left: 1.4em;
}

.link-out a::before,
.link-in a::before {
  position: absolute;
  top: 0.1em;
  left: 0;
  content: "";
  display: block;
  width: 1em;
  aspect-ratio: 1 / 1;
}

.link-out a::before {
  background: url(../img/link-icon_out.png) center center / contain no-repeat;
}

.link-in a::before {
  background: url(../img/link-icon.png) center center / contain no-repeat;
}


.merideme {
  margin-bottom: 24px;
}

.merideme:has(+.merideme) {
  margin-bottom: 10px;
}

.merideme[data-type="merit"] {
  border: 2px solid #f59b5f;
}

.merideme[data-type="merit"] .merideme-ttl {
  background: 0.1em;
  border-bottom: 2px solid #f59b5f;
  background: #fff8eb;
}

.merideme[data-type="demerit"] {
  border: 2px solid #bfbbbe;
}

.merideme[data-type="demerit"] .merideme-ttl {
  background: #F9F9F9;
  border-bottom: 2px solid #bfbbbe;
}

.merideme-ttl {
  padding: 0.5em 1em;
  font-weight: bold;
}

.merideme-inner {
  padding: 1em 1.5em;
}

.media .merideme-inner>:last-child {
  margin-bottom: 0;
}

.merideme-list {
  display: flex;
  flex-direction: column;
  gap: 0.3em;
  position: relative;
  margin-bottom: 24px;
}

.merideme-list li {
  padding-left: 1em;
  position: relative;
}

.merideme-list li:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 0.6em;
  aspect-ratio: 1 / 1;
  border-radius: 100px;
}

.merideme[data-type="merit"] .merideme-list li:before {
  background-color: #f59b5f;
}

.merideme[data-type="demerit"] .merideme-list li:before {
  background-color: #333;
}

.scroll-wrap {
  overflow-x: scroll;
  display: flex;
  gap: 10px;
  width: 100%;
  margin-bottom: 24px;
}

.comment {
  width: 80%;
  padding: 20px;
  flex-shrink: 0;
  background: #F9F9F9;
}

.comment-top {
  margin-bottom: 1em;
}

.comment-profile {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 1em;
}

.comment-icon-w,
.comment-icon-m {
  display: block;
  width: 3em;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
}

.comment-icon-w {
  background: #dedede url(../img/review-icon-woman.svg) center center / 74% no-repeat;
}

.comment-icon-m {
  background: #dedede url(../img/review-icon-man.svg) center center / 74% no-repeat;
}

.comment-name {
  font-weight: bold;
}

.comment-plan {}

.comment-plan span {
  display: inline-block;
  padding: .4em .8em;
  background: var(--color_htag);
  color: #fff;
  font-size: 0.875em;
  font-weight: bold;
  border-radius: .7em;
  margin-right: .8em;
}

.comment-plan li+li {
  margin-top: 6px;
}

.comment-bottom {
  display: flex;
  align-items: start;
  gap: 10px;
}

.comment-bottom img {
  width: 40%;
}


.tab-section {
  margin-bottom: 24px;
}

.tab-list {
  display: flex;
  gap: 4px;
}

.tab-nav {
  display: flex;
  justify-content: space-between;
  margin-top: 24px;
  gap: 5px;
  border-bottom: 2px solid var(--color_htag);
  padding: 0 20px;
  margin: 24px 0 10px;
}

.tab.active {
  color: var(--color_htag);
  background-color: #fff;
  position: relative;
}

.tab {
  border-radius: 5px 5px 0 0;
  flex: auto;
  text-align: center;
  border: 2px solid var(--color_htag);
  border-bottom: none;
  background-color: #f0f0f1;
  cursor: pointer;
  width: 100%;
  min-height: 2.5rem;
  padding: 4px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.4;
  font-size: 14px;
}

.tab-wrap {
  display: none;
  border: 2px solid var(--color_htag);
  border-top: none;
  padding: 20px 24px 20px;

}

.tab-wrap>:first-child {
  margin-top: 0;
}

.media .tab-wrap>:last-child {
  margin-bottom: 0;
}

.tab-wrap.show {
  display: block;
}

.tab-wrap .size-full {
  max-width: 600px;
  margin-right: auto;
  margin-left: auto;
}

.post-info {
  margin-bottom: 1rem;
}

.post-info * {
  display: inline-block;
}

.post-info .pr {
  border: 1px solid #333;
  padding: 1px 4px;
  margin-left: 0.5rem;
  font-size: 14px;
}


.scrollBoxImg {
  width: 100%;
  background: #F0F0F0;
  padding: 24px;
  overflow-x: auto;
  white-space: nowrap;
  margin-bottom: 24px;
}

.scrollBoxImg-wrap {
  width: fit-content;
  display: flex;
  justify-content: center;
  padding-bottom: 10px;
}

.scrollBoxImg-list {
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none;
}

.scrollBoxImg-ttl {
  display: flex;
  align-items: flex-start;
  max-width: 100%;
  min-height: 4em;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: break-word;
  text-align: left;
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 1.1em;
}

.scrollBoxImg-ttl .num {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2em;
  margin-right: 0.6em;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  color: #fff;
  background: var(--color_htag);
}

.scrollBoxImg-list li {
  flex: 1 0 calc(50% - 5vw);
  max-width: calc(50% - 5vw);
  margin: 0 1.4vw;
  text-align: center;
  position: relative;
}

.scrollBoxImg-list li:last-child::after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  height: 1px;
  width: 3.4rem;
  background-color: transparent;
}

.scrollBoxImg-list img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 8px;
}

.scrollBoxImg-list .caption {
  display: block;
  max-width: 100%;
  font-size: 0.9em;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: break-word;
  text-align: left;
}

.positioning {
  margin-bottom: 24px;
}

.positioning-top {
  margin-bottom: 10px;
  border: 4px double var(--color_htag);
  padding: 0.4em;
}

.positioning-subttl {
  text-align: center;
  font-weight: bold;
}

.positioning-ttl {
  font-size: 1.3em;
  font-weight: bold;
  text-align: center;
}

.positioning-notes {
  font-size: 12px;
  text-align: right;
  margin-bottom: 10px;
}

.positioning-inner {
  background: repeating-linear-gradient(90deg, #F4F5F0, #F4F5F0 1px, transparent 1px, transparent 32px), repeating-linear-gradient(0deg, #F4F5F0, #F4F5F0 1px, #fff 1px, #fff 32px);
  background-size: 32px 32px;
  background-position: 50% 50%;
  width: min(560px, 100%);
  margin: 0 auto;
  aspect-ratio: 3 / 4;
  position: relative;
}

.positioning-inner::before {
  content: "";
  display: inline-block;
  background: #ffb5b5;
  border-radius: 50%;
  width: 38%;
  aspect-ratio: 1 / 1;
  position: absolute;
  top: 4%;
  right: 5%;
}

.positioning-bg {
  display: inline-block;
  width: 70%;
  height: 100%;
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translateX(-50%);
  background: url(../img/posiMap-bg.png) center center / contain no-repeat;
}

.positioning-subLabel {
  font-size: 0.875em;
  font-weight: bold;
  line-height: 1;
  top: 4%;
  left: 50%;
  transform: translateX(-50%);
}

.positioning-label,
.positioning-subLabel {
  position: absolute;
  z-index: 2;
}

.positioning-label-01,
.positioning-label-02 {
  font-weight: bold;
  color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  width: 2.6em;
  aspect-ratio: 1 / 1;
}

.positioning-label-03,
.positioning-label-04 {
  padding: 8px;
  font-weight: bold;
  line-height: 1.17;
  color: #fff;
  text-align: center;
  display: inline-block;
}

.positioning-label-01 {
  background: var(--color_htag);
  top: 7.5%;
  left: 50%;
  transform: translateX(-50%);
}

.positioning-label-02 {
  background: #707F89;
  top: 89%;
  left: 50%;
  transform: translateX(-50%);
}

.positioning-label-03 {
  background: var(--color_htag);
  top: 50%;
  transform: translateY(-50%);
  right: 16px;
}

.positioning-label-04 {
  background: #707F89;
  top: 50%;
  transform: translateY(-50%);
  left: 20px;
}

.positioning-item {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 1px solid #707F89;
  border-radius: 4px;
  box-shadow: 0 4px #707F89;
  padding: 8px 12px;
  position: absolute;
  z-index: 2;
}

.positioning-item-logo {
  width: auto;
  height: 2em;
  border: none;
}

.positioning-item-02 {
  border-color: #a71616;
  box-shadow: 0 4px #A71616;
  z-index: 5;
}


/* スライドトグルパーツ */
.toggleSection-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 16px;
  margin-bottom: 24px;
}

.toggleSection {
  margin-bottom: 24px;
}

.toggleSection-wrap .toggleSection {
  margin-bottom: 0;
}

.toggleSection .sub-ttl {
  text-align: center;
  margin-bottom: 6px;
  color: var(--color_htag);
  font-weight: bold;
}

.toggleSection .content {
  padding: 1em;
  border-radius: 10px;
  border: 2px solid var(--color_htag);
}

.toggleSection .top-inner {
  align-items: center;
  display: grid;
  grid-template-columns: 30% 1fr 23px;
  gap: 10px;
}

.toggleSection-wrap .toggleSection .name p {
  font-size: 1.1em;
}

.toggleSection .name p {
  font-size: 1.3em;
  font-weight: bold;
  margin-bottom: 8px;
}


.toggleSection .mintext {
  display: block;
  font-size: 90%;
  margin-bottom: 0;
}

.toggleSection-btn {
  clip-path: polygon(20% 7%, 27% 0, 77% 50%, 27% 100%, 20% 93%, 63% 50%, 20% 7%);
  width: 1.2em;
  aspect-ratio: 1;
  background-color: var(--color_htag);
  transform: rotate(90deg);
  margin: auto;
}

.toggleSection .top-wrap {
  cursor: pointer;
}

.toggleSection .top-wrap.action .toggleSection-btn {
  transform: rotate(270deg);
}

.toggleSection .bottom-wrap {
  display: none;
  margin-top: 20px;
}

.toggleSection .bottom-wrap>:last-child {
  margin-bottom: 0;
}

.toggleSection-wrap .toggleSection .info-list,
.toggleSection-wrap .toggleSection2 .info-list {
  font-size: 14px;
}

.toggleSection .info-list {
  display: flex;
  flex-direction: column;
  gap: 1.3em;
  border: none;
}

.toggleSection .info-list .ttl {
  width: 100%;
  text-align: center;
  margin-bottom: 8px;
  padding: 4px;
  background: #f8f8f8;
  color: #333;
}


.toggleSection .bottom-wrap .c-btn,
.toggleSection2 .bottom-wrap .c-btn {
  margin-top: 20px;
}

.toggleSection .bottom-wrap .c-btn a,
.toggleSection2 .bottom-wrap .c-btn a {
  min-width: 230px;
}

.toggleSection .info-list .text,
.toggleSection2 .info-list .text {
  width: 100%;
  padding: 0 12px;
}


.toggleSection .info-list .ttl,
.toggleSection2 .info-list .ttl,
.toggleSection .info-list .text,
.toggleSection2 .info-list .text {
  border: none;
}

/* 2 */
.toggleSection2 {
  margin-bottom: 24px;
}

.toggleSection-wrap .toggleSection2 {
  margin-bottom: 0;
}

.toggleSection2 .sub-ttl {
  text-align: center;
  margin-bottom: 6px;
  color: var(--color_htag);
  font-weight: bold;
}

.toggleSection2 .content {
  padding: 1em;
  border-radius: 10px;
  border: 2px solid var(--color_htag);
  border-bottom: none;
}

.toggleSection2.action .content {
  border: 2px solid var(--color_htag);
}

.toggleSection2 .top-inner {
  align-items: center;
  display: grid;
  grid-template-columns: 33% 1fr 23px;
  gap: 10px;
}

.toggleSection-wrap .toggleSection2 .name p {
  font-size: 1.1em;
}

.toggleSection2 .name p {
  font-size: 1.3em;
  font-weight: bold;
  margin-bottom: 8px;
}

.toggleSection2 .mintext {
  display: block;
  font-size: 0.875em;
  margin-bottom: 0;
}

.toggleSection-btn_more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
  padding: .8em;
  margin: 14px auto 0;
  background: #F0F0F0;
  border: 1px solid #ddd;
  font-size: 0.875em;
}

.toggleSection-btn_more .toggleSection-btn {
  width: 16px;
  margin: 0;
  background: var(--color_htag);
}

.toggleSection2.action .toggleSection-btn {
  transform: rotate(270deg);
}


.toggleSection2 .top-wrap .toggleSection-btn_more {
  cursor: pointer;
}

.toggleSection2 .bottom-wrap {
  position: relative;
  max-height: 80px;
  overflow: hidden;
  margin-top: 20px;
}

.toggleSection-wrap .toggleSection2 .bottom-wrap {
  max-height: 50px;
}

.toggleSection2 .bottom-wrap>:last-child {
  margin-bottom: 0;
}

.toggleSection2 .bottom-wrap::before {
  background: -webkit-linear-gradient(top, rgb(255 255 255 / 10%) 0%, rgb(255 255 255 / 99%) 50%, rgb(255 255 255) 100%, #fff 100%);
  bottom: 0%;
  content: '';
  width: 100%;
  height: 100%;
  left: 0;
  opacity: 0.8;
  position: absolute;
  z-index: 1;
}

.toggleSection2.action .bottom-wrap {
  max-height: fit-content;
  overflow: visible;
}

.toggleSection2.action .bottom-wrap::before {
  display: none;
}

.toggleSection2 .info-list {
  display: flex;
  flex-direction: column;
  gap: 18px;
  border: none;
}

.toggleSection2 .info-list .ttl {
  text-align: center;
  margin-bottom: 8px;
  padding: 4px;
  background: #f8f8f8;
  width: 100%;
  color: #333;
}

.supervisor {
  margin-bottom: 24px;
}

.article .supervisor-ttl {
  display: inline-flex;
  left: 1em;
  top: 1em;
  color: #fff;
  align-items: center;
  background-color: var(--color_htag);
  font-size: 1.1em;
  line-height: 1;
  margin-bottom: 0;
  padding: .5em .75em;
  position: relative;
  z-index: 1;

}

.supervisor-wrap {
  border: 1px solid var(--color_htag);
  clear: both;
  margin-top: -2px;
  padding: 1.5em;
  padding-top: 2em;
  position: relative;
  z-index: 0;
}

.supervisor-flex {
  display: flex;
  align-items: normal;
  --wp-column-gap: 1.5em;
  gap: var(--wp-column-gap);
}

.supervisor-img {
  margin-bottom: 24px;
}

.supervisor-text_min {}

.supervisor-name .name {
  font-size: 1.25em;
}

.supervisor-name .kana {
  font-size: .75em;
}

.article .supervisor-text_min {
  text-align: center;
  margin-bottom: 0;
}

.article .supervisor-text_min {
  font-size: 0.9em;
}

.article .supervisor-name {
  text-align: center;
  margin-bottom: 0;
}

.article .supervisor-position {
  margin-bottom: 0.4em;
}

.supervisor-list {
  padding-left: 1em;
}

.supervisor-list li {
  list-style-type: disc;
  padding: 0.1em 0;
}



.only-pc {
  display: block;
}

.only-sp {
  display: none;
}

.forSP {
  display: none;
}

.review {
  display: flex;
  gap: 24px;
  margin-bottom: 24px;
}

.review:has(+.review) {
  margin-bottom: 14px;
}

.review-icon {
  width: 80px;
  aspect-ratio: 1 / 1;
  border: 2px solid #ececec;
  border-radius: 50%;
  margin-bottom: 10px;
}

.review-icon[data-review="woman-01"] {
  background: url(../img/woman-icon01.png) center center / contain no-repeat;
}

.review-icon[data-review="woman-02"] {
  background: url(../img/woman-icon02.png) center center / contain no-repeat;
}

.review-icon[data-review="woman-03"] {
  background: url(../img/woman-icon03.png) center center / contain no-repeat;
}

.review-name {
  text-align: center;
  font-size: 0.875em;
  margin-bottom: 0 !important;
}

.review-fukidashi {
  border-radius: 8px;
  color: #333;
  line-height: 1.6;
  max-width: 560px;
  padding: 1em;
  position: relative;
}

.review-fukidashi[data-review="good"] {
  background: #ffebeb;
}

.review-fukidashi[data-review="bad"] {
  background: #f7f7f7;
}

.review-fukidashi::before {
  border: 14px solid transparent;
  top: 14px;
  content: "";
  height: 0;
  left: -23px;
  position: absolute;
  visibility: visible;
  width: 0;
}

.review-fukidashi[data-review="good"]::before {
  border-right: 14px solid #ffebeb;
}

.review-fukidashi[data-review="bad"]::before {
  border-right: 14px solid #f7f7f7;
}