@charset "UTF-8";
/*------------------------------------------------------------------------------
  reset
------------------------------------------------------------------------------*/
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
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,
sub,
sup,
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 {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

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

ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

button {
  background-color: transparent;
  cursor: pointer;
}

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

/*------------------------------------------------------------------------------
  base
------------------------------------------------------------------------------*/
html {
  font-size: 62.5%;
}

#wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  overflow: hidden;
}

body {
  color: #333;
  font-size: 1.6rem;
  font-weight: normal;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-family: "Noto Sans JP", sans-serif;
  background-color: #fff;
  margin: 0;
}
@media screen and (max-width: 900px) {
  body {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.3rem;
  }
}
body.noscroll {
  overflow: hidden;
  position: fixed;
  width: 100%;
  height: 100%;
}

img {
  border: 0;
  margin: 0;
  vertical-align: bottom;
  max-width: 100%;
  -webkit-user-drag: none;
}

p {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

a {
  color: #333;
  text-decoration: none;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}
a:hover {
  opacity: 0.85;
}

.object_cover {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.object_contain {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

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

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

/*------------------------------------------------------------------------------
  l-contents
------------------------------------------------------------------------------*/
.l-contents {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 25.6rem;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 1080px) {
  .l-contents {
    padding-left: 0;
  }
}

.l-contents__main {
  display: block;
  background-color: transparent;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
}

.l-contents__container {
  margin-top: 3.2rem;
}
@media screen and (max-width: 520px) {
  .l-contents__container {
    margin-top: 2.4rem;
  }
}

.l-contents__wave-top-bg {
  padding-top: 13.6rem;
  padding-bottom: 17.36vw;
}
@media screen and (max-width: 767px) {
  .l-contents__wave-top-bg {
    padding-top: 10.6rem;
    padding-bottom: 30vw;
  }
}
.l-contents__wave-top-bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../img/wave-bg-top.png);
  background-repeat: no-repeat;
  background-position: center 0;
  background-size: cover;
  width: 101vw;
  height: 53vw;
  z-index: -2;
}
@media screen and (max-width: 1080px) {
  .l-contents__wave-top-bg::before {
    left: 50%;
  }
}
@media screen and (max-width: 767px) {
  .l-contents__wave-top-bg::before {
    top: 31px;
    background-image: url(../img/wave-bg-top_sp.png);
    height: 133.7vw;
  }
}
.l-contents__wave-top-bg::after {
  content: "";
  position: absolute;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #EDF6EC;
  width: 101vw;
  height: 100%;
  z-index: -3;
  top: 10vw;
  height: calc(100% - 10vw);
}
@media screen and (max-width: 1080px) {
  .l-contents__wave-top-bg::after {
    left: 50%;
  }
}
@media screen and (max-width: 767px) {
  .l-contents__wave-top-bg::after {
    top: 35vw;
    height: calc(100% - 35vw);
  }
}

.l-contents__wave-bottom-bg {
  width: 100%;
  position: relative;
}
.l-contents__wave-bottom-bg::before {
  bottom: -13.5vw;
  content: "";
  position: absolute;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../img/white-wave-bg.png);
  background-repeat: no-repeat;
  background-position: center 0;
  background-size: cover;
  width: 101vw;
  height: 30.73vw;
  z-index: -1;
}
@media screen and (max-width: 1080px) {
  .l-contents__wave-bottom-bg::before {
    left: 50%;
  }
}
@media screen and (max-width: 767px) {
  .l-contents__wave-bottom-bg::before {
    bottom: -8vw;
  }
}
.l-contents__wave-bottom-bg::after {
  bottom: calc(100% - 95vw);
  content: "";
  position: absolute;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #fff;
  width: 101vw;
  height: 90vw;
  z-index: -1;
}
@media screen and (max-width: 1080px) {
  .l-contents__wave-bottom-bg::after {
    left: 50%;
  }
}

.l-contents__section {
  margin-bottom: 8rem;
}

.l-contents__wave-top-bg--favorite::before {
  background-image: url(../img/wave-bg-top--pink.png);
}
.l-contents__wave-top-bg--favorite::after {
  background-color: #FBF5F4;
}

/*------------------------------------------------------------------------------
  l-header
------------------------------------------------------------------------------*/
.l-header {
  position: fixed;
  top: 16px;
  right: 16px;
  width: 100%;
  max-width: 51.6rem;
  border-radius: 10px;
  background-color: #F0F0F0;
  z-index: 9999;
}
@media screen and (max-width: 1080px) {
  .l-header {
    right: auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    max-width: 72rem;
    background-color: #fff;
    border: 1px solid #E0E0E0;
  }
}
@media screen and (max-width: 767px) {
  .l-header {
    top: 0;
    width: calc(100% - 12px);
    border-radius: 0 0 10px 10px;
    border-top: none;
  }
}

.l-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 5.6rem;
  padding-left: 2.4rem;
}
@media screen and (max-width: 767px) {
  .l-header__inner {
    height: 6.4rem;
    padding-left: 1.6rem;
  }
}

.l-header__logo {
  display: none;
}
@media screen and (max-width: 1080px) {
  .l-header__logo {
    display: block;
    max-width: 20rem;
    padding-right: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header__logo {
    margin-right: auto;
  }
}

.l-header__contact {
  color: #333;
  font-size: 1.5rem;
  font-weight: bold;
  position: relative;
  padding-left: 2.2rem;
}
@media screen and (max-width: 1080px) {
  .l-header__contact {
    display: none;
  }
}
.l-header__contact::before {
  content: "";
  position: absolute;
  top: 48%;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #333;
  border-radius: 1px;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
}

.l-header__keyword {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1rem 1rem 1rem 2.4rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-header__keyword {
    display: none;
  }
}

.l-header__keyword__label {
  max-width: 26.4rem;
  width: 100%;
  height: 36px;
  background-color: #fff;
  border-radius: 24px;
  border: 1px solid #333;
}
.l-header__keyword__label input {
  font-size: 1.6rem !important;
  font-weight: normal;
  letter-spacing: 0;
  font-family: "Noto Sans JP", sans-serif;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: calc(100% - 26px);
  height: 100%;
  padding: 12px 12px 12px 20px;
}
.l-header__keyword__label input::-webkit-input-placeholder {
  font-size: 1.5rem;
  opacity: 0.7;
}
.l-header__keyword__label input::-moz-placeholder {
  font-size: 1.5rem;
  opacity: 0.7;
}
.l-header__keyword__label input:-ms-input-placeholder {
  font-size: 1.5rem;
  opacity: 0.7;
}
.l-header__keyword__label input::-ms-input-placeholder {
  font-size: 1.5rem;
  opacity: 0.7;
}
.l-header__keyword__label input::placeholder {
  font-size: 1.5rem;
  opacity: 0.7;
}
.l-header__keyword__label input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  display: none;
}

.l-header__keyword-btn {
  position: absolute;
  top: 50%;
  right: 24px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url(../img/search-green.svg);
  background-size: 16px 16px;
  background-repeat: no-repeat;
}

.l-header__favorite {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 80px;
          flex: 0 0 80px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1;
  text-align: center;
  background-color: #E45A3E;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: auto;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  border-radius: 0 10px 10px 0;
  padding-top: 1.2rem;
  position: relative;
}
@media screen and (max-width: 1080px) {
  .l-header__favorite {
    border-radius: 0;
  }
}
@media screen and (max-width: 767px) {
  .l-header__favorite {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 64px;
            flex: 0 0 64px;
    font-size: 1rem;
    padding-top: 1.8rem;
  }
}
.l-header__favorite::after {
  content: "";
  position: absolute;
  bottom: 8px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 18px;
  height: 18px;
  background-image: url(../img/star-white.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .l-header__favorite::after {
    width: 15px;
    height: 15px;
    bottom: 15px;
  }
}

/*------------------------------------------------------------------------------
  l-attention
------------------------------------------------------------------------------*/
.l-attention__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 13rem;
}
@media screen and (max-width: 767px) {
  .l-attention__contents {
    display: block;
    margin-bottom: 6.4rem;
  }
}

.l-attention__text-wrap {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 72.5%;
          flex: 0 1 72.5%;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-right: 1px solid #ccc;
  padding-right: 4rem;
}
@media screen and (max-width: 767px) {
  .l-attention__text-wrap {
    font-size: 1.3rem;
    word-break: break-all;
    border-right: none;
    border-bottom: 1px solid #ccc;
    padding: 0 0 2.4rem;
    margin-bottom: 2.4rem;
  }
}

.l-attention__title {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 767px) {
  .l-attention__title {
    margin-bottom: 1.2rem;
  }
}

.l-attention__texts {
  text-align: justify;
}
.l-attention__texts p:not(:last-child) {
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 767px) {
  .l-attention__texts p:not(:last-child) {
    margin-bottom: 1rem;
  }
}

.l-attention__contact {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 27.5%;
          flex: 0 1 27.5%;
  padding-left: 4rem;
}
@media screen and (max-width: 767px) {
  .l-attention__contact {
    padding-left: 0;
  }
}
.l-attention__contact .c-btn {
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 767px) {
  .l-attention__contact .c-btn {
    margin-bottom: 1.2rem;
  }
}

.l-attention__link {
  font-size: 1.4rem;
  font-weight: normal;
  display: inline-block;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .l-attention__link {
    font-size: 1.2rem;
  }
}

/*------------------------------------------------------------------------------
  l-footer
------------------------------------------------------------------------------*/
.l-footer {
  background-color: #555;
  position: relative;
  padding: 6.4rem 0;
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding: 4.8rem 0 3.2rem;
  }
}
.l-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #555;
  width: 101vw;
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 1080px) {
  .l-footer::before {
    left: 50%;
  }
}

.l-footer__inner {
  position: relative;
}

.l-footer__illust {
  position: absolute;
  top: -189px;
  right: -112px;
  max-width: 395px;
}
@media screen and (max-width: 1339px) {
  .l-footer__illust {
    top: -13.12vw;
    right: -1vw;
    width: 27.43vw;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__illust {
    top: -25vw;
    width: 42vw;
  }
}

.l-footer__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .l-footer__contents {
    display: block;
  }
}

.l-footer__texts {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .l-footer__texts {
    font-size: 1.3rem;
    letter-spacing: 0.04em;
  }
}

.l-footer__title {
  font-weight: bold;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .l-footer__title {
    font-size: 1.45rem;
  }
}

.l-footer__text-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .l-footer__text-flex {
    display: block;
    margin-bottom: 2.4rem;
  }
}

.l-footer__text-list {
  margin-right: 2.4rem;
}
@media screen and (max-width: 767px) {
  .l-footer__text-list {
    letter-spacing: 0.1em;
    margin: 0 0 1.6rem;
  }
}

.l-footer__map.c-btn {
  border: 1px solid #fff;
  font-weight: normal;
  background-color: transparent;
  max-width: 19.3rem;
  height: 3.4rem;
}
@media screen and (max-width: 767px) {
  .l-footer__map.c-btn {
    font-size: 1.25rem;
    max-width: 21rem;
  }
}
.l-footer__map.c-btn::after {
  top: 51%;
  right: 14px;
  width: 8px;
  height: 8px;
}

.l-footer__logo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  max-width: 25.4rem;
  width: 100%;
}

/*------------------------------------------------------------------------------
  l-sidebar
------------------------------------------------------------------------------*/
.l-sidebar {
  position: fixed;
  top: 16px;
  left: 0;
  background-color: #fff;
  width: 100%;
  max-width: 25.6rem;
  border-radius: 0 10px 12px 0;
  border: 2px solid #D1D9D0;
  border-left: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-height: calc(100vh - 32px);
  z-index: 99;
  overflow-y: auto;
  overflow-x: hidden;
  /* スクロールバーのスタイリング */
  /* Firefox用 */
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.15) transparent;
}
@media screen and (max-width: 1080px) {
  .l-sidebar {
    display: none;
  }
}
.l-sidebar::-webkit-scrollbar {
  width: 2px;
  background: transparent;
}
.l-sidebar::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.15);
  border-radius: 4px;
}

.l-sidebar__logo {
  max-width: 21.6rem;
  margin: 24px auto;
}
.l-sidebar__logo a:hover {
  opacity: 0.7;
}

.l-sidebar__nav {
  border-top: 1px dashed #ADADAD;
}

.l-sidebar__menu-item {
  border-bottom: 1px dashed #ADADAD;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.l-sidebar__menu {
  position: relative;
}

.l-sidebar__menu-link {
  font-size: 1.6rem;
  font-weight: bold;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  padding: 1.6rem 1.2rem 1.6rem 2.8rem;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}
.l-sidebar__menu-link::before {
  content: "";
  position: absolute;
  top: 52.5%;
  left: 12px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
  background-color: #6FBA2C;
  width: 7px;
  height: 7px;
}

.l-sidebar__menu-toggle {
  position: absolute;
  top: 50.5%;
  right: 12px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
  width: 26px;
  height: 26px;
  background-color: #D9D9D9;
  /* 展開時のスタイル（is-openクラスで制御） */
}
.l-sidebar__menu-toggle::before, .l-sidebar__menu-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-radius: 5px;
  background-color: #333;
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
}
.l-sidebar__menu-toggle::before {
  width: 2px;
  height: 10px;
}
.l-sidebar__menu-toggle::after {
  width: 10px;
  height: 2px;
}
.l-sidebar__menu-toggle.is-open::before {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}

.l-sidebar__submenu-wrap {
  border-top: 1px dashed #ADADAD;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 2.6rem;
  display: none;
}
.l-sidebar__submenu-wrap.is-expanded {
  display: block;
}

.l-sidebar__submenu {
  position: relative;
}

.l-sidebar__submenu-item:last-child .l-sidebar__submenu-link {
  border-bottom: none;
}
.l-sidebar__submenu-item:last-child .l-sidebar__submenu-link.show-border-bottom {
  border-bottom: 1px dashed #ADADAD;
}
.l-sidebar__submenu-item:last-child .l-sidebar__topic-item:last-child {
  border-bottom: none;
}

.l-sidebar__submenu-link {
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  display: block;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-bottom: 1px dashed #ADADAD;
  padding: 1.6rem 4.4rem 1.6rem 1.6rem;
  position: relative;
}
.l-sidebar__submenu-link::before {
  content: "";
  position: absolute;
  top: 22.5px;
  left: 0;
  border-radius: 50%;
  border: 2px solid #6FBA2C;
  width: 9px;
  height: 9px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.l-sidebar__topic {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 1.6rem;
}
.l-sidebar__topic.is-expanded {
  display: block;
}

.l-sidebar__topic-item {
  border-bottom: 1px dashed #ADADAD;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.l-sidebar__topic-link {
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  position: relative;
  display: block;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1.2rem 3.7rem 1.2rem 1.7rem;
}
.l-sidebar__topic-link::before {
  content: "";
  position: absolute;
  top: 19px;
  left: 0;
  border-radius: 50%;
  background-color: #d9d9d9;
  width: 7px;
  height: 7px;
}
.l-sidebar__topic-link::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 16px;
  background-image: url(../img/caretR-black.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 11px;
  height: 11px;
  pointer-events: none;
}

/*------------------------------------------------------------------------------
  c-inner
------------------------------------------------------------------------------*/
.c-inner {
  max-width: 1040px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 2rem;
}
@media screen and (max-width: 767px) {
  .c-inner {
    padding: 0 1.6rem;
  }
}

.c-inner--lg {
  max-width: 1140px;
}

/*------------------------------------------------------------------------------
  c-breadcrumb
------------------------------------------------------------------------------*/
.c-breadcrumb {
  width: 100%;
}

.c-breadcrumb__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.c-breadcrumb__item {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.c-breadcrumb__item:not(:last-child) {
  margin-right: 35px;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__item:not(:last-child) {
    margin-right: 25px;
  }
}
.c-breadcrumb__item:not(:last-child)::after {
  content: "＞";
  position: absolute;
  top: 7px;
  right: -24px;
  color: #555;
  font-size: 1rem;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__item:not(:last-child)::after {
    top: 4.5px;
    right: -17px;
    font-size: 0.8rem;
  }
}

.c-breadcrumb__link {
  color: #555;
  font-size: 1.3rem;
  font-weight: normal;
  letter-spacing: 0.02em;
  line-height: 1.7;
  display: inline-block;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb__link {
    font-size: 1.2rem;
    letter-spacing: 0;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}
.c-breadcrumb__link.--current {
  pointer-events: none;
  text-decoration: none;
}

/*------------------------------------------------------------------------------
  c-pagination
------------------------------------------------------------------------------*/
.c-pagination {
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .c-pagination {
    margin-top: 2.4rem;
  }
}
.c-pagination .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-pagination .page-numbers li {
  margin: 0 2px;
}
.c-pagination .page-numbers span,
.c-pagination .page-numbers a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #707070;
  font-size: 1.6rem;
  font-weight: bold;
  font-family: "Barlow Condensed", sans-serif;
  background-color: #fff;
  border-radius: 50%;
  border: 1px solid #707070;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 36px;
  height: 36px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  padding-top: 1px;
}
@media screen and (max-width: 767px) {
  .c-pagination .page-numbers span,
  .c-pagination .page-numbers a {
    font-size: 1.4rem;
    width: 30px;
    height: 30px;
  }
}
.c-pagination .page-numbers span.current,
.c-pagination .page-numbers a.current {
  pointer-events: none;
}
.c-pagination .page-numbers span.current, .c-pagination .page-numbers span:hover,
.c-pagination .page-numbers a.current,
.c-pagination .page-numbers a:hover {
  color: #479600;
  border-color: #479600;
  opacity: 1;
}
.c-pagination .page-numbers .dots {
  font-weight: bold;
  pointer-events: none;
  border: none;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  border: none;
  border-radius: 0;
  width: auto;
  margin-left: 6px;
  background-color: transparent;
}
.c-pagination .page-numbers .prev,
.c-pagination .page-numbers .next {
  position: relative;
}
.c-pagination .page-numbers .prev::before,
.c-pagination .page-numbers .next::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 36px;
  height: 36px;
}
@media screen and (max-width: 767px) {
  .c-pagination .page-numbers .prev::before,
  .c-pagination .page-numbers .next::before {
    width: 30px;
    height: 30px;
  }
}
.c-pagination .page-numbers .prev:hover,
.c-pagination .page-numbers .next:hover {
  opacity: 0.8;
}
.c-pagination .page-numbers .prev {
  margin-right: 14px;
}
.c-pagination .page-numbers .prev::before {
  background-image: url(../img/prev-btn.svg);
}
.c-pagination .page-numbers .next {
  margin-left: 14px;
}
.c-pagination .page-numbers .next::before {
  background-image: url(../img/next-btn.svg);
}

/*------------------------------------------------------------------------------
  c-btn
------------------------------------------------------------------------------*/
.c-btn {
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.08em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  background-color: #333;
  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;
  max-width: 22.4rem;
  width: 100%;
  height: 4rem;
  border-radius: 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-btn {
    font-size: 1.3rem;
    max-width: 19rem;
    height: 3.6rem;
  }
}
.c-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url(../img/arrowR-white.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 10px;
  height: 10px;
}
@media screen and (max-width: 767px) {
  .c-btn::after {
    width: 8px;
    height: 8px;
  }
}

.c-btn--md {
  max-width: 28rem;
  height: 5rem;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .c-btn--md {
    font-size: 1.3rem;
    max-width: 24.6rem;
    height: 4.2rem;
  }
  .c-btn--md::after {
    top: 52%;
  }
}

.c-btn--lg {
  font-size: 1.6rem;
  max-width: 32rem;
  height: 5rem;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .c-btn--lg {
    font-size: 1.4rem;
    max-width: 24.6rem;
    height: 4.2rem;
  }
}
.c-btn--lg::after {
  right: 20px;
}

.c-btn--green {
  background-color: #479600;
}

.c-btn--highlight {
  font-size: 1.5rem;
  background-color: #479600;
  max-width: 31rem;
  height: 5.2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 60px;
  -webkit-box-shadow: 0px 5px 0px 0px #387700;
          box-shadow: 0px 5px 0px 0px #387700;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  padding-right: 1.8rem;
  position: relative;
  top: 0;
}
@media screen and (max-width: 767px) {
  .c-btn--highlight {
    font-size: 1.4rem;
    max-width: 29rem;
    height: 4.8rem;
    padding-right: 1.4rem;
  }
}
.c-btn--highlight:hover {
  opacity: 0.95;
  -webkit-box-shadow: none;
          box-shadow: none;
  top: 4px;
}

.c-btn--dl::after {
  right: 20px;
  background-image: url(../img/download.svg);
  width: 22px;
  height: 22px;
}
@media screen and (max-width: 767px) {
  .c-btn--dl::after {
    right: 18px;
    width: 19px;
    height: 19px;
  }
}

/*------------------------------------------------------------------------------
  c-burger-btn
------------------------------------------------------------------------------*/
.c-burger-btn {
  display: none;
}
@media screen and (max-width: 1080px) {
  .c-burger-btn {
    display: block;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 80px;
            flex: 0 0 80px;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 0.04em;
    line-height: 1;
    text-align: center;
    background-color: #333;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: auto;
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    border-radius: 0 10px 10px 0;
    /* ハンバーガーメニューが開いたとき */
  }
  .c-burger-btn.cross .c-burger-btn__bar--top {
    -webkit-transition-delay: 40ms;
            transition-delay: 40ms;
    -webkit-transform: translateY(3px) rotate(135deg);
            transform: translateY(3px) rotate(135deg);
  }
  .c-burger-btn.cross .c-burger-btn__bar--bottom {
    -webkit-transition-delay: 20ms;
            transition-delay: 20ms;
    -webkit-transform: translateY(-3px) rotate(-135deg);
            transform: translateY(-3px) rotate(-135deg);
  }
}
@media screen and (max-width: 767px) {
  .c-burger-btn {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 64px;
            flex: 0 0 64px;
    font-size: 1rem;
    border-radius: 0 0 10px 0;
  }
}

.c-burger-btn__text {
  margin-bottom: 8px;
  display: block;
}

.c-burger-btn__bar {
  margin: 0 auto;
  display: block;
  height: 2px;
  width: 16px;
  border-radius: 3px;
  background-color: #fff;
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: -webkit-transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.c-burger-btn__bar--top {
  margin-bottom: 4px;
}

/*------------------------------------------------------------------------------
  c-burger-menu
------------------------------------------------------------------------------*/
.c-burger-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.c-burger-menu.is-open {
  opacity: 1;
  visibility: visible;
}
.c-burger-menu.is-open .c-burger-menu__inner {
  height: 100vh;
}

.c-burger-menu__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  background-color: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.c-burger-menu__contents {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 1.6rem;
  position: relative;
  z-index: 1;
  margin-bottom: -56px;
}

.c-burger-menu__nav {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 8.2rem;
  margin-bottom: 4rem;
}

.c-burger-menu__nav-item {
  border-bottom: 1px dashed #ADADAD;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.c-burger-menu__item {
  position: relative;
}

.c-burger-menu__item-link {
  font-size: 1.6rem;
  font-weight: bold;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  padding: 2rem 1.2rem 2rem 2.8rem;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
}
.c-burger-menu__item-link::before {
  content: "";
  position: absolute;
  top: 52.5%;
  left: 12px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
  background-color: #6FBA2C;
  width: 7px;
  height: 7px;
}

.c-burger-menu__toggle {
  position: absolute;
  top: 50.5%;
  right: 12px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
  width: 26px;
  height: 26px;
  background-color: #D9D9D9;
  /* 展開時のスタイル（is-openクラスで制御） */
}
.c-burger-menu__toggle::before, .c-burger-menu__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-radius: 5px;
  background-color: #333;
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
}
.c-burger-menu__toggle::before {
  width: 2px;
  height: 10px;
}
.c-burger-menu__toggle::after {
  width: 10px;
  height: 2px;
}
.c-burger-menu__toggle.is-open::before {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}

.c-burger-menu__submenu-wrap {
  border-top: 1px dashed #ADADAD;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 2.6rem;
  display: none;
}
.c-burger-menu__submenu-wrap.is-expanded {
  display: block;
}

.c-burger-menu__submenu {
  position: relative;
}

.c-burger-menu__submenu-item:last-child .c-burger-menu__submenu-link {
  border-bottom: none;
}
.c-burger-menu__submenu-item:last-child .c-burger-menu__submenu-link.show-border-bottom {
  border-bottom: 1px dashed #ADADAD;
}
.c-burger-menu__submenu-item:last-child .c-burger-menu__topic-item:last-child {
  border-bottom: none;
}

.c-burger-menu__submenu-link {
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  display: block;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-bottom: 1px dashed #ADADAD;
  padding: 1.6rem 4.4rem 1.6rem 1.6rem;
  position: relative;
}
.c-burger-menu__submenu-link::before {
  content: "";
  position: absolute;
  top: 22.5px;
  left: 0;
  border-radius: 50%;
  border: 2px solid #6FBA2C;
  width: 9px;
  height: 9px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.c-burger-menu__topic {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 1.6rem;
}
.c-burger-menu__topic.is-expanded {
  display: block;
}

.c-burger-menu__topic-item {
  border-bottom: 1px dashed #ADADAD;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.c-burger-menu__topic-link {
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  position: relative;
  display: block;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1.2rem 3.7rem 1.2rem 1.7rem;
}
.c-burger-menu__topic-link::before {
  content: "";
  position: absolute;
  top: 19px;
  left: 0;
  border-radius: 50%;
  background-color: #d9d9d9;
  width: 7px;
  height: 7px;
}
.c-burger-menu__topic-link::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 16px;
  background-image: url(../img/caretR-black.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 11px;
  height: 11px;
  pointer-events: none;
}

.c-burger-menu__keyword {
  margin-bottom: 4rem;
}

.c-burger-menu__text {
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 1.2rem;
}

.c-burger-menur__keyword-label {
  width: 100%;
  height: 48px;
  background-color: #fff;
  border-radius: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid #ccc;
}
.c-burger-menur__keyword-label input {
  font-size: 1.6rem !important;
  font-weight: normal;
  letter-spacing: 0;
  font-family: "Noto Sans JP", sans-serif;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: calc(100% - 26px);
  height: 100%;
  padding: 12px 12px 12px 24px;
}
.c-burger-menur__keyword-label input::-webkit-input-placeholder {
  font-size: 1.4rem;
  opacity: 0.7;
}
.c-burger-menur__keyword-label input::-moz-placeholder {
  font-size: 1.4rem;
  opacity: 0.7;
}
.c-burger-menur__keyword-label input:-ms-input-placeholder {
  font-size: 1.4rem;
  opacity: 0.7;
}
.c-burger-menur__keyword-label input::-ms-input-placeholder {
  font-size: 1.4rem;
  opacity: 0.7;
}
.c-burger-menur__keyword-label input::placeholder {
  font-size: 1.4rem;
  opacity: 0.7;
}
.c-burger-menur__keyword-label input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  display: none;
}

.c-burger-menu__keyword-btn {
  width: 64px;
  height: calc(100% + 2px);
  background-color: #479600;
  position: relative;
  border-radius: 0 24px 24px 0;
  display: block;
  margin: -1px -1px 0 0;
}
.c-burger-menu__keyword-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 21px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url(../img/search-white.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 17px;
  height: 17px;
}

.c-burger-menu__contact-btn {
  max-width: 32rem;
  background-color: #479600;
  height: 48px;
  border-radius: 32px;
  margin-bottom: 1.6rem;
}

.c-burger-menu__privacy-policy {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: 0;
  text-decoration: underline;
  display: inline-block;
}

.c-burger-menu__illust {
  position: relative;
  margin-top: auto;
}

/*------------------------------------------------------------------------------
  c-title
------------------------------------------------------------------------------*/
.c-title__en {
  color: #479600;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.03em;
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  margin-bottom: 0.4rem;
}
@media screen and (max-width: 767px) {
  .c-title__en {
    font-size: 1.4rem;
  }
}

.c-title__en--capitalize {
  text-transform: capitalize;
}

.c-title__ja {
  font-size: 2.8rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .c-title__ja {
    font-size: 2rem;
  }
}

.c-title__ja--md {
  font-size: 2.6rem;
}
@media screen and (max-width: 767px) {
  .c-title__ja--md {
    font-size: 1.8rem;
    letter-spacing: 0.02em;
  }
}

.c-title02__en {
  color: #479600;
  font-size: 1.9rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.05em;
  font-family: "Barlow Condensed", sans-serif;
  margin-bottom: 0.2rem;
}
@media screen and (max-width: 767px) {
  .c-title02__en {
    font-size: 1.4rem;
  }
}

.c-title02__ja {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-title02__ja {
    font-size: 1.6rem;
  }
}

/*------------------------------------------------------------------------------
  c-heading
------------------------------------------------------------------------------*/
.c-heading {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.07em;
  min-height: 18.3rem;
  padding-top: 6.4rem;
  padding-left: 3.2rem;
  padding-bottom: 2rem;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 1080px) {
  .c-heading {
    font-size: 2.7rem;
  }
}
@media screen and (max-width: 767px) {
  .c-heading {
    font-size: 1.9rem;
    letter-spacing: 0.03em;
    min-height: 11.2rem;
    padding-top: 3.2rem;
    padding-left: 1.6rem;
  }
}
.c-heading::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 15.2rem;
  height: 15.2rem;
  background-color: #F5FAF0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .c-heading::before {
    width: 8.2rem;
    height: 8.2rem;
  }
}
.c-heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 2px;
  background-color: #479600;
}
@media screen and (max-width: 767px) {
  .c-heading::after {
    width: 52px;
    height: 1.5px;
  }
}

/*------------------------------------------------------------------------------
  c-card
------------------------------------------------------------------------------*/
.c-card-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 34px 2.46%;
}
@media screen and (max-width: 767px) {
  .c-card-wrap {
    gap: 20px 3%;
  }
}

.c-card {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 31.67%;
          flex: 0 1 31.67%;
  max-width: 31.67rem;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 10px;
  border: 2px solid #333;
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (max-width: 767px) {
  .c-card {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 48.5%;
            flex: 0 1 48.5%;
    max-width: 100%;
    border-width: 1px;
  }
}
.c-card:hover {
  opacity: 0.9;
}

.c-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}

.c-card__img {
  width: 100%;
}
.c-card__img img {
  aspect-ratio: 3/2;
  border-radius: 8px 8px 0 0;
}

.c-card__body {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1.6rem;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .c-card__body {
    padding: 1.2rem;
  }
}

.c-card__label {
  -ms-flex-item-align: start;
      align-self: flex-start;
}

.c-card__title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.06em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  padding-bottom: 0.4rem;
  margin: 0.8rem 0;
}
@media screen and (max-width: 1080px) {
  .c-card__title {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-card__title {
    line-height: 1.4;
  }
}

.c-card__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-top: 1px dashed #333;
  padding-top: 1.6rem;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 767px) {
  .c-card__info {
    display: block;
    margin-bottom: 1.2rem;
  }
}

.c-card__info-item {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-right: 1.6rem;
}
@media screen and (max-width: 1080px) {
  .c-card__info-item {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .c-card__info-item {
    font-size: 1.2rem;
    letter-spacing: 0.02em;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    padding-right: 0;
  }
}

.c-card__date {
  display: block;
  margin-bottom: 0.2rem;
}

.c-card__icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 6rem;
          flex: 0 0 6rem;
}
@media screen and (max-width: 1080px) {
  .c-card__icon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 4.8rem;
            flex: 0 0 4.8rem;
  }
}
@media screen and (max-width: 767px) {
  .c-card__icon {
    max-width: 8rem;
    margin: 0.8rem auto 0;
  }
}
.c-card__icon img {
  border-radius: 50%;
}

.c-card__btn {
  margin: auto auto 0;
}

.c-card__favorite {
  position: absolute;
  top: -10px;
  right: 14px;
  width: 40px;
  height: 42px;
  background-image: url(../img/favorite-off.png);
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
  z-index: 99;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  display: block;
}
@media screen and (max-width: 767px) {
  .c-card__favorite {
    right: 4px;
    width: 26px;
    height: 28px;
  }
}
.c-card__favorite.is-active {
  background-image: url(../img/favorite-on.png);
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.c-card__favorite:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

/*------------------------------------------------------------------------------
  c-media
------------------------------------------------------------------------------*/
.c-media {
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 10px;
  border: 2px solid #333;
  overflow: hidden;
  display: block;
}
@media screen and (max-width: 767px) {
  .c-media {
    border-width: 1px;
  }
}
.c-media:not(:last-child) {
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 767px) {
  .c-media:not(:last-child) {
    margin-bottom: 2rem;
  }
}

.c-media__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 200px;
}
@media screen and (max-width: 767px) {
  .c-media__main {
    display: block;
    min-height: 0;
  }
}

.c-media__img-wrap {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 344px;
          flex: 0 1 344px;
  position: relative;
}
@media screen and (max-width: 1080px) {
  .c-media__img-wrap {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 312px;
            flex: 0 1 312px;
  }
}

.c-media__title {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  background-color: #fff;
  text-align: center;
  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: 5px;
  width: 100%;
  max-width: 26.4rem;
  height: 100%;
  max-height: 10.4rem;
}
@media screen and (max-width: 1080px) {
  .c-media__title {
    font-size: 2rem;
    max-width: 21.2rem;
    max-height: 8.8rem;
  }
}

.c-media__img {
  height: 100%;
}
@media screen and (max-width: 767px) {
  .c-media__img img {
    aspect-ratio: 344/200;
  }
}

.c-media__detail {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 2.4rem;
}
@media screen and (max-width: 767px) {
  .c-media__detail {
    padding: 0 1.6rem;
  }
}
.c-media__detail.--green .c-media__detail-title::before {
  background-image: url(../img/check-green.svg);
}
.c-media__detail.--teal .c-media__detail-title::before {
  background-image: url(../img/check-teal.svg);
}
.c-media__detail.--peach .c-media__detail-title::before {
  background-image: url(../img/check-peach.svg);
}
.c-media__detail.--orange .c-media__detail-title::before {
  background-image: url(../img/check-orange.svg);
}
.c-media__detail.--blue .c-media__detail-title::before {
  background-image: url(../img/check-blue.svg);
}

.c-media__detail-item {
  padding: 1.6rem 0 1.6rem 2.6rem;
}
@media screen and (max-width: 767px) {
  .c-media__detail-item {
    padding: 1.6rem 0 1.6rem 2.2rem;
  }
}
.c-media__detail-item:not(:last-child) {
  border-bottom: 1px dashed #333;
}

.c-media__detail-title {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0;
  position: relative;
}
@media screen and (max-width: 1080px) {
  .c-media__detail-title {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .c-media__detail-title {
    font-size: 1.4rem;
  }
}
.c-media__detail-title::before {
  content: "";
  position: absolute;
  top: 2.5px;
  left: -26px;
  background-repeat: no-repeat;
  background-size: contain;
  width: 18px;
  height: 22px;
}
@media screen and (max-width: 1080px) {
  .c-media__detail-title::before {
    top: 1px;
  }
}
@media screen and (max-width: 767px) {
  .c-media__detail-title::before {
    top: 0.5px;
    left: -22px;
    width: 16px;
    height: 20px;
  }
}

.c-media__detail-texts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px 30px;
  font-size: 1.4rem;
  font-weight: normal;
  margin-top: 0.6rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 8px;
  position: relative;
}
@media screen and (max-width: 1080px) {
  .c-media__detail-texts {
    font-size: 1.3rem;
    gap: 4px 20px;
    padding-left: 4px;
  }
}
@media screen and (max-width: 767px) {
  .c-media__detail-texts {
    font-size: 1.2rem;
  }
}
.c-media__detail-texts::before {
  content: "(";
  position: absolute;
  top: -1px;
  left: -8px;
}
.c-media__detail-texts li:not(:last-child)::after {
  content: "/";
  position: relative;
  top: 0;
  right: -15px;
}
@media screen and (max-width: 1080px) {
  .c-media__detail-texts li:not(:last-child)::after {
    right: -10px;
  }
}
.c-media__detail-texts li:last-child {
  padding-right: 10px;
}
.c-media__detail-texts li:last-child::after {
  content: ")";
  position: relative;
  top: 0px;
  right: -10px;
}
@media screen and (max-width: 1080px) {
  .c-media__detail-texts li:last-child::after {
    right: -8px;
  }
}

.c-media__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: #F6F6F6;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 2.4rem;
}
@media screen and (max-width: 767px) {
  .c-media__bottom {
    display: block;
    padding: 1.6rem;
  }
}

.c-media__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  line-height: 1.8;
  letter-spacing: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-right: 2.4rem;
}
@media screen and (max-width: 1080px) {
  .c-media__text {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .c-media__text {
    font-size: 1.2rem;
    padding-right: 0;
  }
}

.c-media__btn {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-item-align: end;
      align-self: flex-end;
}
@media screen and (max-width: 767px) {
  .c-media__btn {
    margin: 1.2rem auto 0;
  }
}

/*------------------------------------------------------------------------------
  c-member-card
------------------------------------------------------------------------------*/
.c-member-card {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 32.18%;
          flex: 0 1 32.18%;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 10px;
  border: 1px dashed #6FBA2C;
  padding: 3.2rem 2.4rem;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
@media screen and (max-width: 900px) {
  .c-member-card {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 49%;
            flex: 0 1 49%;
  }
}
@media screen and (max-width: 520px) {
  .c-member-card {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
    padding: 2.4rem 1.6rem;
  }
}
.c-member-card:hover {
  opacity: 0.9;
}
.c-member-card:hover .c-member-card__more {
  text-decoration: underline;
}

.c-member-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: 100%;
}

.c-member-card__img {
  max-width: 18rem;
  width: 100%;
  margin: 0 auto 1.6rem;
}
@media screen and (max-width: 900px) {
  .c-member-card__img {
    width: 84%;
  }
}
.c-member-card__img img {
  border-radius: 50%;
}

.c-member-card__position {
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  margin-bottom: 0.4rem;
}
@media screen and (max-width: 900px) {
  .c-member-card__position {
    font-size: 1.3rem;
  }
}

.c-member-card__name {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 900px) {
  .c-member-card__name {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 520px) {
  .c-member-card__name {
    font-size: 1.6rem;
  }
}

.c-member-card__text-head {
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0;
  display: inline-block;
  -ms-flex-item-align: start;
      align-self: flex-start;
  border-bottom: 1px solid #ccc;
  padding-bottom: 0.6rem;
  margin: 0.8rem 0;
}

.c-member-card__text {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: 0;
  line-height: 1.8;
  padding-bottom: 1.6rem;
}
@media screen and (max-width: 900px) {
  .c-member-card__text {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 520px) {
  .c-member-card__text {
    font-size: 1.2rem;
    line-height: 1.6;
  }
}

.c-member-card__more {
  color: #479600;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.08em;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: right;
  padding-right: 1.8rem;
  margin-top: auto;
  position: relative;
}
@media screen and (max-width: 520px) {
  .c-member-card__more {
    font-size: 1.3rem;
    padding-right: 1.4rem;
  }
}
.c-member-card__more::after {
  content: "";
  position: absolute;
  top: 3px;
  right: 0;
  background-image: url(../img/arrowR-green.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 10px;
  height: 10px;
}
@media screen and (max-width: 520px) {
  .c-member-card__more::after {
    width: 8px;
    height: 8px;
  }
}

.c-member-card--compact {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 23.75%;
          flex: 0 1 23.75%;
  padding: 2.4rem;
}
@media screen and (max-width: 900px) {
  .c-member-card--compact {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 32%;
            flex: 0 1 32%;
    padding: 2rem;
  }
}
@media screen and (max-width: 520px) {
  .c-member-card--compact {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 48%;
            flex: 0 1 48%;
  }
}
.c-member-card--compact .c-member-card__img {
  max-width: 13.8rem;
}
@media screen and (max-width: 900px) {
  .c-member-card--compact .c-member-card__img {
    width: 80%;
  }
}
.c-member-card--compact .c-member-card__position {
  font-size: 1.3rem;
}
@media screen and (max-width: 900px) {
  .c-member-card--compact .c-member-card__position {
    font-size: 1.2rem;
  }
}
.c-member-card--compact .c-member-card__name {
  font-size: 1.8rem;
}
@media screen and (max-width: 900px) {
  .c-member-card--compact .c-member-card__name {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 520px) {
  .c-member-card--compact .c-member-card__name {
    font-size: 1.5rem;
  }
}
.c-member-card--compact .c-member-card__text {
  font-size: 1.3rem;
  line-height: 1.6;
}
@media screen and (max-width: 900px) {
  .c-member-card--compact .c-member-card__text {
    font-size: 1.2rem;
  }
}
.c-member-card--compact .c-member-card__more {
  font-size: 1.3rem;
  padding-right: 1.6rem;
}
@media screen and (max-width: 520px) {
  .c-member-card--compact .c-member-card__more {
    font-size: 1.2rem;
    padding-right: 1.2rem;
  }
}
.c-member-card--compact .c-member-card__more::after {
  width: 9px;
  height: 9px;
}
@media screen and (max-width: 520px) {
  .c-member-card--compact .c-member-card__more::after {
    width: 7px;
    height: 7px;
  }
}

/*------------------------------------------------------------------------------
  c-member-media
------------------------------------------------------------------------------*/
.c-member-media {
  width: 100%;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #6FBA2C;
  border-radius: 10px;
  padding: 2.4rem;
}
@media screen and (max-width: 900px) {
  .c-member-media {
    padding: 2rem 1.6rem;
  }
}

.c-member-media__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}

.c-member-media__icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 12rem;
          flex: 0 1 12rem;
  display: block;
  margin-right: 1.6rem;
}
@media screen and (max-width: 900px) {
  .c-member-media__icon {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 8.8rem;
            flex: 0 1 8.8rem;
    margin-right: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .c-member-media__icon {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 8rem;
            flex: 0 1 8rem;
  }
}
.c-member-media__icon img {
  border-radius: 50%;
}

.c-member-media__detail {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.c-member-media__name {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 900px) {
  .c-member-media__name {
    font-size: 1.6rem;
  }
}

.c-member-media__text {
  font-size: 1.4rem;
  line-height: 1.8;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 900px) {
  .c-member-media__text {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .c-member-media__text {
    font-size: 1.2rem;
    line-height: 1.7;
  }
}

.c-member-media__label-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px 4px;
  margin-bottom: 1.6rem;
}
.c-member-media__label-list .c-label--primary {
  font-size: 1.2rem;
  padding: 0.6rem 1.2rem;
  min-height: 24px;
}

.c-member-media__more {
  color: #479600;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.08em;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: right;
  padding-right: 1.8rem;
  margin-top: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-member-media__more {
    font-size: 1.3rem;
    padding-right: 1.4rem;
  }
}
.c-member-media__more::after {
  content: "";
  position: absolute;
  top: 3px;
  right: 0;
  background-image: url(../img/arrowR-green.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 10px;
  height: 10px;
}
@media screen and (max-width: 767px) {
  .c-member-media__more::after {
    top: 3.5px;
    width: 8px;
    height: 8px;
  }
}

/*------------------------------------------------------------------------------
  c-label
------------------------------------------------------------------------------*/
.c-label {
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1.34;
  text-align: center;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0.4rem 1.2rem;
  background-color: #D1E9BB;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .c-label {
    font-size: 1.1rem;
    padding: 0.4rem 1rem;
  }
}

.c-label--primary {
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.2;
  background-color: #6FBA2C;
  padding: 0.6rem 1.6rem;
  min-height: 30px;
  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;
}
@media screen and (max-width: 767px) {
  .c-label--primary {
    font-size: 1.2rem;
    padding: 0.4rem 1.2rem;
    min-height: 28px;
  }
}

.c-label--black {
  color: #fff;
  background-color: #4F4F4F;
  border: 1px solid #4F4F4F;
  padding: 0.4rem 1.2rem;
}

/*------------------------------------------------------------------------------
  c-researcher
------------------------------------------------------------------------------*/
.c-researcher {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #F5FAF0;
  border-radius: 32px;
  padding: 6.4rem 1.6rem;
}
@media screen and (max-width: 767px) {
  .c-researcher {
    border-radius: 20px;
    padding: 4rem 1.6rem;
  }
}

.c-researcher__title {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 2.8rem;
}
@media screen and (max-width: 767px) {
  .c-researcher__title {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    margin-bottom: 2rem;
  }
}
.c-researcher__title span {
  color: #479600;
}

.c-researcher__media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 86.4rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .c-researcher__media {
    display: block;
  }
}
.c-researcher__media:first-child {
  padding-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .c-researcher__media:first-child {
    padding-top: 1.2rem;
  }
}
.c-researcher__media:nth-child(2) {
  border-top: 1px dashed #6FBA2C;
  margin-top: 4.4rem;
}
@media screen and (max-width: 767px) {
  .c-researcher__media:nth-child(2) {
    margin-top: 3.2rem;
  }
}
.c-researcher__media:nth-child(n+2) {
  border-bottom: 1px dashed #6FBA2C;
  padding: 4.4rem 0;
}
@media screen and (max-width: 767px) {
  .c-researcher__media:nth-child(n+2) {
    padding: 3.2rem 0;
  }
}

.c-researcher__icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 15.6rem;
          flex: 0 0 15.6rem;
  height: 15.6rem;
  display: block;
  margin-right: 2rem;
  position: relative;
}
@media screen and (max-width: 900px) {
  .c-researcher__icon {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 13rem;
            flex: 0 0 13rem;
    height: 13rem;
    margin-top: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .c-researcher__icon {
    margin: 0 auto 1.2rem;
    width: 15.2rem;
    height: 15.2rem;
  }
}
.c-researcher__icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 5px solid #6FBA2C;
  border-radius: 50%;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .c-researcher__icon::before {
    border-width: 4px;
  }
}
.c-researcher__icon img {
  border-radius: 50%;
}

.c-researcher__media-detail {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: 2rem;
}
@media screen and (max-width: 900px) {
  .c-researcher__media-detail {
    margin-left: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .c-researcher__media-detail {
    margin-left: 0;
  }
}

.c-researcher__name {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 0.4rem;
}
@media screen and (max-width: 767px) {
  .c-researcher__name {
    font-size: 1.9rem;
    letter-spacing: 0.1em;
  }
}

.c-researcher__other-post {
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .c-researcher__other-post {
    margin-top: 2rem;
  }
}

.c-researcher__other-post-heading {
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 767px) {
  .c-researcher__other-post-heading {
    font-size: 1.5rem;
    margin-bottom: 0.8rem;
  }
}

.c-researcher__other-post-list li {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .c-researcher__other-post-list li {
    font-size: 1.3rem;
    line-height: 1.7;
  }
}
.c-researcher__other-post-list li:not(:last-child) {
  margin-bottom: 0.6rem;
}
.c-researcher__other-post-list li a {
  text-decoration: underline;
}

/*------------------------------------------------------------------------------
  c-backnumber
------------------------------------------------------------------------------*/
.c-backnumber__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3.5%;
}
@media screen and (max-width: 767px) {
  .c-backnumber__list {
    gap: 24px 4%;
  }
}

.c-backnumber__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 11 31%;
          flex: 0 11 31%;
  border-radius: 16px 16px 0 0;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-backnumber__item {
    border-radius: 8px 8px 0 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 48%;
            flex: 0 1 48%;
  }
}

.c-backnumber__year {
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "Barlow Condensed", sans-serif;
  background-color: #494949;
  display: inline-block;
  border-radius: 16px 0 16px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0.65rem 2.2rem;
}
@media screen and (max-width: 767px) {
  .c-backnumber__year {
    font-size: 1.6rem;
    padding: 0.55rem 1.4rem;
    border-radius: 8px 0 8px 0;
  }
}

.c-backnumber__img {
  width: 100%;
  border-radius: 16px;
}
@media screen and (max-width: 767px) {
  .c-backnumber__img {
    border-radius: 8px;
  }
}
.c-backnumber__img img {
  border-radius: 16px;
}
@media screen and (max-width: 767px) {
  .c-backnumber__img img {
    border-radius: 8px;
  }
}

.c-backnumber__item-title {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-align: center;
  margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  .c-backnumber__item-title {
    font-size: 1.5rem;
    letter-spacing: 0.07em;
    margin-top: 0.6rem;
  }
}

.c-backnumber__list--more {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 44px 1.6%;
  margin-top: 4.4rem;
}
@media screen and (max-width: 767px) {
  .c-backnumber__list--more {
    margin-top: 3.2rem;
    gap: 20px 3.5%;
  }
}
.c-backnumber__list--more .c-backnumber__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 18.7%;
          flex: 0 1 18.7%;
}
@media screen and (max-width: 767px) {
  .c-backnumber__list--more .c-backnumber__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 31%;
            flex: 0 1 31%;
  }
}
.c-backnumber__list--more .c-backnumber__year {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .c-backnumber__list--more .c-backnumber__year {
    font-size: 1.4rem;
  }
}
.c-backnumber__list--more .c-backnumber__item-title {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .c-backnumber__list--more .c-backnumber__item-title {
    font-size: 1.2rem;
  }
}

/*------------------------------------------------------------------------------
  c-link-list
------------------------------------------------------------------------------*/
.c-link-list li:not(:last-child) {
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 767px) {
  .c-link-list li:not(:last-child) {
    margin-bottom: 0.4rem;
  }
}
.c-link-list li a {
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.08em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-decoration: underline;
  display: inline-block;
}

/*------------------------------------------------------------------------------
  c-label-title
------------------------------------------------------------------------------*/
.c-label-title {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.7;
  background-color: #F5FAF0;
  border-left: 5px solid #479600;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  padding: 0.8rem 1.6rem 0.8rem 2rem;
}
@media screen and (max-width: 900px) {
  .c-label-title {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .c-label-title {
    font-size: 1.5rem;
    line-height: 1.5;
    border-width: 4px;
    padding: 0.6rem 1.2rem 0.6rem 1.4rem;
  }
}

/*------------------------------------------------------------------------------
  c-check-list
------------------------------------------------------------------------------*/
.c-check-list li {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 3rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-check-list li {
    font-size: 1.4rem;
    padding-left: 1.8rem;
  }
}
.c-check-list li:not(:last-child) {
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 767px) {
  .c-check-list li:not(:last-child) {
    margin-bottom: 0.4rem;
  }
}
.c-check-list li::before {
  content: "";
  position: absolute;
  top: 2.5px;
  left: 0;
  background-image: url(../img/check-dark-green.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 24px;
  height: 24px;
}
@media screen and (max-width: 767px) {
  .c-check-list li::before {
    width: 17px;
    height: 17px;
  }
}

/*------------------------------------------------------------------------------
  c-hotspot
------------------------------------------------------------------------------*/
.c-hotspot {
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 32px;
  -webkit-box-shadow: 0px 0px 28px 0px rgba(37, 157, 11, 0.06);
          box-shadow: 0px 0px 28px 0px rgba(37, 157, 11, 0.06);
  padding: 8rem 1.6rem 7.2rem;
}
@media screen and (max-width: 767px) {
  .c-hotspot {
    border-radius: 16px;
    padding: 4.8rem 1.6rem 4rem;
  }
}
.c-hotspot:not(:last-child) {
  margin-bottom: 10.4rem;
}
@media screen and (max-width: 767px) {
  .c-hotspot:not(:last-child) {
    margin-bottom: 4.8rem;
  }
}

.c-hotspot__label {
  position: absolute;
  top: -95px;
  left: 0px;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  line-height: 1.5;
  background: linear-gradient(98deg, #21A305 1.53%, #1A8C01 100.86%);
  display: inline-block;
  border-radius: 0 1px 1px 1px;
  padding: 0.4rem 3.6rem;
}
@media screen and (max-width: 767px) {
  .c-hotspot__label {
    top: -63px;
    left: 10px;
    font-size: 1.7rem;
    letter-spacing: 0.1em;
    padding: 0.5rem 2rem;
  }
}
.c-hotspot__label::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -15px;
  width: 14px;
  height: 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0 0 14px 15px;
  border-color: transparent transparent #21A305 transparent;
}

.c-hotspot__inner {
  max-width: 90rem;
  margin: 0 auto;
  position: relative;
}

.c-hotspot__detail:not(:last-child) {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .c-hotspot__detail:not(:last-child) {
    margin-bottom: 2.4rem;
  }
}

.c-hotspot__lead {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.7;
  letter-spacing: 0.05em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 2rem;
  margin-bottom: 1.6rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-hotspot__lead {
    font-size: 1.4rem;
    line-height: 1.55;
    letter-spacing: 0.02em;
    padding-left: 1.4rem;
    margin-bottom: 1.2rem;
  }
}
.c-hotspot__lead::before {
  content: "";
  position: absolute;
  top: 13px;
  left: 0;
  background-color: #479600;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .c-hotspot__lead::before {
    top: 8px;
    width: 7px;
    height: 7px;
  }
}

.c-hotspot__img-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.c-hotspot__img {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 48%;
          flex: 0 1 48%;
  width: 100%;
}
.c-hotspot__img img {
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .c-hotspot__img img {
    border-radius: 6px;
  }
}
.c-hotspot__img figcaption {
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.7;
  letter-spacing: 0;
  display: block;
  margin-top: 0.6rem;
}
@media screen and (max-width: 767px) {
  .c-hotspot__img figcaption {
    font-size: 1.2rem;
    line-height: 1.4;
    letter-spacing: 0.02em;
    word-break: break-all;
    text-align: justify;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}

/*------------------------------------------------------------------------------
  c-comparison
------------------------------------------------------------------------------*/
.c-comparison-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .c-comparison-wrap {
    display: block;
  }
}

.c-comparison {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 48%;
          flex: 0 1 48%;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 24px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-comparison {
    border-radius: 16px;
  }
  .c-comparison:not(:last-child) {
    margin-bottom: 2.4rem;
  }
}

.c-comparison__heading {
  color: #fff;
  font-size: 2.3rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  background-color: #479600;
  text-align: center;
  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;
  height: 7.7rem;
}
@media screen and (max-width: 767px) {
  .c-comparison__heading {
    font-size: 1.8rem;
    height: 5.6rem;
  }
}

.c-comparison__body {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 2.4rem 3.2rem;
}
@media screen and (max-width: 767px) {
  .c-comparison__body {
    padding: 1.6rem 2rem 2rem;
  }
}

.c-comparison__text {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.7;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 767px) {
  .c-comparison__text {
    font-size: 1.7rem;
    margin-bottom: 0.8rem;
  }
}

.c-comparison__list {
  min-height: 12.1rem;
}
@media screen and (max-width: 767px) {
  .c-comparison__list {
    min-height: 0;
  }
}
.c-comparison__list li {
  font-weight: 500;
  line-height: 1.7;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 1.6rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-comparison__list li {
    padding-left: 1.4rem;
  }
}
.c-comparison__list li::before {
  content: "";
  position: absolute;
  top: 11px;
  left: 0;
  background-color: #479600;
  border-radius: 50%;
  width: 7px;
  height: 7px;
}
@media screen and (max-width: 767px) {
  .c-comparison__list li::before {
    top: 9px;
    width: 6px;
    height: 6px;
  }
}
.c-comparison__list li:not(:last-child) {
  margin-bottom: 0.4rem;
}
@media screen and (max-width: 767px) {
  .c-comparison__list li:not(:last-child) {
    margin-bottom: 0.2rem;
  }
}

.c-comparison__detail {
  max-width: 100%;
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .c-comparison__detail {
    margin-top: 1.2rem;
  }
}

.c-comparison__detail-title {
  color: #5BAC00;
  font-size: 1.9rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: center;
  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;
  width: 100%;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 767px) {
  .c-comparison__detail-title {
    font-size: 1.6rem;
    margin-bottom: 0.6rem;
  }
}

.c-comparison__figure {
  width: 100%;
}

/*------------------------------------------------------------------------------
  p-mv
------------------------------------------------------------------------------*/
.p-mv {
  padding-top: 12rem;
  padding-bottom: 6.4rem;
}
.p-mv::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../img/wave-bg-top.png);
  background-repeat: no-repeat;
  background-position: center 0;
  background-size: cover;
  width: 101vw;
  height: 53vw;
  z-index: -2;
}
@media screen and (max-width: 1080px) {
  .p-mv::before {
    left: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-mv::before {
    top: 31px;
    background-image: url(../img/wave-bg-top_sp.png);
    height: 133.7vw;
  }
}
@media screen and (max-width: 1080px) {
  .p-mv::after {
    content: "";
    position: absolute;
    left: calc(50% - 12.8rem);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background-color: #EDF6EC;
    width: 101vw;
    height: 100%;
    z-index: -3;
    top: 10vw;
  }
}
@media screen and (max-width: 1080px) and (max-width: 1080px) {
  .p-mv::after {
    left: 50%;
  }
}
@media screen and (max-width: 1080px) and (max-width: 767px) {
  .p-mv::after {
    top: 40vw;
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .p-mv {
    padding-top: 10.6rem;
    padding-bottom: 20.51vw;
  }
}

.p-mv__inner {
  position: relative;
}

.p-mv__illust {
  position: absolute;
}
.p-mv__illust.--1 {
  top: -14px;
  left: -46px;
  max-width: 118px;
}
@media screen and (max-width: 1439px) {
  .p-mv__illust.--1 {
    left: -2.4vw;
    width: 8.29vw;
  }
}
@media screen and (max-width: 1080px) {
  .p-mv__illust.--1 {
    left: 4px;
  }
}
@media screen and (max-width: 767px) {
  .p-mv__illust.--1 {
    top: auto;
    bottom: -9.59vw;
    left: -2.03vw;
    width: 22.56vw;
  }
}
.p-mv__illust.--2 {
  top: 51px;
  right: -186px;
  max-width: 280px;
}
@media screen and (max-width: 1439px) {
  .p-mv__illust.--2 {
    top: 3.5vw;
    right: -10vw;
    width: 19.5vw;
  }
}
@media screen and (max-width: 1080px) {
  .p-mv__illust.--2 {
    right: -4vw;
  }
}
@media screen and (max-width: 767px) {
  .p-mv__illust.--2 {
    top: -15.6vw;
    right: -16.41vw;
    width: 47.17vw;
  }
}
.p-mv__illust.--3 {
  right: 6.15vw;
  bottom: -14vw;
  width: 15.13vw;
}

.p-mv__slider {
  width: 100%;
  max-width: 72rem;
  overflow: hidden;
  margin: -1.2rem auto 0;
  padding-top: 1.2rem;
  position: relative;
}
@media screen and (max-width: 900px) {
  .p-mv__slider {
    width: 80%;
  }
}
@media screen and (max-width: 767px) {
  .p-mv__slider {
    width: calc(100% - 3.2rem);
  }
}
.p-mv__slider::before {
  content: "";
  position: absolute;
  top: 0;
  left: 16px;
  width: 88px;
  height: 26px;
  background-image: url(../img/pickup.png);
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 9;
}
@media screen and (max-width: 767px) {
  .p-mv__slider::before {
    top: 2px;
    width: 72px;
    height: 21px;
  }
}

/* カスタムスライダーコントロール */
.p-mv__custom-controls {
  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;
  gap: 16px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .p-mv__custom-controls {
    gap: 8px;
    margin-top: 10px;
  }
}

.p-mv__swiperPrev,
.p-mv__swiperToggle,
.p-mv__swiperNext {
  width: 36px;
  height: 36px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  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;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .p-mv__swiperPrev,
  .p-mv__swiperToggle,
  .p-mv__swiperNext {
    width: 30px;
    height: 30px;
  }
}

.p-mv__swiperPrev:hover,
.p-mv__swiperToggle:hover,
.p-mv__swiperNext:hover {
  opacity: 0.8;
}

.p-mv__swiperPrev img,
.p-mv__swiperToggle img,
.p-mv__swiperNext img {
  width: 36px;
  height: 36px;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-mv__swiperPrev img,
  .p-mv__swiperToggle img,
  .p-mv__swiperNext img {
    width: 30px;
    height: 30px;
  }
}

/* 再生/一時停止アイコンの切り替え用 */
.p-mv__swiperToggle .play-icon {
  display: none;
}

.p-mv__swiperToggle.is-paused .pause-icon {
  display: none;
}

.p-mv__swiperToggle.is-paused .play-icon {
  display: block !important;
}

/*------------------------------------------------------------------------------
  p-top-research
------------------------------------------------------------------------------*/
.p-top-research {
  position: relative;
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .p-top-research {
    padding-bottom: 6.4rem;
  }
}
.p-top-research::before {
  content: "";
  position: absolute;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #EDF6EC;
  width: 101vw;
  height: 100%;
  z-index: -3;
  top: 0;
}
@media screen and (max-width: 1080px) {
  .p-top-research::before {
    left: 50%;
  }
}

.p-top-research__card-list {
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-research__card-list {
    margin-top: 2.4rem;
  }
}

/*------------------------------------------------------------------------------
  p-top-research
------------------------------------------------------------------------------*/
.p-top-works {
  position: relative;
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .p-top-works {
    padding-bottom: 16vw;
  }
}
.p-top-works::before {
  content: "";
  position: absolute;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #EDF6EC;
  width: 101vw;
  height: 100%;
  z-index: -3;
  top: 0;
}
@media screen and (max-width: 1080px) {
  .p-top-works::before {
    left: 50%;
  }
}

.p-top-works__media-list {
  margin: 2.4rem 0 3.2rem;
}

/*------------------------------------------------------------------------------
  p-top-news
------------------------------------------------------------------------------*/
.p-top-news {
  position: relative;
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .p-top-news {
    padding-bottom: 16vw;
  }
}
.p-top-news::before {
  content: "";
  position: absolute;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #D7EED8;
  width: 101vw;
  height: 100%;
  z-index: -2;
  top: 0px;
}
@media screen and (max-width: 1080px) {
  .p-top-news::before {
    left: 50%;
  }
}

.p-top-news__info-list {
  margin: 2.4rem 0;
}
@media screen and (max-width: 767px) {
  .p-top-news__info-list {
    margin: 2rem 0;
  }
}

/*------------------------------------------------------------------------------
  p-top-activity
------------------------------------------------------------------------------*/
.p-top-activity {
  position: relative;
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .p-top-activity {
    padding-bottom: 16vw;
  }
}
.p-top-activity::before {
  content: "";
  position: absolute;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #D7EED8;
  width: 101vw;
  height: 100%;
  z-index: -2;
  top: 0px;
}
@media screen and (max-width: 1080px) {
  .p-top-activity::before {
    left: 50%;
  }
}
.p-top-activity::after {
  content: "";
  position: absolute;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../img/green-wave-bg.png);
  background-repeat: no-repeat;
  background-position: center 0;
  background-size: cover;
  width: 101vw;
  height: 30.3vw;
  z-index: -1;
  top: -190px;
}
@media screen and (max-width: 1080px) {
  .p-top-activity::after {
    left: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-top-activity::after {
    background-image: url(../img/green-wave-bg_sp.png);
    height: 32.3vw;
  }
}
@media screen and (max-width: 767px) {
  .p-top-activity::after {
    top: -25vw;
  }
}

.p-top-activity__info-list {
  margin: 2.4rem 0;
}
@media screen and (max-width: 767px) {
  .p-top-activity__info-list {
    margin: 2rem 0;
  }
}

/*------------------------------------------------------------------------------
  p-top-member
------------------------------------------------------------------------------*/
.p-top-member {
  position: relative;
  padding-bottom: 16rem;
}
@media screen and (max-width: 767px) {
  .p-top-member {
    padding-bottom: 20vw;
  }
  .p-top-member .c-inner {
    padding: 0;
  }
  .p-top-member .c-title {
    padding-left: 1.6rem;
  }
}
.p-top-member::before {
  content: "";
  position: absolute;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #EDF6EC;
  width: 101vw;
  height: 100%;
  z-index: -3;
  top: 0;
}
@media screen and (max-width: 1080px) {
  .p-top-member::before {
    left: 50%;
  }
}
.p-top-member::after {
  content: "";
  position: absolute;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../img/light-green-wave-bg.png);
  background-repeat: no-repeat;
  background-position: center 0;
  background-size: cover;
  width: 101vw;
  height: 28.05vw;
  z-index: -2;
  top: -15.69vw;
}
@media screen and (max-width: 1080px) {
  .p-top-member::after {
    left: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-top-member::after {
    top: -20.5vw;
  }
}

.p-top-member__slider {
  overflow: hidden;
  margin: 2.4rem 0 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-top-member__slider {
    margin: 1.6rem 0;
  }
}

.p-top-member__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 30.4rem;
}
@media screen and (max-width: 767px) {
  .p-top-member__item {
    max-width: 100%;
  }
}

.p-top-member__icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 96px;
          flex: 0 1 96px;
  margin-right: 8px;
}
@media screen and (max-width: 767px) {
  .p-top-member__icon {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 80px;
            flex: 0 1 80px;
  }
}
.p-top-member__icon img {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 2px solid #fff;
  border-radius: 50%;
}

.p-top-member__detail {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.p-top-member__name {
  font-size: 1.4rem;
  letter-spacing: 0;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .p-top-member__name {
    font-size: 1.3rem;
  }
}

.p-top-member__lead {
  color: #479600;
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-top-member__lead {
    font-size: 1.3rem;
  }
}

/* カスタムスライダーコントロール */
.p-top-member__custom-controls {
  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;
  gap: 8px;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-top-member__custom-controls {
    margin-bottom: 2rem;
  }
}

.p-top-member__swiperPrev,
.p-top-member__swiperToggle,
.p-top-member__swiperNext {
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  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;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.p-top-member__swiperPrev:hover,
.p-top-member__swiperToggle:hover,
.p-top-member__swiperNext:hover {
  opacity: 0.8;
}

.p-top-member__swiperPrev img,
.p-top-member__swiperToggle img,
.p-top-member__swiperNext img {
  width: 28px;
  height: 28px;
  display: block;
}

/* 再生/一時停止アイコンの切り替え用 */
.p-top-member__swiperToggle .play-icon {
  display: none;
}

.p-top-member__swiperToggle.is-paused .pause-icon {
  display: none;
}

.p-top-member__swiperToggle.is-paused .play-icon {
  display: block !important;
}

.p-top-member__bottom-bg {
  position: relative;
}
.p-top-member__bottom-bg::before {
  bottom: -35rem;
  content: "";
  position: absolute;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../img/white-wave-bg.png);
  background-repeat: no-repeat;
  background-position: center 0;
  background-size: cover;
  width: 101vw;
  height: 30.73vw;
  z-index: -1;
}
@media screen and (max-width: 1080px) {
  .p-top-member__bottom-bg::before {
    left: 50%;
  }
}
@media screen and (max-width: 1439px) {
  .p-top-member__bottom-bg::before {
    bottom: -24.3vw;
  }
}
@media screen and (max-width: 1080px) {
  .p-top-member__bottom-bg::before {
    bottom: -32vw;
  }
}
@media screen and (max-width: 767px) {
  .p-top-member__bottom-bg::before {
    bottom: -32vw;
  }
}

/*------------------------------------------------------------------------------
  p-menu-mv
------------------------------------------------------------------------------*/
.p-menu-mv__inner {
  position: relative;
}

.p-menu-mv__title {
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 767px) {
  .p-menu-mv__title {
    margin-bottom: 2rem;
  }
}

.p-menu-mv__title-en {
  color: #479600;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.03em;
  font-family: "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  margin-bottom: 0.4rem;
}
@media screen and (max-width: 767px) {
  .p-menu-mv__title-en {
    font-size: 1.8rem;
    margin-bottom: 0.2rem;
  }
}

.p-menu-mv__title-ja {
  font-size: 3.8rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .p-menu-mv__title-ja {
    font-size: 2.4rem;
  }
}

.p-menu-mv__text {
  letter-spacing: 0;
  line-height: 2;
  margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
  .p-menu-mv__text {
    line-height: 1.5;
    margin-top: 3.2rem;
  }
}

.p-menu-mv__illust {
  position: absolute;
}
.p-menu-mv__illust.--01 {
  top: -16px;
  right: -8vw;
  max-width: 50.7rem;
}
@media screen and (max-width: 1339px) {
  .p-menu-mv__illust.--01 {
    right: -3.2vw;
    width: 37.21vw;
  }
}
@media screen and (max-width: 767px) {
  .p-menu-mv__illust.--01 {
    width: 54vw;
  }
}
.p-menu-mv__illust.--02 {
  top: -16px;
  right: -8vw;
  max-width: 50.7rem;
}
@media screen and (max-width: 1339px) {
  .p-menu-mv__illust.--02 {
    right: -3.2vw;
    width: 37.21vw;
  }
}
@media screen and (max-width: 767px) {
  .p-menu-mv__illust.--02 {
    width: 36vw;
  }
}
.p-menu-mv__illust.--03 {
  top: 0;
  right: -5.7vw;
  max-width: 42.6rem;
}
@media screen and (max-width: 1339px) {
  .p-menu-mv__illust.--03 {
    right: -0.8vw;
    width: 29.58vw;
  }
}
@media screen and (max-width: 767px) {
  .p-menu-mv__illust.--03 {
    width: 50vw;
  }
}
.p-menu-mv__illust.--04 {
  top: -30px;
  right: -5.7vw;
  max-width: 38.6rem;
}
@media screen and (max-width: 1339px) {
  .p-menu-mv__illust.--04 {
    right: -0.6vw;
    width: 26.81vw;
  }
}
@media screen and (max-width: 767px) {
  .p-menu-mv__illust.--04 {
    top: -16px;
    width: 40vw;
  }
}
.p-menu-mv__illust.--05 {
  top: -13px;
  right: -6vw;
  max-width: 50.6rem;
}
@media screen and (max-width: 1339px) {
  .p-menu-mv__illust.--05 {
    right: -1vw;
    width: 35.13vw;
  }
}
@media screen and (max-width: 767px) {
  .p-menu-mv__illust.--05 {
    top: -8px;
    width: 52vw;
  }
}
.p-menu-mv__illust.--06 {
  top: -16px;
  right: -8vw;
  max-width: 50.7rem;
}
@media screen and (max-width: 1339px) {
  .p-menu-mv__illust.--06 {
    right: -3.2vw;
    width: 37.21vw;
  }
}
@media screen and (max-width: 767px) {
  .p-menu-mv__illust.--06 {
    right: -5.5vw;
    width: 40vw;
  }
}

.p-menu-mv--favorite {
  padding-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .p-menu-mv--favorite {
    padding-bottom: 0.6rem;
  }
}
.p-menu-mv--favorite .p-menu-mv__title-en {
  color: #E45A3E;
}

.p-menu-mv__text--favorite {
  margin-top: 0;
  padding-left: 3.4rem;
  position: relative;
}
.p-menu-mv__text--favorite::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  background-image: url(../img/favorite-on.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 26px;
  height: 27px;
  z-index: 0;
}

/*------------------------------------------------------------------------------
  p-submenu-mv
------------------------------------------------------------------------------*/
.p-submenu-mv {
  width: 100%;
  position: relative;
  margin-bottom: 2.8rem;
}
@media screen and (max-width: 767px) {
  .p-submenu-mv {
    margin-top: 3.2rem;
    margin-bottom: 1.6rem;
  }
}

.p-submenu-mv__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% + 10rem);
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 1080px) {
  .p-submenu-mv__bg {
    width: 100%;
  }
}
.p-submenu-mv__bg img {
  border-radius: 0 0 20px 0;
}
@media screen and (max-width: 1080px) {
  .p-submenu-mv__bg img {
    border-radius: 0;
  }
}

.p-submenu-mv__inner {
  padding-top: 44.5rem;
  padding-left: 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 900px) {
  .p-submenu-mv__inner {
    padding-top: 40rem;
  }
}
@media screen and (max-width: 767px) {
  .p-submenu-mv__inner {
    padding-top: 60vw;
  }
}

.p-submenu-mv__title {
  background-color: #fff;
  border-radius: 0 26px 0 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  padding: 3.4rem 4.6rem 0.2rem 2rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 900px) {
  .p-submenu-mv__title {
    padding: 2.8rem 4rem 0.2rem 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-submenu-mv__title {
    border-radius: 0 20px 0 0;
    padding: 2.2rem 2.2rem 0.2rem 1.6rem;
  }
}

.p-submenu-mv__title-ja {
  font-size: 3.8rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-bottom: 0.4rem;
}
@media screen and (max-width: 900px) {
  .p-submenu-mv__title-ja {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-submenu-mv__title-ja {
    font-size: 2.2rem;
    letter-spacing: 0.08em;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}

.p-submenu-mv__title-en {
  color: #6FBA2C;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.14em;
  font-family: "Barlow Condensed", sans-serif;
}
@media screen and (max-width: 900px) {
  .p-submenu-mv__title-en {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 767px) {
  .p-submenu-mv__title-en {
    font-size: 1.4rem;
    letter-spacing: 0.1em;
  }
}

/*------------------------------------------------------------------------------
  p-submenu
------------------------------------------------------------------------------*/
.p-submenu {
  margin: 10.4rem 0 15.6rem;
}
@media screen and (max-width: 767px) {
  .p-submenu {
    margin: 4.8rem 0 7.2rem;
  }
}

.p-submenu__heading {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 900px) {
  .p-submenu__heading {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-submenu__heading {
    font-size: 1.4rem;
    line-height: 1.7;
    text-align: justify;
  }
}
.p-submenu__heading .u-primary-dark-color {
  font-weight: bold;
}
.p-submenu__heading h2 {
  font-weight: 500;
}
.p-submenu__heading ul li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 0.8em;
  position: relative;
}
.p-submenu__heading ul li::before {
  content: "･";
  position: absolute;
  top: 0;
  left: 0;
}

.p-submenu__banner-wrap {
  margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
  .p-submenu__banner-wrap {
    margin-top: 2.4rem;
  }
}

.p-submenu__banner {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-submenu__banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-radius: 12px;
  }
}
.p-submenu__banner::before {
  content: "";
  position: absolute;
  top: 48%;
  left: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
  width: 57rem;
  height: 57rem;
  z-index: 0;
}
@media screen and (max-width: 1280px) {
  .p-submenu__banner::before {
    left: 16px;
    width: 52rem;
    height: 52rem;
  }
}
@media screen and (max-width: 900px) {
  .p-submenu__banner::before {
    width: 44rem;
    height: 44rem;
  }
}
@media screen and (max-width: 767px) {
  .p-submenu__banner::before {
    display: none;
  }
}
.p-submenu__banner:not(:last-child) {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .p-submenu__banner:not(:last-child) {
    margin-bottom: 2.8rem;
  }
}
.p-submenu__banner:hover {
  opacity: 0.9;
}

.p-submenu__banner--blue::before {
  background-color: #1D466D;
}
.p-submenu__banner--blue .p-submenu__banner-contents {
  background-color: #1D466D;
}
.p-submenu__banner--blue .p-submenu__banner-contents::before {
  background-color: #1D466D;
}
.p-submenu__banner--blue .p-submenu__banner-btn {
  color: #1D466D;
  border-color: #1D466D;
}
.p-submenu__banner--blue .p-submenu__banner-btn::after {
  background-image: url(../img/arrowR-blue.svg);
}

.p-submenu__banner--dark-primary::before {
  background-color: #479600;
}
.p-submenu__banner--dark-primary .p-submenu__banner-contents {
  background-color: #479600;
}
.p-submenu__banner--dark-primary .p-submenu__banner-contents::before {
  background-color: #479600;
}
.p-submenu__banner--dark-primary .p-submenu__banner-btn {
  color: #479600;
  border-color: #479600;
}
.p-submenu__banner--dark-primary .p-submenu__banner-btn::after {
  background-image: url(../img/arrowR-dark-green.svg);
}

.p-submenu__banner--gold::before {
  background-color: #988400;
}
.p-submenu__banner--gold .p-submenu__banner-contents {
  background-color: #988400;
}
.p-submenu__banner--gold .p-submenu__banner-contents::before {
  background-color: #988400;
}
.p-submenu__banner--gold .p-submenu__banner-btn {
  color: #988400;
  border-color: #988400;
}
.p-submenu__banner--gold .p-submenu__banner-btn::after {
  background-image: url(../img/arrowR-gold.svg);
}

.p-submenu__banner--lime::before {
  background-color: #A3B128;
}
.p-submenu__banner--lime .p-submenu__banner-contents {
  background-color: #A3B128;
}
.p-submenu__banner--lime .p-submenu__banner-contents::before {
  background-color: #A3B128;
}
.p-submenu__banner--lime .p-submenu__banner-btn {
  color: #A3B128;
  border-color: #A3B128;
}
.p-submenu__banner--lime .p-submenu__banner-btn::after {
  background-image: url(../img/arrowR-lime.svg);
}

.p-submenu__banner--primary:hover {
  opacity: 1;
}
.p-submenu__banner--primary::before {
  background-color: #6FBA2C;
}
.p-submenu__banner--primary .p-submenu__banner-contents {
  background-color: #6FBA2C;
}
.p-submenu__banner--primary .p-submenu__banner-contents::before {
  background-color: #6FBA2C;
}
.p-submenu__banner--primary .p-submenu__banner-btn {
  color: #6FBA2C;
  border-color: #6FBA2C;
}
.p-submenu__banner--primary .p-submenu__banner-btn::after {
  background-image: url(../img/arrowR-green.svg);
}

.p-submenu__banner--mint::before {
  background-color: #48BC80;
}
.p-submenu__banner--mint .p-submenu__banner-contents {
  background-color: #48BC80;
}
.p-submenu__banner--mint .p-submenu__banner-contents::before {
  background-color: #48BC80;
}
.p-submenu__banner--mint .p-submenu__banner-btn {
  color: #48BC80;
  border-color: #48BC80;
}
.p-submenu__banner--mint .p-submenu__banner-btn::after {
  background-image: url(../img/arrowR-mint.svg);
}

.p-submenu__banner--olive::before {
  background-color: #729313;
}
.p-submenu__banner--olive .p-submenu__banner-contents {
  background-color: #729313;
}
.p-submenu__banner--olive .p-submenu__banner-contents::before {
  background-color: #729313;
}
.p-submenu__banner--olive .p-submenu__banner-btn {
  color: #729313;
  border-color: #729313;
}
.p-submenu__banner--olive .p-submenu__banner-btn::after {
  background-image: url(../img/arrowR-olive.svg);
}

.p-submenu__banner--taupe::before {
  background-color: #AE9479;
}
.p-submenu__banner--taupe .p-submenu__banner-contents {
  background-color: #AE9479;
}
.p-submenu__banner--taupe .p-submenu__banner-contents::before {
  background-color: #AE9479;
}
.p-submenu__banner--taupe .p-submenu__banner-btn {
  color: #AE9479;
  border-color: #AE9479;
}
.p-submenu__banner--taupe .p-submenu__banner-btn::after {
  background-image: url(../img/arrowR-taupe.svg);
}

.p-submenu__banner--aqua::before {
  background-color: #4192B4;
}
.p-submenu__banner--aqua .p-submenu__banner-contents {
  background-color: #4192B4;
}
.p-submenu__banner--aqua .p-submenu__banner-contents::before {
  background-color: #4192B4;
}
.p-submenu__banner--aqua .p-submenu__banner-btn {
  color: #4192B4;
  border-color: #4192B4;
}
.p-submenu__banner--aqua .p-submenu__banner-btn::after {
  background-image: url(../img/arrowR-aqua.svg);
}

.p-submenu__banner-contents {
  color: #fff;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 5.2rem 0rem 5.2rem 4.4rem;
  max-width: 48rem;
  min-height: 28.5rem;
  position: relative;
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 1;
}
@media screen and (max-width: 1280px) {
  .p-submenu__banner-contents {
    max-width: 45rem;
    padding-left: 3.2rem;
  }
}
@media screen and (max-width: 900px) {
  .p-submenu__banner-contents {
    max-width: 40rem;
    min-height: 0;
    padding: 4rem 0rem 4rem 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-submenu__banner-contents {
    max-width: 100%;
    padding: 0 1.6rem 9.6rem;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (max-width: 520px) {
  .p-submenu__banner-contents {
    padding-bottom: 8rem;
  }
}
.p-submenu__banner-contents::before {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-submenu__banner-contents::before {
    display: block;
    content: "";
    position: absolute;
    top: -10vw;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    width: 370vw;
    height: 290vw;
    border-radius: 50%;
    z-index: 0;
  }
}
@media screen and (max-width: 520px) {
  .p-submenu__banner-contents::before {
    top: -10.5vw;
    width: 270vw;
    height: 175vw;
  }
}

.p-submenu__banner-contents--text-lg {
  max-width: 52rem;
}
@media screen and (max-width: 1280px) {
  .p-submenu__banner-contents--text-lg {
    max-width: 45rem;
  }
}
@media screen and (max-width: 900px) {
  .p-submenu__banner-contents--text-lg {
    max-width: 40rem;
  }
}
@media screen and (max-width: 767px) {
  .p-submenu__banner-contents--text-lg {
    max-width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-submenu__banner-contents--lg {
    padding: 0 1.6rem 13.6rem;
  }
}
@media screen and (max-width: 520px) {
  .p-submenu__banner-contents--lg {
    padding-bottom: 12rem;
  }
}

.p-submenu__banner-title {
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: 2.4rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 900px) {
  .p-submenu__banner-title {
    font-size: 2.2rem;
    margin-bottom: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-submenu__banner-title {
    font-size: 1.8rem;
  }
}
.p-submenu__banner-title.--md {
  font-size: 2.6rem;
}
@media screen and (max-width: 900px) {
  .p-submenu__banner-title.--md {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-submenu__banner-title.--md {
    font-size: 1.8rem;
  }
}

.p-submenu__text {
  font-size: 1.5rem;
  font-weight: normal;
  line-height: 1.9;
  letter-spacing: 0.05em;
  text-align: justify;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 900px) {
  .p-submenu__text {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-submenu__text {
    font-size: 1.2rem;
    line-height: 1.7;
  }
}

.p-submenu__banner-bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 51rem;
  height: 100%;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-submenu__banner-bg {
    position: static;
    width: 100%;
  }
  .p-submenu__banner-bg img {
    aspect-ratio: 3/2;
    -o-object-position: 90% center;
       object-position: 90% center;
  }
}

.p-submenu__banner-btn-wrap {
  position: absolute;
  bottom: 20px;
  right: 16px;
  min-width: 24rem;
  z-index: 2;
}
@media screen and (max-width: 900px) {
  .p-submenu__banner-btn-wrap {
    min-width: 20rem;
  }
}
@media screen and (max-width: 767px) {
  .p-submenu__banner-btn-wrap {
    right: auto;
    bottom: 28px;
    left: 16px;
  }
}
@media screen and (max-width: 520px) {
  .p-submenu__banner-btn-wrap {
    bottom: 20px;
  }
}

.p-submenu__banner-btn-wrap--lg {
  min-width: 29rem;
}
@media screen and (max-width: 900px) {
  .p-submenu__banner-btn-wrap--lg {
    min-width: 24rem;
  }
}
@media screen and (max-width: 767px) {
  .p-submenu__banner-btn-wrap--lg {
    max-width: 22rem;
  }
}

.p-submenu__banner-btn {
  background-color: #fff;
  width: 100%;
  border: 1px solid;
}
@media screen and (max-width: 900px) {
  .p-submenu__banner-btn {
    font-size: 1.3rem;
  }
  .p-submenu__banner-btn::after {
    width: 8px;
    height: 8px;
  }
}
@media screen and (max-width: 767px) {
  .p-submenu__banner-btn {
    font-size: 1.2rem;
  }
}

.p-submenu__banner-btn--lg {
  max-width: 29rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-submenu__banner-btn--lg {
    max-width: 22rem;
  }
}
.p-submenu__banner-btn--lg:not(:last-child) {
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-submenu__banner-btn--lg:not(:last-child) {
    margin-bottom: 0.8rem;
  }
}
.p-submenu__banner-btn--lg:hover {
  opacity: 0.9;
}

.p-submenu__archive {
  margin-top: 11.2rem;
}
.p-submenu__archive .c-title02 {
  margin-bottom: 4rem;
}

.p-submenu__tab-menu {
  margin: 7.2rem 0 14.4rem;
}
@media screen and (max-width: 767px) {
  .p-submenu__tab-menu {
    margin: 3.2rem 0 7.2rem;
  }
}

.p-submenu__link-list {
  margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
  .p-submenu__link-list {
    margin-top: 3.2rem;
  }
}

/*------------------------------------------------------------------------------
  p-info-list
------------------------------------------------------------------------------*/
.p-info-list-wrap {
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-info-list-wrap {
    margin-top: 2.4rem;
  }
}

.p-info-list {
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 10px;
  padding: 2.4rem 1.6rem 2.8rem 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-info-list {
    padding: 2rem 1rem 2rem 1.6rem;
  }
}

.p-info-list--lg {
  border-radius: 20px;
  padding: 4rem 1.6rem 4rem 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-info-list--lg {
    border-radius: 10px;
    padding: 2rem 1rem;
  }
}
.p-info-list--lg .p-info-list__inner {
  max-height: 100%;
  overflow-y: visible;
}
.p-info-list--lg .p-info-list__contents {
  max-width: 89rem;
  padding-right: 0;
  margin: 0 auto;
}

.p-info-list__inner {
  max-height: 32.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-y: scroll;
}
@media screen and (max-width: 767px) {
  .p-info-list__inner {
    max-height: 29rem;
  }
}
.p-info-list__inner::-webkit-scrollbar {
  width: 8px;
  background-color: #E0E0E0;
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .p-info-list__inner::-webkit-scrollbar {
    width: 5px;
  }
}
.p-info-list__inner::-webkit-scrollbar-thumb {
  background-color: #333;
  border-radius: 8px;
}

.p-info-list__contents {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-right: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-info-list__contents {
    padding-right: 1.6rem;
  }
}

.p-info-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem 1rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-info-list__item {
    gap: 0.8rem 0.8rem;
  }
}
.p-info-list__item:not(:first-child) {
  padding-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-info-list__item:not(:first-child) {
    padding-top: 1.6rem;
  }
}
.p-info-list__item:not(:last-child) {
  border-bottom: 1px solid #ccc;
  padding-bottom: 1.6rem;
}

.p-info-list__date {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: 0;
  display: inline-block;
  margin-right: 0.6rem;
  margin-top: 2px;
}
@media screen and (max-width: 767px) {
  .p-info-list__date {
    font-size: 1.3rem;
    margin-right: 0.4rem;
    margin-top: 0;
  }
}

.p-info-list__texts {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 100%;
          flex: 0 1 100%;
  line-height: 1.8;
  letter-spacing: 0;
}
@media screen and (max-width: 1080px) {
  .p-info-list__texts {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-info-list__texts {
    font-size: 1.3rem;
    line-height: 1.6;
  }
}
.p-info-list__texts a {
  text-decoration: underline;
}

.p-info-list__pdf-link {
  display: inline-block;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  padding-right: 2rem;
  position: relative;
}
@media screen and (max-width: 1280px) {
  .p-info-list__pdf-link {
    padding-right: 1.7rem;
  }
}
.p-info-list__pdf-link::after {
  content: "";
  position: absolute;
  top: 7px;
  right: 0;
  background-image: url(../img/external-link-black.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 15px;
  height: 15px;
  display: block;
}
@media screen and (max-width: 1280px) {
  .p-info-list__pdf-link::after {
    top: 6.5px;
    width: 12px;
    height: 12px;
  }
}
@media screen and (max-width: 767px) {
  .p-info-list__pdf-link::after {
    top: 4.5px;
  }
}

/*------------------------------------------------------------------------------
  p-member
------------------------------------------------------------------------------*/
.p-member__card-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px 1.7%;
  margin-bottom: 4rem;
}
@media screen and (max-width: 900px) {
  .p-member__card-list {
    gap: 16px 2%;
  }
}
@media screen and (max-width: 520px) {
  .p-member__card-list {
    gap: 16px 0;
    margin-bottom: 2.4rem;
  }
}

.p-member__card-list--compact {
  gap: 16px 1.65%;
}
@media screen and (max-width: 900px) {
  .p-member__card-list--compact {
    gap: 16px 2%;
  }
}
@media screen and (max-width: 520px) {
  .p-member__card-list--compact {
    gap: 16px 4%;
  }
}

@media screen and (max-width: 900px) {
  .p-member__speaker {
    padding-bottom: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-member__speaker {
    padding-bottom: 1.6rem;
  }
}

.p-member__speaker-title {
  color: #479600;
  font-size: 2.6rem;
  font-weight: bold;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 900px) {
  .p-member__speaker-title {
    font-size: 2.2rem;
    margin-bottom: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-member__speaker-title {
    font-size: 1.8rem;
  }
}

.p-member__speaker-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16px 16px;
}
@media screen and (max-width: 767px) {
  .p-member__speaker-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px 0;
  }
}
.p-member__speaker-list .c-member-media {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 calc(50% - 8px);
          flex: 0 1 calc(50% - 8px);
}
@media screen and (max-width: 767px) {
  .p-member__speaker-list .c-member-media {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
  }
}

/*------------------------------------------------------------------------------
  p-post-member
------------------------------------------------------------------------------*/
.p-post-member {
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 10px;
  border: 1px dashed #6FBA2C;
  padding: 5.6rem 1.6rem 9.6rem;
  margin-top: 5.6rem;
  margin-bottom: 9.6rem;
}
@media screen and (max-width: 900px) {
  .p-post-member {
    padding: 4rem 1.6rem;
  }
}
@media screen and (max-width: 520px) {
  .p-post-member {
    padding: 3.2rem 1.6rem;
    margin-top: 3.2rem;
    margin-bottom: 5.6rem;
  }
}

.p-post-member__contents {
  max-width: 84.8rem;
  margin: 0 auto;
}

.p-post-member__name {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-post-member__name {
    font-size: 2.2rem;
  }
}

.p-post-member__position {
  font-weight: bold;
  letter-spacing: 0.06em;
}

.p-post-member__specialty-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-post-member__specialty-wrap {
    display: block;
    margin-top: 2rem;
  }
}

.p-post-member__specialty-heading {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 1.4rem;
  letter-spacing: 0;
  margin-top: 0.6rem;
  margin-right: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-post-member__specialty-heading {
    font-size: 1.3rem;
    margin-right: 0;
    margin-bottom: 0.8rem;
  }
}

.p-post-member__specialty-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px 4px;
}

.p-post-member__img {
  width: 100%;
  margin: 4.8rem 0;
}
@media screen and (max-width: 767px) {
  .p-post-member__img {
    margin: 2.4rem 0 2rem;
  }
}

.p-post-member__img--eyecatch {
  height: 30rem;
  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;
  background-image: url(../img/member-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 767px) {
  .p-post-member__img--eyecatch {
    width: 100%;
    height: 21.2rem;
  }
}
.p-post-member__img--eyecatch img {
  width: 24rem;
  height: 24rem;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 2px solid #fff;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-post-member__img--eyecatch img {
    width: 16rem;
    height: 16rem;
  }
}

.p-post-member__lead {
  color: #479600;
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 900px) {
  .p-post-member__lead {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-post-member__lead {
    font-size: 1.6rem;
    margin-bottom: 1.6rem;
  }
}

.p-post-member__texts {
  letter-spacing: 0;
  margin-bottom: 6.4rem;
}
@media screen and (max-width: 767px) {
  .p-post-member__texts {
    margin-bottom: 4.8rem;
  }
}
.p-post-member__texts h3 {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0;
  margin: 1.6rem 0;
}
@media screen and (max-width: 900px) {
  .p-post-member__texts h3 {
    font-size: 1.8rem;
    margin: 1.2rem 0 0.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-post-member__texts h3 {
    font-size: 1.5rem;
  }
}
.p-post-member__texts p,
.p-post-member__texts ul {
  line-height: 1.8;
  margin: 2.4rem 0;
}
@media screen and (max-width: 767px) {
  .p-post-member__texts p,
  .p-post-member__texts ul {
    line-height: 1.6;
    margin: 1.2rem 0;
  }
}
.p-post-member__texts .wp-block-list {
  margin-top: 0;
}
.p-post-member__texts .wp-block-list li {
  line-height: 1.8;
  text-indent: -1em;
  padding-left: 1em;
  position: relative;
}
.p-post-member__texts .wp-block-list li::before {
  content: "・";
}
.p-post-member__texts .wp-block-list a {
  color: #479600;
  text-decoration: underline;
}

.p-post-member__history-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-post-member__history-row:not(:last-child) {
  margin-bottom: 0.4rem;
}
.p-post-member__history-row dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  text-align: right;
  min-width: 5.6rem;
  margin-right: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-post-member__history-row dt {
    min-width: 4.2rem;
    margin-right: 1.2rem;
  }
}

.p-post-member__articles {
  margin-top: 4.8rem;
}

.p-post-member__articles-title {
  font-size: 2rem !important;
  font-weight: bold;
  margin-top: 0 !important;
}
@media screen and (max-width: 767px) {
  .p-post-member__articles-title {
    font-size: 1.6rem !important;
  }
}

.p-post-member__articles-term {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 2rem;
}
@media screen and (max-width: 767px) {
  .p-post-member__articles-term {
    padding-left: 1.6rem;
  }
}
.p-post-member__articles-term:not(:last-child) {
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-post-member__articles-term:not(:last-child) {
    margin-bottom: 1.2rem;
  }
}

.p-post-member__articles-list {
  margin: 0 !important;
}

.p-post-member__articles-term-title {
  font-weight: bold;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-post-member__articles-term-title {
    font-size: 1.4rem;
  }
}
.p-post-member__articles-term-title::before {
  content: "";
  position: absolute;
  top: 8px;
  left: -18px;
  background-color: #6FBA2C;
  border-radius: 50%;
  width: 8px;
  height: 8px;
}
@media screen and (max-width: 900px) {
  .p-post-member__articles-term-title::before {
    top: 7px;
    width: 6px;
    height: 6px;
  }
}
@media screen and (max-width: 767px) {
  .p-post-member__articles-term-title::before {
    top: 8px;
    left: -15px;
  }
}

.p-post-member__articles-link {
  color: #479600;
  font-weight: bold;
  line-height: 2;
  text-decoration: underline;
  display: inline-block;
}

.p-post-member__banner {
  background-color: #6FBA2C;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 5px;
  padding: 4.2rem 1.6rem 4rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-post-member__banner {
    padding: 3.2rem 1.6rem;
  }
}

.p-post-member__banner-title {
  position: absolute;
  top: -12px;
  left: 16px;
  width: 96px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-post-member__banner-title {
    top: -10px;
    width: 88px;
  }
}

.p-post-member__banner-text {
  color: #fff;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-post-member__banner-text {
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}
.p-post-member__banner-text span {
  font-size: 1.9rem;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-post-member__banner-text span {
    font-size: 1.6rem;
    letter-spacing: 0.06em;
  }
}
@media screen and (max-width: 767px) {
  .p-post-member__banner-text span.--pc {
    display: none;
  }
}

.p-post-member__btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-post-member__btn-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.8rem 0;
  }
}

.p-post-member__banner-illust {
  position: absolute;
  bottom: -48px;
  right: -26px;
  width: 91.5px;
}
@media screen and (max-width: 900px) {
  .p-post-member__banner-illust {
    bottom: -32px;
    right: -12px;
    width: 56px;
  }
}
@media screen and (max-width: 767px) {
  .p-post-member__banner-illust {
    bottom: -24px;
    width: 44px;
  }
}

/*------------------------------------------------------------------------------
  p-post
------------------------------------------------------------------------------*/
.p-post {
  padding-top: 17.01vw;
  margin-bottom: 14.4rem;
  position: relative;
}
@media screen and (max-width: 900px) {
  .p-post {
    margin-bottom: 11.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-post {
    padding-top: 30vw;
    margin-bottom: 8rem;
  }
}
@media screen and (max-width: 520px) {
  .p-post {
    padding-top: 42vw;
  }
}
.p-post::before {
  content: "";
  position: absolute;
  top: 0;
  right: 1.52vw;
  background-image: url(../img/post-top-bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 0 0;
  width: 98.47vw;
  height: 29.23vw;
  z-index: -1;
  max-width: 220rem;
}
@media screen and (max-width: 1080px) {
  .p-post::before {
    right: 0;
    width: 101vw;
    height: 35vw;
  }
}
@media screen and (max-width: 767px) {
  .p-post::before {
    top: -16.5vw;
    right: auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100vw;
    height: 57.5vw;
    background-image: url(../img/post-top-bg_sp.png);
  }
}
@media screen and (max-width: 520px) {
  .p-post::before {
    top: -8.5vw;
  }
}

.p-post__heading {
  margin-bottom: 11.2rem;
}
@media screen and (max-width: 1080px) {
  .p-post__heading {
    margin-bottom: 8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-post__heading {
    margin-bottom: 5.6rem;
  }
}

.p-post__heading-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.p-post__label {
  padding: 0.4rem 2rem;
  background-color: #EDF6EC;
  margin-right: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-post__label {
    padding: 0.4rem 1.2rem;
    margin-right: 1.2rem;
    margin-bottom: 0.5rem;
  }
}

.p-post__update {
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  margin-right: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-post__update {
    font-size: 1.2rem;
    margin-right: 1.2rem;
    margin-bottom: 0.5rem;
  }
}

.p-post__favorite {
  position: relative;
  width: 119px;
  height: 32px;
  display: inline-block;
}
.p-post__favorite::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 119px;
  height: 32px;
  background-image: url(../img/favorite-label-off.svg);
  background-repeat: no-repeat;
  background-size: contain;
  cursor: pointer;
  z-index: 99;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .p-post__favorite::before {
    top: 0px;
    width: 94px;
    height: 26px;
    background-image: url(../img/favorite-label-off_sp.svg);
  }
}
.p-post__favorite.is-active::before {
  background-image: url(../img/favorite-label-on.svg);
}
@media screen and (max-width: 767px) {
  .p-post__favorite.is-active::before {
    background-image: url(../img/favorite-label-on_sp.svg);
  }
}

.p-post__heading-title {
  font-size: 3.8rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 1280px) {
  .p-post__heading-title {
    font-size: clamp(3.4rem, 2.64vw, 3.8rem);
  }
}
@media screen and (max-width: 900px) {
  .p-post__heading-title {
    font-size: clamp(3.2rem, 2.64vw, 3.8rem);
  }
}
@media screen and (max-width: 767px) {
  .p-post__heading-title {
    font-size: clamp(2.4rem, 2.64vw, 3rem);
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    letter-spacing: 0.06em;
    margin-bottom: 0.8rem;
  }
}
@media screen and (max-width: 520px) {
  .p-post__heading-title {
    font-size: clamp(2.2rem, 2.64vw, 3rem);
  }
}

.p-post__thumb {
  position: relative;
  width: calc(100% + 11rem);
  height: 41rem;
  height: 100%;
  margin-top: 4.8rem;
}
@media screen and (max-width: 1080px) {
  .p-post__thumb {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 900px) {
  .p-post__thumb {
    width: calc(100% + 2rem);
  }
}
@media screen and (max-width: 767px) {
  .p-post__thumb {
    width: calc(100% + 1.6rem);
    margin-top: 1.6rem;
  }
}
.p-post__thumb img {
  border-radius: 2px;
  aspect-ratio: 1100/420;
}
@media screen and (max-width: 767px) {
  .p-post__thumb img {
    aspect-ratio: 1000/500;
  }
}

.p-post__container {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 15.2rem;
}
@media screen and (max-width: 767px) {
  .p-post__container {
    margin-bottom: 8rem;
  }
}

@media screen and (max-width: 1080px) {
  .p-post__container--trend .c-inner {
    padding: 0 2rem;
  }
}

.p-post__block {
  margin-bottom: 14.4rem;
}
@media screen and (max-width: 767px) {
  .p-post__block {
    margin-bottom: 6.4rem;
  }
}

.p-post__block--mt {
  margin-top: 14.4rem;
}
@media screen and (max-width: 767px) {
  .p-post__block--mt {
    margin-top: 6.4rem;
  }
}

.p-post__contents h2 {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.07em;
  min-height: 18.3rem;
  padding-top: 6.4rem;
  padding-left: 3.2rem;
  padding-bottom: 2rem;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 3.2rem 0;
}
@media screen and (max-width: 1080px) {
  .p-post__contents h2 {
    font-size: 2.7rem;
  }
}
@media screen and (max-width: 767px) {
  .p-post__contents h2 {
    font-size: 1.9rem;
    letter-spacing: 0.03em;
    min-height: 11.2rem;
    padding-top: 3.2rem;
    padding-left: 1.6rem;
  }
}
.p-post__contents h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 15.2rem;
  height: 15.2rem;
  background-color: #F5FAF0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-post__contents h2::before {
    width: 8.2rem;
    height: 8.2rem;
  }
}
.p-post__contents h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 2px;
  background-color: #479600;
}
@media screen and (max-width: 767px) {
  .p-post__contents h2::after {
    width: 52px;
    height: 1.5px;
  }
}
@media screen and (max-width: 767px) {
  .p-post__contents h2 {
    margin: 2.8rem 0;
  }
}
.p-post__contents .p-post__contents-h2--md {
  font-size: 2.8rem;
}
@media screen and (max-width: 1080px) {
  .p-post__contents .p-post__contents-h2--md {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-post__contents .p-post__contents-h2--md {
    font-size: 1.8rem;
  }
}
.p-post__contents h3 {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.7;
  background-color: #F5FAF0;
  border-left: 5px solid #479600;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  padding: 0.8rem 1.6rem 0.8rem 2rem;
  margin: 1em 0 0;
}
@media screen and (max-width: 900px) {
  .p-post__contents h3 {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-post__contents h3 {
    font-size: 1.5rem;
    line-height: 1.5;
    border-width: 4px;
    padding: 0.6rem 1.2rem 0.6rem 1.4rem;
  }
}
.p-post__contents h3.u-gold-color {
  color: #333;
  background-color: #F7F4E5;
  border-color: #988400;
}
.p-post__contents p,
.p-post__contents ul {
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  max-width: 88rem;
  margin: 2.4rem 0;
}
@media screen and (max-width: 1080px) {
  .p-post__contents p,
  .p-post__contents ul {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-post__contents p,
  .p-post__contents ul {
    font-size: 1.3rem;
    line-height: 1.6;
    letter-spacing: 0.02em;
  }
}
.p-post__contents p strong,
.p-post__contents ul strong {
  font-size: 1.9rem;
  font-weight: bold;
  background: -webkit-gradient(linear, left top, right top, from(#FFF59D), to(#FFF59D));
  background: linear-gradient(90deg, #FFF59D 0%, #FFF59D 100%);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 30%;
  padding: 0 0.2rem 0.2rem;
}
@media screen and (max-width: 1080px) {
  .p-post__contents p strong,
  .p-post__contents ul strong {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 767px) {
  .p-post__contents p strong,
  .p-post__contents ul strong {
    font-size: 1.4rem;
  }
}
.p-post__contents ul li {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-indent: -1em;
  padding-left: 1em;
}
.p-post__contents ul li::before {
  content: "・";
}
.p-post__contents ol {
  list-style-position: inside;
}
.p-post__contents h4,
.p-post__contents h5,
.p-post__contents a,
.p-post__contents p,
.p-post__contents ul,
.p-post__contents ol,
.p-post__contents dl,
.p-post__contents table,
.p-post__contents .wp-block-table,
.p-post__contents .wp-block-media-text,
.p-post__contents .wp-block-gallery {
  margin: 1em 0;
}
.p-post__contents a {
  color: #479600;
  text-decoration: underline;
}
.p-post__contents .wp-block-image {
  margin: 2em 0;
}
.p-post__contents .c-title02__en {
  font-size: 1.8rem;
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin: 0 0 0.2rem;
}
@media screen and (max-width: 767px) {
  .p-post__contents .c-title02__en {
    font-size: 1.4rem;
  }
}
.p-post__contents .c-title02__ja {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.5;
  font-weight: bold;
  background-color: transparent;
  border-left: none;
  display: block;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .p-post__contents .c-title02__ja {
    font-size: 2rem;
  }
}
.p-post__contents .p-post__check-text {
  letter-spacing: 0.05em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 3.4rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-post__contents .p-post__check-text {
    padding-left: 2.2rem;
  }
}
.p-post__contents .p-post__check-text::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  background-image: url(../img/check-dark-green.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 24px;
  height: 24px;
}
@media screen and (max-width: 767px) {
  .p-post__contents .p-post__check-text::before {
    top: 3px;
    width: 17px;
    height: 17px;
  }
}
.p-post__contents .p-post__check-text.u-fz20::before {
  top: 7px;
}
@media screen and (max-width: 767px) {
  .p-post__contents .p-post__check-text.u-fz20::before {
    top: 3px;
  }
}
.p-post__contents .p-post__img-wrap2-1 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 83rem;
  gap: 24px 24px !important;
}
@media screen and (max-width: 520px) {
  .p-post__contents .p-post__img-wrap2-1 {
    gap: 8px !important;
  }
}
.p-post__contents .p-post__img-wrap2-1 .wp-block-image:first-child, .p-post__contents .p-post__img-wrap2-1 .wp-block-image:nth-child(2) {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 47%;
          flex: 0 1 47%;
}
@media screen and (max-width: 520px) {
  .p-post__contents .p-post__img-wrap2-1 .wp-block-image:first-child, .p-post__contents .p-post__img-wrap2-1 .wp-block-image:nth-child(2) {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
  }
}
.p-post__contents .p-post__img-wrap2-1 .wp-block-image:last-child {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 100%;
          flex: 0 1 100%;
  max-width: 55rem;
  margin: 0 auto !important;
}
@media screen and (max-width: 900px) {
  .p-post__contents .p-post__concept-list {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .p-post__contents .p-post__concept-list .wp-block-column {
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 1 28% !important;
            flex: 0 1 28% !important;
    max-width: 28rem;
  }
}
@media screen and (max-width: 900px) and (max-width: 520px) {
  .p-post__contents .p-post__concept-list .wp-block-column {
    -webkit-box-flex: 0 !important;
        -ms-flex: 0 1 auto !important;
            flex: 0 1 auto !important;
    max-width: 100%;
  }
}
.p-post__contents .c-btn--highlight {
  color: #fff;
  text-decoration: none;
}

.p-post__img-shadow img {
  -webkit-box-shadow: 0px 0px 28px rgba(37, 157, 11, 0.06);
          box-shadow: 0px 0px 28px rgba(37, 157, 11, 0.06);
}

.p-post__img-shadow--gold img {
  -webkit-box-shadow: 0px 0px 28px rgba(152, 132, 0, 0.06);
          box-shadow: 0px 0px 28px rgba(152, 132, 0, 0.06);
}

.p-post__spacer {
  display: block;
  height: 1px;
  margin: 6.4rem 0;
}
@media screen and (max-width: 767px) {
  .p-post__spacer {
    margin: 3.2rem 0;
  }
}

@media screen and (max-width: 767px) {
  .p-post__scroll-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.p-post__scroll-container img {
  min-width: 550px;
  display: block;
}

.p-post__separate {
  width: 100%;
  height: 3px;
  background-color: #479600;
  margin: 12.8rem 0 13.2rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-post__separate {
    height: 2px;
    margin: 6.4rem 0 7.2rem;
  }
}
.p-post__separate::before {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 1.5px;
  background-color: #479600;
}
@media screen and (max-width: 767px) {
  .p-post__separate::before {
    bottom: -4px;
    height: 1px;
  }
}

.p-post__overview-wrap {
  margin-top: 12.8rem;
}
@media screen and (max-width: 767px) {
  .p-post__overview-wrap {
    margin-top: 6.4rem;
  }
}

.p-post__overview {
  border: 1px solid #F0F0F0;
  border-radius: 2px;
  margin-top: 2rem !important;
}
@media screen and (max-width: 767px) {
  .p-post__overview {
    margin-top: 1.6rem !important;
  }
}

.p-post__overview-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.p-post__overview-row:not(:last-child) {
  border-bottom: 1px solid #F0F0F0;
}
.p-post__overview-row dt {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 22rem;
          flex: 0 1 22rem;
  background-color: #F5FAF0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 2rem 0.8rem 2rem 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-post__overview-row dt {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 11.4rem;
            flex: 0 1 11.4rem;
    padding: 1.2rem 0.8rem 1.2rem 1.2rem;
  }
}
.p-post__overview-row dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 2rem 1.6rem 2rem 2.8rem;
}
@media screen and (max-width: 767px) {
  .p-post__overview-row dd {
    font-size: 1.2rem;
    letter-spacing: 0;
    padding: 1.2rem 0.8rem 1.2rem 1.2rem;
  }
}

.p-post__overview-text {
  font-size: 1.5rem !important;
  font-weight: normal !important;
  margin: 2.4rem 0 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-post__overview-text {
    font-size: 1.2rem !important;
    margin: 2rem 0 1.2rem;
  }
}

.p-post__pdf-link {
  color: #333 !important;
  text-decoration: underline;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-right: 2.4rem;
  margin: 2rem 0 "" !important;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-post__pdf-link {
    padding-right: 1.8rem;
  }
}
.p-post__pdf-link::after {
  content: "";
  position: absolute;
  top: 3px;
  right: 0;
  background-image: url(../img/external-link-black.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 16px;
  height: 16px;
  display: block;
}
@media screen and (max-width: 1080px) {
  .p-post__pdf-link::after {
    top: 2px;
    width: 14px;
    height: 14px;
  }
}
@media screen and (max-width: 767px) {
  .p-post__pdf-link::after {
    width: 12px;
    height: 12px;
  }
}

.p-post__contact {
  margin-top: 12rem;
}
@media screen and (max-width: 767px) {
  .p-post__contact {
    margin-top: 5.6rem;
  }
}

.p-post__contact--town-studies {
  margin: 0 0 15.2rem;
}
@media screen and (max-width: 767px) {
  .p-post__contact--town-studies {
    margin: 1.6rem 0 8rem;
  }
}

.p-post__contact-banner {
  background-color: #6FBA2C;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 5px;
  padding: 4.2rem 1.6rem 4rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-post__contact-banner {
    padding: 3.2rem 1.6rem;
  }
}

.p-post__contact-banner-title {
  position: absolute;
  top: -12px;
  left: 16px;
  width: 96px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-post__contact-banner-title {
    top: -10px;
    width: 88px;
  }
}

.p-post__contact-text {
  color: #fff;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-post__contact-text {
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
}

.p-post__contact-btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-post__contact-btn-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.8rem 0;
  }
}

.p-post__contact-banner-illust {
  position: absolute;
  bottom: -48px;
  right: -26px;
  width: 91.5px;
}
@media screen and (max-width: 900px) {
  .p-post__contact-banner-illust {
    bottom: -32px;
    right: -12px;
    width: 56px;
  }
}
@media screen and (max-width: 767px) {
  .p-post__contact-banner-illust {
    bottom: -24px;
    width: 44px;
  }
}

.p-post--gold::before {
  background-image: url(../img/post-top-bg-gold.png);
}
@media screen and (max-width: 767px) {
  .p-post--gold::before {
    background-image: url(../img/post-top-bg-gold_sp.png);
  }
}
.p-post--gold .p-post__label {
  background-color: #F7F4E5;
}
.p-post--gold .p-post__contents h2::before {
  background-color: #F7F4E5;
}
.p-post--gold .p-post__contents h2::after {
  background-color: #988400;
}
.p-post--gold .p-post__contents .c-title02__en {
  color: #988400;
}
.p-post--gold .p-post__contents .p-post__overview-row dt {
  background-color: #F7F4E5;
}
.p-post--gold .p-post__separate {
  background-color: #988400;
}
.p-post--gold .p-post__separate::before {
  background-color: #988400;
}
.p-post--gold .c-researcher {
  background-color: #F7F4E5;
}
.p-post--gold .c-researcher__title span {
  color: #988400;
}
.p-post--gold .c-researcher__icon::before {
  border-color: #988400;
}

.p-post--blue::before {
  background-image: url(../img/post-top-bg-blue.png);
}
@media screen and (max-width: 767px) {
  .p-post--blue::before {
    background-image: url(../img/post-top-bg-blue_sp.png);
  }
}
.p-post--blue .p-post__label {
  background-color: #D7E6F4;
}
.p-post--blue .p-post__contents h2::before {
  background-color: #F0F6FC;
}
.p-post--blue .p-post__contents h2::after {
  background-color: #1D466D;
}
.p-post--blue .p-post__contents .c-title02__en {
  color: #1D466D;
}
.p-post--blue .p-post__contents .p-post__overview-row dt {
  background-color: #F0F6FC;
}
.p-post--blue .p-post__separate {
  background-color: #1D466D;
}
.p-post--blue .p-post__separate::before {
  background-color: #1D466D;
}
.p-post--blue .c-researcher {
  background-color: #F0F6FC;
}
.p-post--blue .c-researcher__title span {
  color: #19538B;
}
.p-post--blue .c-researcher__media,
.p-post--blue .c-researcher__icon::before {
  border-color: #19538B;
}
.p-post--blue .c-btn--highlight.u-bgc-blue2 {
  -webkit-box-shadow: 0px 5px 0px 0px #1D466D;
          box-shadow: 0px 5px 0px 0px #1D466D;
}
.p-post--blue .c-btn--highlight.u-bgc-blue2:hover {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.p-post__backnumber-title {
  padding-left: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-post__backnumber-title {
    padding-left: 1.6rem !important;
  }
}
.p-post__backnumber-title::before {
  left: 0 !important;
}
@media screen and (max-width: 767px) {
  .p-post__backnumber-title::before {
    left: 0 !important;
  }
}

/*------------------------------------------------------------------------------
  p-trend
------------------------------------------------------------------------------*/
.p-trend {
  padding-top: 14.4rem;
}
@media screen and (max-width: 767px) {
  .p-trend {
    padding-top: 2rem;
  }
}

.p-trend__lead {
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: 0.08em;
  text-align: center;
  margin-bottom: 9.6rem;
  position: relative;
}
@media screen and (max-width: 900px) {
  .p-trend__lead {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-trend__lead {
    font-size: 2rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
    margin-bottom: 4rem;
  }
}
.p-trend__lead::before {
  content: "";
  position: absolute;
  top: -13vw;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../img/wave-blue.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 102vw;
  height: 21.25vw;
  z-index: -1;
}
@media screen and (max-width: 1080px) {
  .p-trend__lead::before {
    height: 21.5vw;
    left: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-trend__lead::before {
    top: -12vw;
    width: 140vw;
    height: 27vw;
  }
}
.p-trend__lead > span {
  position: relative;
}
.p-trend__lead > span::before, .p-trend__lead > span::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
}
.p-trend__lead > span::before {
  top: -62px;
  left: -147px;
  background-image: url(../img/post-illust1.png);
  width: 106px;
  height: 155px;
}
@media screen and (max-width: 767px) {
  .p-trend__lead > span::before {
    top: -2px;
    left: -70px;
    width: 38px;
    height: 58px;
  }
}
.p-trend__lead > span::after {
  top: -41px;
  right: -180px;
  background-image: url(../img/post-illust2.png);
  width: 107px;
  height: 124px;
}
@media screen and (max-width: 767px) {
  .p-trend__lead > span::after {
    top: 6px;
    right: -78px;
    width: 42px;
    height: 46px;
  }
}

.p-trend__texts {
  font-size: 1.9rem;
  font-weight: 600;
  line-height: 2.2;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 900px) {
  .p-trend__texts {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 767px) {
  .p-trend__texts {
    font-size: 1.4rem;
    line-height: 1.9;
    letter-spacing: 0.05em;
  }
}
.p-trend__texts .u-blue-color2 {
  font-size: 2.1rem;
  background: -webkit-gradient(linear, left top, right top, from(#FFF59D), to(#FFF59D));
  background: linear-gradient(90deg, #FFF59D 0%, #FFF59D 100%);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 30%;
  padding: 0 0.2rem 0.2rem;
}
@media screen and (max-width: 900px) {
  .p-trend__texts .u-blue-color2 {
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 767px) {
  .p-trend__texts .u-blue-color2 {
    font-size: 1.5rem;
  }
}

.p-trend__main {
  background-color: #F0F6FC;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 72px;
  padding: 11rem 2rem;
  margin: 9.6rem 0 13.6rem;
}
@media screen and (max-width: 900px) {
  .p-trend__main {
    padding: 8rem 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-trend__main {
    border-radius: 24px;
    padding: 4.8rem 2rem;
    margin: 4rem 0 6.4rem;
  }
}

.p-trend__main-head {
  text-align: center;
}
.p-trend__main-head p {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 900px) {
  .p-trend__main-head p {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-trend__main-head p {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
  }
}

.p-trend__word {
  max-width: 43.3rem;
  display: block;
  margin: 0 auto 1.8rem;
}
@media screen and (max-width: 900px) {
  .p-trend__word {
    max-width: 40rem;
  }
}
@media screen and (max-width: 767px) {
  .p-trend__word {
    max-width: 27.2rem;
    margin: 0 auto 1.2rem;
  }
}

.p-trend__media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 7.2rem auto 0;
  max-width: 92rem;
}
@media screen and (max-width: 767px) {
  .p-trend__media {
    margin-top: 3.2rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-trend__media-text-wrap {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 48.2%;
          flex: 0 1 48.2%;
}

.p-trend__media-texts {
  font-weight: 500;
  line-height: 1.85;
  text-align: justify;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.12em;
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-trend__media-texts {
    letter-spacing: 0.08em;
    line-height: 1.8;
    margin-bottom: 2.4rem;
  }
}
.p-trend__media-texts p:not(:last-child) {
  margin-bottom: 1em;
}
.p-trend__media-texts .u-underbar {
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.7;
}
@media screen and (max-width: 900px) {
  .p-trend__media-texts .u-underbar {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-trend__media-texts .u-underbar {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 767px) {
  .p-trend__media-btn {
    margin: 0 auto;
  }
}

.p-trend__media-img {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 46%;
          flex: 0 1 46%;
}
@media screen and (max-width: 767px) {
  .p-trend__media-img {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 100%;
            flex: 0 1 100%;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    margin-bottom: 2rem;
  }
  .p-trend__media-img img {
    aspect-ratio: 4/3;
    aspect-ratio: 1/1;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    border-radius: 8px;
  }
}

.p-trend__backnumber {
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .p-trend__backnumber {
    margin-top: 4rem;
  }
}

/*------------------------------------------------------------------------------
  p-archive-search
------------------------------------------------------------------------------*/
.p-archive-search {
  margin-top: 11.2rem;
}
@media screen and (max-width: 900px) {
  .p-archive-search {
    margin-top: 9.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-archive-search {
    margin-top: 5.6rem;
  }
}

.p-archive-search__head-title {
  color: #479600;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.05em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 4.2rem;
  margin-bottom: 2.4rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-archive-search__head-title {
    font-size: 1.8rem;
    padding-left: 3.4rem;
    margin-bottom: 2rem;
  }
}
.p-archive-search__head-title::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  background-image: url(../img/search-green-lg.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 34px;
  height: 34px;
}
@media screen and (max-width: 767px) {
  .p-archive-search__head-title::before {
    top: 1px;
    width: 27px;
    height: 27px;
  }
}

.p-archive-search__form {
  margin-bottom: 2rem;
}

.p-archive-search__filter-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-archive-search__filter-item {
    display: block;
  }
  .p-archive-search__filter-item.--year {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p-archive-search__filter-item.--year dt {
    margin: 0.9rem 0.8rem 0 0;
  }
}
.p-archive-search__filter-item dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-weight: 600;
  padding-top: 2px;
  margin-right: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-archive-search__filter-item dt {
    padding-top: 3px;
    margin: 0 0 0.8rem;
  }
}
.p-archive-search__filter-item dt.u-mt-space {
  margin-top: 0.8rem;
}
.p-archive-search__filter-item:not(:last-child) {
  margin-bottom: 2rem;
}

.p-archive-search__filter-year {
  width: 120px;
  height: 40px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-archive-search__filter-year {
    width: 112px;
    height: 36px;
  }
}
.p-archive-search__filter-year::after {
  content: "";
  position: absolute;
  top: 17px;
  right: 14px;
  background-image: url(../img/arrowB-black.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 10px;
  height: 10px;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .p-archive-search__filter-year::after {
    top: 16px;
    width: 9px;
    height: 9px;
  }
}
.p-archive-search__filter-year select {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: 0.08em;
  font-family: "Noto Sans JP", sans-serif;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 1.6rem;
  width: 100%;
  height: 100%;
  border: 1px solid #DEDEDE;
  border-radius: 4px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-archive-search__filter-year select {
    font-size: 1.3rem;
    padding: 0 1.2rem;
  }
}

.p-archive-search__label-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px 12px;
}
@media screen and (max-width: 767px) {
  .p-archive-search__label-wrap {
    gap: 8px 6px;
  }
}
.p-archive-search__label-wrap .c-label--primary {
  color: #6FBA2C;
  background-color: #fff;
  border: 1px solid #6FBA2C;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.p-archive-search__label-wrap .c-label--primary.is-active, .p-archive-search__label-wrap .c-label--primary:hover {
  color: #fff;
  background-color: #6FBA2C;
  opacity: 1;
}
.p-archive-search__label-wrap .c-label--black {
  color: #4F4F4F;
  background-color: #fff;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.p-archive-search__label-wrap .c-label--black.is-active, .p-archive-search__label-wrap .c-label--black:hover {
  color: #fff;
  background-color: #4F4F4F;
  opacity: 1;
}

.p-archive-search__info-list {
  margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
  .p-archive-search__info-list {
    margin-top: 3.2rem;
  }
}

.p-info-list__head-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px 10px;
}
@media screen and (max-width: 767px) {
  .p-info-list__head-wrap {
    gap: 8px 6px;
  }
}
.p-info-list__head-wrap .c-label {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}

.p-archive-search__no-results {
  line-height: 1.7;
  text-align: center;
}
.p-archive-search__no-results .c-btn {
  margin: 1.6rem auto 0;
}

/*------------------------------------------------------------------------------
  p-tab-menu
------------------------------------------------------------------------------*/
.p-tab-menu__tab-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.p-tab-menu__tab {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 49.2%;
          flex: 0 1 49.2%;
  color: #479600;
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.45;
  letter-spacing: 0.05em;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  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;
  min-height: 11.4rem;
  border: 1px solid #eee;
  border-bottom: none;
  background-color: #fff;
  border-radius: 32px 32px 0 0;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-tab-menu__tab {
    font-size: 1.5rem;
    line-height: 1.35;
    min-height: 8.8rem;
    border-radius: 16px 16px 0 0;
  }
}
.p-tab-menu__tab.is-active {
  background-color: #F5FAF0;
}

.p-tab-menu__panel-area {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #F5FAF0;
  border-radius: 0 0 32px 32px;
  padding: 4.8rem 2rem 8rem;
}
@media screen and (max-width: 767px) {
  .p-tab-menu__panel-area {
    border-radius: 0 0 16px 16px;
    padding: 3.2rem 2rem 4.8rem;
  }
}

.p-tab-menu__panel {
  max-width: 88rem;
  margin: 0 auto;
}

.js-panel {
  display: none;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.js-panel.is-active {
  display: block;
  opacity: 1;
  background-color: #F5FAF0;
}

.p-tab-menu__graph-heading {
  font-size: 1.5rem;
  font-weight: normal;
  line-height: 1.7;
  margin-bottom: 0.3rem;
}
@media screen and (max-width: 767px) {
  .p-tab-menu__graph-heading {
    font-size: 1.3rem;
  }
}

.p-tab-menu__img {
  width: 100%;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-tab-menu__img {
    margin-bottom: 1.6rem;
  }
}

.p-tab-menu__text {
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-tab-menu__text {
    line-height: 1.7;
    text-align: justify;
  }
}
.p-tab-menu__text strong {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-tab-menu__text strong {
    font-size: 1.5rem;
    line-height: 1.6;
  }
}

.p-submenu__btn {
  font-size: 1.8rem;
  max-width: 32rem;
  height: 6rem;
  padding-right: 0;
  margin: 4rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-submenu__btn {
    font-size: 1.5rem;
    max-width: 28rem;
    height: 4.8rem;
    margin-top: 2.4rem;
  }
}

/*------------------------------------------------------------------------------
  p-post-town
------------------------------------------------------------------------------*/
.p-post-town {
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-post-town {
    margin-bottom: 2.4rem;
  }
}

.p-post-town__reason {
  padding-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-post-town__reason {
    padding-top: 0.8rem;
  }
}
.p-post-town__reason .c-title {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .p-post-town__reason .c-title {
    margin-bottom: 2.4rem;
  }
}

.p-post-town__pdf-wrap {
  max-width: 80rem;
  margin: 0 auto 12.8rem;
}
@media screen and (max-width: 767px) {
  .p-post-town__pdf-wrap {
    margin-bottom: 4.8rem;
  }
}
.p-post-town__pdf-wrap .c-btn {
  font-size: 1.8rem;
  max-width: 36rem;
  height: 6.4rem;
  padding-right: 0;
  margin: 1.2rem auto 0;
}
@media screen and (max-width: 767px) {
  .p-post-town__pdf-wrap .c-btn {
    font-size: 1.4rem;
    max-width: 27rem;
    height: 4.6rem;
  }
}

.p-post-town__comparison {
  padding-top: 19vw;
  padding-bottom: 22vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-post-town__comparison {
    padding-top: 26vw;
    padding-bottom: 30vw;
  }
}
.p-post-town__comparison::before {
  top: -1.7vw;
  content: "";
  position: absolute;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../img/base-wave-bg-top.png);
  background-repeat: no-repeat;
  background-position: center 0;
  background-size: cover;
  width: 101vw;
  height: 41.66vw;
  z-index: -1;
}
@media screen and (max-width: 1080px) {
  .p-post-town__comparison::before {
    left: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-post-town__comparison::before {
    top: 0;
  }
}
.p-post-town__comparison::after {
  bottom: -2.5vw;
  content: "";
  position: absolute;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../img/base-wave-bg-bottom.png);
  background-repeat: no-repeat;
  background-position: center 0;
  background-size: cover;
  width: 101vw;
  height: 44.65vw;
  z-index: -1;
}
@media screen and (max-width: 1080px) {
  .p-post-town__comparison::after {
    left: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-post-town__comparison::after {
    bottom: 0;
  }
}

.p-post-town__comparison-container {
  position: relative;
}
.p-post-town__comparison-container::before {
  content: "";
  position: absolute;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #EDF6EC;
  width: 101vw;
  height: 100%;
  z-index: -3;
  top: 15vw;
  height: calc(100% - 15vw);
  background-color: #F5FAF0;
}
@media screen and (max-width: 1080px) {
  .p-post-town__comparison-container::before {
    left: 50%;
  }
}

.p-post-town__comparison-wrap {
  margin: 4rem 0 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-post-town__comparison-wrap {
    margin: 2.4rem 0 1.2rem;
  }
}

.p-post-town__comparison-notes li {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 1.4rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-post-town__comparison-notes li {
    font-size: 1.2rem;
  }
}
.p-post-town__comparison-notes li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

.p-post-town__ranking .c-title {
  padding-top: 4rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .p-post-town__ranking .c-title {
    padding-top: 0.8rem;
    margin-bottom: 1.6rem;
  }
}

.p-post-town__ranking-img {
  width: 100%;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-post-town__ranking-img {
    margin-bottom: 1.2rem;
  }
}

.p-post-town__ranking-img--lg {
  margin-bottom: 8.8rem;
}
@media screen and (max-width: 767px) {
  .p-post-town__ranking-img--lg {
    margin-bottom: 3.2rem;
  }
}

.p-post-town__ranking-text {
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-post-town__ranking-text {
    line-height: 1.7;
    text-align: justify;
  }
}
.p-post-town__ranking-text strong {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-post-town__ranking-text strong {
    font-size: 1.5rem;
    line-height: 1.6;
  }
}

.p-post-town__ranking-text2 {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-post-town__ranking-text2 {
    font-size: 1.4rem;
    margin-bottom: 1.2rem;
  }
}

.p-post-town__ranking-img-parent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-post-town__ranking-img-parent {
    display: block;
  }
}

.p-post-town__ranking-img-child {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 48%;
          flex: 0 1 48%;
}

.p-post-town__hotspot {
  padding-top: 16.38vw;
  padding-bottom: 17vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-post-town__hotspot {
    padding-top: 23vw;
    padding-bottom: 25vw;
    margin-top: 7vw;
  }
}
.p-post-town__hotspot::before {
  top: 0;
  content: "";
  position: absolute;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../img/base-wave-bg-top.png);
  background-repeat: no-repeat;
  background-position: center 0;
  background-size: cover;
  width: 101vw;
  height: 41.66vw;
  z-index: -1;
}
@media screen and (max-width: 1080px) {
  .p-post-town__hotspot::before {
    left: 50%;
  }
}
.p-post-town__hotspot::after {
  bottom: -3.9vw;
  content: "";
  position: absolute;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-image: url(../img/base-wave-bg-bottom.png);
  background-repeat: no-repeat;
  background-position: center 0;
  background-size: cover;
  width: 101vw;
  height: 44.65vw;
  z-index: -1;
}
@media screen and (max-width: 1080px) {
  .p-post-town__hotspot::after {
    left: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-post-town__hotspot::after {
    bottom: -2vw;
  }
}
.p-post-town__hotspot .c-title {
  margin-bottom: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-post-town__hotspot .c-title {
    margin-bottom: 2.4rem;
  }
}
.p-post-town__hotspot .c-label-title {
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .p-post-town__hotspot .c-label-title {
    letter-spacing: 0;
  }
}
.p-post-town__hotspot .c-check-list {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-post-town__hotspot .c-check-list {
    margin-top: 1.6rem;
  }
}
.p-post-town__hotspot .c-hotspot-wrap {
  margin-top: 8.8rem;
}
@media screen and (max-width: 767px) {
  .p-post-town__hotspot .c-hotspot-wrap {
    margin-top: 4.8rem;
  }
}

.p-post-town__hotspot-container {
  position: relative;
}
.p-post-town__hotspot-container::before {
  content: "";
  position: absolute;
  left: calc(50% - 12.8rem);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #EDF6EC;
  width: 101vw;
  height: 100%;
  z-index: -3;
  top: 15vw;
  height: calc(100% - 15vw);
  background-color: #F5FAF0;
}
@media screen and (max-width: 1080px) {
  .p-post-town__hotspot-container::before {
    left: 50%;
  }
}

/*------------------------------------------------------------------------------
  p-search
------------------------------------------------------------------------------*/
.p-search__results-info {
  margin: 4rem 0 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-search__results-info {
    margin-bottom: 1.6rem;
  }
}

.p-search__results-count {
  font-size: 1.8rem;
  font-weight: bold;
  padding-left: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-search__results-count {
    font-size: 1.5rem;
  }
}
.p-search__results-count span {
  color: #479600;
  font-size: 3.2rem;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  .p-search__results-count span {
    font-size: 2.4rem;
  }
}

.p-search__texts:hover {
  text-decoration: underline;
}

.p-search__result-title {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-search__result-title {
    font-size: 1.5rem;
  }
}

.p-search__result-excerpt {
  font-size: 1.4rem;
  line-height: 1.7;
  margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
  .p-search__result-excerpt {
    font-size: 1.2rem;
    line-height: 1.6;
  }
}

.p-search__no-results {
  text-align: center;
  padding: 4rem 2rem;
}
@media screen and (max-width: 767px) {
  .p-search__no-results {
    padding: 3rem 1rem;
  }
}

.p-search__no-results p {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-search__no-results p {
    font-size: 1.4rem;
    margin-bottom: 1.2rem;
  }
}

.p-search__form-retry {
  margin-top: 3.2rem;
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-search__form-retry {
    margin-top: 2.4rem;
  }
}

.p-search__input-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .p-search__input-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.2rem;
  }
}

.p-search__input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  padding: 1.2rem 1.6rem;
  border: 2px solid #ccc;
  border-radius: 8px;
  outline: none;
  -webkit-transition: border-color 0.25s ease;
  transition: border-color 0.25s ease;
}
@media screen and (max-width: 767px) {
  .p-search__input {
    width: 100%;
    font-size: 1.4rem;
    padding: 1rem 1.2rem;
  }
  .p-search__input:focus {
    border-color: #479600;
  }
  .p-search__input::-webkit-input-placeholder {
    color: #999;
  }
  .p-search__input::-moz-placeholder {
    color: #999;
  }
  .p-search__input:-ms-input-placeholder {
    color: #999;
  }
  .p-search__input::-ms-input-placeholder {
    color: #999;
  }
  .p-search__input::placeholder {
    color: #999;
  }
}

/*------------------------------------------------------------------------------
  u-color
------------------------------------------------------------------------------*/
.u-text-color {
  color: #333 !important;
}

.u-primary-color {
  color: #6FBA2C !important;
}

.u-primary-dark-color {
  color: #479600 !important;
}

.u-blue-color {
  color: #1D466D !important;
}

.u-blue-color2 {
  color: #19538B !important;
}

.u-gold-color {
  color: #988400 !important;
}

/*------------------------------------------------------------------------------
  u-bgc
------------------------------------------------------------------------------*/
.u-bgc-blue {
  background-color: #1D466D !important;
}

.u-bgc-blue2 {
  background-color: #19538B !important;
}

.u-bgc-light-gray {
  background-color: #DFDFDF;
}

.u-bgc-light-purple {
  background-color: #DCD2EB;
}

.u-bgc-light-blue {
  background-color: #D7E6F0;
}

.u-bgc-yellow {
  background-color: #F2E7B3;
}

.u-bg-none {
  background: none !important;
}

/*------------------------------------------------------------------------------
  u-fz
------------------------------------------------------------------------------*/
.u-fz22 {
  font-size: 2.2rem !important;
}

.u-fz20 {
  font-size: 2rem !important;
}

.u-fz18 {
  font-size: 1.8rem !important;
}

.u-fz16 {
  font-size: 1.6rem !important;
}

.u-fz15 {
  font-size: 1.5rem !important;
}

.u-fz14 {
  font-size: 1.4rem !important;
}

.u-fz13 {
  font-size: 1.3rem !important;
}

.u-fz12 {
  font-size: 1.2rem !important;
}

@media screen and (max-width: 767px) {
  .u-fz16-sp {
    font-size: 1.6rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz15-sp {
    font-size: 1.5rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz14-sp {
    font-size: 1.4rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz13-sp {
    font-size: 1.3rem !important;
  }
}

@media screen and (max-width: 767px) {
  .u-fz12-sp {
    font-size: 1.2rem !important;
  }
}

/*------------------------------------------------------------------------------
  u-fw
------------------------------------------------------------------------------*/
.u-fw-bold {
  font-weight: bold !important;
}

.u-fw-medium {
  font-weight: 500 !important;
}

.u-fw-normal {
  font-weight: 400 !important;
}

/*------------------------------------------------------------------------------
  u-text-align
------------------------------------------------------------------------------*/
.u-text-align-left {
  text-align: left !important;
}

.u-text-align-center {
  text-align: center !important;
}

.u-text-align-right {
  text-align: right !important;
}

@media screen and (max-width: 767px) {
  .u-text-align-center--sp {
    text-align: center !important;
  }
}

/*------------------------------------------------------------------------------
  u-line-height
------------------------------------------------------------------------------*/
.u-line-height170 {
  line-height: 1.7;
}

/*------------------------------------------------------------------------------
  margin
------------------------------------------------------------------------------*/
.u-mt-0 {
  margin-top: 0 !important;
}

.u-mt-space-2 {
  margin-top: 2px !important;
}

.u-mt-space-3 {
  margin-top: 3px !important;
}

.u-mt-space-4 {
  margin-top: 4px !important;
}

.u-mt-space-3 {
  margin-top: 3px !important;
}

.u-mt-1 {
  margin-top: 8px !important;
}

.u-mt-2 {
  margin-top: 16px !important;
}

.u-mt-3 {
  margin-top: 24px !important;
}

.u-mt-4 {
  margin-top: 32px !important;
}

.u-mt-5 {
  margin-top: 40px !important;
}

.u-mt-6 {
  margin-top: 48px !important;
}

.u-mt-7 {
  margin-top: 56px !important;
}

.u-mb-0 {
  margin-bottom: 0 !important;
}

.u-mb-05 {
  margin-bottom: 4px !important;
}

.u-mb-1 {
  margin-bottom: 8px !important;
}

.u-mb-2 {
  margin-bottom: 16px !important;
}

.u-mb-3 {
  margin-bottom: 24px !important;
}

.u-mb-4 {
  margin-bottom: 32px !important;
}

.u-mb-5 {
  margin-bottom: 40px !important;
}

.u-mb-6 {
  margin-bottom: 48px !important;
}

.u-mb-7 {
  margin-bottom: 56px !important;
}

.u-my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.u-my-1 {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

.u-my-2 {
  margin-top: 16px !important;
  margin-bottom: 16px !important;
}

.u-my-3 {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

.u-my-4 {
  margin-top: 32px !important;
  margin-bottom: 32px !important;
}

.u-my-5 {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

.u-my-6 {
  margin-top: 48px !important;
  margin-bottom: 48px !important;
}

.u-my-7 {
  margin-top: 56px !important;
  margin-bottom: 56px !important;
}

.u-ml-1 {
  margin-left: 8px !important;
}

.u-ml-2 {
  margin-left: 16px !important;
}

.u-ml-05 {
  margin-left: 4px !important;
}

.u-mr-1 {
  margin-right: 8px !important;
}

.u-mr-2 {
  margin-right: 16px !important;
}

.u-mr-3 {
  margin-right: 24px !important;
}

.u-mr-4 {
  margin-right: 32px !important;
}

.u-mr-5 {
  margin-right: 40px !important;
}

.u-m-space-4 {
  margin: 4px !important;
}

.u-m-1 {
  margin: 8px !important;
}

.u-m-2 {
  margin: 16px !important;
}

.u-mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.u-ml-auto {
  margin-left: auto !important;
}

.u-mr-auto {
  margin-right: auto !important;
}

/*------------------------------------------------------------------------------
  padding
------------------------------------------------------------------------------*/
.u-pt-0 {
  padding-top: 0 !important;
}

.u-pt-1 {
  padding-top: 8px !important;
}

.u-pt-2 {
  padding-top: 16px !important;
}

.u-pt-3 {
  padding-top: 24px !important;
}

.u-pt-4 {
  padding-top: 32px !important;
}

.u-pt-5 {
  padding-top: 40px !important;
}

.u-pt-6 {
  padding-top: 48px !important;
}

.u-pt-7 {
  padding-top: 56px !important;
}

.u-pb-0 {
  padding-bottom: 0 !important;
}

.u-pb-1 {
  padding-bottom: 8px !important;
}

.u-pb-2 {
  padding-bottom: 16px !important;
}

.u-pb-3 {
  padding-bottom: 24px !important;
}

.u-pb-4 {
  padding-bottom: 32px !important;
}

.u-pb-5 {
  padding-bottom: 40px !important;
}

.u-pb-6 {
  padding-bottom: 48px !important;
}

.u-pb-7 {
  padding-bottom: 56px !important;
}

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

.u-py-1 {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.u-py-2 {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

.u-py-3 {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.u-py-4 {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

.u-py-5 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.u-py-6 {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

.u-py-7 {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}

.u-pl-1 {
  padding-left: 8px !important;
}

.u-pl-2 {
  padding-left: 16px !important;
}

.u-pr-1 {
  padding-right: 8px !important;
}

.u-pr-2 {
  padding-right: 16px !important;
}

.u-p-1 {
  padding: 8px !important;
}

.u-p-2 {
  padding: 16px !important;
}

/*------------------------------------------------------------------------------
  u-flex
------------------------------------------------------------------------------*/
.u-flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.u-justify-content-star {
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: start !important;
}

.u-justify-content-end {
  -webkit-box-pack: end !important;
      -ms-flex-pack: end !important;
          justify-content: end !important;
}

.u-justify-content-between {
  -webkit-box-pack: justify !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important;
}

.u-justify-content-center {
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.u-align-items-start {
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: start !important;
}

.u-align-items-flex-start {
  -ms-flex-item-align: start !important;
      align-self: flex-start !important;
}

.u-align-items-end {
  -webkit-box-align: end !important;
      -ms-flex-align: end !important;
          align-items: end !important;
}

.u-align-items-center {
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
}

.u-align-self-start {
  -ms-flex-item-align: start !important;
      -ms-grid-row-align: start !important;
      align-self: start !important;
}

.u-align-self-end {
  -ms-flex-item-align: end !important;
      -ms-grid-row-align: end !important;
      align-self: end !important;
}

.u-align-self-center {
  -ms-flex-item-align: center !important;
      -ms-grid-row-align: center !important;
      align-self: center !important;
}

.u-align-self-strech {
  -ms-flex-item-align: stretch !important;
      -ms-grid-row-align: stretch !important;
      align-self: stretch !important;
}

.u-flex-grow-1 {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.u-flex-shrink-0 {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

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

/*------------------------------------------------------------------------------
  u-underbar
------------------------------------------------------------------------------*/
.u-underbar {
  background: -webkit-gradient(linear, left top, right top, from(#FFF59D), to(#FFF59D));
  background: linear-gradient(90deg, #FFF59D 0%, #FFF59D 100%);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 30%;
  padding: 0 0.2rem 0.2rem;
}
@media screen and (max-width: 767px) {
  .u-underbar {
    background-size: 100% 26%;
    padding: 0 0.2rem 0.1rem;
  }
}
/*# sourceMappingURL=style.css.map */