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

html {
  font-size: 62.5%;
}

body {
  font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3";
  -webkit-text-size-adjust: none;
}

img, input[type=image] {
  -webkit-backface-visibility: hidden;
}

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

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

body {
  background-color: #ffffff;
}

a {
  text-decoration: none;
}

main {
  position: relative;
  background-color: #ffffff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #333333;
  font-weight: 500;
  padding-top: min(6.1666666667vw, 74px);
}
@media screen and (max-width: 780px) {
  main {
    padding-top: min(14.1025641026vw, 110px);
  }
}
main button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

main {
  font-size: min(1.2903225806vw, 16px);
  line-height: 1.75;
}
@media screen and (max-width: 780px) {
  main {
    font-size: 3.3974358974vw;
    line-height: 1.8867924528;
  }
}

@media screen and (min-width: 781px) {
  .header__logo a:hover, .mainWrapper a:hover, .mainWrapper button:hover {
    opacity: 0.7;
    transition: 0.5s;
  }
}
@media screen and (max-width: 780px) {
  .floating__btn:nth-child(1)::after {
    width: 2.8205128205vw;
    height: 2.8205128205vw;
    margin-left: 2.0512820513vw;
  }
}

.fadeIn {
  opacity: 0;
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.fadeIn--top {
  transform: translateY(-30px);
}
.fadeIn--bottom {
  transform: translateY(30px);
}
.fadeIn--left {
  transform: translateX(-30px);
}
.fadeIn--right {
  transform: translateX(30px);
}

.d-none {
  display: none;
}

.spD {
  display: none;
}
@media screen and (max-width: 780px) {
  .spD {
    display: block;
  }
}

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

.pagetop-btn {
  position: fixed;
  width: 86px;
  right: 20px;
  bottom: 20px;
  margin-bottom: 20px;
  z-index: 80;
  cursor: pointer;
}
@media screen and (max-width: 1200px) {
  .pagetop-btn {
    bottom: 80px;
  }
}
@media screen and (max-width: 780px) {
  .pagetop-btn {
    width: 16.6666666667vw;
    right: 1.5384615385vw;
    bottom: 15.3846153846vw;
  }
}

.mt-24 {
  margin-top: min(1.935483871vw, 24px);
}
@media screen and (max-width: 780px) {
  .mt-24 {
    margin-top: 3.0769230769vw;
  }
}

/* ----------------------------------------------------------------
mainWrapper
----------------------------------------------------------------- */
.mainWrapper {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.main {
  width: 100%;
}
.main__wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: min(8.3870967742vw, 104px);
}
@media screen and (max-width: 780px) {
  .main__wrap {
    padding-left: 7.6923076923%;
    padding-right: 7.6923076923%;
    padding-bottom: 13.3333333333vw;
  }
}
.main__inner {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 780px) {
  .main__inner {
    flex-direction: column;
  }
}
.main .article {
  width: 70%;
}
@media screen and (max-width: 780px) {
  .main .article {
    width: 100%;
  }
}
.main .aside {
  width: 27.5%;
}
@media screen and (max-width: 780px) {
  .main .aside {
    width: 100%;
  }
}

.header {
  display: block;
  width: 100%;
  height: min(6.1666666667vw, 74px);
  background-color: #f5e4e2;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 90;
}
@media screen and (max-width: 780px) {
  .header {
    height: min(14.1025641026vw, 110px);
  }
}
.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  height: 100%;
  max-width: 1200px;
}
@media screen and (max-width: 1400px) {
  .header__inner {
    padding-left: min(2vw, 23px);
    padding-right: min(7.5vw, 90px);
  }
}
@media screen and (max-width: 780px) {
  .header__inner {
    padding-left: min(4.6153846154vw, 36px);
    padding-right: min(14.1025641026vw, 110px);
  }
}
.header__logo {
  width: min(6.0833333333vw, 73px);
  display: block;
}
@media screen and (max-width: 780px) {
  .header__logo {
    width: min(14.6153846154vw, 114px);
  }
}
.header__link {
  width: min(15vw, 108px);
  display: block;
}
@media screen and (max-width: 780px) {
  .header__link {
    width: min(25vw, 195px);
  }
}
.header .hamburgerBtn {
  position: absolute;
  display: block;
  z-index: 100;
  cursor: pointer;
  text-align: center;
  width: min(3.5vw, 42px);
  height: min(2.8333333333vw, 34px);
  top: 0;
  bottom: 0;
  right: min(3.3333333333vw, 40px);
  margin: auto;
  border: none;
  background: none;
}
@media screen and (max-width: 780px) {
  .header .hamburgerBtn {
    width: min(5.3846153846vw, 42px);
    height: min(4.358974359vw, 34px);
    right: min(5.1282051282vw, 40px);
  }
}
.header .hamburgerBtn span {
  display: block;
  position: absolute;
  width: min(3.5vw, 42px);
  height: min(0.1666666667vw, 2px);
  background: #262626;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 780px) {
  .header .hamburgerBtn span {
    width: min(5.3846153846vw, 42px);
    height: min(0.2564102564vw, 2px);
  }
}
.header .hamburgerBtn span:nth-child(1) {
  top: 0;
}
.header .hamburgerBtn span:nth-child(2) {
  top: 50%;
}
.header .hamburgerBtn span:nth-child(3) {
  bottom: 0;
}
.header .hamburgerBtn.active span:nth-child(1) {
  transform: rotate(-45deg);
  top: 50%;
}
.header .hamburgerBtn.active span:nth-child(2),
.header .hamburgerBtn.active span:nth-child(3) {
  top: 50%;
  transform: rotate(45deg);
}

.gnavi {
  position: fixed;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  opacity: 0;
  z-index: 90;
  height: 100%;
  display: none;
}
.gnavi.active {
  top: 0;
  background-color: rgba(0, 0, 0, 0.3);
  width: 100%;
  height: 100%;
  position: fixed;
  opacity: 1;
  display: block;
}
@media screen and (max-width: 780px) {
  .gnavi.active {
    width: 100%;
    top: min(14.1025641026vw, 110px);
    height: calc(100vh - min(14.1025641026vw, 110px));
  }
}
.gnavi__bg {
  background: linear-gradient(0deg, rgb(226, 238, 232) 0%, rgb(248, 216, 213) 100%);
  transition: all 0.6s;
  width: min(38.7096774194vw, 480px);
  height: 100%;
  margin-left: auto;
  overflow-y: scroll;
}
@media screen and (max-width: 780px) {
  .gnavi__bg {
    width: 100%;
  }
}
.gnavi__inner {
  height: 100%;
  top: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(5.1612903226vw, 64px);
  justify-content: center;
  height: auto;
  padding: min(5.4032258065vw, 67px) 0;
}
@media screen and (max-width: 780px) {
  .gnavi__inner {
    gap: 8.4615384615vw;
    padding: min(29.4871794872vw, 230px) 0;
  }
}
.gnavi__logo {
  display: block;
  width: min(12.8225806452vw, 159px);
}
@media screen and (max-width: 780px) {
  .gnavi__logo {
    width: min(42.8205128205vw, 334px);
  }
}
.gnavi__list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: min(2.4193548387vw, 30px);
}
@media screen and (max-width: 780px) {
  .gnavi__list {
    gap: min(5.3846153846vw, 42px);
  }
}
.gnavi__list a {
  color: #5a5a5a;
  font-size: min(1.935483871vw, 24px);
  font-weight: 700;
}
@media screen and (max-width: 780px) {
  .gnavi__list a {
    font-size: min(3.7179487179vw, 29px);
    padding-bottom: min(1.2820512821vw, 10px);
  }
}
.gnavi__list a.is-current {
  border-bottom: min(0.1612903226vw, 2px) solid #333333;
  color: #333333;
}
@media screen and (max-width: 1200px) {
  .gnavi__list a.is-current {
    border-bottom: min(0.2564102564vw, 2px) solid #333333;
  }
}

.breadcrumb {
  max-width: 1200px;
  margin: min(1.935483871vw, 24px) auto min(1.2903225806vw, 16px);
}
@media screen and (max-width: 780px) {
  .breadcrumb {
    margin: 2.5641025641vw auto 7.1794871795vw;
  }
}
.breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  row-gap: 0.2em;
}
.breadcrumb__list li:not(:last-child)::after {
  display: inline-block;
  content: ">";
  color: #757575;
  margin-left: 1em;
}
.breadcrumb__list a {
  color: #757575;
  text-decoration: underline;
}

.bnr {
  display: block;
  width: 100%;
  margin-top: min(6.4516129032vw, 80px);
}
@media screen and (max-width: 780px) {
  .bnr {
    margin-top: 8.3333333333vw;
  }
}

.aside h2 {
  font-size: min(1.6129032258vw, 20px);
  text-align: center;
  font-weight: 500;
  margin-bottom: min(1.2903225806vw, 16px);
}
@media screen and (max-width: 780px) {
  .aside h2 {
    font-size: 3.9743589744vw;
    margin-bottom: 4.1025641026vw;
  }
}

.search {
  width: 100%;
  height: min(3.8709677419vw, 48px);
  position: relative;
}
@media screen and (max-width: 780px) {
  .search {
    height: 13.8461538462vw;
  }
}
.search__txt {
  font-size: min(1.6129032258vw, 20px);
  color: #8A8A8A;
  border: #777777 solid 2px;
  background-color: #F5F5F5;
  width: 100%;
  height: 100%;
  border-radius: min(2.5vw, 31px);
  padding-left: min(5.4838709677vw, 68px);
  padding-right: min(1.6129032258vw, 20px);
}
@media screen and (max-width: 780px) {
  .search__txt {
    border-width: 0.2564102564vw;
    border-radius: 6.9230769231vw;
    padding-left: 15.7692307692vw;
    padding-right: 6.9230769231vw;
    font-size: 3.9743589744vw;
  }
}
.search__txt:focus {
  color: #333333;
  border: #F6D181 solid 2px;
  background-color: #FFF7E5;
  outline: none;
}
@media screen and (max-width: 780px) {
  .search__txt:focus {
    border-width: 0.2564102564vw;
  }
}
.search__btn {
  display: block;
  content: "";
  width: min(1.6129032258vw, 20px);
  height: min(1.6129032258vw, 20px);
  background: url(../images/search_icon.png) no-repeat center/contain;
  position: absolute;
  left: min(2.1774193548vw, 27px);
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 780px) {
  .search__btn {
    width: 5vw;
    height: 5vw;
    left: 6.9230769231vw;
  }
}

.latest {
  margin-top: min(3.5483870968vw, 92px);
  margin-bottom: min(7.4193548387vw, 92px);
}
@media screen and (max-width: 780px) {
  .latest {
    margin-top: 6.1538461538vw;
    margin-bottom: 7.1794871795vw;
  }
}
.latest__item {
  background-color: #FFF7E5;
  border-radius: min(0.8064516129vw, 10px);
}
@media screen and (max-width: 780px) {
  .latest__item {
    border-radius: 2.5641025641vw;
  }
}
.latest__item:not(:last-child) {
  margin-bottom: min(1.2903225806vw, 16px);
}
@media screen and (max-width: 780px) {
  .latest__item:not(:last-child) {
    margin-bottom: 5.1282051282vw;
  }
}
.latest__item a {
  display: flex;
  align-items: center;
  gap: min(0.8064516129vw, 10px);
  width: 100%;
  padding: min(0.8064516129vw, 10px) min(2.4193548387vw, 30px) min(0.8064516129vw, 10px) min(0.8064516129vw, 10px);
  color: #333333;
  position: relative;
}
@media screen and (max-width: 780px) {
  .latest__item a {
    gap: 2.5641025641vw;
    padding: 2.5641025641vw 7.6923076923vw 2.5641025641vw 2.5641025641vw;
  }
}
.latest__item a::after {
  display: block;
  content: "";
  width: min(0.8064516129vw, 10px);
  height: min(1.2096774194vw, 15px);
  background: url(../images/btn_parts_01.png) no-repeat center/contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: min(0.8064516129vw, 10px);
}
@media screen and (max-width: 780px) {
  .latest__item a::after {
    width: 1.9230769231vw;
    height: 2.8205128205vw;
    right: 3.2051282051vw;
  }
}
.latest__item img {
  width: min(6.6935483871vw, 83px);
  border-radius: min(0.4032258065vw, 5px);
  flex-shrink: 0;
}
@media screen and (max-width: 780px) {
  .latest__item img {
    width: 21.2820512821vw;
    border-radius: 1.2820512821vw;
  }
}
.latest__date {
  font-size: min(1.1290322581vw, 14px);
  margin-bottom: min(0.2419354839vw, 3px);
}
@media screen and (max-width: 780px) {
  .latest__date {
    font-size: 3.3974358974vw;
    margin-bottom: 3.0769230769vw;
  }
}
.latest__ttl {
  font-size: min(1.2903225806vw, 16px);
  line-height: 1.25;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media screen and (max-width: 780px) {
  .latest__ttl {
    font-size: 3.9743589744vw;
    line-height: 1.8709677419;
  }
}

.tag {
  display: flex;
  flex-wrap: wrap;
  gap: min(1.6129032258vw, 20px);
  row-gap: min(1.2903225806vw, 16px);
  margin-bottom: min(2.5806451613vw, 32px);
}
@media screen and (max-width: 780px) {
  .tag {
    gap: 5.1282051282vw;
    row-gap: 2.5641025641vw;
    margin-bottom: 7.1794871795vw;
  }
}
.tag a {
  display: block;
  color: #333333;
  line-height: 1;
  padding: min(0.9677419355vw, 12px) min(1.6129032258vw, 20px);
  border: min(0.1612903226vw, 2px) solid #777777;
  background-color: #F5F5F5;
  border-radius: min(1.935483871vw, 24px);
}
@media screen and (max-width: 780px) {
  .tag a {
    font-size: 3.9743589744vw;
    font-weight: 700;
    padding: 2.3076923077vw 5.641025641vw;
    border-width: 0.3846153846vw;
    border-radius: 9.6153846154vw;
  }
}
.tag a.current {
  border-color: #F6D181;
  background-color: #FFF7E5;
}

.p-category {
  display: flex;
  flex-direction: column;
  row-gap: 1px;
  margin-bottom: min(2.5806451613vw, 32px);
}
@media screen and (max-width: 780px) {
  .p-category {
    row-gap: 0.3846153846vw;
    margin-bottom: 7.1794871795vw;
  }
}
.p-category a {
  display: block;
  color: #333333;
  line-height: 1;
  padding: min(1.4516129032vw, 18px) min(4.0322580645vw, 50px);
  background-color: #F5F5F5;
}
@media screen and (max-width: 780px) {
  .p-category a {
    padding: 3.5897435897vw 12.5641025641vw;
  }
}
.p-category a.current {
  background-color: #FFF7E5;
}

.archive__year {
  border: #F6D081 solid min(0.1612903226vw, 2px);
  border-radius: min(0.8064516129vw, 10px);
  overflow: hidden;
}
@media screen and (max-width: 780px) {
  .archive__year {
    border-width: 0.2564102564vw;
    border-radius: 1.2820512821vw;
  }
}
.archive__year:not(:last-child) {
  margin-bottom: 30px;
}
@media screen and (max-width: 780px) {
  .archive__year:not(:last-child) {
    margin-bottom: 3.0769230769vw;
  }
}
.archive__year dt {
  background-color: #FFF7E5;
  font-weight: 500;
  text-align: center;
  line-height: 1;
  padding: min(0.9677419355vw, 12px) 0;
  font-size: min(1.6129032258vw, 20px);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  border-radius: min(0.8064516129vw, 10px);
}
@media screen and (max-width: 780px) {
  .archive__year dt {
    padding: 3.0769230769vw 0;
    font-size: 4.6153846154vw;
    border-radius: 1.2820512821vw;
  }
}
.archive__year dt.active {
  border-radius: min(0.8064516129vw, 10px) min(0.8064516129vw, 10px) 0 0;
}
@media screen and (max-width: 780px) {
  .archive__year dt.active {
    border-radius: 1.2820512821vw 1.2820512821vw 0 0;
  }
}
.archive__year dt .icon {
  position: absolute;
  display: block;
  width: min(2.0161290323vw, 25px);
  height: min(2.0161290323vw, 25px);
  right: min(1.3709677419vw, 17px);
  top: 0;
  bottom: 0;
  margin: auto;
  transition: 0.5s;
  background-color: #ffffff;
  border-radius: 50%;
}
@media screen and (max-width: 780px) {
  .archive__year dt .icon {
    width: 6.5384615385vw;
    height: 6.5384615385vw;
    right: 4.5454545455%;
  }
}
.archive__year dt .icon.active {
  transform: rotate(90deg);
}
.archive__year dt .icon.active::before {
  opacity: 0;
}
.archive__year dt .icon::before, .archive__year dt .icon::after {
  display: block;
  content: "";
  position: absolute;
  width: min(1.2903225806vw, 16px);
  height: min(0.1209677419vw, 1.5px);
  inset: 0;
  margin: auto;
  transform-origin: center;
  background-color: #F6D181;
}
@media screen and (max-width: 780px) {
  .archive__year dt .icon::before, .archive__year dt .icon::after {
    width: 4.2307692308vw;
    height: 0.641025641vw;
  }
}
.archive__year dt .icon::before {
  opacity: 1;
  transition: 0.5s;
}
.archive__year dt .icon::after {
  transform: rotate(-90deg);
}
.archive__year dd {
  display: none;
  font-size: min(1.2903225806vw, 16px);
  font-weight: 700;
}
@media screen and (max-width: 780px) {
  .archive__year dd {
    font-size: 3.9743589744vw;
  }
}
.archive__year dd a {
  color: #333333;
}
.archive__year dd.active {
  display: block;
}
.archive__year dd li {
  border-top: #F6D081 solid min(0.1612903226vw, 2px);
}
@media screen and (max-width: 780px) {
  .archive__year dd li {
    border-width: 0.2564102564vw;
  }
}
.archive__year dd li:nth-child(even) {
  background-color: #FFF7E5;
}
.archive__year dd li:last-child {
  border-radius: 0 0 min(0.8064516129vw, 10px) min(0.8064516129vw, 10px);
}
@media screen and (max-width: 780px) {
  .archive__year dd li:last-child {
    border-radius: 0 0 1.2820512821vw 1.2820512821vw;
  }
}
.archive__year dd li a {
  display: flex;
  align-items: center;
  gap: min(0.6451612903vw, 8px);
  padding: min(1.2096774194vw, 15px) min(2.6612903226vw, 33px);
}
@media screen and (max-width: 780px) {
  .archive__year dd li a {
    gap: 2.0512820513vw;
    padding: 2.3076923077vw 8.4615384615vw;
  }
}
.archive__year dd li a::before {
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-top: solid transparent min(0.4838709677vw, 6px);
  border-bottom: solid transparent min(0.4838709677vw, 6px);
  border-left: solid #F6D181 min(0.6451612903vw, 8px);
}
@media screen and (max-width: 780px) {
  .archive__year dd li a::before {
    border-top-width: 1.5384615385vw;
    border-bottom-width: 1.5384615385vw;
    border-left-width: 2.0512820513vw;
  }
}

.recommend__ttl {
  font-size: min(1.6129032258vw, 20px);
  font-weight: 500;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto min(1.935483871vw, 24px);
}
@media screen and (max-width: 780px) {
  .recommend__ttl {
    font-size: 3.9743589744vw;
    margin: 0 auto 3.0769230769vw;
    padding-bottom: 0.641025641vw;
  }
}
.recommend__ttl::after {
  display: block;
  content: "";
  width: 100%;
  height: min(0.4032258065vw, 5px);
  background: linear-gradient(-90deg, rgb(248, 216, 213) 0%, rgb(226, 238, 232) 100%);
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 780px) {
  .recommend__ttl::after {
    height: 0.641025641vw;
  }
}
.recommend__list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.380952381%;
  row-gap: min(3.2258064516vw, 40px);
}
@media screen and (max-width: 780px) {
  .recommend__list {
    flex-direction: column;
    row-gap: 4.1025641026vw;
  }
}
.recommend__item {
  width: 48.8095238095%;
  background-color: #FFF7E5;
  border-radius: min(1.6129032258vw, 20px);
  padding: min(1.2096774194vw, 15px);
}
@media screen and (max-width: 780px) {
  .recommend__item {
    width: 100%;
    border-radius: 1.2820512821vw;
    padding: 2.5641025641vw;
  }
}
.recommend__item a {
  color: #333333;
}
.recommend__img {
  margin-bottom: min(1.2903225806vw, 16px);
}
@media screen and (max-width: 780px) {
  .recommend__img {
    margin-bottom: 2.0512820513vw;
  }
}
.recommend__img img {
  border-radius: min(0.8064516129vw, 10px);
}
@media screen and (max-width: 780px) {
  .recommend__img img {
    border-radius: 1.0256410256vw;
  }
}
.recommend__data {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: min(0.6451612903vw, 8px);
  padding-left: min(0.4032258065vw, 5px);
}
@media screen and (max-width: 780px) {
  .recommend__data {
    row-gap: 1.0256410256vw;
    padding-left: 0;
  }
}
.recommend__category {
  color: #C18000;
}
.recommend__postttl {
  width: 100%;
  font-size: min(1.4516129032vw, 18px);
  font-weight: 700;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 780px) {
  .recommend__postttl {
    font-size: 3.3974358974vw;
    line-height: 1.8867924528;
  }
}

.floating {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
}
@media screen and (max-width: 780px) {
  .floating {
    right: auto;
    top: auto;
    transform: translateY(0);
    bottom: 0;
    left: 0;
    width: 100%;
  }
}
.floating__inner {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 780px) {
  .floating__inner {
    flex-direction: row;
  }
}

.floating__btn {
  color: #333333;
  font-weight: 700;
  display: block;
  width: min(6vw, 72px);
  height: min(15vw, 180px);
  font-size: min(1.5vw, 18px);
  letter-spacing: 0.05em;
  line-height: 1;
  background-color: #E9AFA8;
  border: min(0.0833333333vw, 1px) solid #727171;
  writing-mode: vertical-rl;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media screen and (max-width: 780px) {
  .floating__btn {
    width: 100%;
    font-size: min(3.3974358974vw, 26.5px);
    letter-spacing: 0;
    padding: min(4.8717948718vw, 38px) 0;
    writing-mode: horizontal-tb;
  }
}
@media screen and (min-width: 781px) {
  .floating__btn:nth-child(1) {
    padding-top: min(1.2820512821vw, 10px);
  }
}
@media screen and (max-width: 780px) {
  .floating__btn:nth-child(1) {
    line-height: 1.4339622642;
  }
}
@media screen and (max-width: 1200px) {
  .floating__btn:nth-child(1)::before {
    display: none;
  }
}
.floating__btn:nth-child(1)::after {
  margin-left: 0;
  margin-top: min(2.0512820513vw, 16px);
}
@media screen and (max-width: 780px) {
  .floating__btn:nth-child(1)::after {
    margin-top: 0;
    margin-left: 2.0512820513vw;
  }
}
/* .floating__btn:nth-child(2) {
  background-color: #E9AFA8;
} */

.footer {
  width: 100%;
  background-color: #5a5a5a;
  padding: min(3.2258064516vw, 40px) 0;
}
@media screen and (max-width: 780px) {
  .footer {
    padding: 15.3846153846vw 12.0512820513vw 26.6666666667vw;
  }
}
.footer__inner {
  width: min(100%, 1200px);
  margin: 0 auto;
  padding-left: min(11.935483871vw, 148px);
}
@media screen and (max-width: 780px) {
  .footer__inner {
    width: auto;
    padding-left: 0;
  }
}
.footer__link {
  margin-bottom: min(6.4516129032vw, 80px);
}
@media screen and (max-width: 780px) {
  .footer__link {
    margin-bottom: 8.4615384615vw;
  }
}
.footer__link a {
  display: block;
  color: #ffffff;
}
.footer__link a::after {
  content: "";
  background: url(../images/btn_parts_04.png) no-repeat center/contain;
  width: min(1vw, 12px);
  height: min(1vw, 12px);
  margin-left: 4px;
  display: inline-block;
}
@media screen and (max-width: 780px) {
  .footer__link a::after {
    width: 2.3076923077vw;
    height: 2.3076923077vw;
    margin-left: 1.0256410256vw;
  }
}
.footer__copyright {
  color: #ffffff;
  font-size: min(1.2903225806vw, 16px);
}
@media screen and (max-width: 780px) {
  .footer__copyright {
    font-size: 2.9487179487vw;
  }
}

:root {
  --swiper-navigation-size: auto;
}

#top-wrap {
  padding-top: min(3.2258064516vw, 40px);
  padding-bottom: min(8.3870967742vw, 104px);
}
@media screen and (max-width: 780px) {
  #top-wrap {
    padding-top: 2.1794871795vw;
    padding-bottom: 13.3333333333vw;
  }
}
#top-wrap .mv {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 780px) {
  #top-wrap .mv {
    flex-direction: column-reverse;
    row-gap: 5.7692307692vw;
  }
}
#top-wrap .mv__ttl {
  width: 27.5%;
}
@media screen and (max-width: 780px) {
  #top-wrap .mv__ttl {
    width: 100%;
  }
}
#top-wrap .mv__slider {
  width: 70%;
}
@media screen and (max-width: 780px) {
  #top-wrap .mv__slider {
    width: 100%;
  }
}
#top-wrap .mv__slide {
  width: 100%;
  height: auto;
}
#top-wrap .mv__img {
  position: relative;
}
#top-wrap .mv__img img {
  border-radius: min(1.6129032258vw, 20px);
}
@media screen and (max-width: 780px) {
  #top-wrap .mv__img img {
    border-radius: 2.5641025641vw;
  }
}
#top-wrap .mv__txt {
  font-size: min(1.6129032258vw, 20px);
  color: #ffffff;
  font-weight: 700;
  line-height: 1.6;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: min(8.8709677419vw, 110px);
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: 0 0 min(1.6129032258vw, 20px) min(1.6129032258vw, 20px);
  padding: min(1.935483871vw, 24px) min(4.0322580645vw, 50px);
}
@media screen and (max-width: 780px) {
  #top-wrap .mv__txt {
    font-size: 3.3974358974vw;
    line-height: 1.5849056604;
    height: 14.1025641026vw;
    border-radius: 0 0 2.5641025641vw 2.5641025641vw;
    padding: 1.7948717949vw 2.5641025641vw;
  }
}
#top-wrap .main__inner {
  margin-top: min(3.2258064516vw, 40px);
}
@media screen and (max-width: 780px) {
  #top-wrap .main__inner {
    margin-top: 4.1025641026vw;
  }
}
@media screen and (max-width: 780px) {
  #top-wrap .bnr {
    margin-bottom: 13.3333333333vw;
  }
}
#top-wrap .search {
  margin-bottom: min(2.5806451613vw, 32px);
}
@media screen and (max-width: 780px) {
  #top-wrap .search {
    margin-bottom: 7.1794871795vw;
  }
}

.swiper-controller {
  display: flex;
  justify-content: center;
  margin-top: min(0.6451612903vw, 8px);
}
@media screen and (max-width: 780px) {
  .swiper-controller {
    margin-top: 4.1025641026vw;
  }
}

.swiper-pagination {
  position: static;
}

.swiper-pagination {
  width: -moz-fit-content;
  width: fit-content;
}

.swiper-pagination-bullet {
  background-color: transparent;
  opacity: 1;
  width: min(1.2096774194vw, 15px);
  height: min(1.2096774194vw, 15px);
  margin: 0 min(0.6451612903vw, 8px) !important;
  border: rgba(51, 51, 51, 0.8) min(0.1612903226vw, 2px) solid;
}
@media screen and (max-width: 780px) {
  .swiper-pagination-bullet {
    width: 1.9230769231vw;
    height: 1.9230769231vw;
    border-width: 0.2564102564vw;
    margin: 0 0.8974358974vw !important;
  }
}

.swiper-pagination-bullet-active {
  border-color: #333333;
  background-color: #EAAFA9;
}

.page-nav {
  margin-top: min(4.8387096774vw, 60px);
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 780px) {
  .page-nav {
    margin-top: 6.1538461538vw;
  }
}
/*
.page-nav li {
  width: min(3.8709677419vw, 48px);
  height: min(3.8709677419vw, 48px);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
*/
.page-nav > a,
.page-nav > span {
  width: min(3.8709677419vw, 48px);
  height: min(3.8709677419vw, 48px);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
/*
@media screen and (max-width: 780px) {
  .page-nav li {
    width: 10.7692307692vw;
    height: 10.7692307692vw;
  }
}
*/
@media screen and (max-width: 780px) {
  .page-nav > a,
  .page-nav > span {
    width: 10.7692307692vw;
    height: 10.7692307692vw;
  }
}
/*
@media screen and (max-width: 780px) {
  .page-nav li:not(:nth-child(1)):not(:nth-child(2)):not(:nth-child(3)):not(:nth-child(4)):not(:last-child):not(:nth-last-child(2)):not(:nth-last-child(3)) {
    display: none;
  }
}
*/
@media screen and (max-width: 780px) {
  .page-nav > a:not(:nth-child(1)):not(:nth-child(2)):not(:nth-child(3)):not(:nth-child(4)):not(:last-child):not(:nth-last-child(2)):not(:nth-last-child(3)),
  .page-nav > span:not(:nth-child(1)):not(:nth-child(2)):not(:nth-child(3)):not(:nth-child(4)):not(:last-child):not(:nth-last-child(2)):not(:nth-last-child(3)) {
    display: none;
  }
}
/*
.page-nav li a {
  color: #333333;
  line-height: 1;
}
*/
.page-nav > a,
.page-nav > span {
  color: #333333;
  line-height: 1;
}
/*
.page-nav__num {
  font-size: min(1.935483871vw, 24px);
  margin-left: min(0.6451612903vw, 8px);
  margin-right: min(0.6451612903vw, 8px);
}
*/
.page-nav > a:not(.previouspostslink):not(.nextpostslink),
.page-nav > span:not(.extend) {
  font-size: min(1.935483871vw, 24px);
  margin-left: min(0.6451612903vw, 8px);
  margin-right: min(0.6451612903vw, 8px);
}
/*
@media screen and (max-width: 780px) {
  .page-nav__num {
    font-size: 5.5128205128vw;
    font-weight: 700;
    margin-left: 1.2820512821vw;
    margin-right: 1.2820512821vw;
  }
}
*/
@media screen and (max-width: 780px) {
  .page-nav > a:not(.previouspostslink):not(.nextpostslink),
  .page-nav > span:not(.extend) {
    font-size: 5.5128205128vw;
    font-weight: 700;
    margin-left: 1.2820512821vw;
    margin-right: 1.2820512821vw;
  }
}
/*
.page-nav__num.current {
  background-color: #EDCFC7;
}
*/
.page-nav > span.current {
  background-color: #EDCFC7;
}
/*
.page-nav__prev, .page-nav__next {
  border: min(0.1612903226vw, 2px) solid #F6E4E2;
}
*/
.previouspostslink,
.nextpostslink {
  border: min(0.1612903226vw, 2px) solid #F6E4E2;
}
/*
@media screen and (max-width: 780px) {
  .page-nav__prev, .page-nav__next {
    border-width: 0.2564102564vw;
  }
}
*/
@media screen and (max-width: 780px) {
  .previouspostslink,
  .nextpostslink {
    border-width: 0.2564102564vw;
  }
}
/*
.page-nav__prev:hover, .page-nav__next:hover {
  background-color: #F6E4E2;
}
*/
.previouspostslink:hover,
.nextpostslink:hover {
  background-color: #F6E4E2;
}
/*
.page-nav__prev {
  margin-right: min(0.6451612903vw, 8px);
}
*/
.previouspostslink {
  margin-right: min(0.6451612903vw, 8px);
}
/*
@media screen and (max-width: 780px) {
  .page-nav__prev {
    margin-right: 1.2820512821vw;
  }
}
*/
@media screen and (max-width: 780px) {
  .previouspostslink {
    margin-right: 1.2820512821vw;
  }
}
.page-nav__prev::before {
  display: block;
  content: "";
  width: min(0.8064516129vw, 10px);
  height: min(1.2096774194vw, 15px);
  background: url(../images/btn_prev.png) no-repeat center/contain;
}
@media screen and (max-width: 780px) {
  .page-nav__prev::before {
    width: 2.3076923077vw;
    height: 3.3333333333vw;
  }
}
/*
.page-nav__next {
  margin-left: min(0.6451612903vw, 8px);
}
*/
.nextpostslink {
  margin-left: min(0.6451612903vw, 8px);
}
/*
@media screen and (max-width: 780px) {
  .page-nav__next {
    margin-left: 1.2820512821vw;
  }
}
*/
@media screen and (max-width: 780px) {
  .nextpostslink {
    margin-left: 1.2820512821vw;
  }
}
.page-nav__next::before {
  display: block;
  content: "";
  width: min(0.8064516129vw, 10px);
  height: min(1.2096774194vw, 15px);
  background: url(../images/btn_next.png) no-repeat center/contain;
}
@media screen and (max-width: 780px) {
  .page-nav__next::before {
    width: 2.3076923077vw;
    height: 3.3333333333vw;
  }
}

#result-wrap {
  padding-top: min(0.6451612903vw, 8px);
}
@media screen and (max-width: 780px) {
  #result-wrap {
    padding-top: 0;
    padding-bottom: 13.3333333333vw;
  }
}
#result-wrap h1 {
  font-size: min(1.6129032258vw, 20px);
  font-weight: 500;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto min(0.8064516129vw, 10px);
}
@media screen and (max-width: 780px) {
  #result-wrap h1 {
    font-size: 3.9743589744vw;
    margin: 0 auto 3.0769230769vw;
    padding-bottom: 0.641025641vw;
  }
}
#result-wrap h1::after {
  display: block;
  content: "";
  width: 100%;
  height: min(0.4032258065vw, 5px);
  background: linear-gradient(-90deg, rgb(248, 216, 213) 0%, rgb(226, 238, 232) 100%);
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 780px) {
  #result-wrap h1::after {
    height: 0.641025641vw;
  }
}
#result-wrap .recommend {
  margin-top: min(3.2258064516vw, 40px);
}
@media screen and (max-width: 780px) {
  #result-wrap .recommend {
    margin-top: 5.1282051282vw;
  }
}

.result {
  width: 100%;
  padding: min(1.935483871vw, 24px) 0;
  background-color: #FFF7E5;
  border-radius: min(1.6129032258vw, 20px);
}
@media screen and (max-width: 780px) {
  .result {
    padding: 4.1025641026vw 0;
    border-radius: 2.5641025641vw;
  }
}
.result p {
  text-align: center;
  font-size: min(1.2903225806vw, 16px);
  line-height: 1.5;
}
@media screen and (max-width: 780px) {
  .result p {
    font-size: 3.3974358974vw;
    line-height: 1.8867924528;
  }
}
.result__num {
  margin-bottom: min(1.2903225806vw, 16px);
}
@media screen and (max-width: 780px) {
  .result__num {
    margin-bottom: 1.2820512821vw;
  }
}

#column-wrap h1 {
  font-size: min(1.6129032258vw, 20px);
  padding: min(1.1290322581vw, 14px) min(1.6129032258vw, 20px);
  background: linear-gradient(-90deg, rgb(248, 216, 213) 0%, rgb(226, 238, 232) 100%);
  margin-bottom: min(1.2903225806vw, 16px);
}
@media screen and (max-width: 780px) {
  #column-wrap h1 {
    font-size: 3.9743589744vw;
    line-height: 1.8709677419;
    padding: 1.5384615385vw 3.8461538462vw;
  }
}
#column-wrap .info {
  display: flex;
  justify-content: space-between;
  margin-bottom: min(1.2903225806vw, 16px);
}
@media screen and (max-width: 780px) {
  #column-wrap .info {
    margin-bottom: 2.5641025641vw;
    align-items: flex-end;
  }
}
#column-wrap .info__date {
  display: flex;
  gap: min(3.4677419355vw, 43px);
}
@media screen and (max-width: 780px) {
  #column-wrap .info__date {
    flex-direction: column;
    row-gap: 1.0256410256vw;
  }
}
#column-wrap .info__date p {
  position: relative;
  padding-left: min(1.6129032258vw, 20px);
}
@media screen and (max-width: 780px) {
  #column-wrap .info__date p {
    padding-left: 2.5641025641vw;
  }
}
#column-wrap .info__date p::before {
  display: block;
  content: "";
  border-top: solid transparent min(0.4838709677vw, 6px);
  border-bottom: solid transparent min(0.4838709677vw, 6px);
  border-left: solid #F6D181 min(0.6451612903vw, 8px);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 780px) {
  #column-wrap .info__date p::before {
    border-top: solid transparent 1.2820512821vw;
    border-bottom: solid transparent 1.2820512821vw;
    border-left: solid #F6D181 1.7948717949vw;
  }
}
#column-wrap .info__category {
  color: #C18000;
  font-weight: 700;
}
#column-wrap .mv {
  margin-bottom: min(1.935483871vw, 24px);
}
@media screen and (max-width: 780px) {
  #column-wrap .mv {
    margin-bottom: 6.4102564103vw;
  }
}
#column-wrap .mv img {
  border-radius: min(2.4193548387vw, 30px);
}
@media screen and (max-width: 780px) {
  #column-wrap .mv img {
    border-radius: 3.8461538462vw;
  }
}
#column-wrap .lead {
  font-weight: 400;
  margin: min(1.935483871vw, 24px) 0 min(2.5806451613vw, 32px);
}
@media screen and (max-width: 780px) {
  #column-wrap .lead {
    margin: 3.0769230769vw 0 5.1282051282vw;
  }
}
#column-wrap .return-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #333333;
  background-color: #F6E4E2;
  width: min(26.6129032258vw, 330px);
  height: min(4.0322580645vw, 50px);
  position: relative;
  margin: min(3.2258064516vw, 40px) auto 0;
  text-align: center;
}
@media screen and (max-width: 780px) {
  #column-wrap .return-btn {
    justify-content: flex-start;
    width: 51.2820512821vw;
    height: 13.8461538462vw;
    margin: 5.1282051282vw auto 13.3333333333vw;
    padding-left: 5.1282051282vw;
  }
}
#column-wrap .return-btn::after {
  display: block;
  content: "";
  width: min(0.8064516129vw, 10px);
  height: min(1.2096774194vw, 15px);
  background: url(../images/btn_parts_01.png) no-repeat center/contain;
  position: absolute;
  right: min(1.3709677419vw, 17px);
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 780px) {
  #column-wrap .return-btn::after {
    width: 1.9230769231vw;
    height: 2.8205128205vw;
    right: 5.641025641vw;
  }
}
#column-wrap figcaption {
  -moz-text-align-last: right;
       text-align-last: right;
  font-size: min(0.9677419355vw, 12px);
  font-weight: 400;
  margin-top: min(0.4032258065vw, 5px);
}
@media screen and (max-width: 780px) {
  #column-wrap figcaption {
    font-size: 2.6923076923vw;
    margin-top: 1.0256410256vw;
  }
}
#column-wrap .large-img {
  width: min(62.9032258065vw, 780px);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 780px) {
  #column-wrap .large-img {
    width: 100%;
  }
}
#column-wrap .mid-img {
  width: min(48.2258064516vw, 598px);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 780px) {
  #column-wrap .mid-img {
    width: 100%;
  }
}
#column-wrap .img-column {
  display: flex;
  justify-content: center;
  gap: min(5.1612903226vw, 64px);
}
@media screen and (max-width: 780px) {
  #column-wrap .img-column {
    flex-direction: column;
    row-gap: 7.6923076923vw;
  }
}
#column-wrap .small-img {
  width: min(23.064516129vw, 286px);
}
@media screen and (max-width: 780px) {
  #column-wrap .small-img {
    width: 100%;
  }
}
#column-wrap .table__ttl {
  font-size: min(1.2903225806vw, 16px);
  font-weight: 500;
  text-align: center;
  margin-bottom: min(0.6451612903vw, 8px);
}
@media screen and (max-width: 780px) {
  #column-wrap .table__ttl {
    font-size: 3.9743589744vw;
    margin-bottom: 2.9487179487vw;
  }
}
#column-wrap .table table {
  border-collapse: collapse;
  border: #777777 solid 1px;
  font-size: min(1.2903225806vw, 16px);
  text-align: center;
  width: min(67.7419354839vw, 840px);
}
@media screen and (max-width: 780px) {
  #column-wrap .table table {
    font-size: 3.3974358974vw;
    width: 100%;
  }
}
#column-wrap .table th, #column-wrap .table td {
  border: #777777 solid 1px;
  color: #333333;
  vertical-align: middle;
}
#column-wrap .table th {
  font-weight: 500;
}
#column-wrap .table td {
  font-weight: 400;
}
#column-wrap .table-01 th, #column-wrap .table-01 td {
  padding: min(0.9677419355vw, 12px);
}
@media screen and (max-width: 780px) {
  #column-wrap .table-01 th, #column-wrap .table-01 td {
    padding: 2.0512820513vw 1.2820512821vw;
  }
}
#column-wrap .table-01 th {
  background-color: #FFF7E5;
}
#column-wrap .table-02 th, #column-wrap .table-02 td {
  padding: min(0.9677419355vw, 12px) min(1.935483871vw, 24px);
}
@media screen and (max-width: 780px) {
  #column-wrap .table-02 th, #column-wrap .table-02 td {
    padding: 2.0512820513vw 1.9230769231vw;
  }
}
#column-wrap .table-02 th {
  background-color: #F6D181;
}
#column-wrap .table-02 tr td:nth-child(1) {
  background-color: #FFF7E5;
}
#column-wrap .quote {
  display: flex;
  width: min(56.4516129032vw, 700px);
  margin-right: auto;
  margin-left: auto;
  border: #777777 1px solid;
  text-decoration: none;
}
@media screen and (max-width: 780px) {
  #column-wrap .quote {
    width: 84.6153846154vw;
  }
}
#column-wrap .quote__img {
  width: min(20.7258064516vw, 257px);
  flex-shrink: 0;
}
@media screen and (max-width: 780px) {
  #column-wrap .quote__img {
    width: 28.2051282051vw;
  }
}
#column-wrap .quote__detail {
  padding: min(0.9677419355vw, 12px) min(1.1290322581vw, 14px);
  width: min(35.7258064516vw, 443px);
}
@media screen and (max-width: 780px) {
  #column-wrap .quote__detail {
    padding: 1.2820512821vw 2.5641025641vw;
    width: 56.4102564103vw;
  }
}
#column-wrap .quote__detail p {
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
#column-wrap .quote__ttl {
  font-size: min(1.2903225806vw, 16px);
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: min(0.6451612903vw, 8px);
  color: #333333;
}
@media screen and (max-width: 780px) {
  #column-wrap .quote__ttl {
    font-size: 2.9487179487vw;
    line-height: 1.3913043478;
    margin-bottom: 1.2820512821vw;
  }
}
#column-wrap .quote__txt {
  font-size: min(0.9677419355vw, 12px);
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: min(0.6451612903vw, 8px);
  color: #707070;
  -webkit-line-clamp: 2; /* 行数を指定 */
}
@media screen and (max-width: 780px) {
  #column-wrap .quote__txt {
    font-size: 2.6923076923vw;
    line-height: 1.4285714286;
    margin-bottom: 1.2820512821vw;
    -webkit-line-clamp: 2; /* 行数を指定 */
  }
}
#column-wrap .quote__url {
  font-size: min(0.9677419355vw, 12px);
  font-weight: 400;
  line-height: 1.3333333333;
  color: #777777;
  word-break: break-all;
  overflow-wrap: break-word;
  -webkit-line-clamp: 2; /* 行数を指定 */
}
@media screen and (max-width: 780px) {
  #column-wrap .quote__url {
    font-size: 2.6923076923vw;
    line-height: 1.3333333333;
    -webkit-line-clamp: 1; /* 行数を指定 */
  }
}

.outline {
  width: min(53.3870967742vw, 662px);
  border: 2px solid #E8A9B1;
  margin: 0 auto;
  border-radius: 10px;
}
@media screen and (max-width: 780px) {
  .outline {
    width: 100%;
    border-width: 0.3846153846vw;
    border-radius: 2.5641025641vw;
  }
}
.outline__ttl {
  font-weight: 500;
  text-align: center;
  line-height: 1;
  padding: min(0.9677419355vw, 12px) 0;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 780px) {
  .outline__ttl {
    padding: 4.4871794872vw 0;
  }
}
.outline__ttl__icon {
  position: absolute;
  display: block;
  width: min(1.4516129032vw, 18px);
  height: min(1.4516129032vw, 18px);
  right: min(0.8870967742vw, 11px);
  top: 0;
  bottom: 0;
  margin: auto;
  transition: 0.5s;
  background-color: #E8A9B1;
  border-radius: 50%;
}
@media screen and (max-width: 780px) {
  .outline__ttl__icon {
    width: 6.5384615385vw;
    height: 6.5384615385vw;
    right: 4.6153846154vw;
  }
}
.outline__ttl__icon.active {
  transform: rotate(90deg);
}
.outline__ttl__icon.active::before {
  opacity: 0;
}
.outline__ttl__icon::before, .outline__ttl__icon::after {
  display: block;
  content: "";
  position: absolute;
  width: min(0.8870967742vw, 11px);
  height: min(0.1209677419vw, 1.5px);
  inset: 0;
  margin: auto;
  transform-origin: center;
  background-color: #ffffff;
}
@media screen and (max-width: 780px) {
  .outline__ttl__icon::before, .outline__ttl__icon::after {
    width: 3.9743589744vw;
    height: 0.641025641vw;
  }
}
.outline__ttl__icon::before {
  opacity: 1;
  transition: 0.5s;
}
.outline__ttl__icon::after {
  transform: rotate(-90deg);
}
.outline__detail {
  display: none;
  padding: min(1.2903225806vw, min(1.935483871vw, 24px));
}
@media screen and (max-width: 780px) {
  .outline__detail {
    padding: 1.2820512821vw 3.8461538462vw 6.1538461538vw;
  }
}
.outline__detail.active {
  display: block;
}
.outline__main {
  font-weight: 500;
}
.outline__main a {
  color: #D1003E;
  text-decoration: underline;
  text-underline-offset: min(0.1612903226vw, 2px);
  margin-left: min(0.7258064516vw, 9px);
}
@media screen and (max-width: 780px) {
  .outline__main a {
    margin-left: 1.7948717949vw;
  }
}
.outline li p {
  text-indent: -1em;
  padding-left: 1em;
}
.outline__small {
  margin-left: min(1.6129032258vw, 20px);
}
@media screen and (max-width: 780px) {
  .outline__small {
    margin-left: 4.358974359vw;
  }
  .outline__small li p {
    text-indent: -2em;
    padding-left: 2em;
  }
}

.contents {
  font-weight: 400;
}
.contents--small {
  padding-left: min(1.6129032258vw, 20px);
}
@media screen and (max-width: 780px) {
  .contents--small {
    padding-left: 2.5641025641vw;
    padding-right: 2.5641025641vw;
  }
}
.contents h2 {
  font-size: min(1.2903225806vw, 16px);
  line-height: 1.75;
  font-weight: 500;
  padding: min(0.9677419355vw, 12px) min(1.4516129032vw, 18px);
  background: linear-gradient(-90deg, rgb(248, 216, 213) 0%, rgb(226, 238, 232) 100%);
  margin-top: min(3.2258064516vw, 40px);
  margin-bottom: min(1.2903225806vw, 16px);
}
@media screen and (max-width: 780px) {
  .contents h2 {
    font-size: 3.9743589744vw;
    line-height: 1.8709677419;
    padding: 1.5384615385vw 3.8461538462vw;
    margin-top: 5.1282051282vw;
    margin-bottom: 3.0769230769vw;
  }
}
.contents__notes {
  font-size: min(0.9677419355vw, 12px);
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 780px) {
  .contents__notes {
    font-size: 2.6923076923vw;
  }
}
.contents__subttl {
  font-size: min(1.2903225806vw, 16px);
  padding: min(0.6451612903vw, 8px) min(1.4516129032vw, 18px);
  border-left: min(0.8064516129vw, 10px) solid #EDCFC7;
  margin-top: min(1.935483871vw, 24px);
  margin-bottom: min(0.7258064516vw, 9px);
  font-weight: 500;
}
@media screen and (max-width: 780px) {
  .contents__subttl {
    font-size: 3.3974358974vw;
    padding: 1.2820512821vw 2.5641025641vw;
    border-width: 1.9230769231vw;
    margin-top: 3.0769230769vw;
    margin-bottom: 2.0512820513vw;
  }
}
.contents__subttl--dots {
  border-left: none;
  position: relative;
  padding: 0;
  padding-left: min(1.4516129032vw, 18px);
}
@media screen and (max-width: 780px) {
  .contents__subttl--dots {
    padding-left: 4.4871794872vw;
  }
}
.contents__subttl--dots::before {
  display: block;
  content: "";
  width: min(0.8064516129vw, 10px);
  height: min(0.8064516129vw, 10px);
  background-color: #EDCFC7;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: min(0.8064516129vw, 10px);
}
@media screen and (max-width: 780px) {
  .contents__subttl--dots::before {
    width: 1.9230769231vw;
    height: 1.9230769231vw;
    top: 2.3076923077vw;
  }
}
.contents__txt a {
  color: #D1003E;
  text-decoration: underline;
}
.contents a {
  color: #D1003E;
  text-decoration: underline;
}
.contents ol {
  counter-reset: number;
}
.contents ol li {
  position: relative;
  padding-left: min(2.2580645161vw, 28px);
}
@media screen and (max-width: 780px) {
  .contents ol li {
    padding-left: 5.1282051282vw;
  }
}
.contents ol li::before {
  display: flex;
  align-items: center;
  justify-content: center;
  counter-increment: number;
  content: counter(number);
  font-size: min(1.1290322581vw, 14px);
  line-height: 1;
  font-weight: 500;
  width: min(1.6129032258vw, 20px);
  height: min(1.6129032258vw, 20px);
  border-radius: 50%;
  background-color: #EDCFC7;
  position: absolute;
  left: 0;
  top: min(0.3225806452vw, 4px);
}
@media screen and (max-width: 780px) {
  .contents ol li::before {
    font-size: 3.0769230769vw;
    width: 3.8461538462vw;
    height: 3.8461538462vw;
    top: 1.0256410256vw;
  }
}
.contents h4 {
  font-size: min(1.2903225806vw, 16px);
  margin-top: min(1.2903225806vw, 16px);
  margin-bottom: min(0.4032258065vw, 5px);
  font-weight: 500;
}
@media screen and (max-width: 780px) {
  .contents h4 {
    font-size: 3.3974358974vw;
    margin-top: 5.1282051282vw;
    margin-bottom: 1.2820512821vw;
  }
}
.contents h4::before {
  display: inline-block;
  content: "";
  width: min(0.8064516129vw, 10px);
  height: min(0.8064516129vw, 10px);
  background-color: #EDCFC7;
  margin-right: min(0.8064516129vw, 10px);
}
@media screen and (max-width: 780px) {
  .contents h4::before {
    width: 1.9230769231vw;
    height: 1.9230769231vw;
    margin-right: 2.5641025641vw;
    transform: translateY(-0.3846153846vw);
  }
}
.contents ul {
  margin-top: min(1.2903225806vw, 16px);
}
@media screen and (max-width: 780px) {
  .contents ul {
    margin-top: 2.0512820513vw;
  }
}
.contents ul li {
  padding-left: 1em;
  text-indent: -0.9em;
}
.contents ul li::before {
  display: inline-block;
  content: "";
  width: min(0.4838709677vw, 6px);
  height: min(0.4838709677vw, 6px);
  background-color: #B3D5B2;
  border-radius: 50%;
  margin-right: 0.5em;
  transform: translateY(max(-0.1612903226vw, -2px));
}
@media screen and (max-width: 780px) {
  .contents ul li::before {
    width: 1.2820512821vw;
    height: 1.2820512821vw;
    transform: translateY(-0.641025641vw);
  }
}

.sns {
  padding-bottom: min(3.5483870968vw, 44px);
  position: relative;
}
@media screen and (max-width: 780px) {
  .sns {
    padding-bottom: 10.2564102564vw;
  }
}
.sns::after {
  display: block;
  content: "";
  width: 100%;
  height: min(1.6129032258vw, 20px);
  background: linear-gradient(-90deg, rgb(248, 216, 213) 0%, rgb(226, 238, 232) 100%);
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 780px) {
  .sns::after {
    height: 3.8461538462vw;
  }
}
.sns--bottom {
  padding-top: min(3.2258064516vw, 40px);
  padding-bottom: min(3.6290322581vw, 45px);
}
@media screen and (max-width: 780px) {
  .sns--bottom {
    padding-top: 6.1538461538vw;
    padding-bottom: 6.5384615385vw;
  }
}
.sns--bottom::after {
  display: none;
}
.sns__list {
  display: flex;
  justify-content: center;
  gap: min(2.0967741935vw, 26px);
}
@media screen and (max-width: 780px) {
  .sns__list {
    gap: 5.7692307692vw;
  }
}
.sns li {
  width: min(3.8709677419vw, 48px);
}
@media screen and (max-width: 780px) {
  .sns li {
    width: 10.8974358974vw;
  }
}

#notfound-wrap {
  padding-top: min(5.1612903226vw, 64px);
}
@media screen and (max-width: 780px) {
  #notfound-wrap {
    padding-top: 0vw;
  }
}

.message {
  padding-top: min(0.6451612903vw, 8px);
}
@media screen and (max-width: 780px) {
  .message {
    padding: 13.3333333333vw 0;
  }
}
.message p {
  text-align: center;
  font-weight: 500;
}
.message__ttl {
  font-size: min(3.2258064516vw, 40px);
  line-height: 1.35;
  margin-bottom: min(3.2258064516vw, 40px);
}
@media screen and (max-width: 780px) {
  .message__ttl {
    font-size: 3.9743589744vw;
    line-height: 1.8709677419;
    margin-bottom: 6.1538461538vw;
  }
}
.message__txt {
  font-size: min(1.6129032258vw, 20px);
  line-height: 2;
}
@media screen and (max-width: 780px) {
  .message__txt {
    font-size: 3.3974358974vw;
    line-height: 1.8867924528;
  }
}

#toc_container {
	width: min(53.3870967742vw, 662px)!important;
    border: 2px solid #E8A9B1;
    margin: 0 auto;
    border-radius: 10px;
    display: block!important;
}
.toc_title {
    font-weight: 500;
    text-align: center;
    line-height: 1;
    padding: min(0.9677419355vw, 12px) 0;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}
.toc_list {
  padding: min(1.2903225806vw, min(1.935483871vw, 24px));
  font-weight: 500;
}
.toc_list a {
    color: #D1003E;
    text-underline-offset: min(0.1612903226vw, 2px);
}
/*
.toc_list a span {
    margin-right: min(0.7258064516vw, 9px);
}
*/
.toc_list a span:after {
	content:'.';
}
.toc_list ul {
    margin-left: min(1.6129032258vw, 20px);
}
.toc_brackets {
	display: none;
}
.toc_toggle {
	position: absolute;
    display: block;
    width: min(1.4516129032vw, 18px);
    height: min(1.4516129032vw, 18px);
    right: min(0.8870967742vw, 11px);
    top: 0;
    bottom: 0;
    margin: auto;
    transition: 0.5s;
    background-color: #E8A9B1;
    border-radius: 50%;
}
.toc_toggle a {
    color: #E8A9B1!important;
}
.toc_toggle:before, 
.toc_toggle:after {
  display: block;
  content: "";
  position: absolute;
  width: min(0.8870967742vw, 11px);
  height: min(0.1209677419vw, 1.5px);
  inset: 0;
  margin: auto;
  transform-origin: center;
  background-color: #ffffff;
}
#toc_container.contracted .toc_toggle:after {
    transform: rotate(-90deg);
}
@media screen and (max-width: 780px) {
  #toc_container {
    width: 100%!important;
  }
  .toc_toggle {
    width: 6.5384615385vw;
    height: 6.5384615385vw;
    right: 4.6153846154vw;
  }
  .toc_toggle:before,
  .toc_toggle:after {
    width: 3.9743589744vw;
    height: 0.641025641vw;
  }
  .toc_title {
    padding: 4.4871794872vw 0;
  }
  .toc_list {
    padding: 1.2820512821vw 3.8461538462vw 6.1538461538vw;
  }
  .toc_list > li {
    text-indent: -1em;
    padding-left: 1em;
  }
  .toc_list ul li {
    text-indent: -1.8em;
    padding-left: 2em;
  }
}