@charset "utf-8";

/* トップページ */
body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #0A0A0A;
}

a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s;
}

a:hover {
  opacity: 0.8;
}


.l-news {
  margin-top: 40px;
  margin-bottom: 136px;
}

.common-btn {
  display: inline-block;
  padding: 27px 30px;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  color: #0A0A0A;
  border: 2px solid #326E00;
  background-color: #fff;
  border-radius: 9999px;
  max-width: 400px;
  width: 100%;
  position: relative;
  transition: all 0.3s;
}

.common-btn.common-btn--small {
  padding: 18px 20px;
  font-size: 1.6rem;
  max-width: 280px;
  text-align: center;
}

.common-btn:hover {
  background-color: #F4FAEF;
  opacity: 1;
}

.common-btn::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 15px;
  background: url(../img/btn-green.png) no-repeat;
  background-size: contain;
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
  z-index: 10;
}

.common-btn.common-btn--small::after {
  right: 20px;
}

.common-btn:hover::after {
  right: 20px;
}

.common-btn.common-btn--small:hover::after {
  right: 12px;
}

.common-heading {
  text-align: center;
}

#main.toppage .common-title__en {
  position: relative;
  display: inline-block;
  font-size: 4rem;
  font-weight: 500;
  color: #326E00;
  letter-spacing: 0;
  line-height: 1.2;
}

#main.toppage .common-title__en::after {
  content: "";
  display: block;
  width: 20px;
  height: 4px;
  background-color: #326E00;
  border-radius: 8px;
  margin-top: 4px;
  margin-inline: auto;
}

#main.toppage h2::before{
  content: none;
}

#main.toppage .common-title__ja {
  margin-top: 5px;
  font-size: 1.6rem;
  font-weight: 400;
  color: #0A0A0A;
  letter-spacing: 0;
  line-height: 1.2;
}

#main.toppage .about {
  padding-bottom: 90px;
  background-color: #fff;
}

.about__contents {
  display: flex;
  justify-content: space-between;
  gap: 80px;
  padding: 60px 60px 67px;
  background-image: url(../img/about-bg.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 20px;
}

.about__logo-area {
  flex-shrink: 0;
  max-width: 411px;
  width: 100%;
}

#main.toppage .about__img-title {
  width: 100%;
  aspect-ratio: 411/62;
  -o-object-fit: contain;
     object-fit: contain;
}

.about__img {
  margin-top: 20px;
  max-width: 319px;
  width: 100%;
  aspect-ratio: 319/177;
  -o-object-fit: contain;
     object-fit: contain;
  margin-inline: auto;
}

.about__text-area {
  max-width: 589px;
  width: 100%;
}

.about__text {
  font-size: 1.6rem;
  font-weight: 400;
  color: #0A0A0A;
  line-height: 1.625;
  letter-spacing: 0;
}

.contact-links {
  padding-top: 120px;
  padding-bottom: 120px;
  background-color: #fff;
}

.contact-links__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.contact-links__item {
  height: 100%;
  width: 100%;
  border: 4px solid #398300;
  border-radius: 20px;
}

.contact-links__item a {
  display: block;
  border-radius: 20px;
  padding: 26px 33px 71px;
  text-align: center;
  position: relative;
  background-color: #fff;
  transition: opacity 0.3s;
  height: inherit;
}

.contact-links__item a:hover {
  opacity: unset;
}


.contact-links__item a::after {
  content: "";
  width: 100%;
  height: inherit;
  border: solid 1px #398300;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 15px;
  transition: all 0.3s ease-in-out;
  transform: scale(0.95);
}

.contact-links__item a:hover::after {
  transform: scale(1);
}

.contact-links__item a::before {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url(../img/arrow-green.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  bottom: 20px;
  right: 20px;
  transition: all 0.3s;
}

.contact-links__item a:hover::before {
  background-image: url(../img/arrow-gray.png);
  opacity: 1;
  right: 12px;
}

.contact-links-heading {
  display: contents;
}

#main.toppage .contact-links__title {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.2;
  color: #0A0A0A;
  position: relative;
  transition: all 0.3s;
}

.contact-links__icon {
  margin-top: 20px;
  width: auto;
  height: 60px;
  -o-object-fit: contain;
     object-fit: contain;
  margin-inline: auto;
  transition: all 0.3s;
}

.contact-links__text {
  margin-top: 29px;
  font-size: 1.4rem;
  font-weight: 400;
  color: #0A0A0A;
  line-height: 1.5714285714;
  letter-spacing: 0;
  text-align: left;
  transition: all 0.3s;
}

.contact-links__item a:hover .contact-links__text,
.contact-links__item a:hover .contact-links__title,
.contact-links__item a:hover .contact-links__icon {
  opacity: 0.5;
}

#main.toppage .contents {
  background-image: url(../img/contents-bg.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: 80px;
  padding-bottom: 120px;
}

.contents__pickup {
  margin-top: 40px;
  background-color: #fff;
  padding: 50px 60px 60px;
  border-radius: 20px;
}

.contents__pickup-detail {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 50px;
}

.contents__pickup-body {
	flex: 1;
	max-width: 100%;
}

.contents__pickup-label {
  font-size: 1.8rem;
  font-weight: 500;
  color: #326E00;
  letter-spacing: 0;
  line-height: 1.1;
  border-left: 6px solid #326E00;
  padding-left: 10px;
}

.contents__pickup-date {
  margin-top: 11px;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  color: #464646;
}

#main.toppage .contents__pickup-title {
  margin-top: 8px;
  font-size: 2.4rem;
  font-weight: 500;
  color: #0A0A0A;
  line-height: 1.4166666667;
  letter-spacing: 0;
}


.contents__pickup-text {
  font-size: 1.6rem;
  font-weight: 400;
  color: #0A0A0A;
  line-height: 1.5;
  letter-spacing: 0;
  border-top: 1px solid #8B8B8B;
  margin-top: 12px;
  padding-top: 15px;
}

.contents__btn-wrap {
  margin-top: 16px;
}

.contents__pickup-img {
  flex-shrink: 0;
  max-width: 206px;
  width: 20%;
}

.contents__pickup-img img {
  width: 100%;
  aspect-ratio: 206/298;
  -o-object-fit: contain;
     object-fit: contain;
}

.contents__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 34px;
}

.contents__item {
  background-color: #fff;
  border-radius: 20px;
  padding: 40px 45px 60px;
  text-align: center;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.contents__title-wrap {
  display: contents;
}

#main.toppage .contents__title {
  font-size: 2rem;
  font-weight: 500;
  color: #0A0A0A;
  line-height: 1.5;
  letter-spacing: 0;
  position: relative;
}

#main.toppage .contents__title::after {
  content: "";
  display: block;
  width: 15px;
  height: 2px;
  background-color: #326E00;
  border-radius: 8px;
  margin-top: 10px;
  margin-inline: auto;
}

.contents__img {
  margin-top: 30px;
  max-width: 220px;
  width: 100%;
  margin-inline: auto;
}

.contents__img img {
  width: 100%;
  aspect-ratio: 220/180;
  -o-object-fit: contain;
     object-fit: contain;
}

.contents__text {
  margin-top: 30px;
  margin-bottom: 30px;
  font-size: 1.4rem;
  font-weight: 400;
  color: #0A0A0A;
  line-height: 1.5714285714;
  letter-spacing: 0;
  text-align: left;
}

.footer {
  background-color: #fff;
}

.footer__inner {
  padding-top: 40px;
}

.footer__upper {
  display: flex;
  justify-content: space-between;
}

.footer__logo-area {
  max-width: 406px;
  width: 100%;
  flex-shrink: 0;
}

.footer__logo {
  width: 100%;
  aspect-ratio: 406/70;
  -o-object-fit: contain;
     object-fit: contain;
}

.footer__note {
  margin-top: 20px;
  margin-right: 43px;
  max-width: 505px;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4285714286;
  color: #0A0A0A;
  text-indent: -14px;
  padding-left: 14px;
}

.footer__lower {
  margin-top: 10px;
  margin-bottom: 10px;
}

.footer__nav {
  display: flex;
  flex-wrap: wrap;
}

.footer__link {
  display: block;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  color: #0A0A0A;
  position: relative;
  padding-left: 12px;
  padding-right: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
}

.footer__link::before {
  content: "▶";
  position: absolute;
  left: 0;
  font-size: 0.7rem;
  color: #326E00;
  top: 50%;
  transform: translateY(-50%);
}

.footer__copyright-wrap {
  background-color: #398300;
}

.footer__copyright {
  display: block;
  font-size: 1.2rem;
  letter-spacing: 0;
  line-height: 1;
  padding: 12px 0;
  color: #fff;
  text-align: center;
}

#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  background-color: #fff;
  padding-top: 10px;
  background-image: none;
}

.header__upper {
  display: flex;
  justify-content: space-between;
}

.header__jst-logo {
  display: none;
}

.header_inr{
  min-width: 768px;
}

.header_inr h1 {
  max-width: 388px;
}

.header_inr h1 img{
  width: 100%;
  height: auto;
  aspect-ratio: 388/66;
  object-fit: contain;
}

.header__upper-right {
  display: flex;
  gap: 16px;
  margin-top: 10px;
}

#gglsearch{
  position: initial;
  max-width: 240px;
  width: 100%;
}

#gglsearch form{
  max-width: 240px;
  width: 100%;
  align-items: center;
  background-color: #F7F7F7;
  border: 1px solid #D9D7D7;
  border-radius: 20px;
  display: flex;
  justify-content: space-between;
  position: relative;
}

#gglsearch input[type="text"]#keywords{
  border: none;
  outline: none;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  color: #0A0A0A;
  letter-spacing: 0;
  background-color: #F7F7F7;
  margin-top: unset;
  margin-bottom: unset;
  background:unset;
  box-shadow: none;
  text-indent: 0;
}

#gglsearch img#icon{
  width: 20px;
  height: 20px;
  padding: unset;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}

#header .sub_menu{
  position: initial;
  max-width: 120px;
  width: 100%;
  align-items: flex-start;
}

#logo-jst img{
  position: initial;
}

.learning {
  background-color: #F7F7F7;
  padding-top: 80px;
  padding-bottom: 80px;
  text-align: center;
}

.learning__inner.inner {
  max-width: 1440px;
  width: 100%;
  margin-inline: auto;
  padding-left: 0;
  padding-right: 0;
}

.learning__slider {
  margin-top: 50px;
  max-width: 1440px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.learning__slide {
  width: 208px;
  margin: 0 0.481%;
  text-align: center;
  padding-bottom: 40px;
  padding-top: 10px;
}

.learning__img {
  width: 100%;
  aspect-ratio: 208/295;
  -o-object-fit: contain;
     object-fit: contain;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);
  transition: all 0.3s;
}

#main.toppage .learning__title {
  margin-top: 20px;
  font-size: 1.4rem;
  font-weight: 500;
  color: #0A0A0A;
  line-height: 1.7142857143;
  letter-spacing: 0;
}

.learning__text {
  font-size: 1.4rem;
  font-weight: 400;
  color: #464646;
  line-height: 1.7142857143;
  letter-spacing: 0;
}

.learning .slick-dots {
  display: flex;
  justify-content: center;
  gap: 9px;
  margin-top: 40px;
}

.learning .slick-dots li {
  width: 15px;
  height: 15px;
  border-radius: 999px;
  margin-inline: 0;
}

.learning .slick-dots li button {
  width: 100%;
  height: 100%;
  border-radius: 999px;
}

.learning .slick-dots li button:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #D9D7D7;
  opacity: 1;
  border-radius: 999px;
  transition: 0.3s;
}

.learning .slick-dots li.slick-active button:before {
  background: #326E00;
}

.learning .slide-arrow {
  cursor: pointer;
  margin: auto;
  position: absolute;
  top: 38%;
  transform: translateY(-50%);
  width: 40px;
  z-index: 10;
}

.learning .prev-arrow {
  left: 80px;
}

.learning .next-arrow {
  right: 80px;
}

.mv {
  position: relative;
  overflow: hidden;
  margin-top: 20px;
  padding-bottom: 45px;
}


.mv__slider {
  margin-bottom: 30px;
}

.mv__slide {
  margin: 0 5px;
  border-radius: 20px;
}

.mv__slide img {
  /*aspect-ratio: 1200/350;
  -o-object-fit: cover;
  object-fit: contain;*/
  border-radius: 20px;
  width: 100%;
  height: auto;
}

.mv .slick-dots {
  display: flex;
  justify-content: center;
  gap: 5px;
  margin-top: 20px;
}

.mv .slick-dots li {
  width: 30px;
  height: 7px;
  border-radius: 8px;
}

.mv .slick-dots li button {
  width: 100%;
  height: 100%;
}

.mv .slick-dots li button:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #D9D7D7;
  opacity: 1;
  transition: 0.3s;
  border-radius: 8px;
}

.mv .slick-dots li.slick-active button:before {
  background: #326E00;
}

#main.toppage .news__title {
  text-align: center;
  font-size: 4rem;
  font-weight: 500;
  color: #326E00;
  letter-spacing: 0;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

#main.toppage .news__title::before,
#main.toppage .news__title::after,
.news__title::after {
  content: "";
  display: block;
  width: 200px;
  height: 3px;
  background-color: #326E00;
  border-radius: 8px;
}

.news__title::before {
  margin-right: 40px;
}

.news__title::after {
  margin-left: 40px;
}

#main.toppage .news__subtitle {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 400;
  color: #0A0A0A;
  letter-spacing: 0;
  line-height: 1.2;
  margin-top: 5px;
}

.news__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 40px;
}

.news__card a {
  background-color: #fff;
  border: 1px solid #D9D7D7;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.16);
  display: flex;
  justify-content: space-between;
  padding: 25px 30px 20px 30px;
  transition: all 0.3s;
  gap: 15px;
  height: 100%;
}

.news__card a:hover {
  opacity: 1;
}

.news__card-body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.news__labels {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}

.news__label {
  display: inline-block;
  padding: 2px 11px;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.2;
  color: #326E00;
  border: 1px solid #326E00;
  border-radius: 9999px;
}

.news__label--new {
  background-color: #BA4100;
  color: #fff;
  border-color: #BA4100;
}

.news__text {
  max-width: 350px;
  margin-top: 11px;
  font-size: 1.6rem;
  font-weight: 400;
  color: #0A0A0A;
  letter-spacing: 0;
  line-height: 1.625;
  position: relative;
  transition: all 0.3s;
  margin-bottom: 30px;
}

.news__card a:hover .news__text {
  text-decoration: underline;
  color: #8B8B8B;
}

.news__text::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 15px;
  background: url(../img/btn-bk.png) no-repeat;
  background-size: contain;
  margin-left: 3px;
  transition: all 0.3s;
}

.news__card a:hover .news__text::after {
  background-image: url(../img/btn-green.png);
  margin-left: 8px;
}

.news__card.news__card--img-none .news__text {
  max-width: 100%;
}

.news__date-wrap {
  display: inline-block;
}

.news__date {
  font-size: 1.4rem;
  font-weight: 400;
  color: #464646;
  letter-spacing: 0;
  line-height: 1.2;
}

.news__card-img {
  max-width: 160px;
  width: 67%;
}

.news__card-img img {
  aspect-ratio: 160/156;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.news__card a:hover .news__card-img img {
  opacity: 0.6;
}

.news__btn-wrap {
  margin-top: 60px;
  text-align: center;
}

.page-top {
  position: fixed;
  bottom: 25px;
  right: 70px;
  width: 67px;
  cursor: pointer;
  z-index: 999;
}

.c-page-top:hover {
  opacity: 0.8;
}

.page-top__img {
  aspect-ratio: 67/67;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.partners {
  background-color: #F7F7F7;
  padding: 70px 0;
}

.partners__list {
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  max-width: 1114px;
  width: 100%;
  margin-inline: auto;
}

.partners__item {
  width: 100%;
  max-width: 271px;
}

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

.partners__img img {
  aspect-ratio: 271/68;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.side-menu {
  position: fixed;
  top: 128px;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
  z-index: 1000;
}

.side-menu__item {
  position: relative;
  display: flex;
  justify-content: flex-end;
  transform: translateX(0);
  transition: transform 0.3s;
}

.side-menu__item + .side-menu__item {
  margin-top: 5px;
}

.side-menu__item.side-menu__item--sp {
  display: none;
}

.side-menu__btn {
  writing-mode: vertical-rl;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.1428571429;
  font-weight: 500;
  padding: 10px 20px;
  cursor: pointer;
  border-bottom-left-radius: 10px;
  border-top-left-radius: 10px;
  transition: background 0.3s;
  height: 210px;
}

.side-menu__btn--1 {
  background-color: #ECFCDF;
  color: #326E00;
  border: 1px solid #326E00;
}

.side-menu__btn--2 {
  background-color: #D9F7EB;
  color: #326E00;
  border: 1px solid #326E00;
}

.side-menu__btn--3 {
  background-color: #D1E3F4;
  color: #0A52A2;
  border: 1px solid #0A52A2;
}

.side-menu__item:hover {
  transform: translateX(-447px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.side-menu__item.side-menu__item--sp:hover {
  transform: translateX(0);
  box-shadow: none;
}

.side-menu__text {
  writing-mode: horizontal-tb;
}

.side-menu__detail {
  position: absolute;
  top: 0;
  left: 100%;
  width: 470px;
  height: 100%;
  background-color: #F9FBF4;
  padding: 10px 18px;
  opacity: 0;
  pointer-events: none;
  transform: translateX(20px);
  transition: opacity 0.3s, transform 0.3s;
  overflow-y: auto;
  border-top: 1px solid;
  border-bottom: 1px solid;
}

.side-menu__item--1 .side-menu__detail {
  border-color: #398300;
  background-color: #FBFFF7;
}

.side-menu__item--2 .side-menu__detail {
  border-color: #326E00;
  background-color: #F4FCF9;
}

.side-menu__item--3 .side-menu__detail {
  border-color: #0A52A2;
  background-color: #ECF2F8;
}

.side-menu__item.is-active .side-menu__detail,
.side-menu__item:hover .side-menu__detail {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

.side-menu__detail-list {
  list-style: none;
}

.side-menu__detail-block {
  display: flex;
}

.side-menu__detail-block + .side-menu__detail-block {
  margin-top: 5px;
}

.side-menu__detail-heading {
  max-width: 70px;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  color: #0A0A0A;
  letter-spacing: 0;
  line-height: 1.5714285714;
  position: relative;
  padding-left: 9px;
}

.side-menu__detail-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 4px;
  height: 15px;
}

.side-menu__detail-links {
  list-style: none;
  margin-left: 15px;
}

.side-menu__detail-item a {
  position: relative;
  display: block;
  padding-left: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  color: #0A0A0A;
  letter-spacing: 0;
  line-height: 1.5;
  padding-block: 1px;
}

.side-menu__detail-item a::before {
  content: "▶";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1rem;
  font-weight: 400;
  color: #326E00;
}

.side-drawer {
  width: 300px;
  background: #fff;
  border: 1px solid #006400;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  box-shadow: -2px 0 5px rgba(0, 0, 0, 0.1);
}

.side-wrap.active .side-drawer {
  transform: translateX(0);
}

.side-wrap.active {
  transform: translateX(-527px);
}

.inner {
  max-width: 1250px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 25px;
  padding-right: 25px;
}

html.is-scroll,
body.is-scroll {
  overflow: hidden;
}

.top-page {
  background-color: #FDFDFA;
}

nav.menu #gglsearch{
  display: none;
}

#header nav.menu .sub_menu{
  display: none;
}

nav.menu #logo-jst{
  display: none;
}

#header.h_fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 118px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  background-color: #fff;
  padding-top: 10px;
  background-image: none;
}

.h_fixed + #main,
.toppage.h_fixed + #main {
  padding-top: 0;
}

#header.h_fixed .header_inr h1 img {
  width: 100%;
  height: auto;
  aspect-ratio: 388 / 66;
  object-fit: contain;
}

.langSwitch{
  width: 120px;
  height: 30px;
  margin-inline: auto;
  padding-left: 0;
}

.langSwitch li{
  width: 50%;
  border: none;
  background-color: #FFFFFF;
  color: #0A0A0A;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  padding: 10px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.langSwitch li:first-child{
  padding-right: 0;
 border-bottom-left-radius: 20px;
 border-top-left-radius: 20px;
 background-color: #F7F7F7;
}

.langSwitch li:last-child{
  border-bottom-right-radius: 20px;
  border-top-right-radius: 20px;
  background-color: #D9D7D7;
  padding-left: 0;
}

.langSwitch a{
  color: #0A0A0A;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  background-color: unset;
  text-decoration: none;
}

.langSwitch li, .langSwitch a{
  margin-right: 0;
  margin-left: 0;
}

.navGlobal > li {
  border-right: 2px solid #326E00;
}

.navGlobal > li.nav_eventreport {
  border-right: none;
}

.navGlobal > li:first-child {
  border-left: none;
}

.navGlobal > li > span.top_menu, .navGlobal > li > a {
  background-color: #fff;
  padding-block: 5px;
}

.guidelines .navGlobal > li:nth-child(1) > span.top_menu, .surveyresearch .navGlobal > li:nth-child(2) > span.top_menu, .measuretutorial .navGlobal > li:nth-child(3) > span.top_menu, .universitiesinstitutions .navGlobal > li:nth-child(4) > span.top_menu, .society .navGlobal > li:nth-child(5) > span.top_menu, .eventreport .navGlobal > li:nth-child(6) > span.top_menu{
  background-color: #ffffff;
  color: #0A0A0A;
}

.guidelines .navGlobal > li:nth-child(1).hover > span.top_menu, .surveyresearch .navGlobal > li:nth-child(2).hover > span.top_menu, .measuretutorial .navGlobal > li:nth-child(3).hover > span.top_menu, .universitiesinstitutions .navGlobal > li:nth-child(4).hover > span.top_menu, .society .navGlobal > li:nth-child(5).hover > span.top_menu, .eventreport .navGlobal > li:nth-child(6).hover > span.top_menu{
  background-color: #ffffff;
  color: #326E00;
  text-decoration: underline;
  text-underline-offset: 3px;
}

._catName1 .navGlobal > li.nav_catName1 > a, ._catName2 .navGlobal > li.nav_catName2 > a, ._catName3 .navGlobal > li.nav_catName3 > a, ._catName4 .navGlobal > li.nav_catName4 > a, .navGlobal > li.hover > span.top_menu, .navGlobal > li.hover > a{
  background-color: #ffffff;
  color: #326E00;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* no_toppage */
#main{
  padding-top: 110px;
}

#main.no_toppage .breadcrumb{
background-color: #F8F8F5;
padding-left: 0;
margin-bottom: 80px;
}

#main.toppage .breadcrumb{
  background-color:transparent;
margin-bottom: 50px;
}

.breadcrumb ul{
min-width: unset;
padding-top: 7px;
padding-bottom: 7px;
}

.breadcrumb li a{
  color: #326E00;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.2;
  text-decoration: none;
}

.breadcrumb li{
  position: relative;
}

.breadcrumb li:not(:first-child){
  padding-left: 17px;
}

.breadcrumb li::after{
  content: " ";
  position: absolute;
  background: url(../img/breadcrumb-arrow.png) no-repeat;
  width: 7px;
  height: 7px;
  background-size: contain;
  top: 50%;
  right: -14px;
  transform: translateY(-50%);
}

.breadcrumb li:last-child::after{
  display: none;
}

#main.no_toppage{
  font-family: "Noto Sans JP", sans-serif;
  padding-top:120px ;
}

#main.no_toppage .main_visual,
#main.no_toppage .main_visual .bg_main_visual,
#main.no_toppage .main_visual .bg_main_visual img{
  height: 134px;
}

#header.no_toppage.h_fixed + #main > .main_visual{
  padding-top: 0;
  height: 134px;
}

body#wrapper #main.no_toppage .main_visual_inr h1{
  color: #0A0A0A;
  font-size: 3rem ;
  position: relative;
}

#main.no_toppage .main_visual_inr h1::after{
  content: "";
  display: block;
  width: 20px;
  height: 4px;
  border-radius: 8px;
  background-color: #326E00;
  margin-right: auto;
  margin-left: auto;
  margin-top: 11px;
}

#main .bg_main_visual{
  background: none;
}

.two_column .contents{
  width: 900px;
  margin-right: 39px;
}

.ext_html {
  font-size: 1.6rem;
  font-weight: 400;
  color: #0A0A0A;
}

#main.no_toppage h2{
  margin-top: 40px;
}

#main.no_toppage h2{
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  color: #0A0A0A;
  border: none;
/*  position: relative;*/
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #E5E5E5;
  padding-bottom: 5px;
}

#main h2::before{
  content: "";
  display: block;
  width: 5px;
  height: 20px;
  background-color: #398300;
}

.layoutWrap h2.ttlDesign1{
  padding-left: 0;
  margin-bottom: 20.5px;
}

.layoutWrap h3.ttlDesign1{
border: none;
background-color:#F4FAEF;
border-radius: 8px;
margin-top: 20.5px;
margin-bottom: 15px;
margin-left: 0;
margin-right: 0;
padding-left: 12px;
padding-top: 7px;
padding-bottom: 7px;
display: flex;
align-items: center;
gap: 8px;
}

.layoutWrap h3.ttlDesign1::before{
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background-color: #398300;
}

.post_item.hr{
  border-top: none;
}

#main.no_toppage .contents .post_item{
  padding-top: 0;
  padding-bottom: 15px;
  margin-left: 0;
  margin-right: 0;
  clear: both;/*260120*/
}

#main.no_toppage .contents h4 {
padding-left: 10px;
background-size: 7px 8px;
background-position: left 10px;
margin-top: 15px;
margin-bottom: 10px;
}

#main.no_toppage .post_item h4 a{
color: #0A52A2;
text-decoration: underline;
text-underline-offset: 3px;
font-weight: 400;
letter-spacing: 0.02em;
line-height:1.6 ;
transition: all 0.3s;
position: relative;
}

#main.no_toppage .post_item h4 a:hover{
  text-decoration: none;
}


.post_item.item-block-bullets p{
  margin-left: 0;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height:1.7;
  color: #0A0A0A;
}

.post_item .text_section ul li {
  margin-left: 28px;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height:1.7 ;
  color: #0A0A0A;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.post_item .text_section ul li::marker{
color:#398300 ;
}

.post_item.hr.item-block-bullets + .post_item.hr.item-block-bullets {
  border-top: 1px solid #E8E8E8;
}

.post_item a.pdf{
  position: relative;
  padding-left: 10px;
  color: #0A0A0A;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height:1.6 ;
  text-decoration: underline;
  text-underline-offset: 3px;
  background-size:16px 18px ;
}

.post_item a.pdf::before{
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 99px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: #398300;
}

.post_item .text_section a{
  text-decoration: underline;
  text-underline-offset: 3px;
  /*display: inline-block;*//* 251227 */
}

.ext_html a, .post_item .text_section a{
  color: #0A52A2;
}

.post_item .text_section ul li a {
  position: relative;
  color: #0A0A0A;
}
/*
.post_item .text_section ul li a{
  background-image: url(../img/icon_pdf_16.png);
  background-size: 16px 18px;
  background-repeat: no-repeat;
  background-position: right center;
  padding-right: 20px;
  display: inline;
}
*/

#main.no_toppage .sub_menu > ul.navGlobal > li .top_menu_ttl{
  background-color: #398300;
  color: #FFFFFF;
  font-size: 1.6rem;
  font-weight: 500;
  padding-top: 13px;
  padding-bottom: 13px;
  border-top-right-radius: 6px;
  border-top-left-radius: 6px;
  margin-top: 0;
  margin-bottom: 0;
}

.sidebar .sub_menu .nav_second_wrap{
  margin-left: 0;
}

.sub_menu ul.nav_second > li > a{
  color: #0A0A0A;
  font-size: 1.4rem;
  font-weight: 500;
  padding: 10px 10px;
  background-color:#E0F2D3;
  width: 100%;
  display: block;
  background-image: none;
}

#main.no_toppage .sidebar .sub_menu a{
  color: #0A0A0A;
}

.sidebar .sub_menu ul.nav_third {
  margin-left: 0;
  padding-left: 20px;
  background-color: #F4FAEF;
  padding-top: 10px;
  padding-bottom: 15px;
}

.sidebar .sub_menu a{
  background-image: url(../img/sidebar-marker.svg);
  background-size: 7px 7px;/*260122*/
  background-position: 0px 5px;/*260122*/
}

.sidebar .sub_menu .nav_second{
  margin-bottom: 0;
}

.sidebar .sub_menu ul.nav_third > li > a{
  font-weight: 400;
  font-size: 1.3rem;
}

.sidebar .sub_menu ul.nav_fourth > li > a {
  background-image: url(../img/sidebar-marker2.svg);
  background-size: 8px 3px;/*260122*/
}

.sidebar .banner_items {
background-color: #F4FAEF;
padding-top: 15px;
padding-bottom: 20px;
}

.two_column .sidebar ul.banner_items li{
  max-width: 220px;
  width: 100%;
  margin-inline: auto;
  margin-top: 0;
  margin-bottom: 0;
}

.two_column .sidebar ul.banner_items li:not(:first-child){
  margin-top: 5px;
}

.sidebar .banner_items li a {
  width: 100%;
  color: #0A0A0A;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  padding: 10px;
  background-color: #FFFFFF;
  border-radius: 6px;
  border: 1px solid #398300;
  display: block;
  margin-inline: auto;
}

.two_column .sidebar {
  background-color: unset;
}

#main.no_toppage .post_item h4 a[href$=".pdf"]{
  background-image: url(../img/icon_pdf_16.png);
  background-size: 16px 18px;
  background-repeat: no-repeat;
  background-position: right center;
  padding-right: 20px;
}

/* TOPページ用修正対応 */

.langSwitch li:nth-of-type(2) {
  border-left: none;
}

a:hover{
  text-decoration: none;
}

#main.toppage{
  background-color:#FDFDFA;
  font-feature-settings: initial;
}

.learning__slide a:hover .learning__img {
transform: scale(1.06730);
opacity: 1;
}

.learning__slide a:hover{
  opacity: 1;
}

#side-drawer-1 .side-menu__detail-heading::before{
  background-color: #398300;
}

#side-drawer-1 .side-menu__detail-item a::before{
  color: #398300;
}

#side-drawer-2 .side-menu__detail-heading::before{
  background-color: #418100;
}

#side-drawer-2 .side-menu__detail-item a::before{
  color: #418100;
}

#side-drawer-3 .side-menu__detail-heading::before{
  background-color: #0A52A2;
}

#side-drawer-3 .side-menu__detail-item a::before{
  color: #0A52A2;
}

.MegaDrop{
  margin-top: 0;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  background-color:#F4FAEF;
  color: #0A0A0A;
  padding: 0 0 40px;
}

.MegaDrop_inr{
  display: block;
}

.MegaDrop .top_menu_ttl{
  border: none;
  color: #ffffff;
  background-color: #398300;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: calc(26/18);
  position: relative;
  padding: 12px 75px;
}

.MegaDrop_inr > h2::before{
  content: "";
  display: block;
  width: 5px;
  height: 20px;
  background-color: #fff;
  position: absolute;
  left: 60px;
  top: 50%;
  transform: translateY(-50%);
}

.MegaDrop_inr a{
  color: #0A0A0A;
}

.MegaDrop_inr .nav_second_wrap{
  width: 100%;
  padding:30px  60px 0;
  row-gap: 30px;
  column-gap: 10px;
}

.MegaDrop_inr ul.nav_second{
  padding-left: 0;
  width: calc((100% - 20px)/3);
  flex-basis: calc((100% - 20px)/3);
}

.MegaDrop_inr .nav_second a{
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(26/16);
  padding-left: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.MegaDrop_inr ul.nav_third{
  padding: 0;
  margin-top: 10px;
  margin-left: 0;
}

.MegaDrop_inr ul.nav_third a{
  font-size: 1.4rem;
  font-weight: 400;
  line-height: calc(25/14);
  padding-left: 0;
  text-decoration: none;
  position: relative;
}

.MegaDrop_inr ul.nav_third a::before{
  content: "▶";
  position: absolute;
  left: -14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1rem;
  font-weight: 400;
  color: #326E00;
}

.megaNavClose{
  top: 12px;
}

.MegaDrop_inr a:hover{
  color: inherit;
  opacity: 0.7;
}

.MegaDrop_inr ul.nav_fourth li a{
  border: none;
}

.contents__pickup-title a{
  text-decoration: none;
  transition: text-decoration 0.3s ease-in-out;
}

.contents__pickup-title a:hover{
  text-decoration: underline;
  text-underline-offset: 3px;
  opacity: 1;
}

.contents__title a{
  transition: all 0.3s;
  font-weight: 500;
}

.contents__title a:hover{
  color: #326E00;
  opacity: 1;
}
/* トップページ調整 */
.contents__pickup-body figure, 
.contents__pickup-body img {
    float: right;
    margin: 0 0 0 15px;
}

.contents__pickup-body a {
  color: #005881;
  font-weight: 400;
}

#main.toppage .contents__pickup-title {
    font-weight: 500;
}

/* 詳細ページ調整 */

/*
#main.no_toppage h2.ttlDesign1 {
    position: unset;
}
*/

#main.no_toppage .contents h4 {
    color: #0A52A2;
}

.guidelines .navGlobal > li:nth-child(1) > span.top_menu, .surveyresearch .navGlobal > li:nth-child(2) > span.top_menu, .measuretutorial .navGlobal > li:nth-child(3) > span.top_menu, .universitiesinstitutions .navGlobal > li:nth-child(4) > span.top_menu, .society .navGlobal > li:nth-child(5) > span.top_menu, .eventreport .navGlobal > li:nth-child(6) > span.top_menu {
    color: #0A0A0A;
    background-color: #FFFFFF;
    border-bottom: 4px solid #326E00;
}

.measuretutorial .list_anchor a {
    color: #326E00;
}

.post_item .text_section p a.pdf {
    padding-left: 0;
}

.post_item .text_section p a.pdf::before {
    content: none;
}

/* 取材レポート調整 */
.ffp_title2 {
    background: #F4FAEF;
    font-size: 1.8rem;
    border-left: solid 10px #398300;
}
#main.no_toppage #second_contents .contents div.post_body-2019style h4, #main.no_toppage #second_contents .contents div.tabbox div.txt_box2_p-2019style h4 {
    border-top: 4px solid #398300;
    clear: both;/* 260122 */
}
#main.no_toppage #second_contents .contents div.post_body-2019style h5, #main.no_toppage #second_contents .contents div.tabbox div.txt_box2_p-2019style h5 {
    border-left: solid 5px #398300;
}

.layoutWrap h3.ttlDesign1.accordion::before {
    content: none;
}

/* 260110 */

.text_section {
    margin-top: 1em;
}

#second_contents > .contents > div.description {
    border-bottom: 1px solid #cccccc;
    padding-bottom: 1em;
}
.leaflet .masterlinklist li p.title a {
    background: url(../img/arrow2.svg) no-repeat 0 0.6em / 7px auto;
}

#main.no_toppage .post_item .text_section ul li a[href$=".pdf"]{
  background-image: url(../img/icon_pdf_16.png);
  background-size: 16px 18px;
  background-repeat: no-repeat;
  background-position: right center;
  padding-right: 20px;
}

.masterlinklist li ul.effort li a {
    background: url(../img/arrow2.svg) no-repeat 0 0.5em / 7px auto;
}

/*-------------------
20260112
--------------------*/

.contents__pickup-body {
	max-width: 100%;
}

.contents__pickup-title a {
	color: #0A0A0A;
	font-weight: bold;
}

.masterlinklist li ul.effort li a {
    background: url(../img/arrow2.svg);
	background-repeat: no-repeat;
	background-position: left 0.55em;
	background-size: 8px auto;
}

#header.h_fixed {
	height: auto;
}

.linklist_wrap h2 {
    top: 139px;
}

.news__card .news__card-box {
  background-color: #fff;
  border: 1px solid #D9D7D7;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.16);
  display: flex;
  justify-content: space-between;
  padding: 25px 30px 20px 30px;
  transition: all 0.3s;
  gap: 15px;
  height: 100%;
}

.news__card-box .news__text::after {
    content: none;
}

div.post_body-2019style figure.post-image-right {
    max-width: 360px;
    box-sizing: border-box;
}

