@charset "UTF-8";
/* リセットCSS */
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin-block-end: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
}

/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1, h2,
h3, h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
  font-family: inherit;
  font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  line-height: normal;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  text-align: inherit;
}

@view-transition {
  navigation: auto;
}
.feature-0001 {
  view-transition-name: feature-0001;
  contain: paint;
}

.feature-0002 {
  view-transition-name: feature-0002;
  contain: paint;
}

.feature-0003 {
  view-transition-name: feature-0003;
  contain: paint;
}

.feature-0004 {
  view-transition-name: feature-0004;
  contain: paint;
}

.feature-0005 {
  view-transition-name: feature-0005;
  contain: paint;
}

.feature-0006 {
  view-transition-name: feature-0006;
  contain: paint;
}

.feature-0007 {
  view-transition-name: feature-0007;
  contain: paint;
}

.feature-0008 {
  view-transition-name: feature-0008;
  contain: paint;
}

.feature-0009 {
  view-transition-name: feature-0009;
  contain: paint;
}

.feature-0010 {
  view-transition-name: feature-0010;
  contain: paint;
}

.feature-0011 {
  view-transition-name: feature-0011;
  contain: paint;
}

.feature-0012 {
  view-transition-name: feature-0012;
  contain: paint;
}

.feature-0013 {
  view-transition-name: feature-0013;
  contain: paint;
}

.feature-0014 {
  view-transition-name: feature-0014;
  contain: paint;
}

.feature-0015 {
  view-transition-name: feature-0015;
  contain: paint;
}

.feature-0016 {
  view-transition-name: feature-0016;
  contain: paint;
}

.feature-0017 {
  view-transition-name: feature-0017;
  contain: paint;
}

.feature-0018 {
  view-transition-name: feature-0018;
  contain: paint;
}

.feature-0019 {
  view-transition-name: feature-0019;
  contain: paint;
}

.feature-0020 {
  view-transition-name: feature-0020;
  contain: paint;
}

.feature-0021 {
  view-transition-name: feature-0021;
  contain: paint;
}

.feature-0022 {
  view-transition-name: feature-0022;
  contain: paint;
}

.feature-0023 {
  view-transition-name: feature-0023;
  contain: paint;
}

.feature-0024 {
  view-transition-name: feature-0024;
  contain: paint;
}

.feature-0025 {
  view-transition-name: feature-0025;
  contain: paint;
}

.feature-0026 {
  view-transition-name: feature-0026;
  contain: paint;
}

.feature-0027 {
  view-transition-name: feature-0027;
  contain: paint;
}

.feature-0028 {
  view-transition-name: feature-0028;
  contain: paint;
}

.feature-0029 {
  view-transition-name: feature-0029;
  contain: paint;
}

.feature-0030 {
  view-transition-name: feature-0030;
  contain: paint;
}

.feature-0031 {
  view-transition-name: feature-0031;
  contain: paint;
}

.feature-0032 {
  view-transition-name: feature-0032;
  contain: paint;
}

.feature-0033 {
  view-transition-name: feature-0033;
  contain: paint;
}

.feature-0034 {
  view-transition-name: feature-0034;
  contain: paint;
}

.feature-0035 {
  view-transition-name: feature-0035;
  contain: paint;
}

.feature-0036 {
  view-transition-name: feature-0036;
  contain: paint;
}

.feature-0037 {
  view-transition-name: feature-0037;
  contain: paint;
}

.feature-0038 {
  view-transition-name: feature-0038;
  contain: paint;
}

.feature-0039 {
  view-transition-name: feature-0039;
  contain: paint;
}

.feature-0040 {
  view-transition-name: feature-0040;
  contain: paint;
}

.feature-0041 {
  view-transition-name: feature-0041;
  contain: paint;
}

.feature-0042 {
  view-transition-name: feature-0042;
  contain: paint;
}

.feature-0043 {
  view-transition-name: feature-0043;
  contain: paint;
}

.feature-0044 {
  view-transition-name: feature-0044;
  contain: paint;
}

.feature-0045 {
  view-transition-name: feature-0045;
  contain: paint;
}

.feature-0046 {
  view-transition-name: feature-0046;
  contain: paint;
}

.feature-0047 {
  view-transition-name: feature-0047;
  contain: paint;
}

.feature-0048 {
  view-transition-name: feature-0048;
  contain: paint;
}

.feature-0049 {
  view-transition-name: feature-0049;
  contain: paint;
}

.feature-0050 {
  view-transition-name: feature-0050;
  contain: paint;
}

.feature-0051 {
  view-transition-name: feature-0051;
  contain: paint;
}

.feature-0052 {
  view-transition-name: feature-0052;
  contain: paint;
}

.feature-0053 {
  view-transition-name: feature-0053;
  contain: paint;
}

.feature-0054 {
  view-transition-name: feature-0054;
  contain: paint;
}

.feature-0055 {
  view-transition-name: feature-0055;
  contain: paint;
}

.feature-0056 {
  view-transition-name: feature-0056;
  contain: paint;
}

.feature-0057 {
  view-transition-name: feature-0057;
  contain: paint;
}

.feature-0058 {
  view-transition-name: feature-0058;
  contain: paint;
}

.feature-0059 {
  view-transition-name: feature-0059;
  contain: paint;
}

.feature-0060 {
  view-transition-name: feature-0060;
  contain: paint;
}

.feature-0061 {
  view-transition-name: feature-0061;
  contain: paint;
}

.feature-0062 {
  view-transition-name: feature-0062;
  contain: paint;
}

.feature-0063 {
  view-transition-name: feature-0063;
  contain: paint;
}

.feature-0064 {
  view-transition-name: feature-0064;
  contain: paint;
}

.feature-0065 {
  view-transition-name: feature-0065;
  contain: paint;
}

.feature-0066 {
  view-transition-name: feature-0066;
  contain: paint;
}

.feature-0067 {
  view-transition-name: feature-0067;
  contain: paint;
}

.feature-0068 {
  view-transition-name: feature-0068;
  contain: paint;
}

.feature-0069 {
  view-transition-name: feature-0069;
  contain: paint;
}

.feature-0070 {
  view-transition-name: feature-0070;
  contain: paint;
}

.feature-0071 {
  view-transition-name: feature-0071;
  contain: paint;
}

.feature-0072 {
  view-transition-name: feature-0072;
  contain: paint;
}

.feature-0073 {
  view-transition-name: feature-0073;
  contain: paint;
}

.feature-0074 {
  view-transition-name: feature-0074;
  contain: paint;
}

.feature-0075 {
  view-transition-name: feature-0075;
  contain: paint;
}

.feature-0076 {
  view-transition-name: feature-0076;
  contain: paint;
}

.feature-0077 {
  view-transition-name: feature-0077;
  contain: paint;
}

.feature-0078 {
  view-transition-name: feature-0078;
  contain: paint;
}

.feature-0079 {
  view-transition-name: feature-0079;
  contain: paint;
}

.feature-0080 {
  view-transition-name: feature-0080;
  contain: paint;
}

.feature-0081 {
  view-transition-name: feature-0081;
  contain: paint;
}

.feature-0082 {
  view-transition-name: feature-0082;
  contain: paint;
}

.feature-0083 {
  view-transition-name: feature-0083;
  contain: paint;
}

.feature-0084 {
  view-transition-name: feature-0084;
  contain: paint;
}

.feature-0085 {
  view-transition-name: feature-0085;
  contain: paint;
}

.feature-0086 {
  view-transition-name: feature-0086;
  contain: paint;
}

.feature-0087 {
  view-transition-name: feature-0087;
  contain: paint;
}

.feature-0088 {
  view-transition-name: feature-0088;
  contain: paint;
}

.feature-0089 {
  view-transition-name: feature-0089;
  contain: paint;
}

.feature-0090 {
  view-transition-name: feature-0090;
  contain: paint;
}

.feature-0091 {
  view-transition-name: feature-0091;
  contain: paint;
}

.feature-0092 {
  view-transition-name: feature-0092;
  contain: paint;
}

.feature-0093 {
  view-transition-name: feature-0093;
  contain: paint;
}

.feature-0094 {
  view-transition-name: feature-0094;
  contain: paint;
}

.feature-0095 {
  view-transition-name: feature-0095;
  contain: paint;
}

.feature-0096 {
  view-transition-name: feature-0096;
  contain: paint;
}

.feature-0097 {
  view-transition-name: feature-0097;
  contain: paint;
}

.feature-0098 {
  view-transition-name: feature-0098;
  contain: paint;
}

.feature-0099 {
  view-transition-name: feature-0099;
  contain: paint;
}

.feature-0100 {
  view-transition-name: feature-0100;
  contain: paint;
}

.feature__list {
  width: 100%;
  max-width: 74.0740740741vw;
  margin: 0 auto;
  flex-wrap: wrap;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3.3068783069vw;
}
@media screen and (768px <= width <= 1280px) {
  .feature__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (width < 768px) {
  .feature__list {
    max-width: none;
    grid-template-columns: repeat(2, 1fr);
    gap: 5.1282051282vw;
  }
}
@media screen and (width < 480px) and (orientation: portrait) {
  .feature__list {
    grid-template-columns: 1fr;
    row-gap: 10.2564102564vw;
  }
}
.feature__list--item {
  display: grid;
  grid-row: span 4;
  grid-template-rows: subgrid;
  gap: 0;
}
@media screen and (width < 480px) and (orientation: portrait) {
  .feature__list--item {
    width: 100%;
  }
}
.feature__list--item > a {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  margin-bottom: 1em;
}
.feature__list--item > a .feature_list--img {
  position: relative;
}
.feature__list--item > a .feature_list--img.is-light::after {
  border-color: #BBBBBB;
}
.feature__list--item > a .feature_list--img.is-light .arrow::before,
.feature__list--item > a .feature_list--img.is-light .arrow::after {
  background-color: #BBBBBB;
}
.feature__list--item > a .feature_list--img::after {
  content: "";
  position: absolute;
  bottom: 1.3227513228vw;
  right: 1.3227513228vw;
  width: 3.0423280423vw;
  height: 3.0423280423vw;
  border-radius: 50%;
  border: 1px solid #FFFFFF;
}
@media screen and (width < 768px) {
  .feature__list--item > a .feature_list--img::after {
    bottom: clamp(8px, 2.5641025641vw, 12px);
    right: clamp(8px, 2.5641025641vw, 12px);
    width: clamp(36px, 10.2564102564vw, 44px);
    height: clamp(36px, 10.2564102564vw, 44px);
  }
}
.feature__list--item > a .arrow {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
}
.feature__list--item > a .arrow::before, .feature__list--item > a .arrow::after {
  content: "";
  position: absolute;
  bottom: 2.7777777778vw;
  right: 2.380952381vw;
  width: 0.9259259259vw;
  height: 1px;
  border-radius: 9999px;
  background-color: #FFFFFF;
  transform-origin: calc(100% - 0.5px) 50%;
  z-index: 100;
}
@media screen and (width < 768px) {
  .feature__list--item > a .arrow::before, .feature__list--item > a .arrow::after {
    bottom: clamp(24px, 7.6923076923vw, 32px);
    right: clamp(23px, 6.4102564103vw, 27px);
    width: clamp(8px, 2.5641025641vw, 12px);
  }
}
.feature__list--item > a .arrow::before {
  transform: rotate(30deg);
}
.feature__list--item > a .arrow::after {
  transform: rotate(-30deg);
}
.feature__list--item:hover .feature_list--img {
  filter: grayscale(0%);
}
.feature__list--img {
  width: 100%;
  aspect-ratio: 1;
  transition: 0.3s filter;
  margin-bottom: 1.5em;
  min-height: 0;
  min-width: 0;
}
@media screen and (width < 768px) {
  .feature__list--img {
    filter: grayscale(0%);
  }
}
.feature__list--img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.feature__list--title {
  text-wrap: auto;
  font-size: clamp(12px, 0.9259259259vw, 14px);
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 0.5em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 4.5em;
}
@media screen and (width > 1512px) {
  .feature__list--title {
    font-size: 0.9259259259vw;
  }
}
@media screen and (768px <= width <= 1280px) {
  .feature__list--title {
    font-size: clamp(12px, 0.9259259259vw, 14px);
  }
}
@media screen and (width < 768px) {
  .feature__list--title {
    font-size: clamp(12px, 3.5897435897vw, 14px);
  }
}
@media screen and (width < 480px) and (orientation: portrait) {
  .feature__list--title {
    font-size: clamp(12px, 3.5897435897vw, 14px);
  }
}
.feature__list--title--lg {
  text-wrap: auto;
  font-size: clamp(14px, 1.0582010582vw, 16px);
  font-weight: 500;
  line-height: 150%;
  padding-bottom: 0.5em;
}
@media screen and (width > 1512px) {
  .feature__list--title--lg {
    font-size: 1.0582010582vw;
  }
}
@media screen and (width < 768px) {
  .feature__list--title--lg {
    font-size: clamp(14px, 4.1025641026vw, 16px);
  }
}
@media screen and (width < 480px) and (orientation: portrait) {
  .feature__list--title--lg {
    font-size: clamp(14px, 4.1025641026vw, 16px);
  }
}
.feature__list--cat {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  margin-bottom: 1em;
}
.feature__list--cat li {
  color: #BBBBBB;
  font-size: clamp(11px, 3.0769230769vw, 12px);
  font-weight: 400;
  padding: 0 0.5em 0 0;
  margin: 0 0.5em 0.7em 0;
  border-right: 1px solid #5A5B5B;
  line-height: 1;
}
.feature__list--cat li:last-of-type {
  border-right: none;
}
@media screen and (width > 1512px) {
  .feature__list--cat li {
    font-size: 0.7936507937vw;
  }
}
@media screen and (width < 768px) {
  .feature__list--cat li {
    font-size: clamp(11px, 3.0769230769vw, 12px);
  }
}
@media screen and (width < 480px) and (orientation: portrait) {
  .feature__list--cat li {
    font-size: clamp(11px, 3.0769230769vw, 12px);
  }
}

.feature__hero-list {
  display: flex;
  flex-wrap: wrap;
}
.feature__hero-date {
  font-size: clamp(12px, 0.9259259259vw, 16px);
  line-height: 1.8;
  margin-bottom: 0.9920634921vw;
}
@media screen and (width < 768px) {
  .feature__hero-date {
    font-size: clamp(12px, 3.5897435897vw, 16px);
    margin-bottom: 2.5641025641vw;
  }
}
.feature__hero-title {
  font-size: clamp(18px, 1.3227513228vw, 24px);
  font-weight: 600;
  line-height: 1.7;
  margin: 0.9920634921vw 0;
}
@media screen and (width < 768px) {
  .feature__hero-title {
    font-size: clamp(16px, 4.6153846154vw, 20px);
    margin: 2.5641025641vw 0;
  }
}
.feature__hero-category {
  font-weight: 600;
  line-height: 1;
}
@media print, screen and (min-width: 811px) {
  .feature__hero-img-wrap {
    width: 16.5343915344vw;
    margin-right: 3.3068783069vw;
  }
  .feature__hero-info {
    width: calc(100% - 19.8412698413vw);
  }
}
@media screen and (width < 768px) {
  .feature__hero {
    margin-top: 12.8205128205vw;
  }
  .feature__hero-img-wrap, .feature__hero-info {
    width: 100%;
  }
  .feature__hero-info {
    margin-top: 3.8461538462vw;
  }
}
.feature__link-list {
  margin-top: 6.6137566138vw;
  margin-inline: auto;
  background: #E6E6E6;
  max-width: 800px;
  padding: 1.9841269841vw;
}
@media screen and (width < 768px) {
  .feature__link-list {
    margin-top: 2.6455026455vw;
    padding: 2.6455026455vw 1.3227513228vw;
  }
}
.feature__link-list ul li + li {
  margin-top: 1.3227513228vw;
}
@media screen and (width < 768px) {
  .feature__link-list ul li + li {
    margin-top: 0.6613756614vw;
  }
}
@media screen and (width < 768px) {
  .feature__link-list ul li + li {
    margin-top: 5.1282051282vw;
  }
}
.feature__link-list ul li span {
  display: block;
}
.feature__link-list ul li span a {
  display: block;
}
.feature__profile {
  margin-top: 6.6137566138vw;
  border-top: 1px solid #BBBBBB;
  padding-top: 4.9603174603vw;
}
.feature__profile-list {
  display: flex;
  flex-wrap: wrap;
  width: 80%;
  margin-inline: auto;
}
.feature__profile-name {
  font-size: clamp(18px, 1.3227513228vw, 24px);
  font-weight: 600;
  line-height: 1.7;
}
.feature__profile-name span {
  font-size: clamp(14px, 0.9920634921vw, 18px);
}
@media screen and (width < 768px) {
  .feature__profile-name {
    font-size: clamp(16px, 5.1282051282vw, 22px);
  }
  .feature__profile-name span {
    font-size: clamp(12px, 3.8461538462vw, 16px);
  }
}
.feature__profile-text {
  font-size: clamp(12px, 0.9259259259vw, 16px);
  margin: 0.9920634921vw 0;
}
@media screen and (width < 768px) {
  .feature__profile-text {
    font-size: clamp(12px, 3.5897435897vw, 16px);
    margin: 2.5641025641vw 0;
  }
}
@media print, screen and (min-width: 811px) {
  .feature__profile-img-wrap {
    order: 2;
    width: 26.455026455vw;
    margin-left: 3.3068783069vw;
  }
  .feature__profile-info {
    order: 1;
    width: calc(100% - 29.7619047619vw);
  }
}
@media screen and (width < 768px) {
  .feature__profile {
    margin-top: 7.6923076923vw;
    padding-top: 7.6923076923vw;
  }
  .feature__profile-img-wrap, .feature__profile-info {
    width: 100%;
  }
  .feature__profile-info {
    margin-top: 3.8461538462vw;
  }
}
.feature__content > .feature__section {
  margin-top: 7.9365079365vw;
  max-width: 80%;
  margin-inline: auto;
}
@media screen and (width < 768px) {
  .feature__content > .feature__section {
    margin-top: 12.8205128205vw;
  }
}
.feature__img {
  margin-inline: auto;
  margin-top: 1.9841269841vw;
}
.feature__img.sz--l {
  max-width: 100%;
}
.feature__img.sz--m {
  max-width: 75%;
}
.feature__img.sz--s {
  max-width: 50%;
}
.feature__img.vertical {
  max-width: 50%;
}
.feature__img.vertical.sz--l {
  max-width: 50%;
}
.feature__img.vertical.sz--m {
  max-width: 37%;
}
.feature__img.vertical.sz--s {
  max-width: 25%;
}
@media screen and (width < 768px) {
  .feature__img {
    margin-top: 5.1282051282vw;
  }
}
.feature__img img {
  width: 100%;
  height: auto;
}
.feature__heading {
  position: relative;
  font-size: clamp(18px, 1.3227513228vw, 24px);
  line-height: 1.7;
  margin: 0 0 0.9920634921vw 4.9603174603vw;
}
.feature__heading::before {
  content: "";
  position: absolute;
  top: 1.1904761905vw;
  left: -4.9603174603vw;
  width: 3.9682539683vw;
  height: 1px;
  background-color: #5A5B5B;
}
@media screen and (width < 768px) {
  .feature__heading {
    font-size: clamp(14px, 4.1025641026vw, 18px);
    margin: 0 0 2.5641025641vw 10.2564102564vw;
  }
  .feature__heading::before {
    top: 3.3333333333vw;
    left: -10.2564102564vw;
    width: 7.6923076923vw;
  }
}
.feature__text {
  font-weight: 300;
  line-height: 2;
  text-indent: 1em;
  font-size: clamp(14px, 1.0582010582vw, 18px);
}
@media screen and (width > 1512px) {
  .feature__text {
    font-size: 1.0582010582vw;
  }
}
@media screen and (width < 768px) {
  .feature__text {
    font-size: clamp(14px, 4.1025641026vw, 18px);
  }
}
.feature__text + .feature__text {
  margin-top: 1.3227513228vw;
}
@media screen and (width < 768px) {
  .feature__text + .feature__text {
    margin-top: 1.2820512821vw;
  }
}
.feature__text--appended {
  font-size: 90%;
  color: #a88667;
}
.feature__text--appended + .feature__text {
  margin-top: 2em;
}
.feature__notes {
  margin-top: 1.9841269841vw;
}
@media screen and (width < 768px) {
  .feature__notes {
    margin-top: 7.6923076923vw;
  }
}
.feature__note-item {
  position: relative;
  font-size: clamp(12px, 0.9259259259vw, 16px);
  margin-left: 1.2em;
}
@media screen and (width < 768px) {
  .feature__note-item {
    font-size: clamp(12px, 3.5897435897vw, 16px);
  }
}
.feature__note-item + .feature__note-item {
  margin-top: 0.3306878307vw;
}
@media screen and (width < 768px) {
  .feature__note-item + .feature__note-item {
    margin-top: 1.2820512821vw;
  }
}
.feature__note-item::before {
  content: "●";
  position: absolute;
  top: 0;
  left: -1.2em;
}
.feature__sign {
  text-align: right;
  margin-top: 1.9841269841vw;
}
@media screen and (width < 768px) {
  .feature__sign {
    margin-top: 7.6923076923vw;
  }
}
.feature__sign img {
  display: inline-block;
  width: 10.582010582vw;
}
@media screen and (width < 768px) {
  .feature__sign img {
    width: 25.641025641vw;
  }
}
.feature__postscript {
  border-top: 1px solid #BBBBBB;
  margin-top: 3.3068783069vw;
  padding-top: 3.3068783069vw;
}
.feature__postscript-text {
  text-indent: 0;
}
.feature__postscript-text--right {
  text-align: right;
}
@media screen and (width < 768px) {
  .feature__postscript {
    margin-top: 7.6923076923vw;
    padding-top: 7.6923076923vw;
  }
}

.archive--wrap {
  margin-top: 6.6137566138vw;
  border-top: 1px solid #BBBBBB;
  padding-top: 4.9603174603vw;
}

/* 詳細ページの下部に読み込まれる一覧リストの view-transition-name を無効化して重複を防ぐ */
.feature ~ .section__inner--wrap .feature__list [class^=feature-] {
  view-transition-name: none !important;
}