/***** 2020/12/04 追加分 *****/
.rdx-dummy-item{height: 0!important;min-height: 0!important;max-height: 0!important;padding-top: 0!important;padding-bottom: 0!important;margin-top: 0!important;margin-bottom: 0!important;opacity: 0!important;visibility: hidden!important;overflow: hidden!important}

/***** 2020/12/04 追加分ここまで *****/

/* カスタムプリセット */

:root {
  --link-color: #0082FF;
  --color1: #9ABC3D;
  --color2: ;
  --color3: ;
  --content-width: 1200px;
  --gutter: 1.3rem;
}

/* デフォルトスタイルセット */

* {
  margin: 0;
  padding: 0;
  outline: 0;
  font: inherit;
  vertical-align: baseline;
  background: transparent
}

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

html {
  font-family: "Lucida Grande", Tahoma, Verdana, Arial, "Hiragino Kaku Gothic Pro", Meiryo, "MS PGothic", sans-serif;
  font-size: 16px;
  color: #333;
  line-height: 1.8;
  font-weight: 400
}

html,
body {
  width: 100%
}

ul,
ol {
  list-style-type: none
}

blockquote,
q {
  quotes: none
}

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

sup {
  font-size: 0.5rem;
  vertical-align: super
}

sub {
  font-size: 0.5rem;
  vertical-align: sub
}

strong {
  font-weight: 700
}

a {
  color: #0082FF;
  color: var(--link-color);
  text-decoration: none
}

a:hover {
  text-decoration: underline
}

.clearfix:after {
  content: " ";
  display: block;
  clear: both
}

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

/* カスタムスタイル */

main p,
main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
.mb {
  margin-bottom: 1.3rem;
  margin-bottom: var(--gutter)
}

.mb0 {
  margin-bottom: 0
}

.mb_ {
  margin-bottom: .5rem
}

.mb1 {
  margin-bottom: 1rem
}

.mb1_ {
  margin-bottom: 1.5rem
}

.mb2 {
  margin-bottom: 2rem
}

.mb2_ {
  margin-bottom: 2.5rem
}

.mb3 {
  margin-bottom: 3rem
}

img {
  max-width: 100%;
  object-fit: contain;
  font-family: 'object-fit: contain;';
}

@media all and (-ms-high-contrast:none) {
  img.object-fit_ie11 {
    width: 100%;
  }
}

.text-clear {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  white-space: nowrap
}

.hide {
  visibility: hidden;
  opacity: 0
}

.none {
  display: none
}

.fill-parent {
  display: block;
  width: 100%;
  height: 100%
}

.text-unit {
  display: inline-block;
  vertical-align: top
}

.centering {
  display: block;
  margin: auto;
  width: 100%;
  max-width: 1200px;
  max-width: var(--content-width);
  position: relative
}

/********** body ********* */

body {
  background: #ededed;
  line-height: 2em;
  color: #333333;
  font-size: 14px;
  margin: 0 auto;
  overflow-x: hidden;
  max-width: 100%;
}

/********** header ********* */

header {
  background: #eaeaea;
  padding: 2px 0;
  position: relative;
}

header h1 {
  background: url(./images/logo.png) no-repeat left center;
  width: calc(100% - 520px);
  height: 4rem;
  background-size: contain;
  margin: 5px 10px;
  float: left;
}

header .info {
  display: flex;
  justify-content: space-between;
  height: 34px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

header a.info1 {
  background: url(./images/info1.png) no-repeat left center;
  background-size: contain;
  display: block;
  width: 175px;
  height: 34px;
  margin: 0 2px;

}

header a.info2 {
  background: url(./images/info2.png) no-repeat left center;
  background-size: contain;
  display: block;
  width: 109px;
  height: 34px;
  margin: 0 2px;

}

header form.search-box {
  display: inline-flex;
  height: 34px;
}

header form.search-box input[type="text"] {
  border: none;
  border-radius: .5rem 0 0 .5rem;
  height: 100%;
  width: 10rem;
  background: #fff;
}

.search-box input[type="submit"] {
  border: none;
  border-radius: 0 .5rem .5rem 0;
  height: 100%;
  width: 45px;
  background: url(./images/search.png) no-repeat left center;
  background-size: contain;
  cursor: pointer;
}

header nav {
  height: 70px;
  background: url(./images/navi_bg.png) repeat-x;
}

header nav ul {
  font-size: 0;

}

header nav ul li {
  display: inline-block;
  width: calc(20% - 2px);
  font-size: 16px;
  vertical-align: middle;
  margin-top: 10px;
  border-right: 2px solid #eaeaea;
  white-space: nowrap;
}

header nav ul li:first-child {
  border-left: 2px solid #eaeaea;
}

header nav ul li a {
  display: block;
  width: 100%;
  height: 60px;
  text-align: center;
  color: #333333;
  font-weight: 700;
}

header nav ul li a:hover {
  text-decoration: none;
}

header nav ul li span {
  display: block;
  font-size: 10px;
  color: #aaaaaa;

}

#main_img {
  background: url(./images/main_img.png) no-repeat center center;
  background-size: cover;
  width: 100%;
  height: calc(100vw * 5 / 12);
  position: relative;
}
#main_img a.main_banner {
  display: block;
  width: 40%;
  position: absolute;
  top: 75%;
  right: 6.3%;
  background: url(./images/main_banner.png) no-repeat center center;
  background-size: contain;
}
#main_img a.main_banner::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: calc(100% * 80 / 560);
}

div.breadcrumb {
  background: #fff;
  padding: .3rem .7rem;
}

div.breadcrumb ul li {
  display: inline-block;
}

div.breadcrumb ul li:not(:last-child):after {
  content: ">";
  margin: 0 .5rem;
}

div.sub_title {
  background: #303030;
}

div.sub_title h2 {
  color: #fff;
  font-size: 1.4rem;
  font: 700;
  line-height: 2.5;
  padding: 0 1rem;
}

div.sub_title h2 span {
  margin-left: 1.5rem;
  font-size: .8rem;
}

/* ******** main ********* */

main {
  display: block;
  width: 100%;
  background: linear-gradient(#fcfcfc, #e8e8e8 500px, #e8e8e8);
}

/********** article ********* */

article {
  display: block;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  min-height: 570px;
  padding: 2.5rem 1rem;
}

article section {
  margin-bottom: 2.0rem
}

article section:after {
  content: " ";
  display: block;
  clear: both
}

article section.topics {
  width: 100%;
  background: #fff;
  margin-bottom: 1.3rem;
  margin-bottom: var(--gutter);
  position: relative;
}

article section.topics h2 {
  background: url(./images/top_h2.png) no-repeat top right, #303030;
  background-size: cover;
  line-height: 52px;
  color: #fff;
  font-size: 1.8rem;
  padding-right: 5.5rem;
}

article section.topics h2:before {
  content: url(images/topics_icon.png);
  background-size: contain;
  display: inline-block;
  vertical-align: middle;
  padding: 0 .5rem;
}

section.topics a.for-archive {
  display: block;
  position: absolute;
  top: 0;
  right: 3%;
  color: #fff;
  text-decoration: none!important;
  line-height: 52px;
}

dl.topics {
  padding: 0 15px 15px;
  font-size: .85rem;
}

dl.topics dt {
  font-weight: bold;
  float: left;
  padding: 5px 0;
}

dl.topics dd {
  padding: 5px 0 5px 7rem;
  border-bottom: 2px dotted #dddddd;
}

article .top_side {
  display: flex;
  justify-content: space-around;
  flex-direction: column;
  width: 28%;
  float: right;
}

article section.pickup {
  background: #fff;
  border: 2px solid #ababab;
  text-align: center;
  font-weight: bold;
  margin-bottom: 10px;
}

article section.pickup h2 {
  background: url(./images/top_h2.png) no-repeat top right, #303030;
  height: 52px;
}

article section.pickup h2 img {
  width: auto;
  margin: 0 auto;
}

article section.pickup img {
  width: 100%;
  display: block;
}

article section.activity {
  background: #fff;
  border: 2px solid #ababab;
  text-align: center;
  font-weight: bold;
  margin-bottom: 10px;
}

article section.activity h2 {
  background: url(./images/top_h2.png) no-repeat top right, #303030;
  height: 52px;
}

article section.activity h2 img {
  width: auto;
  margin: 0 auto;
}

article section.activity img {
  width: 100%;
  display: block;
}

article section img.sp_img {
  display: none;
}

article section a.activity_or_pickup {
  color: #000;
}

article .more {
  text-align: center;
  margin-bottom: 1.3rem;
  margin-bottom: var(--gutter);
  padding: 0 1rem
}

article h3 {
  color: #9ABC3D;
  color: var(--color1);
  border: 0px solid currentcolor;
  border-left-width: 5px;
  border-bottom-width: 1px;
  padding: 0 0 .2rem .5rem;
  font-size: 1.3rem;
  font-weight: 700;
  margin: 10px 0 1.6rem;
}

div.child-list {
  margin-bottom: 10px;
}

article h4 {
  font-size: 20px;
}

article .lightbox {
  display: block;
  text-align: center;
  margin: 1em;
}

article .lightbox > a {
  text-decoration: none;
}

article .lightbox > a,
article .lightbox > span {
  display: inline-block;
  margin: 0 auto;
  padding: 1em 2.5em 1em 1em;
  border: 1px solid #9ABC3D;
  border: 1px solid var(--color1);
  position: relative;
  color: #9ABC3D;
  color: var(--color1);
}

article .lightbox > a:after,
article .lightbox > span:after {
  display: block;
  content: "";
  position: absolute;
  right: 10px;
  top: calc(50% - 5px);
  border-top: solid 5px transparent;
  border-left: solid 10px #9ABC3D;
  border-left: solid 10px var(--color1);
  border-bottom: solid 5px transparent;
  width: 0px;
  height: 0px;
}

article .pt-left {
  width: 35%;
}

article .pt-right {
  width: 63%;
  float: right;
}

.search-item {
  border-left: 4px solid #9ABC3D;
  border-left: 4px solid var(--color1);
  padding: .3rem .5rem;
  background: rgba(255, 255, 255, .4);
}

.search-item h6 {
  margin-bottom: 0;
  font-size: 1.3rem;

}

.search-item p {
  margin-bottom: 0;
}

.search-item img {
  display: none!important;
}

.child-list ul {
  text-align: center;
}

.child-list ul li {
  display: inline-block;
  color: #fff;
  margin-bottom: 1.3rem;
  margin-bottom: var(--gutter);
  /*background: #8cc42c;*/
  background: #9ABC3D;
  background: var(--color1);
  border-radius: .3rem;
  padding: .5rem .3rem .5rem .5rem;
  font-size: 1.2rem;
  border-bottom: 3px solid #6f8728;
  text-decoration: none!important;
  width: 350px;
  text-align: left;
}

.child-list li a {
  text-decoration: none!important;
  color: #fff;
  display: block;
}

.child-list li:hover {
  background: #9ABC3D;
}

.child-list li:active {
  /*margin-top: 3px;*/
  transform: translateY(3px);
  border-bottom: none;
}

.child-home ul li {
  display: inline-block;
  color: #fff;
  margin-bottom: 1.3rem;
  margin-bottom: var(--gutter);
  background: #9ABC3D;
  background: var(--color1);
  /*background: #8cc42c;*/
  border-radius: .3rem;
  padding: .5rem .3rem .5rem .5rem;
  font-size: 1.2rem;
  border-bottom: 3px solid #6f8728;
  text-decoration: none!important;
  width: 90%;
  text-align: left;
}

.child-home li a {
  text-decoration: none!important;
  color: #fff;
  display: block;
}

.child-home li:hover {
  background: #9ABC3D;
}

.child-home li:active {
  transform: translateY(3px);
  border-bottom: 3px solid #ffffff;
}

main form.search-box {
  display: inline-flex;
  border-radius: .5rem;
  height: 1.5rem;
}

main form.search-box input {
  border: none;
  height: 100%;
  background: #fff;
  width: 12rem;
}

.search-box input[type="submit"] {
  background: url(./images/search.png) no-repeat left center;
  background-size: contain;
  width: 3rem;
}

.bold {
  font-weight: 700;
}

table.required {
  border: solid 1px #000000;
}

table.required tr th {
  background-color: #4dafea;
}

table.required tr td:first-child {
  width: 5%;
  text-align: center;
}

table.required tr:nth-child(2) td:first-child {
  background-color: aliceblue;
}

table.required tr:nth-child(7) td:first-child {
  background-color: aliceblue;
}

table.required tr:nth-child(12) td:first-child {
  background-color: aliceblue;
}

table.required tr:nth-child(17) td:first-child {
  background-color: aliceblue;
}

table.required tr td:nth-child(2) {
  width: 25%;
  padding: 5px;
}

table.required tr td:nth-child(3) {
  width: 10%;
  text-align: center;
}

table.required tr td:nth-child(4) {
  padding: 5px;
}

table.required tr:not(last-child) {
  border-bottom: solid 1px #000000;
}

table.required tr td:not(last-child) {
  border-right: solid 1px #000000;
}

table.required tr th:not(last-child) {
  border-right: solid 1px #000000;
}

table.selective {
  border: solid 1px #000000;
}

table.selective tr th {
  background-color: #8dc031;
  vertical-align: middle;
}

table.selective tr td {
  padding: 5px;
}

table.selective tr:nth-child(2) td:first-child {
  width: 1%;
}

table.selective tr:not(:nth-child(2)) td:first-child {
  width: 25%;
}

table.selective tr:nth-child(2) td:nth-child(3) {
  text-align: center;
}

table.selective tr:not(:nth-child(2)) td:nth-child(2) {
  width: 15%;
  text-align: center;
}

table.selective tr:not(last-child) {
  border-bottom: solid 1px #000000;
}

table.selective tr td:not(last-child) {
  border-right: solid 1px #000000;
}

table.selective tr th:not(last-child) {
  border-right: solid 1px #000000;
}

div.achievement_gray {
  background: #ffffff;
  padding: 30px;
  border-radius: 10px;
  margin-bottom: 20px;
}

div.achievement_gray h4 {
  color: #9ABC3D;
  color: var(--color1)
}

div.achievement_wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-bottom: 20px;
}

div.no-around {
  justify-content: inherit;
}

div.achievement_wrapper > div {
  padding: 10px;
}

div.access_wrapper {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-around;
}

div.access {
  margin-bottom: 50px;
}

div.cooporative_wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

div.cooporative_wrapper > div {
  width: 400px;
  margin-bottom: 30px;
}

/*
div.bt-detail a {
	max-width: 340px;
    min-width: 235px;
    position: relative;
    display: inline-block;
    padding: 15px 50px 15px 55px;
    color: #8dc031;
    border: 2px #8dc031 solid;
    border-radius: 5px;
    overflow: hidden;
    font-size: 15px;
    background: rgba(255, 255, 255, 0);
    text-align: center;
}
*/

div.bt-detail a {
  position: relative;
  display: inline-block;
  padding: 15px 50px 15px 55px;
  color: #8dc031;
  border: 2px #8dc031 solid;
  border-radius: 5px;
  overflow: hidden;
  font-size: 15px;
  background: rgba(255, 255, 255, 0);
  text-align: center;
}

div.bt-detail {
  margin: 50px 0;
  display: flex;
  justify-content: center;
}

div.right {
  text-align: right;
  margin-right: 30px;
}

div.access_box {
  display: inline-block;
  margin: 20px 20px 0 20px;
}

img.access_box {
  float: left;
  margin: 20px;
  min-width: 338px;
}

table.access_tb td {
  background-color: #fff;
  border: 3px solid #e8e8e8;
  text-align: left;
  padding: 10px;
}

table.access_tb a {
  color: #9ABC3D;
  color: var(--color1)
}

table.access_tb td:first-child {
  background-color: #8dc031;
  text-align: center;
}

table.access_tb td.white {
  background-color: #fff;
}

div.international {
  border: solid 1px #243c50;
  padding: 15px;
  margin-bottom: 40px;
}

div.international:last-child {
  border: none;
}

img.cooporative_img {
  max-height: 30vh;
}

ol.about {
  list-style-type: decimal;
  margin-bottom: 1.3rem;
}

ol.about li {
  margin-left: 15px;
}

div.program_item_parent {
  display: flex;
  margin-bottom: 30px;
}

div.program_item_parent > div {
  width: 50%;
  padding: 10px;
}

div.program_item_parent > div:last-child {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

div.img_item_parallel_parent {
  display: flex;
  margin-bottom: 30px;
}

div.img_item_parallel {
  width: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
}

/********** footer ********* */

footer {
  padding: 2.3rem 1rem 1.3rem 1rem;
  background: #333333;
  color: #fff;
  background-image: url(./images/footer_bg.png);
  background-size: cover;
}

footer nav.centering {
  margin-bottom: 3.5rem;
  display: flex;
  justify-content: space-between;
}

footer a {
  color: #fff;
}

footer a.extlink {
  font-size: 90%;
}

footer nav > ul {
  width: 20%;
}

footer nav > ul > li {
  margin-bottom: .5rem;
}

footer ul li ul li {
  padding-left: 1em;
}

footer ul.banner li {
  position: relative;
  border: 1px solid #fff;
  padding: 1em;
  line-height: 2.4;
}

footer ul.banner li:last-child {
  line-height: 1.2;
}

footer ul.banner li a {
  display: block;
  width: 90%;
  height: 100%;
}

footer ul.banner li a:after {
  position: absolute;
  right: 10px;
  top: calc(50% - 5px);
  display: block;
  content: "";
  border-top: solid 5px transparent;
  border-left: solid 10px white;
  border-bottom: solid 5px transparent;
  width: 0px;
  height: 0px;
}

footer .contact span {
  padding-left: 30px;
  min-height: 30px;
}

footer .contact span:nth-child(1) {
  display: block;
  background: url(./images/footer_icons.png) no-repeat 0px 1px;
  font-size: 130%;
  font-weight: bold;
}

footer .contact span:nth-child(2) {
  display: inline-block;
  background: url(./images/footer_icons.png) no-repeat 0px -29px;
  margin-right: 5px;
}

footer .contact span:nth-child(3) {
  display: inline-block;
  background: url(./images/footer_icons.png) no-repeat 0px -56px;
}

footer p {
  margin-bottom: 20px;
}

footer div.flex {
  width: 100%;
  max-width: 800px;
  margin: auto;
  vertical-align: middle;
  display: flex;
  justify-content: space-around;
  align-items: flex-end;
}

footer div p {
  width: 50%;
}

footer p.copyright {
  text-align: center;
}

/* PC, common finish */

/*	  PC Only	  */

@media (min-width: 799px) {
  .pc-none {
    display: none
  }
  header nav ul li {
    border-bottom: 3px solid transparent;
  }
  header nav ul li.active,
  header nav ul li:hover {
    border-bottom: 3px solid #9ABC3D;
    border-bottom: 3px solid var(--color1);
  }
  article .top-col {
    float: left;
    width: 70%;
  }
  div.achievement_wrapper {
    flex-wrap: nowrap;
  }
  div.achievement_wrapper > div {
    max-width: 45vw;
  }
  div.international:last-child {
    width: 700px;
    margin: 0 auto;
  }
}

/*	  tablet	  */

@media (max-width: 799px) and (min-width: 566px) {
  .tb-none {
    display: none
  }
  html {
    font-size: calc(12px + 0.417vw)
  }
  header h1 {
    width: 55%;
    height: 6rem;
  }
  header .info {
    flex-wrap: wrap;
    width: 40%;
    height: auto;
    right: .6rem;
  }
  header a.info1 {
    background-position: center;
    width: 60%;
    margin: 0;
  }
  header a.info2 {
    background-position: center;
    width: 40%;
    margin: 0;
  }
  header form.search-box {
    width: 100%;
    margin-top: .5rem;
  }
  header form.search-box input[type="text"] {
    width: calc(100% - 45px);
  }
  header nav ul li.active,
  header nav ul li:hover {
    border-bottom: 3px solid #9ABC3D;
    border-bottom: 3px solid var(--color1);
  }
  article section.topics {
    width: 100%;
  }
  article .top_side {
    width: 100%;
    position: relative;
    flex-direction: row;
    flex-wrap: wrap;
  }
}

/* tablet finish */

/*	  SP	  */

@media (max-width: 565px) {
  .sp-none {
    display: none
  }
  html {
    font-size: calc(12px + 0.417vw)
  }
  header {
    padding: 0;
  }
  header h1 {
    width: calc(100% - 4.5rem);
  }
  header .info {
    position: static;
    height: 1.8rem;
    width: 100%;
    transform: translateY(0);
  }
  header form.search-box {
    margin: auto;
    width: 80%;
  }
  header form.search-box input[type="text"] {
    width: calc(100% - 45px);
  }
  header a.info1,
  header a.info2 {
    display: none;
  }
  #toggle-button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4rem;
    height: 4rem;
    color: #9ABC3D;
    color: var(--color1);
    position: absolute;
    right: 0;
    cursor: pointer;
  }
  #toggle-button svg {
    height: 100%;
    width: 100%;
    max-height: 50px;
    max-width: 50px;
  }
  header div.centering {
    background-color: inherit;
    z-index: 2000;
    padding-bottom: 1.3rem;
  }
  header nav {
    background: rgba(0, 0, 0, .9);
    width: 100%;
    display: block;
    height: auto;
    max-height: 0;
    transition: max-height .5s ease-in-out;
    overflow: hidden;
    position: relative;
    top: 100%;
  }
  header nav.open {
    max-height: 80vh;
  }
  header nav ul li {
    display: block;
    width: 100%;
    margin: 0;
    border-right: none;
  }
  header nav ul li:first-child {
    border-left: none;
  }
  header nav ul li a {
    color: #fff;
    height: auto;
    padding: .5rem 0;
  }
  #main_img {
    background: url(./images/main_img_sp.png) center center no-repeat;
    width: 100%;
    height: calc(100vw * 312 / 460);
    background-size: cover;
    margin-bottom: 30px;
  }
  #main_img a.main_banner {
    width: 90%;
    right: 5%;
  }
  article section.topics {
    width: 100%;
  }
  article .top_side {
    width: 100%;
    position: relative;
  }
  article .top_side section {
    width: 100%;
  }
  article .top_side section img.pc_img {
    display: none;
  }
  article .top_side section img.sp_img {
    display: block;
  }


  article .pt-left,
  article .pt-right {
    width: 100%;
  }
  .child-list ul li {
    width: 100%;
  }
  div.program_item_parent {
    flex-wrap: wrap;
  }
  div.program_item_parent > div {
    width: 100%;
  }
  div.img_item_parallel_parent {
    flex-wrap: wrap;
  }
  div.img_item_parallel {
    width: 100%;
  }
  footer nav.centering {
    flex-wrap: wrap;
  }
  footer nav > ul {
    width: 33%;
  }
  footer nav ul:first-child,
  footer nav ul:last-child {
    width: 100%;
  }
  footer nav ul.banner {
    display: flex;
    justify-content: space-around;
  }
  footer nav ul.banner li {
    width: 25%;
  }
  footer div.flex {
    width: 80%;
    margin: auto;
    flex-direction: column;
    justify-content: center;
  }
  footer div.flex p {
    width: 100%;
  }

}

/* SP finish */
