@charset "UTF-8";
a {
  text-decoration: none;
}
a:hover {
  opacity: .8;
}

.contain {
  width: 1220px;
  min-width: 1220px;
  margin: 0 auto;
  padding: 0 10px;
}

.wrapper {
  min-width: 1220px;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .contain {
    width: 92%;
    min-width: inherit;
    padding: 0;
  }

  .wrapper {
    min-width: inherit;
  }
}
header img {
  max-width: none;
}

@media screen and (min-width: 768px) {
  #main-contens p, #main-contens h2, #main-contens h3, #main-contens h4, #main-contens span, #main-contens dt, #main-contens dd, #main-contens dl {
    line-height: 1.6;
  }
}

#sub-header {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 16px;
  background: transparent;
  box-sizing: border-box;
  list-style-type: none;
  border-collapse: collapse;
  line-height: 1;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ⾓ゴ Pro W3", "ヒラギノ⾓ゴシック", "Hiragino Sans", sans-serif;
}

.sub-header__inner nav {
  display: flex;
  padding: 0 0 0 10px;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .sub-header__inner nav {
    font-size: calc(14 / 375 * 100vw);
    padding-left: 0;
    padding-right: 1.1em;
  }
}
.sub-header__item {
  display: inline-block;
  color: #1a1a1a;
  padding: 18.5px 20px 20px;
  border-bottom: 4px solid transparent;
  font-weight: 700;
  transition: border-color 0.3s, color 0.3s;
}
@media screen and (max-width: 767px) {
  .sub-header__item {
    padding: 1em .55em;
  }
}
.sub-header__item:hover {
  opacity: 1;
  color: #078E36;
  border-bottom-color: #078E36;
}
.sub-header__item.current {
  opacity: 1;
  color: #078E36;
  border-bottom-color: #078E36;
}
.sub-header__item:first-child {
  padding-left: 36px;
  padding-right: 36px;
}
@media screen and (max-width: 767px) {
  .sub-header__item:first-child {
    padding-left: 1.1em;
    padding-right: 1.1em;
  }
}

.other .contactItem.added .btnArea button.add {
  opacity: 0;
  visibility: hidden;
}
.other .contactItem.added .btnArea button.added {
  opacity: 1;
  visibility: visible;
}
.other .btnArea {
  height: 46px;
  position: relative;
  margin-top: 30px;
}
.other .btnArea button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 46px;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  cursor: pointer;
}
.other .btnArea button:before {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  margin-right: 7px;
}
.other .btnArea button.add {
  background: #288e4f;
}
.other .btnArea button.add:before {
  background: url(../img/add.png) 50% no-repeat;
}
.other .btnArea button.added {
  background: #b5b5b5;
  opacity: 0;
  visibility: hidden;
}
.other .btnArea button.added:before {
  background: url(../img/added.png) 50% no-repeat;
}
.other .subcon_phottl {
  background: url(../img/other/bg_ttl.jpg) center center/auto no-repeat;
  margin-bottom: 0;
}
.other_text {
  font-size: .9375rem;
  font-weight: 500;
  margin: 0 65px;
  padding-bottom: 30px;
}
.other .menu {
  background: #288e4f;
  color: #fff;
  position: relative;
  padding: 10px 0;
  width: 100%;
  z-index: 999;
}
.other .menu.fixed {
  position: fixed;
  top: 0;
  left: 0;
}
.other .menu_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.other .menu_main {
  width: 300px;
  height: 60px;
  line-height: 60px;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  text-align: center;
  font-size: 1.125rem;
  cursor: default;
  overflow: hidden;
}
.other .menu_main:first-of-type {
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}
.other .menu_main:nth-of-type(1) .contain:before {
  left: 145px;
}
.other .menu_main:nth-of-type(2) .contain:before {
  left: 445px;
}
.other .menu_main:nth-of-type(3) .contain:before {
  left: 746px;
}
.other .menu_main:nth-of-type(4) .contain:before {
  left: 1050px;
}
.other .menu_sub {
  display: none;
  position: absolute;
  top: 70px;
  left: 0;
  right: 0;
  text-align: left;
}
.other .menu_sub-inner {
  margin-top: 10px;
  background: #317141;
}
.other .menu_sub .contain {
  padding: 30px 150px;
  position: relative;
}
.other .menu_sub .contain:before {
  content: '';
  border-right: 12px solid transparent;
  border-bottom: 12px solid #317141;
  border-left: 12px solid transparent;
  position: absolute;
  top: -12px;
  display: block;
  z-index: 1;
}
.other .menu_sub-list {
  position: relative;
}
.other .menu_sub dl {
  line-height: initial;
}
.other .menu_sub dl:not(:last-of-type) {
  margin-bottom: 24px;
}
.other .menu_sub dt {
  color: rgba(255, 255, 255, 0.5);
  font-size: 1.125rem;
  margin-bottom: 14px;
}
.other .menu_sub dd a {
  color: #fff;
}
.other .menu_sub dd a:before {
  content: '\f0da';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: .4em;
}
.other .sec_ttl {
  color: #288e4f;
  font-size: 1.875rem;
  font-weight: 500;
  padding-bottom: 4px;
  margin: 80px 0 50px;
  border-bottom: 2px solid #288e4f;
}
.other .sec_inner {
  margin: 50px;
}
.other .sec_subttl {
  background: #eeeeee;
  padding: 14px 30px;
  font-size: 1.375rem;
  font-weight: 500;
  position: relative;
  margin-bottom: 30px;
}
.other .sec_subttl:before {
  content: '';
  position: absolute;
  top: 22px;
  left: 0;
  width: 10px;
  height: 22px;
  background: #288e4f;
  display: block;
}
.other .sec_subttl2 {
  margin: 30px 20px 20px;
  padding-bottom: 8px;
  font-size: 1.125rem;
  font-weight: 500;
  border-bottom: 1px solid #cbcbcb;
}
.other .sec_main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 20px;
}
.other .sec_main-img {
  width: 250px;
}
.other .sec_main-text {
  margin: 20px 0 20px 30px;
  width: 780px;
}
.other .sec_main-text.no_img {
  width: inherit;
}
.other .sec_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: 20px;
  margin-bottom: -20px;
}
.other .sec_list-item {
  width: 250px;
  border-radius: 10px;
  border: 2px solid #288e4f;
  overflow: hidden;
  margin-right: 20px;
  margin-bottom: 20px;
}
.other .sec_list-img {
  margin: -2px -2px 0;
}
.other .sec_list-ttl {
  margin-top: 0;
  height: 68px;
  padding: 15px;
  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: #288e4f;
  color: #fff;
  font-size: .9375rem;
  text-align: center;
}
.other .sec_list-text {
  font-size: .8125rem;
  padding: 15px;
}
.other .sec_list + .sec_attend {
  margin-top: 30px;
}
.other .sec_movie {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: 20px;
  margin-bottom: 10px;
  list-style: none;
}
.other .sec_movie-item {
  width: 250px;
  margin-right: 20px;
  margin-bottom: 20px;
}
.other .sec_attend {
  font-size: .9375rem;
  margin: 0 20px;
}
.other .sec_asterisk {
  list-style: none;
  color: #888888;
  font-size: .8125rem;
  margin: 0 20px;
}
.other .sec_asterisk li {
  position: relative;
  padding-left: 1.5em;
}
.other .sec_asterisk li:before {
  position: absolute;
  content: "※";
  top: 0;
  left: 0;
}
.other .sec_asterisk a {
  color: #288e4f;
  text-decoration: underline;
}
.other .sec_asterisk a:hover {
  text-decoration: none;
  opacity: 1;
}
.other .sec + .content_contact {
  margin-top: 120px;
}

.mission_img01, .other_img01 {
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 80px;
}
.mission_sec, .other_sec {
  margin-bottom: 120px;
}
.mission_sec .contain, .other_sec .contain {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.mission_info, .other_info {
  width: 830px;
}
.mission_img03, .other_img03 {
  margin: 0 -400px 80px;
}
.mission_item, .other_item {
  width: 600px;
}
.mission_cycle, .other_cycle {
  border-bottom: 1px solid #c9caca;
  padding-bottom: 120px;
}
.mission_cycle .contain, .other_cycle .contain {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.mission_cycle-info, .other_cycle-info {
  width: 710px;
}

@media screen and (max-width: 767px) {
  .other .subcon_phottl {
    background: url(../img/other/bg_ttl_sp.jpg) center center/cover no-repeat;
  }
  .other_item {
    width: inherit;
  }
  .other_item:not(:last-of-type) {
    margin-bottom: 35px;
  }
  .other_text {
    font-size: .75rem;
    font-weight: 700;
    margin: 0 3%;
    padding-bottom: 0;
  }
  .other .menuSp {
    background: #288e4f;
    color: #fff;
    position: relative;
    padding: calc(15/750*100vw) 0;
    width: 100%;
    z-index: 999;
  }
  .other .menuSp.fixed {
    position: fixed;
    top: 0;
    left: 0;
  }
  .other .menuSp_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .other .menuSp_main {
    padding: 0 calc(28/750*100vw);
    height: calc(80/750*100vw);
    line-height: calc(40/750*100vw);
    border-right: 1px solid rgba(255, 255, 255, 0.2);
    text-align: center;
    font-size: .875rem;
    cursor: pointer;
    overflow: hidden;
  }
  .other .menuSp_main:first-of-type {
    border-left: 1px solid rgba(255, 255, 255, 0.2);
  }
  .other .menuSp_main:nth-of-type(1) .contain:before {
    left: calc(80/750*100vw);
  }
  .other .menuSp_main:nth-of-type(2) .contain:before {
    left: calc(230/750*100vw);
  }
  .other .menuSp_main:nth-of-type(3) .contain:before {
    left: calc(380/750*100vw);
  }
  .other .menuSp_main:nth-of-type(4) .contain:before {
    left: calc(565/750*100vw);
  }
  .other .menuSp_sub {
    display: none;
    position: absolute;
    top: calc(95/750*100vw);
    left: 0;
    right: 0;
    text-align: left;
  }
  .other .menuSp_sub-inner {
    margin-top: calc(15/750*100vw);
    background: #317141;
  }
  .other .menuSp_sub .contain {
    padding: calc(50/750*100vw) calc(20/750*100vw);
    position: relative;
  }
  .other .menuSp_sub .contain:before {
    content: '';
    border-right: 8px solid transparent;
    border-bottom: 8px solid #317141;
    border-left: 8px solid transparent;
    position: absolute;
    top: -8px;
    display: block;
    z-index: 1;
  }
  .other .menuSp_sub-list {
    position: relative;
  }
  .other .menuSp_sub dl {
    line-height: initial;
  }
  .other .menuSp_sub dt {
    color: rgba(255, 255, 255, 0.5);
    font-size: 1.125rem;
    margin-bottom: calc(40/750*100vw);
  }
  .other .menuSp_sub dd {
    margin-bottom: calc(40/750*100vw);
  }
  .other .menuSp_sub dd a {
    color: #fff;
  }
  .other .menuSp_sub dd a:before {
    content: '\f0da';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: .4em;
  }
  .other .sec_ttl {
    font-size: 1.25rem;
    padding-bottom: calc(21/750*100vw);
    margin: calc(117/750*100vw) 0 calc(70/750*100vw);
  }
  .other .sec_inner {
    margin: calc(70/750*100vw) 0;
  }
  .other .sec_subttl {
    padding: calc(30/750*100vw) calc(30/750*100vw);
    font-size: .9375rem;
    margin-bottom: calc(50/750*100vw);
  }
  .other .sec_subttl:before {
    top: calc(50% - 9px);
    left: 0;
    width: 7px;
    height: 18px;
  }
  .other .sec_subttl2 {
    margin: calc(45/750*100vw) calc(30/690*100%) calc(40/750*100vw);
    padding-bottom: calc(20/750*100vw);
    font-size: .9375rem;
  }
  .other .sec_main {
    display: block;
    margin: 0 calc(30/690*100%);
  }
  .other .sec_main-img {
    width: calc(400/630*100%);
    margin: 0 auto;
  }
  .other .sec_main-text {
    margin: calc(50/750*100vw) 0;
    width: inherit;
    font-size: .8125rem;
  }
  .other .sec_list {
    margin-left: calc(30/690*100%);
    margin-bottom: calc(-14/750*100vw);
  }
  .other .sec_list-item {
    width: calc(308/660*100%);
    margin-right: calc(14/660*100%);
    margin-bottom: calc(14/750*100vw);
  }
  .other .sec_list-ttl {
    height: calc(128/750*100vw);
    font-size: .75rem;
    padding: calc(22/750*100vw) calc(20/308*100%);
    line-height: 1.333;
  }
  .other .sec_list-text {
    font-size: .6875rem;
    padding: calc(22/750*100vw) calc(20/308*100%);
    line-height: 1.3636;
    margin-top: 0;
  }
  .other .sec_list + .sec_attend {
    margin-top: calc(50/750*100vw);
  }
  .other .sec_movie {
    margin-left: calc(30/690*100%);
  }
  .other .sec_movie-item {
    width: calc(308/660*100%);
    margin-right: calc(14/660*100%);
    margin-bottom: calc(14/750*100vw);
  }
  .other .sec_attend {
    font-size: .75rem;
    margin: 0 calc(30/690*100%);
  }
  .other .sec_asterisk {
    font-size: .6875rem;
    margin: 0 calc(30/690*100%);
  }
}
