@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400&family=Noto+Sans+JP:wght@400;500&display=swap');
html, body {
  font-size: 100%;
  margin: 0;
  padding: 0;
  height: 100%;
  font-size: clamp(13px, 1vw, 15px);
  color: #648043;
	scroll-behavior: smooth;
}
a:link {
  text-decoration: none;
  color: #000;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
a:visited, a:active, a:hover {
  text-decoration: none;
  color: #000;
}
p, ul li, ol li, table, dt, dd {
  line-height: 1.6em;
}
/* タイトル */
h1, h2, h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
/* 本文 */
body, p {
  font-family: "Noto Sans JP", sans-serif;
  width: 100% !important;
  margin-bottom: 20px;
}
.spbox50 {
  width: 48% !important;
  margin: 10px 1%;
}
.box img {
  width: 100%;
}
.box_head {
  padding: 30px 2%;
}
ans JP", sans-serif;
font-weight: 400;
}
/* 英字 */
.en {
  font-family: "Inter", sans-serif;
  font-weight: 400;
}
hr {
  margin: 50px 0;
}
img {
  max-width: 100%;
  height: auto;
}
.wrapper {
  width: 100%;
  min-height: calc(100% - 50px);
}
.wrap {
  max-width: 1200px;
  margin: 0 auto;
}
.contents {
  max-width: 900px;
  margin: 0 auto;
  padding: 0px 30px;
  box-sizing: border-box;
}
@media (max-width: 1000px) {
  .contents {
    padding: 0px 40px 0px 20px;
  }
}
header {
  position: relative;
  z-index: 9999;
  width: 100%;
  height: 100px;
  padding-top: 20px;
}
h1 {
  width: 340px;
  height: 58px;
  z-index: 2;
  position: absolute;
  top: 0;
  left: 40px;
}
h1 a {
  width: 340px;
  height: 58px;
  display: block;
  background: url("../image/logo.svg") no-repeat center center/cover;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
@media (max-width: 1400px) {
  header {
    height: 80px;
  }
  h1, h1 a {
    width: 260px;
    height: 44px;
    top: 0px;
    left: 0px;
  }
}
h2 {
  font-size: 32px;
}
@media (max-width: 768px) {
  h2 {
    font-size: 22px;
  }
}
p {
  line-height: 2.0em;
}
p.pad30 {
  padding: 30px 0px;
}
.main_visual {
  width: 94%;
  margin: 0 3%;
  height: calc(100vh - 100px);
  background: url("../image/main.jpg") center center/cover no-repeat;
  border-top-right-radius: 20px;
  border-top-left-radius: 20px;
  position: relative;
}
.main_visual:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  border-top-right-radius: 20px;
  border-top-left-radius: 20px;
  z-index: 1;
}
.main_visual img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1000px;
  max-width: 80%;
  z-index: 2;
}
@media (max-width: 1000px) {
  .main_visual {
    width: calc(100% - 40px);
    margin: 0 6% 0 0;
    height: calc(100vh - 100px);
    background: url("../image/main.jpg") center center/cover no-repeat;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    border-top-left-radius: 0px;
    position: relative;
  }
  .main_visual:after {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    border-top-left-radius: 0px;
  }
  .main_visual img {
    position: absolute;
    top: auto;
    left: 0px;
    bottom: 0px;
    transform: none;
  }
}
.sub_visual {
  width: 94%;
  margin: 0 3%;
  padding: 120px 0px;
  text-align: center;
  position: relative;
  color: #fff;
  border-radius: 20px;
}
.sub_visual:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  top: 0;
  left: 0;
  z-index: 1;
  border-radius: 20px;
}
@media (max-width: 1000px) {
  .sub_visual {
    width: calc(100% - 40px);
    margin: 0 6% 0 0;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
  }
  .sub_visual:after {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    border-top-left-radius: 0px;
  }
}
.sub_visual h2 {
  position: relative;
  z-index: 2;
}
.school_life {
  background: url("../image/school_life_1_0.jpg") center center/cover no-repeat;
}
.enrollment {
  background: url("../image/enrollment_1_0.jpg") center center/cover no-repeat;
}
.introduction{
  background: url("../image/introduction_1_0.jpg") center center/cover no-repeat;
}
.education{
  background: url("../image/education_1_0.jpg") center center/cover no-repeat;
}
.visit{
  background: url("../image/visit_1_0.jpg") center center/cover no-repeat;
}
.flag {
  position: fixed;
  top: 54%;
  transform: translateY(-50%);
  width: 2.4%;
}
.flag_l {
  left: 0.2%;
}
.flag_r {
  right: 0.2%;
}
@media (max-width: 1400px) {
  .flag {
    width: 40px;
  }
  .flag_l, .flag_r {
    transform: translateY(0%);
    right: -2px !important;
    left: auto;
  }
  .flag_l {
    top: 90px !important;
  }
  .flag_r {
    top: 350px !important;
  }
}
section {
  padding: 100px 0px;
}
@media (max-width: 1000px) {
  section {
    padding: 40px 0px;
  }
}
section.f7 {
  background: #f7f7f7;
}
.news_sec {
  padding: 95px 0 85px;
}
.vertical_contents {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 0;
}
/* 左の見出し */
.vertical_ttl {
  writing-mode: vertical-rl;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  color: #5f7f3d;
  font-size: 16px;
  font-weight: normal;
  letter-spacing: 0.2em;
  line-height: 1;
  position: relative;
  justify-self: start;
}
/* 縦書き文字の右に縦棒 */
.vertical_ttl span::after {
  content: "";
  width: 1px;
  background: #5f7f3d;
  right: -10px;
  display: block;
  position: absolute;
  height: 100%;
}
.vertical_ttl span {
  position: relative;
}
@media (max-width: 768px) {
  .vertical_contents {
    display: block !important;
  }
  .vertical_ttl {
    writing-mode: horizontal-tb;
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 28px;
    font-size: 15px;
    letter-spacing: 0.14em;
  }
  .vertical_ttl span::after {
    content: "";
    width: 100%;
    height: 1px;
    background: #5f7f3d;
    display: block;
    left: 0;
    bottom: -5px;
  }
}
/* 記事エリア */
.news_list {
  width: 100%;
}
.news_item {
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 26px;
  align-items: center;
  padding: 31px 0;
  border-top: 1px solid #d8d8d5;
}
.news_item:last-of-type {
  border-bottom: 1px solid #d8d8d5;
}
.news_img {
  width: 230px;
  height: 120px;
  overflow: hidden;
}
.news_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* テキスト */
.news_meta {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 10px;
}
.cat {
  display: inline-flex;
  align-items: center;
  height: 18px;
  padding: 0 7px;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  border-radius: 2px;
  line-height: 1;
}
.cat.news {
  background: #1f5c99;
}
.cat.voice {
  background: #75b8bd;
}
.cat.season {
  background: #55813c;
}
.cat.project {
  background: #55813c;
}
.date {
  color: #5f7f3d;
  font-size: 12px;
  letter-spacing: 0.05em;
}
.news_txt h3 {
  margin: 0 0 6px;
  color: #5f7f3d;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.03em;
}
.news_txt p {
  margin: 0;
  color: #5f7f3d;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
.btn_wrap {
  text-align: center;
  margin-top: 40px;
}
.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 160px;
  height: 40px;
  padding: 0 24px;
  border: 1px solid #5f7f3d;
  border-radius: 999px;
  color: #5f7f3d !important;
  background: transparent;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.13em;
  line-height: 1;
  transition:
    background .35s ease, color .35s ease, border-color .35s ease;
}
/* hover */
.btn:hover {
  background: #5f7f3d;
  color: #fff !important;
}
/* スマホ */
@media (max-width: 768px) {
  .news_sec {
    padding: 70px 0;
  }
  .news_sec .contents {
    display: block;
  }
  .news_side {
    writing-mode: horizontal-tb;
    margin-bottom: 26px;
  }
  .news_side::after {
    width: 70px;
    height: 1px;
  }
  .news_item {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 28px 0;
  }
  .news_img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }
}
.image_zone {
  height: 500px;
  width: 97%;
  display: block;
  border-bottom-right-radius: 20px;
  border-top-right-radius: 20px;
  margin-bottom: 80px;
}
.image_zone1 {
  background: url("../image/top_3.jpg") center center/cover;
}
.image_zone2 {
  background: #e3e665;
  width: 97%;
  display: block;
  border-bottom-right-radius: 20px;
  border-top-right-radius: 20px;
  margin-top: 80px;
  text-align: center;
  padding: 30px 0px;
}
.image_zone3 {
  background: url("../image/school_life_7_0.jpg") center center/cover;
}
.image_zone4 {
  background: url("../image/school_life_12_0.jpg") center center/cover;
}
@media (max-width: 1000px) {
  .image_zone, .image_zone2 {
    width: calc(100% - 40px);
  }
}
.image_zone5 {
  background: url("../image/enrollment_3_0.jpg") center center/cover;
}
.image_zone6 {
  background: url("../image/introduction_6_0.jpg") center center/cover;
}
.image_zone7 {
  background: url("../image/education_3_0.jpg") center center/cover;
}
.image_zone8 {
  background: url("../image/education_8_0.jpg") center center/cover;
}
.image_zone9 {
  background: url("../image/education_15_0.jpg") center center/cover;
}
.image_zone10 {
  background: url("../image/education_17_0.jpg") center center/cover;
}
.image_zone11 {
  background: url("../image/education_23_0.jpg") center center/cover;
}
h2.ttl {
  position: relative;
  margin-bottom: 60px;
  text-align: center;
}
h3.sub_ttl {
  position: relative;
  margin-top: -50px;
  margin-bottom: 60px;
  text-align: center;
}
h4.round_box_ttl {
  width: 190px;
  background: #55813c;
  border-radius: 20px;
  text-align: center;
  color: #fff;
  font-weight: normal;
  padding: 10px;
  margin: 50px auto 20px;
}
h4.round_box_ttl span {
  font-size: 80%;
  padding-left: 5px;
}
.access,.profile {
  display: grid;
  grid-template-columns: 180px 1fr;
  margin: 0;
  color: #5f7f3d;
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 0.04em;
}
.access dt, .access dd,.profile dt,.profile dd {
  margin: 0;
  padding: 22px 0;
  border-bottom: 1px solid #d7d7d2;
}
.access dt,.profile dt {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #648043;
  font-weight: 700;
}
.access dd,.profile dd {
  padding-left: 0;
}
.access dd p {
  margin: 0 0 10px;
}
.access dd p:last-child {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .access {
    display: block;
    font-size: 14px;
    line-height: 1.9;
  }
  .access dt {
    padding: 22px 0 10px;
    border-bottom: none;
  }
  .access dd {
    padding: 0 0 24px;
    border-bottom: 1px solid #d7d7d2;
  }
}

footer {
  text-align: center;
}
footer ul {
  list-style: none;
  margin: 0 auto;
  padding: 30px 0 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px 32px;
}
footer ul li {
  margin: 0;
  padding: 0;
}
footer ul li a {
  display: block;
  padding: 0;
  color: #527e3c !important;
}
footer h3 {
  width: 280px;
  height: 48px;
  margin: 50px auto 20px;
}
footer h3 a {
  width: 280px;
  height: 48px;
  display: block;
  background: url("../image/logo.svg") no-repeat center center/cover;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.flexbox {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  flex-direction: row;
  align-items: center;
}
.flex-start {
  align-items: flex-start !important;
}
.space-between {
  justify-content: space-between;
}
.row-reverse {
  flex-direction: row-reverse !important;
}
.stretch {
  align-items: stretch !important;
}
.flexbox .box20 {
  width: 20%;
}
.flexbox .box23 {
  width: 23%;
}
.flexbox .box25 {
  width: 25%;
}
.flexbox .box30 {
  width: 30%;
}
.flexbox .box33 {
  width: 33%;
}
.flexbox .box40 {
  width: 40%;
}
.flexbox .box45 {
  width: 45%;
}
.flexbox .box48 {
  width: 48%;
}
.flexbox .box50 {
  width: 50%;
}
.flexbox .box60 {
  width: 60%;
}
.flexbox .box70 {
  width: 70%;
}
.flexbox .box75 {
  width: 75%;
}
.flexbox .box80 {
  width: 80%;
}
.flexbox .box {
  box-sizing: border-box;
  position: relative;
}
@media (max-width: 768px) {
  .spbox100 {
    width: 100% !important;
    margin-bottom: 20px;
  }
  .spbox50 {
    width: 48% !important;
    margin: 10px 1%;
  }
  .box img {
    width: 100%;
  }
  .box_head {
    padding: 30px 2%;
  }
}
@media (max-width: 1000px) {
  .onlypc {
    display: none !important;
  }
  /* =========================
   HAMBURGER MENU
========================= */
  #navTgl {
    display: none;
  }
  /* ボタン共通 */
  label.open, label.close {
    cursor: pointer;
    position: fixed;
    top: 0;
    right: 0;
  }
  /* =========================
   ハンバーガー
========================= */
  .open {
    z-index: 1001;
    width: 74px;
    height: 74px;
    margin: 0;
    transition: .5s ease;
  }
  /* 線 */
  .open span {
    position: absolute;
    right: 12px;
    height: 2px;
    background: #527e3c;
    border-radius: 10px;
    transition: .45s ease;
  }
  /* 上 */
  .open span:nth-of-type(1) {
    top: 22px;
    width: 38px;
  }
  /* 中 */
  .open span:nth-of-type(2) {
    top: 34px;
    width: 26px;
  }
  /* 下 */
  .open span:nth-of-type(3) {
    top: 46px;
    width: 16px;
  }
  /* =========================
   OPEN時
========================= */
  #navTgl:checked + .open {
    background: transparent;
  }
  #navTgl:checked + .open span {
    background: #527e3c;
    right: 20px;
  }
  /* × */
  #navTgl:checked + .open span:nth-of-type(1) {
    top: 35px;
    width: 34px;
    transform: rotate(28deg);
  }
  #navTgl:checked + .open span:nth-of-type(2) {
    opacity: 0;
  }
  #navTgl:checked + .open span:nth-of-type(3) {
    top: 35px;
    width: 34px;
    transform: rotate(-28deg);
  }
  /* =========================
   背景
========================= */
  .close {
    pointer-events: none;
    z-index: 999;
    width: 100%;
    height: 100%;
  }
  #navTgl:checked ~ .close {
    pointer-events: auto;
  }
  /* =========================
   FULL MENU
========================= */
  .menu {
    z-index: 1000;
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity .55s ease, visibility .55s ease, transform .55s ease;
    overflow-y: auto;
  }
  /* 表示 */
  #navTgl:checked ~ .menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  /* =========================
   MENU LIST
========================= */
  .menu ul.global {
    width: auto;
    margin: 0;
    padding: 120px 40px 80px;
    list-style: none;
    background: none;
    box-sizing: border-box;
  }
  /* 通常メニュー */
  .menu li {
    border-bottom: 1px solid #527e3c;
  }
  .menu li a {
    display: block;
    padding: 10px 0 10px;
    color: #527e3c;
    text-decoration: none;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.2;
    letter-spacing: .08em;
    ont-family: "Noto Sans JP", sans-serif;
  }
  .menu li a:hover {
    opacity: .7;
  }
  /* =========================
   丸ボタン
========================= */
  /* 最後2つ */
  .menu li:nth-last-child(-n+2) {
    border-bottom: none;
  }
  /* 横並び */
  .menu li:nth-last-child(2), .menu li:nth-last-child(1) {
    display: inline-block;
    width: 48%;
    margin-top: 58px;
    vertical-align: top;
  }
  .menu li:nth-last-child(2) {
    margin-right: 3%;
  }
  /* 丸 */
  .menu li:nth-last-child(2) a, .menu li:nth-last-child(1) a {
    width: 150px;
    height: 150px;
    margin: 0 auto;
    padding: 0;
    border-radius: 50%;
    background: #527e3c;
    color: #fff !important;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 15px !important;
    font-weight: normal !important;
    line-height: 1.6;
    letter-spacing: .08em;
  }
  .menu li:nth-last-child(1) a {
    background: url("../image/map.png") center top 36px/30px 30px no-repeat #527e3c;
  }
  .menu li:nth-last-child(2) a {
    background: url("../image/i_phone.png") center top 36px/30px 30px no-repeat #527e3c;
  }
  .menu li:nth-last-child(1) a span, .menu li:nth-last-child(2) a span {
    padding-top: 20px;
  }
  /* hover */
  .menu li:nth-last-child(2) a:hover, .menu li:nth-last-child(1) a:hover {
    opacity: .85;
  }
  /* =========================
   SP
========================= */
  @media screen and (max-width: 480px) {
    .open {
      width: 68px;
      height: 68px;
    }
    .menu ul.global {
      width: auto;
      padding: 120px 40px 80px;
    }
    .menu li a {
      font-size: 24px;
    }
    .menu li:nth-last-child(2), .menu li:nth-last-child(1) {
      width: 46%;
      text-align: center;
    }
    .menu li:nth-last-child(2) a, .menu li:nth-last-child(1) a {
      width: 110px;
      height: 110px;
      font-size: 12px;
    }
    .menu li:nth-last-child(1) a {
      background: url("../image/map.png") center top 26px/20px 20px no-repeat #527e3c;
    }
    .menu li:nth-last-child(2) a {
      background: url("../image/i_phone.png") center top 26px/20px 20px no-repeat #527e3c;
    }
  }
  footer p {
    text-align: center;
  }
}
@media (min-width: 1000px) {
  .onlysp {
    display: none;
  }
  #navTgl, label.close, label.open {
    display: none;
  }
  ul.global {
    list-style: none;
    margin: 0 auto;
    padding-top: 30px;
    width: fit-content;
  }
  ul.global li {
    text-align: center;
    margin: 0px;
    display: inline-block;
  }
  ul.global li a {
    text-decoration: none;
    padding: 10px 20px;
    color: #527e3c;
  }
  ul.global li:last-child a {
    display: flex;
    position: absolute;
    right: 50px;
    top: 10px;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: url("../image/map.png") center top 20px/20px 20px no-repeat #527e3c;
    color: #fff;
    padding: 0px;
  }
  ul.global li:last-child a span {
    padding-top: 20px;
  }
  ul.global li.active {
    position: relative;
  }
  ul.global li.active::before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0px;
    display: inline-block;
    width: 50px;
    height: 2px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #6b8f4e;
  }
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

.information div {
	position: relative;
}
.information div span{
	position: absolute;
	background: #fff;
	width: auto;
	display: grid;
	bottom:50px;
	left:10px;
}
.information div a{
	color: #648043!important;
}
.information div h3{
	position: absolute;
	bottom:0px;
	background: #fff;
	left:10px;
}
@media (min-width: 1000px) {
.information .box48:nth-child(3),.information .box48:nth-child(4){
margin-top: 40px;
}
}
a.linkbanner {
  padding: 300px 20px 30px;
  box-sizing: border-box;
  margin: 80px 0px 30px;
  display: flex;
  flex-direction: column; /* 縦並び */
  align-items: flex-start; /* 左寄せ・幅は文字分だけ */
  color: #527e3c;
}
a.panph {
  background: url("../image/enrollment_2_0.jpg") center center/cover no-repeat;
}
a.application {
  background: url("../image/enrollment_8_0.jpg") center center/cover no-repeat;
}
a.linkbanner span:first-child {
  display: inline-block;
  background: #fff;
  padding: 5px;
  margin-bottom: 10px;
  font-size: 18px;
}
a.linkbanner span:last-child {
  display: inline-block;
  background: #fff;
  padding: 5px;
  font-size: 24px;
  font-weight: bold;
}
@media (max-width: 1000px) {
	a.linkbanner span:last-child {
  font-size: 20px;
}
}

.white_box {
  text-align: center;
  background: #fff;
  border-radius: 10px;
  padding: 5px 16px;
  box-sizing: border-box;
}
.white_box h3 span {
  font-size: 24px;
  display: block;
}
.white_box img {
  height: 60px;
  margin: 10px auto;
}
.white_box p,.white_box li {
  text-align: left;
}
ul.circle {
  margin: 30px 0px;
  padding: 0px;
}
ul.circle li {
  list-style: none;
  padding-left: 20px;
  position: relative;
}
ul.circle li:before {
  content: "〇";
  position: absolute;
  left: 0px;
}
ul.faq{
	padding: 10px 20px;
}

.faq li{
	position: relative;
	list-style: none;
	box-sizing: border-box;
}

.faq li:first-child{
	padding:5px 5px 15px 28px;
	margin:20px 0 0;
	cursor:pointer;
	font-weight:bold;
}

.faq li:first-child:before{
	content:"Q";
	position:absolute;
	font-size:28px;
	font-weight:bold;
	left:0;
	top:0;
}

.faq li:last-child{
	padding:5px 5px 5px 28px;
	color:#585757;
	display:none; /* 最初は閉じる */
	margin:10px 0 20px;
}

.faq li:last-child:before{
	content:"A";
	position:absolute;
	font-size:28px;
	left:3px;
	top:0;
	color:#585757;
	font-weight:bold;
}
.faq li:first-child::after{
	content:"+";
	position:absolute;
	right:0;
	top:50%;
	transform:translateY(-50%);
	font-size:24px;
	font-weight:bold;
	transition:.3s;
}

.faq li:first-child.open::after{
	content:"−";
}
.profile dd ul{
  margin:0;
  padding:0;
  list-style:none;
}

.profile dd li{
  margin-bottom:8px;
}

.profile dd li:last-child{
  margin-bottom:0;
}

.profile a{
  color:#527e3c;
  text-decoration:none;
}

.profile a:hover{
  text-decoration:underline;
}
.history{
    display:grid;
    grid-template-columns:100px 40px 1fr;
    row-gap:28px;
    margin:0;
}

.history dt,
.history dd{
    margin:0;
}

.history dt{
    grid-column:1 / 3;
    display:grid;
    grid-template-columns:60px 40px;
    align-items:start;
    color:#4f7b45;
    font-weight:bold;
    line-height:1;
}

.history .year{
	padding-top:2px;
    font-size:22px;
}

.history .month{
    font-size:17px;
    padding-top:7px;
}

.history dd{
    grid-column:3;
    position:relative;
    padding-left:40px;
    color:#4f7b45;
    line-height:1.8;
}
.history dd::before{
    content:"";
    position:absolute;
    left:0;
    top:9px;
    width:10px;
    height:10px;
    border-radius:50%;
    background:#4f7b45;
    z-index:2;
}


.history dd::after{
    content:"";
    position:absolute;
    left:4px;
    top:19px;
    bottom:-28px;
    border-left:2px dotted #c9c9c9;
}

.history dt:last-of-type + dd::after{
    display:none;
}
a.linkbanner_v {
	width: 100%;
	height: 300px;
	display: block;
  color: #527e3c;
	position: relative;
}
a.linkbanner_v span{
	writing-mode: vertical-rl;
	position: absolute;
	background: #fff;
	right: 20px;
	top: 40px;
	font-size: 18px;
	letter-spacing: 0.2em;
	padding: 5px 2px;
	
}
.evaluation{
	background: url("../image/introduction_7_0.jpg") center center/cover;
}
.basic_policies{
	background: url("../image/introduction_8_0.jpg") center center/cover;
}
.anchor_nav {
  margin: 30px 0 100px;
}

.anchor_nav ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}
@media (max-width: 1000px) {
.anchor_nav ul {
    padding: 0px 40px 0px 0px;
  }
}
.anchor_nav li {
  position: relative;
}

.anchor_nav li::before {
  content: "▼";
  font-size: 10px;
  color: #8b9b34;
  margin-right: 6px;
}

.anchor_nav a {
  color: #6d8426;
  font-size: 16px;
  text-decoration: none;
  transition: opacity .3s;
}
@media (max-width: 1000px) {
.anchor_nav a {
  font-size: 14px;
}
}
.anchor_nav a:hover {
  opacity: .7;
}