@charset "UTF-8";
/* CSS Document */
/*===================================================
	画面用CSS（PC/SMP）
===================================================*/
/*////////////////////////////////////////////////////////////
	TOP
///////////////////////////////////////////////////////////*/
#top .kvContainer {
  position: relative;
  padding: 0 0 80px 10vw;
  background: #ffffff;
}
#top .kvContainer:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 90%;
  height: 90%;
  z-index: -1;
  background: #7fb841;
}
#top .kvContainer .kvPanel {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
#top .kvContainer .kvPanel .kvCnt {
  width: calc(100% - 100px);
}
#top .kvContainer .kvPanel .kvCnt .topKv {
  position: relative;
  height: 420px;
}
#top .kvContainer .kvPanel .kvCnt .topKv .kvBox {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#top .kvContainer .kvPanel .kvCnt .topKv .kvBox > div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#top .kvContainer .kvPanel .kvCnt .topKv .kvBox .kv01 {
  background: url("../image/top/top_kv_01.png") center no-repeat;
  background-size: cover;
}
#top .kvContainer .kvPanel .kvCnt .topKv .kvBox .kv02 {
  background: url("../image/top/top_kv_02.png") center no-repeat;
  background-size: cover;
}
#top .kvContainer .kvPanel .kvCnt .topKv .kvBox .kv03 {
  background: url("../image/top/top_kv_03.png") center no-repeat;
  background-size: cover;
}
#top .kvContainer .kvPanel .kvCnt .topKv .kvBox .kv04 {
  background: url("../image/top/top_kv_04.png") center no-repeat;
  background-size: cover;
}
#top .kvContainer .kvPanel .kvCnt .topKv .kvBox .kv05 {
  background: url("../image/top/top_kv_05.png") center no-repeat;
  background-size: cover;
}
#top .kvContainer .kvPanel .titleBox {
  position: absolute;
  left: 0;
  bottom: -20px;
  width: 100%;
  max-width: 480px;
  padding: 40px 20px;
  background: #ffffff;
}
#top .kvContainer .kvPanel .titleBox h1,
#top .kvContainer .kvPanel .titleBox p {
  font-size: 32px;
  font-weight: bold;
}
#top .kvContainer .kvPanel .titleBox h1 em,
#top .kvContainer .kvPanel .titleBox p em {
  color: #78be21;
}
#top .sec01 {
  padding: 80px 0;
}
#top .sec01 .newsContainer {
  margin: 0 0 60px;
  padding: 50px 20px;
  background: #ffffff;
}
#top .sec01 .newsContainer .wrap {
  max-width: 1000px;
  margin: 0 auto;
}
#top .sec01 .newsContainer .secBox .leftBox .secTtl {
  margin: 0 0 60px;
}
#top .sec01 .newsContainer .secBox .leftBox .secTtl h2 {
  font-size: 34px;
  font-weight: bold;
}
#top .sec01 .newsContainer .secBox .leftBox .secTtl p {
  font-size: 15px;
  color: #78be21;
}
#top .sec01 .newsContainer .secBox .rightBox .newsList ul li + li {
  margin: 25px 0 0;
}
#top .sec01 .newsContainer .secBox .rightBox .newsList ul li .time {
  position: relative;
  top: 2px;
  display: inline-block;
  margin: 0 10px 0 0;
  font-size: 13px;
  color: #a7b5b8;
  vertical-align: middle;
}
#top .sec01 .newsContainer .secBox .rightBox .newsList ul li .cate {
  display: inline-block;
  vertical-align: middle;
}
#top .sec01 .newsContainer .secBox .rightBox .newsList ul li .cate p {
  display: inline-block;
  min-width: 100px;
  padding: 0 10px;
  font-size: 12px;
  color: #ffffff;
  text-align: center;
}
#top .sec01 .newsContainer .secBox .rightBox .newsList ul li .info p {
  background: #f1cf00;
}
#top .sec01 .newsContainer .secBox .rightBox .newsList ul li .event-taaj p {
  background: #00a3bd;
}
#top .sec01 .newsContainer .secBox .rightBox .newsList ul li .staff p {
  background: #88ba60;
}
#top .sec01 .newsContainer .secBox .rightBox .newsList ul li .event-relation p {
  background: #ff6858;
}
#top .sec01 .newsContainer .secBox .rightBox .newsList ul li .title a {
  display: inline-block;
}
@media (min-width: 1025px) {
  #top .sec01 .newsContainer .secBox {
    display: flex;
    justify-content: space-between;
  }
  #top .sec01 .newsContainer .secBox .leftBox {
    width: 180px;
  }
  #top .sec01 .newsContainer .secBox .rightBox {
    width: 70%;
  }
  #top .sec01 .newsContainer .secBox .rightBox .newsList ul li {
    display: flex;
    justify-content: space-between;
  }
  #top .sec01 .newsContainer .secBox .rightBox .newsList ul li .infoBox {
    width: 220px;
  }
  #top .sec01 .newsContainer .secBox .rightBox .newsList ul li .title {
    width: calc(100% - 230px);
    padding: 3px 0 0;
  }
}
#top .sec01 .secPanel .logoBox .logo {
  max-width: 280px;
  margin: 0 auto;
}
#top .sec01 .secPanel .txtBox .btnMore {
  margin: 30px 0 0;
}
@media (min-width: 1025px) {
  #top .sec01 .secPanel {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #top .sec01 .secPanel .logoBox {
    width: 35%;
  }
  #top .sec01 .secPanel .txtBox {
    width: 65%;
  }
}
#top .instaSection {
  padding: 80px 0;
}
#top .instaSection .secTtl {
  margin: 0 0 60px;
  text-align: center;
}
#top .instaSection .secTtl h2 {
  font-size: 34px;
  font-weight: bold;
}
#top .instaSection .secTtl p {
  font-size: 15px;
  color: #78be21;
}
#top .instaSection .btnMore {
  width: 180px;
  margin: 40px auto 0;
}

/*////////////////////////////////////////////////////////////
	about
///////////////////////////////////////////////////////////*/
#about .mainContainer {
  padding: 60px 0 120px;
}
#about .pageLinkList {
  margin: 0 0 100px;
}
#about .pageLinkList ul {
  max-width: 700px;
  margin: 0 auto;
}
#about .pageLinkList ul li {
  width: 200px;
  padding: 7px 10px;
  color: #ffffff;
  text-align: center;
  cursor: pointer;
  background: #7fb841;
}
@media (min-width: 1025px) {
  #about .pageLinkList ul {
    display: flex;
    justify-content: space-around;
  }
}
#about .section + .section {
  margin: 60px 0 0;
}
#about .secContainer {
  padding: 60px 20px;
  background: #ffffff;
}
#about .secContainer .secContainerWrap {
  max-width: 1000px;
  margin: 0 auto;
}
#about .sec01 .secBox .photoBox .name {
  margin: 15px 0 0;
  text-align: right;
}
@media (min-width: 1025px) {
  #about .sec01 .secBox {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  #about .sec01 .secBox .photoBox {
    width: 280px;
  }
  #about .sec01 .secBox .txtBox {
    width: calc(100% - 320px);
  }
}
#about .sec02 .txt + .txt {
  margin: 30px 0 0;
}
#about .sec02 .secBox {
  margin: 30px 0;
}
#about .sec02 .secBox .photoBox .name {
  margin: 15px 0 0;
  text-align: right;
}
@media (min-width: 1025px) {
  #about .sec02 .secBox {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  #about .sec02 .secBox .photoBox {
    width: 240px;
  }
  #about .sec02 .secBox .txtBox {
    width: calc(100% - 320px);
  }
}
#about .subSection + .subSection {
  margin: 100px 0 0;
}
#about .subSection .subSecTtl {
  position: relative;
  margin: 0 0 30px;
}
#about .subSection .subSecTtl:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  margin: auto 0;
  background: #21535c;
}
#about .subSection .subSecTtl h3 {
  position: relative;
  display: inline-block;
  padding: 0 15px 0 0;
  font-size: 20px;
  font-weight: bold;
  background: #ffffff;
}
#about .subSection .txtBox .txt + .txt {
  margin: 30px 0 0;
}
#about .subSection .logoPanel {
  position: relative;
}
#about .subSection .logoPanel .logo {
  width: 220px;
}
@media (min-width: 1025px) {
  #about .subSection .logoPanel .logo {
    position: absolute;
    right: 0;
    bottom: 10px;
  }
}
#about .subSection .historyList {
  max-width: 900px;
  margin: 0 auto;
}
#about .subSection .historyList ul li {
  position: relative;
  padding: 0 0 30px;
}
#about .subSection .historyList ul li::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #7fb841;
}
#about .subSection .historyList ul li:not(:last-child):after {
  content: "";
  position: absolute;
  top: 7px;
  left: 4px;
  width: 1px;
  height: 100%;
  background: #7fb841;
}
#about .subSection .historyList ul li dl {
  padding: 0 0 0 40px;
}
@media (min-width: 1025px) {
  #about .subSection .historyList ul dl {
    display: flex;
  }
  #about .subSection .historyList ul dl dt {
    width: 140px;
    margin: 0 40px 0 0;
    text-align: right;
  }
}
#about .subSection .topTxt {
  margin: 0 0 30px;
}
#about .subSection .infoBox dl {
  padding: 15px 40px;
  line-height: 2;
  border-bottom: 1px solid #d5d5d5;
}
@media (min-width: 1025px) {
  #about .subSection .infoBox dl {
    display: flex;
    justify-content: space-between;
  }
  #about .subSection .infoBox dl dt {
    width: 160px;
  }
  #about .subSection .infoBox dl dd {
    width: calc(100% - 200px);
  }
}
#about .subSection .btnTarget {
  max-width: 340px;
  margin: 0 auto;
}
#about .subSection aside {
  margin: 20px 0 0;
  text-align: center;
}

/*////////////////////////////////////////////////////////////
	conference
///////////////////////////////////////////////////////////*/
#conference .topContainer {
  padding: 60px 0;
}
#conference .topContainer .pageLinkList ul {
  max-width: 480px;
  margin: 0 auto;
}
#conference .topContainer .pageLinkList ul li {
  width: 200px;
  padding: 7px 10px;
  color: #ffffff;
  text-align: center;
  cursor: pointer;
  background: #7fb841;
}
@media (min-width: 1025px) {
  #conference .topContainer .pageLinkList ul {
    display: flex;
    justify-content: space-around;
  }
}
#conference .slidePanel .slideBox ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#conference .slidePanel .slideBox ul li {
  width: 25%;
  margin: 0 2px;
}
#conference .mainContainer {
  padding: 0 0 200px;
}
#conference .nextConferenceHeadLine {
  padding: 80px 0;
}
#conference .nextConferenceHeadLine .secBox {
  max-width: 640px;
  margin: 0 auto;
}
#conference .nextConferenceHeadLine .secBox .rightBox ol li + li {
  margin: 15px 0 0;
}
#conference .nextConferenceHeadLine .secBox .rightBox ol li p {
  display: inline-block;
  cursor: pointer;
  text-decoration: underline;
}
@media (min-width: 1025px) {
  #conference .nextConferenceHeadLine .secBox {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #conference .nextConferenceHeadLine .secBox .leftBox {
    width: 45%;
  }
  #conference .nextConferenceHeadLine .secBox .rightBox {
    width: 45%;
  }
}
#conference .subSection + .subSection {
  margin: 100px 0 0;
}
#conference .subSection .subSecTtl {
  position: relative;
  margin: 0 0 40px;
  color: #414141;
}
#conference .subSection .subSecTtl:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  margin: auto 0;
  background: #21535c;
}
#conference .subSection .subSecTtl h3 {
  position: relative;
  display: inline-block;
  padding: 0 15px 0 0;
  font-size: 20px;
  font-weight: bold;
  background: #f5f5f5;
}
#conference .infoBox {
  padding: 40px 20px;
  background: #ffffff;
}
#conference .infoBox .inner {
  max-width: 1000px;
  margin: 0 auto;
}
#conference .infoBox dl + dl {
  margin: 15px 0 0;
}
#conference .infoBox dl dt {
  font-weight: bold;
}
@media (min-width: 1025px) {
  #conference .infoBox dl {
    display: flex;
  }
  #conference .infoBox dl dt {
    width: 110px;
  }
  #conference .infoBox dl dd {
    width: calc(100% - 110px);
  }
}
#conference .greetingPanel .pdfBox .imgBox a {
  display: block;
}
#conference .greetingPanel .pdfBox > p {
  margin: 10px 0 0;
}
#conference .greetingPanel .txtBox {
  padding: 20px 0 0;
}
#conference .greetingPanel .txtBox .name {
  margin: 50px 0 0;
  text-align: right;
}
@media (min-width: 1025px) {
  #conference .greetingPanel {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  #conference .greetingPanel .pdfBox {
    width: 260px;
  }
  #conference .greetingPanel .txtBox {
    width: calc(100% - 350px);
  }
}
#conference .programContainer .programPanel + .programPanel {
  margin: 60px 0 0;
}
#conference .programContainer .programPanel .pTtl {
  margin: 0 0 10px;
  font-weight: bold;
}
#conference .programTable table {
  width: 100%;
  font-size: 14px;
  background: #ffffff;
}
#conference .programTable table a {
  display: inline-block;
}
@media (min-width: 1025px) {
  #conference .programTable table {
    border: 1px solid #21535c;
  }
  #conference .programTable table thead tr .time,
#conference .programTable table tbody tr .time {
    width: 260px;
  }
  #conference .programTable table thead tr .instructor,
#conference .programTable table tbody tr .instructor {
    width: 260px;
  }
  #conference .programTable table thead tr th {
    padding: 10px;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    background: #7fb841;
  }
  #conference .programTable table thead tr th + th {
    border-left: 1px solid #21535c;
  }
  #conference .programTable table tbody tr {
    border-top: 1px solid #21535c;
  }
  #conference .programTable table tbody tr td {
    padding: 10px 40px;
    text-align: center;
    line-height: 2;
  }
  #conference .programTable table tbody tr td + td {
    border-left: 1px solid #21535c;
  }
  #conference .programTable table tbody tr td dl dt {
    display: none;
  }
  #conference .programTable table tbody tr .program {
    text-align: left;
  }
}
#conference .accessBox {
  padding: 40px 20px;
  background: #ffffff;
}
#conference .accessBox .inner {
  max-width: 1000px;
  margin: 0 auto;
}
#conference .innerSection + .innerSection {
  margin: 40px 0 0;
}
#conference .innerSection .innerSecTtl {
  margin: 0 0 10px;
  padding: 0 0 0 10px;
  font-weight: bold;
  color: #414141;
  border-left: 3px solid #7fb841;
}
#conference .innerSection .innerSecTtl > * {
  line-height: 1;
}
#conference .innerSection .cntTxt {
  padding: 10px;
  line-height: 2.5;
}
#conference .innerSection aside {
  padding: 10px;
}
#conference .feeTable table {
  width: 100%;
  font-size: 14px;
  background: #ffffff;
}
#conference .feeTable table a {
  display: inline-block;
}
@media (min-width: 1025px) {
  #conference .feeTable table {
    border: 1px solid #21535c;
  }
  #conference .feeTable table thead tr th {
    padding: 10px;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    background: #7fb841;
  }
  #conference .feeTable table thead tr th + th {
    border-left: 1px solid #21535c;
  }
  #conference .feeTable table tbody tr {
    border-top: 1px solid #21535c;
  }
  #conference .feeTable table tbody tr td {
    padding: 10px 40px;
    text-align: center;
    line-height: 2;
    vertical-align: middle;
  }
  #conference .feeTable table tbody tr td + td {
    border-left: 1px solid #21535c;
  }
  #conference .feeTable table tbody tr td dl dt {
    display: none;
  }
  #conference .feeTable table tbody tr .date {
    text-align: left;
  }
}
#conference .cautionBox {
  margin: 20px 0 0;
  padding: 20px 30px;
  background: #e8e8e8;
}
#conference .cancelTable table {
  width: 100%;
  font-size: 14px;
  background: #ffffff;
}
#conference .cancelTable table a {
  display: inline-block;
}
@media (min-width: 1025px) {
  #conference .cancelTable table {
    border: 1px solid #21535c;
  }
  #conference .cancelTable table thead tr .policy,
#conference .cancelTable table tbody tr .policy {
    width: 440px;
  }
  #conference .cancelTable table thead tr th {
    padding: 10px;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    background: #7fb841;
  }
  #conference .cancelTable table thead tr th + th {
    border-left: 1px solid #21535c;
  }
  #conference .cancelTable table tbody tr {
    border-top: 1px solid #21535c;
  }
  #conference .cancelTable table tbody tr td {
    padding: 10px 40px;
    line-height: 2;
    vertical-align: middle;
  }
  #conference .cancelTable table tbody tr td + td {
    border-left: 1px solid #21535c;
  }
  #conference .cancelTable table tbody tr td dl dt {
    display: none;
  }
}
#conference .pastTable table {
  width: 100%;
  font-size: 14px;
  background: #ffffff;
}
#conference .pastTable table a {
  display: inline-block;
}
@media (min-width: 1025px) {
  #conference .pastTable table {
    border: 1px solid #21535c;
  }
  #conference .pastTable table thead tr th {
    padding: 10px;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    background: #7fb841;
  }
  #conference .pastTable table thead tr th + th {
    border-left: 1px solid #21535c;
  }
  #conference .pastTable table tbody tr {
    border-top: 1px solid #21535c;
  }
  #conference .pastTable table tbody tr td {
    padding: 10px 20px;
    line-height: 2;
    vertical-align: middle;
  }
  #conference .pastTable table tbody tr td + td {
    border-left: 1px solid #21535c;
  }
  #conference .pastTable table tbody tr td dl dt {
    display: none;
  }
  #conference .pastTable table tbody tr td.no {
    width: 120px;
    padding: 10px;
  }
  #conference .pastTable table tbody tr td.no dl {
    text-align: center;
  }
  #conference .pastTable table tbody tr td.date {
    width: 180px;
  }
  #conference .pastTable table tbody tr td.speaker {
    width: 160px;
  }
}

/*////////////////////////////////////////////////////////////
	learn
///////////////////////////////////////////////////////////*/
#learn .mainContainer {
  padding: 0 0 200px;
}
#learn .topHeadLine {
  padding: 80px 0;
}
#learn .topHeadLine .secBox {
  max-width: 640px;
  margin: 0 auto;
}
#learn .topHeadLine .secBox .rightBox ol li + li {
  margin: 15px 0 0;
}
#learn .topHeadLine .secBox .rightBox ol li p {
  display: inline-block;
  cursor: pointer;
  text-decoration: underline;
}
@media (min-width: 1025px) {
  #learn .topHeadLine .secBox {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #learn .topHeadLine .secBox .leftBox {
    width: 45%;
  }
  #learn .topHeadLine .secBox .rightBox {
    width: 45%;
  }
}
#learn .subSection + .subSection {
  margin: 100px 0 0;
}
#learn .subSection .subSecTtl {
  position: relative;
  margin: 0 0 40px;
  color: #414141;
}
#learn .subSection .subSecTtl:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  margin: auto 0;
  background: #21535c;
}
#learn .subSection .subSecTtl h3 {
  position: relative;
  display: inline-block;
  padding: 0 15px 0 0;
  font-size: 20px;
  font-weight: bold;
  background: #f5f5f5;
}
#learn .subSection .topTxt {
  margin: 0 0 30px;
}
#learn .subSection .topTxt + .btnMore {
  max-width: 260px;
}
#learn .learnTable {
  overflow-y: scroll;
}
#learn .learnTable table {
  width: 100%;
  min-width: 1200px;
  font-size: 13px;
  background: #ffffff;
  border: 1px solid #21535c;
}
#learn .learnTable table a {
  display: inline-block;
}
#learn .learnTable table thead tr th {
  padding: 20px 15px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  background: #ededed;
}
#learn .learnTable table thead tr th + th {
  border-left: 1px solid #21535c;
}
#learn .learnTable table thead tr th:nth-child(1) {
  width: 200px;
  background: #ffffff;
}
#learn .learnTable table tbody tr {
  border-top: 1px solid #21535c;
}
#learn .learnTable table tbody tr th {
  width: 320px;
  padding: 20px 15px;
  color: #ffffff;
  font-weight: bold;
  text-align: left;
  vertical-align: middle;
  background: #7fb841;
}
#learn .learnTable table tbody tr th.dGreen {
  text-align: center;
  background: #51b08d;
}
#learn .learnTable table tbody tr td {
  padding: 20px 15px;
  text-align: center;
  line-height: 2;
  vertical-align: middle;
}
#learn .learnTable table tbody tr td + td {
  border-left: 1px solid #21535c;
}
#learn .learnTable table tbody tr td .btnMore {
  max-width: 190px;
}
#learn .learnTable table tbody tr td.left {
  text-align: left;
}
#learn .learnTable + aside {
  margin: 10px 0 0;
}
#learn .feeContainer {
  margin: 60px 0 0;
}
#learn .feeContainer aside {
  margin: 10px 0 0;
  line-height: 2;
}
#learn .feeContainer dl {
  margin: 20px 0 0;
  line-height: 2;
}
#learn .feeContainer dl dt {
  margin: 0 0 10px;
  font-weight: bold;
}
#learn .feeContainer dl dd {
  font-size: 14px;
}
#learn .innerSectionContainer {
  padding: 50px 0 0;
}
#learn .innerSectionContainer .innerSection + .innerSection {
  margin: 80px 0 0;
}
#learn .innerSectionContainer .innerSection .innerSecTtl {
  margin: 0 0 20px;
  padding: 0 0 0 10px;
  font-size: 18px;
  font-weight: bold;
  color: #414141;
  border-left: 3px solid #7fb841;
}
#learn .innerSectionContainer .innerSection .innerSecTtl > * {
  line-height: 1;
}
#learn .innerSectionContainer .innerSection .innerSecTxt {
  margin: 0 0 30px;
}
#learn .themeContainer .themePanel {
  padding: 40px 20px;
  background: #ffffff;
}
#learn .themeContainer .themePanel + .themePanel {
  margin: 80px 0 0;
}
#learn .themeContainer .themePanel .panelInner {
  max-width: 1000px;
  margin: 0 auto;
}
#learn .themeContainer .themePanel dl + dl {
  margin: 80px 0 0;
}
#learn .themeContainer .themePanel dl dt {
  position: relative;
  margin: 0 0 30px;
  color: #414141;
}
#learn .themeContainer .themePanel dl dt:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  margin: auto 0;
  background: #21535c;
}
#learn .themeContainer .themePanel dl dt span {
  position: relative;
  display: inline-block;
  padding: 0 15px 0 0;
  font-size: 20px;
  font-weight: bold;
  background: #ffffff;
}
#learn .themeContainer .themePanel dl dd {
  line-height: 2.5;
}
#learn .themeContainer .themePanel .name {
  margin: 0 0 20px;
}
#learn .themeContainer .themePanel .introBox {
  padding: 30px;
  border: 1px solid #d5d5d5;
  background: #fcfcfc;
}
#learn .themeContainer .themePanel .introBox .introTtl {
  margin: 0 0 15px;
  font-weight: bold;
}
#learn .themeContainer .themePanel .bottomBox {
  margin: 100px 0 0;
  text-align: center;
}
#learn .themeContainer .themePanel .bottomBox .btnMore {
  max-width: 260px;
  margin: 0 auto 10px;
}
#learn .themeContainer .themePanel .bottomBox aside {
  font-size: 14px;
}
#learn .voicePanel {
  padding: 20px 40px;
  border: 1px solid #d5d5d5;
  background: #fcfcfc;
}
#learn .voicePanel + .voicePanel {
  margin: 20px 0 0;
}
#learn .voicePanel dl dt {
  margin: 0 0 15px;
  font-weight: bold;
}
#learn .voicePanel dl dd .comment {
  font-size: 15px;
  line-height: 2.5;
}
#learn .voicePanel dl dd .name {
  margin: 15px 0 0;
  font-weight: bold;
  text-align: right;
}

/*////////////////////////////////////////////////////////////
	certification
///////////////////////////////////////////////////////////*/
#certification .topContainer {
  padding: 60px 0;
}
#certification .topContainer .pageLinkList ul {
  max-width: 800px;
  margin: 0 auto;
}
#certification .topContainer .pageLinkList ul li {
  width: 250px;
  padding: 7px 10px;
  color: #ffffff;
  text-align: center;
  cursor: pointer;
  background: #7fb841;
}
@media (min-width: 1025px) {
  #certification .topContainer .pageLinkList ul {
    display: flex;
    justify-content: space-around;
  }
}
#certification .sec01 {
  padding: 100px 0;
  background: #ffffff;
}
#certification .sec01 .secPanel {
  max-width: 1000px;
  margin: 0 auto;
}
#certification .sec01 .secBox {
  position: relative;
  margin: 50px 0;
  border: 3px solid #7fb841;
  background: #f7fef0;
}
#certification .sec01 .secBox .ttl {
  position: relative;
  top: -15px;
  left: 20px;
}
#certification .sec01 .secBox .ttl h3 {
  display: inline-block;
  font-size: 18px;
  background: #ffffff;
}
#certification .sec01 .secBox .inner {
  padding: 8px 20px 20px;
}
#certification .sec01 .secBox dl + dl {
  margin: 15px 0 0;
}
#certification .sec01 .secBox dl dt {
  margin: 0 0 5px;
  color: #7fb841;
}
#certification .sec01 .secBox dl dd {
  padding: 0 0 0 17px;
}
#certification .sec02 {
  padding: 100px 0;
}
#certification .sec02 .topTxt {
  margin: 0 0 30px;
  text-align: center;
}
#certification .sec02 .secContainer {
  padding: 60px 20px;
  background: #ffffff;
}
#certification .sec02 .secContainer .secContainerWrap {
  max-width: 1000px;
  margin: 0 auto;
}
#certification .sec02 .subSection {
  color: #414141;
}
#certification .sec02 .subSection + .subSection {
  margin: 100px 0 0;
}
#certification .sec02 .subSection .subSecTtl,#certification .sec03 .subSecTtl {
  position: relative;
  margin: 0 0 30px;
}
#certification .sec02 .subSection .subSecTtl:before,#certification .sec03 .subSecTtl:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  margin: auto 0;
  background: #21535c;
}
#certification .sec02 .subSection .subSecTtl h3,#certification .sec03 .subSecTtl h3 {
  position: relative;
  display: inline-block;
  padding: 0 15px 0 0;
  font-size: 20px;
  font-weight: bold;
  background: #ffffff;
}
#certification .sec02 .subSection .txtBox,#certification .sec03 .txtBox {
  margin: 30px 0 0;
  padding: 30px;
  background: #f7fef0;
}
#certification .sec03 {
  padding: 100px 0;
  background: #ffffff;
}
#certification .sec03 .secPanel {
  color: #414141;
  border: 1px solid #7fb841;
}
#certification .sec03 .secPanel + .secPanel {
  margin: 40px 0 0;
}
#certification .sec03 .secPanel .pTtl {
  color: #ffffff;
  font-size: 24px;
  font-weight: bold;
  background: #7fb841;
}
#certification .sec03 .secPanel .pBody {
  background: #ffffff;
}
#certification .sec03 .secPanel .pBody dl dt {
  padding: 0 30px 0 0;
  font-size: 20px;
  font-weight: bold;
  cursor: pointer;
  background: url("../image/certification/accord_plus.png") right center no-repeat;
}
#certification .sec03 .secPanel .pBody dl dt.active {
  background: url("../image/certification/accord_minus.png") right center no-repeat;
}
#certification .sec03 .secPanel .pBody dl dd {
  display: none;
  padding: 20px 0 0;
  line-height: 2;
}
@media (min-width: 1025px) {
  #certification .sec03 .secPanel {
    display: table;
    width: 100%;
  }
  #certification .sec03 .secPanel .pTtl {
    display: table-cell;
    width: 90px;
    padding: 30px;
    vertical-align: middle;
  }
  #certification .sec03 .secPanel .pBody {
    display: table-cell;
    padding: 30px;
    vertical-align: middle;
  }
}

/*////////////////////////////////////////////////////////////
	join
///////////////////////////////////////////////////////////*/
#join .sec01 {
  padding: 60px 0;
}
#join .sec01 .topTxt {
  margin: 0 0 30px;
  text-align: center;
}
#join .sec01 .listPanel {
  margin: 0 0 30px;
  padding: 40px 20px;
  background: #ffffff;
}
#join .sec01 .listPanel .listBox {
  max-width: 1000px;
  margin: 0 auto;
}
#join .sec01 .txtBox {
  margin: 0 0 30px;
  text-align: center;
}
#join .sec01 .txtBox p + p {
  margin: 40px 0 0;
}
#join .sec01 .btnMore {
  max-width: 200px;
  margin: 0 auto;
}
#join .sec01 .btnMore + p {
  margin: 20px 0 0;
  text-align: center;
}
#join .sec02 {
  padding: 60px 0 120px;
}
#join .sec02 .linkListPanel .linkListBox ul li a {
  display: block;
  padding: 30px 20px;
  text-align: center;
  background: url("../image/join/icon_tri_green.png") right 5px bottom 5px no-repeat #ffffff;
}
#join .sec02 .linkListPanel .linkListBox ul li dl dt {
  position: relative;
  margin: 0 0 20px;
  padding: 0 0 10px;
  font-size: 24px;
  font-weight: bold;
}
#join .sec02 .linkListPanel .linkListBox ul li dl dt:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 30%;
  height: 1px;
  margin: 0 auto;
  background: #21535c;
}
#join .sec02 .linkListPanel .linkListBox ul li dl dd p {
  display: inline-block;
  min-width: 200px;
  padding: 7px 30px;
  color: #ffffff;
  background: #414141;
}
@media (min-width: 1025px) {
  #join .sec02 .linkListPanel .linkListBox ul {
    display: flex;
    justify-content: space-between;
  }
  #join .sec02 .linkListPanel .linkListBox ul li {
    width: calc(33.3333333333% - 20px);
  }
}

/*////////////////////////////////////////////////////////////
	apply
///////////////////////////////////////////////////////////*/
#apply .sec01 {
  padding: 60px 0;
}
#apply .sec01 .priceTable {
  margin: 0 0 10px;
}
#apply .sec01 .priceTable table {
  width: 100%;
}
#apply .sec01 .priceTable table th,
#apply .sec01 .priceTable table td {
  width: 33%;
  padding: 15px;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #21535c;
}
#apply .sec01 .priceTable table th {
  color: #ffffff;
  background: #7fb841;
}
#apply .sec01 .priceTable table td {
  background: #ffffff;
}
#apply .sec02 {
  padding: 60px 0;
}
#apply .sec02 .listPanel .listBox ul li {
  padding: 30px 40px;
  background: #ffffff;
}
#apply .sec02 .listPanel .listBox ul li dl dt {
  position: relative;
  margin: 0 0 20px;
  padding: 0 0 10px;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}
#apply .sec02 .listPanel .listBox ul li dl dt:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 30%;
  height: 1px;
  margin: 0 auto;
  background: #21535c;
}
#apply .sec02 .listPanel .listBox ul li dl dd .txt {
  font-size: 14px;
  line-height: 2;
}
#apply .sec02 .listPanel .listBox ul li dl dd .txt.center {
  text-align: center;
}
#apply .sec02 .listPanel .listBox ul li dl dd .arrow {
  width: 20px;
  margin: 15px auto 0;
}
@media (min-width: 1025px) {
  #apply .sec02 .listPanel .listBox ul {
    display: flex;
    justify-content: space-between;
  }
  #apply .sec02 .listPanel .listBox ul li {
    width: calc(33.3333333333% - 20px);
  }
}
#apply .sec03 {
  padding: 60px 0 120px;
}

/*////////////////////////////////////////////////////////////
	annual
///////////////////////////////////////////////////////////*/
#annual .topSection {
  padding: 60px 0;
}
#annual .topSection .txt {
  text-align: center;
}
#annual .topSection .txt + .txt {
  margin: 30px 0 0;
}
#annual .sec01 {
  padding: 60px 0;
}
#annual .sec01 .feeTable table {
  width: 100%;
}
#annual .sec01 .feeTable table th,
#annual .sec01 .feeTable table td {
  padding: 15px;
  vertical-align: middle;
  border: 1px solid #21535c;
}
#annual .sec01 .feeTable table th {
  width: 33%;
  color: #ffffff;
  background: #7fb841;
}
#annual .sec01 .feeTable table th span {
  display: block;
  max-width: 140px;
  margin: 0 auto;
}
#annual .sec01 .feeTable table td {
  text-align: center;
  background: #ffffff;
}
#annual .sec02 {
  padding: 60px 0 120px;
}
#annual .sec02 .topPanel .txt + .txt {
  margin: 20px 0 0;
}
#annual .sec02 .secContainer {
  margin: 50px 0 0;
}
#annual .sec02 .subSection {
  color: #414141;
}
#annual .sec02 .subSection + .subSection {
  margin: 100px 0 0;
}
#annual .sec02 .subSection .subSecTtl {
  position: relative;
  margin: 0 0 30px;
}
#annual .sec02 .subSection .subSecTtl:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  margin: auto 0;
  background: #21535c;
}
#annual .sec02 .subSection .subSecTtl h3 {
  position: relative;
  display: inline-block;
  padding: 0 15px 0 0;
  font-size: 20px;
  font-weight: bold;
  background: #f5f5f5;
}
#annual .sec02 .subSection .txtBox {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  max-width: 860px;
}
#annual .sec02 .subSection .txtBox .btnMore {
  max-width: 280px;
}
#annual .sec02 .subSection .banKInfoPanel {
  margin: 40px 0 0;
}
#annual .sec02 .subSection .banKInfoPanel > p {
  margin: 0 0 15px;
  font-weight: bold;
}
#annual .sec02 .subSection .banKInfoPanel .infoListBox .bankInfo {
  padding: 30px 20px;
  background: #ffffff;
}
#annual .sec02 .subSection .banKInfoPanel .infoListBox .bankInfo .inner {
  max-width: 380px;
  margin: 0 auto;
}
#annual .sec02 .subSection .banKInfoPanel .infoListBox .bankInfo dl {
  display: flex;
  justify-content: space-between;
}
#annual .sec02 .subSection .banKInfoPanel .infoListBox .bankInfo dl + dl {
  margin: 20px 0 0;
}
#annual .sec02 .subSection .banKInfoPanel .infoListBox .bankInfo dl dt {
  width: 120px;
  font-weight: bold;
}
#annual .sec02 .subSection .banKInfoPanel .infoListBox .bankInfo dl dd {
  width: calc(100% - 120px);
}
@media (min-width: 1025px) {
  #annual .sec02 .subSection .banKInfoPanel .infoListBox {
    display: flex;
    justify-content: space-between;
  }
  #annual .sec02 .subSection .banKInfoPanel .infoListBox .bankInfo {
    width: calc(50% - 20px);
  }
}

/*////////////////////////////////////////////////////////////
	newsletter
///////////////////////////////////////////////////////////*/
#newsletter .sec01 {
  padding: 60px 0 120px;
}
#newsletter .sec01 .topTxt {
  margin: 0 0 40px;
  text-align: center;
}
#newsletter .formBox form > p {
  display: flex;
  align-items: center;
  margin: 0 0 20px;
}
#newsletter .formBox form > p label {
  width: 140px;
}
#newsletter .formBox form > p input {
  width: calc(100% - 150px);
}
#newsletter .formBox form > p br {
  display: none;
}
#newsletter .formBox form > p + p {
  justify-content: center;
}
#newsletter .formBox form input[type=submit] {
  display: inline-block;
  width: 160px;
  padding: 12px 30px;
  font-size: 16px;
  font-weight: 500;
  color: #ffffff;
  text-align: center;
  cursor: pointer;
  border-radius: 4px;
  border: none;
  background: #7fb841;
  transition: 0.4s;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
#newsletter .formBox form input[type=submit][name=subscribe] {
  background: #7fb841;
}
#newsletter .formBox form input[type=submit][name=subscribe]:hover {
  background: #6ea036;
}
#newsletter .formBox form input[type=submit][name=unsubscribe] {
  background: #999999;
  margin-left: 10px;
}
#newsletter .formBox form input[type=submit][name=unsubscribe]:hover {
  background: #777777;
}
#newsletter .formBox form input[type=submit]:disabled {
  cursor: default;
  opacity: 0.6;
}
#newsletter .formBox form input[type=submit]:disabled:hover {
  background: #7fb841;
}

/*////////////////////////////////////////////////////////////
	instructor
///////////////////////////////////////////////////////////*/
#instructor .topSection {
  padding: 60px 0;
}
#instructor .topSection .topTxt {
  margin: 0 0 30px;
  text-align: center;
}
#instructor .topSection .secPanel {
  padding: 40px 20px;
  background: #ffffff;
}
#instructor .topSection .secPanel + .secPanel {
  margin: 30px 0 0;
}
#instructor .topSection .secPanel .inner {
  max-width: 1040px;
  margin: 0 auto;
}
#instructor .topSection .secPanel .pTtl {
  margin: 0 0 30px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}
#instructor .topSection .secPanel .licenseTable {
  margin: 0 0 15px;
  border: 1px solid #21535c;
}
#instructor .topSection .secPanel .licenseTable dl {
  line-height: 2;
}
#instructor .topSection .secPanel .licenseTable dl + dl {
  border-top: 1px solid #21535c;
}
#instructor .topSection .secPanel .licenseTable dl dt {
  padding: 20px 40px;
  color: #ffffff;
  background: #7fb841;
}
#instructor .topSection .secPanel .licenseTable dl dd {
  padding: 20px 30px;
  background: #ffffff;
}
@media (min-width: 1025px) {
  #instructor .topSection .secPanel .licenseTable dl {
    display: table;
    width: 100%;
  }
  #instructor .topSection .secPanel .licenseTable dl dt {
    display: table-cell;
    width: 15%;
  }
  #instructor .topSection .secPanel .licenseTable dl dd {
    display: table-cell;
  }
}
#instructor .topSection .secPanel .txtBox {
  padding: 15px;
  text-align: center;
  border: 1px solid #414141;
}
#instructor .sec01 {
  padding: 60px 0 120px;
}
#instructor .sec01 .topTxt {
  margin: 0 0 30px;
  text-align: center;
}
#instructor .sec01 .instructorTable table {
  width: 100%;
  font-size: 14px;
  background: #ffffff;
}
#instructor .sec01 .instructorTable table a {
  display: inline-block;
}
@media (min-width: 1025px) {
  #instructor .sec01 .instructorTable table {
    border: 1px solid #21535c;
  }
  #instructor .sec01 .instructorTable table thead tr .registrationNo,
#instructor .sec01 .instructorTable table tbody tr .registrationNo {
    width: 80px;
  }
  #instructor .sec01 .instructorTable table thead tr .name,
#instructor .sec01 .instructorTable table tbody tr .name {
    width: 250px;
  }
  #instructor .sec01 .instructorTable table thead tr .qualification,
#instructor .sec01 .instructorTable table tbody tr .qualification {
    width: 100px;
  }
  #instructor .sec01 .instructorTable table thead tr .introduction,
#instructor .sec01 .instructorTable table tbody tr .introduction {
    width: 350px;
  }
  #instructor .sec01 .instructorTable table thead tr .svProject,
#instructor .sec01 .instructorTable table tbody tr .svProject {
    width: 140px;
  }
  #instructor .sec01 .instructorTable table thead tr th {
    padding: 10px;
    color: #ffffff;
    text-align: center;
    vertical-align: middle;
    background: #7fb841;
  }
  #instructor .sec01 .instructorTable table thead tr th + th {
    border-left: 1px solid #21535c;
  }
  #instructor .sec01 .instructorTable table tbody tr {
    border-top: 1px solid #21535c;
  }
  #instructor .sec01 .instructorTable table tbody tr td {
    padding: 10px;
    text-align: center;
    line-height: 2;
  }
  #instructor .sec01 .instructorTable table tbody tr td + td {
    border-left: 1px solid #21535c;
  }
  #instructor .sec01 .instructorTable table tbody tr td dl dt {
    display: none;
  }
  #instructor .sec01 .instructorTable table tbody tr .introduction {
    text-align: left;
  }
  #instructor .sec01 .instructorTable table tbody tr .url {
    text-align: left;
  }
}

/*////////////////////////////////////////////////////////////
	contact
///////////////////////////////////////////////////////////*/
#contact .sec01 {
  padding: 60px 0;
}
#contact .sec01 .topTxt {
  margin: 0 0 30px;
  text-align: center;
}
#contact .sec02 {
  padding: 60px 0 120px;
}
#contact .sec02 .telPanel {
  padding: 30px 20px;
  text-align: center;
  background: #ffffff;
}
#contact .sec02 .telPanel .tel {
  margin: 0 0 15px;
}
#contact .sec02 .telPanel .tel a {
  display: inline-block;
  font-weight: bold;
}
#contact .sec02 .telPanel .tel a em {
  margin: 0 0 0 10px;
  font-size: 34px;
}

/*////////////////////////////////////////////////////////////
	news
///////////////////////////////////////////////////////////*/
#news .cate.info p {
  background: #f1cf00;
}
#news .cate.event-taaj p {
  background: #00a3bd;
}
#news .cate.staff p {
  background: #88ba60;
}
#news .cate.event-relation p {
  background: #ff6858;
}
#news .newsSection {
  padding: 60px 0 120px;
}
#news .newsSection .newsContainer .catePanel {
  padding: 30px 20px;
  background: #ffffff;
}
#news .newsSection .newsContainer .catePanel .inner {
  max-width: 220px;
  margin: 0 auto;
}
#news .newsSection .newsContainer .catePanel dl + dl {
  margin: 30px 0 0;
}
#news .newsSection .newsContainer .catePanel dl dt {
  margin: 0 0 15px;
  padding: 0 10px 5px;
  font-size: 20px;
  font-weight: bold;
  border-bottom: 1px solid #21535c;
}
#news .newsSection .newsContainer .catePanel dl dd ul {
  padding: 0 10px;
}
#news .newsSection .newsContainer .catePanel dl dd ul li + li {
  margin: 15px 0 0;
}
#news .newsSection .newsContainer .catePanel dl dd ul li a {
  display: inline-block;
  text-decoration: underline;
}
#news .newsSection .newsContainer .catePanel dl dd ul li .year {
  display: inline-block;
  cursor: pointer;
}
#news .newsSection .newsContainer .catePanel dl dd ul li ul {
  display: none;
  padding: 10px 0 0 10px;
}
#news .newsSection .newsContainer .catePanel dl dd ul li ul li {
  font-size: 14px;
}
#news .newsSection .newsContainer .catePanel dl dd ul li ul li + li {
  margin: 10px 0 0;
}
#news .newsSection .newsContainer .newsPanel {
  padding: 30px 40px;
  background: #ffffff;
}
#news .newsSection .newsContainer .newsPanel .newsList ul li + li {
  margin: 25px 0 0;
}
#news .newsSection .newsContainer .newsPanel .newsList ul li .time {
  position: relative;
  top: 2px;
  display: inline-block;
  margin: 0 10px 0 0;
  font-size: 13px;
  color: #a7b5b8;
  vertical-align: middle;
}
#news .newsSection .newsContainer .newsPanel .newsList ul li .cate {
  display: inline-block;
  vertical-align: middle;
}
#news .newsSection .newsContainer .newsPanel .newsList ul li .cate p {
  display: inline-block;
  min-width: 100px;
  padding: 0 10px;
  font-size: 12px;
  color: #ffffff;
  text-align: center;
}
#news .newsSection .newsContainer .newsPanel .newsList ul li .title a {
  display: inline-block;
}
#news .newsSection .newsContainer .newsPanel .newsDetail .title {
  margin: 0 0 15px;
  font-size: 24px;
  font-weight: bold;
}
#news .newsSection .newsContainer .newsPanel .newsDetail .infoBox {
  margin: 0 0 30px;
}
#news .newsSection .newsContainer .newsPanel .newsDetail .infoBox .cate {
  display: inline-block;
  vertical-align: middle;
}
#news .newsSection .newsContainer .newsPanel .newsDetail .infoBox .cate p {
  display: inline-block;
  min-width: 100px;
  padding: 0 10px;
  font-size: 12px;
  color: #ffffff;
  text-align: center;
}
#news .newsSection .newsContainer .newsPanel .newsDetail .infoBox .time {
  position: relative;
  top: 2px;
  display: inline-block;
  margin: 0 0 0 10px;
  font-size: 13px;
  color: #a7b5b8;
  vertical-align: middle;
}
#news .newsSection .newsContainer .newsPanel .newsDetail .postContents {
  line-height: 2.5;
}
#news .newsSection .newsContainer .newsPanel .newsDetail .postContents img {
  max-width: 100%;
  width: auto;
  height: auto;
}
@media (min-width: 1025px) {
  #news .newsSection .newsContainer {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  #news .newsSection .newsContainer .catePanel {
    width: 300px;
  }
  #news .newsSection .newsContainer .newsPanel {
    width: calc(100% - 320px);
  }
  #news .newsSection .newsContainer .newsPanel .newsList ul li {
    display: flex;
    justify-content: space-between;
  }
  #news .newsSection .newsContainer .newsPanel .newsList ul li .infoBox {
    width: 200px;
  }
  #news .newsSection .newsContainer .newsPanel .newsList ul li .title {
    width: calc(100% - 210px);
    padding: 5px 0 0;
    font-size: 14px;
  }
}
#news .newsSection .list__pagination {
  margin: 60px 0 0;
}
#news .newsSection .list__pagination .pagination {
  display: flex;
  justify-content: center;
}
#news .newsSection .list__pagination .pagination li {
  margin: 0 10px;
}
#news .newsSection .list__pagination .pagination li a,
#news .newsSection .list__pagination .pagination li span {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 45px;
  color: #ffffff;
  background: #cdcdcd;
}
#news .newsSection .list__pagination .pagination li.current a,
#news .newsSection .list__pagination .pagination li.current span {
  background: #7fb841;
}
#news .newsSection .list__pagination .pagination li.previous a:before,
#news .newsSection .list__pagination .pagination li.previous span:before {
  content: "<";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 14px;
  height: 22px;
  margin: auto;
}
#news .newsSection .list__pagination .pagination li.next a,
#news .newsSection .list__pagination .pagination li.next span {
  border: none;
  background: none;
}
#news .newsSection .list__pagination .pagination li.next a:before,
#news .newsSection .list__pagination .pagination li.next span:before {
  content: ">";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 14px;
  height: 22px;
  margin: auto;
}
#news .newsSection .prevNextPanel {
  display: flex;
  margin: 60px 0 0;
  padding: 0 0 10px;
  border-bottom: 1px solid #21535c;
}
#news .newsSection .prevNextPanel > div {
  width: 50%;
}
#news .newsSection .prevNextPanel > div + div {
  border-left: 1px solid #21535c;
}
#news .newsSection .prevNextPanel > div a {
  display: block;
  padding: 20px 50px;
  font-weight: bold;
  text-align: center;
}
#news .newsSection .prevNextPanel > div a span {
  display: inline-block;
  text-align: left;
  line-height: 1.7;
}
#news .newsSection .prevNextPanel .prevBox a {
  background: url("../image/news/icon_arrow_prev.png") left 20px center no-repeat;
  background-size: 15px auto;
}
#news .newsSection .prevNextPanel .nextBox a {
  background: url("../image/news/icon_arrow_next.png") right 20px center no-repeat;
  background-size: 15px auto;
}

/*////////////////////////////////////////////////////////////
	faq
///////////////////////////////////////////////////////////*/
#faq .topContainer {
  padding: 60px 0;
}
#faq .topContainer .pageLinkList ul {
  max-width: 880px;
  margin: 0 auto;
}
#faq .topContainer .pageLinkList ul li {
  width: 280px;
  padding: 7px 10px;
  color: #ffffff;
  text-align: center;
  cursor: pointer;
  background: #7fb841;
}
@media (min-width: 1025px) {
  #faq .topContainer .pageLinkList ul {
    display: flex;
    justify-content: space-around;
  }
}
#faq .sectionContainer {
  padding: 0 0 120px;
}
#faq .section + .section {
  margin: 60px 0 0;
}
#faq .section .subSecTtl {
  position: relative;
  margin: 0 0 30px;
}
#faq .section .subSecTtl:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  margin: auto 0;
  background: #21535c;
}
#faq .section .subSecTtl h2 {
  position: relative;
  display: inline-block;
  padding: 0 15px 0 0;
  font-size: 20px;
  font-weight: bold;
  background: #f5f5f5;
}
#faq .section .faqContainer {
  padding: 30px 40px;
  background: #ffffff;
}
#faq .section .faqContainer + .faqContainer {
  margin: 15px 0 0;
}
#faq .section .faqContainer dl dt {
  position: relative;
  padding: 0 30px 0 25px;
  font-size: 20px;
  font-weight: bold;
  cursor: pointer;
  background: url("../image/faq/accord_plus.png") right center no-repeat;
}
#faq .section .faqContainer dl dt.active {
  background: url("../image/faq/accord_minus.png") right center no-repeat;
}
#faq .section .faqContainer dl dt span {
  position: absolute;
  top: 0;
  left: 0;
  color: #7fb841;
}
#faq .section .faqContainer dl dd {
  display: none;
  padding: 20px;
  line-height: 2.5;
}

/*////////////////////////////////////////////////////////////
	legal
///////////////////////////////////////////////////////////*/
#legal .mainContainer {
  padding: 60px 0 120px;
}
#legal .infoPanel {
  margin: 0 0 40px;
  padding: 40px 20px;
  background: #ffffff;
}
#legal .infoPanel .infoBox {
  max-width: 1000px;
  margin: 0 auto;
}
#legal .infoPanel .infoBox dl {
  padding: 15px 40px;
  line-height: 2;
  border-bottom: 1px solid #d5d5d5;
}
#legal .infoPanel .infoBox dl dt {
  font-weight: bold;
}
#legal .infoPanel .infoBox dl dd a {
  display: inline-block;
  color: #001192;
  text-decoration: underline;
}
#legal .infoPanel .infoBox dl dd .tel {
  color: #21535c;
  text-decoration: none;
}
@media (min-width: 1025px) {
  #legal .infoPanel .infoBox dl {
    display: flex;
    justify-content: space-between;
  }
  #legal .infoPanel .infoBox dl dt {
    width: 190px;
  }
  #legal .infoPanel .infoBox dl dd {
    width: calc(100% - 230px);
  }
}
#legal .taxPanel {
  padding: 20px 40px;
  border: 1px solid #414141;
  background: #ffffff;
}
#legal .taxPanel h2 {
  margin: 0 0 10px;
  padding: 0 20px 10px;
  font-size: 20px;
  font-weight: bold;
  color: #414141;
  border-bottom: 1px solid #414141;
}
#legal .taxPanel .txt {
  padding: 0 20px;
}

/*////////////////////////////////////////////////////////////
	document
///////////////////////////////////////////////////////////*/
#document .topContainer {
  padding: 60px 0;
}
#document .topContainer .pageLinkList ul {
  max-width: 800px;
  margin: 0 auto;
}
#document .topContainer .pageLinkList ul li {
  width: 250px;
  padding: 7px 10px;
  color: #ffffff;
  text-align: center;
  cursor: pointer;
  background: #7fb841;
}
@media (min-width: 1025px) {
  #document .topContainer .pageLinkList ul {
    display: flex;
    justify-content: space-around;
  }
}
#document .section + .section {
  margin: 60px 0 0;
}
#document .section .subSecTtl {
  position: relative;
  margin: 0 0 30px;
}
#document .section .subSecTtl:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  margin: auto 0;
  background: #21535c;
}
#document .section .subSecTtl h3 {
  position: relative;
  display: inline-block;
  padding: 0 15px 0 0;
  font-size: 20px;
  font-weight: bold;
  background: #f5f5f5;
}
#document .section .topTxt {
  margin: 0 0 30px;
}
#document .section .bookContainer {
  max-width: 1000px;
  margin: 0 auto;
}
#document .section .bookListPanel01 {
  margin: 0 0 60px;
}
#document .section .bookListPanel01 .listBox ul li .txtBox dl dt {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: bold;
  color: #414141;
}
#document .section .bookListPanel01 .listBox ul li .txtBox dl dd {
  line-height: 2;
}
@media (min-width: 1025px) {
  #document .section .bookListPanel01 .listBox ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 50px 0;
  }
  #document .section .bookListPanel01 .listBox ul li {
    display: flex;
    justify-content: space-between;
    width: calc(50% - 20px);
  }
  #document .section .bookListPanel01 .listBox ul li .photo {
    width: 180px;
  }
  #document .section .bookListPanel01 .listBox ul li .txtBox {
    width: calc(100% - 210px);
  }
}
#document .section .bookListPanel02 dl + dl {
  margin: 20px 0 0;
}
#document .section .bookListPanel02 dl dt {
  font-size: 18px;
  font-weight: bold;
  color: #414141;
}
#document .section .bookListPanel02 dl dd {
  line-height: 2.5;
}
@media (min-width: 1025px) {
  #document .section .bookListPanel02 dl {
    display: flex;
    justify-content: space-between;
  }
  #document .section .bookListPanel02 dl dt {
    width: 290px;
    padding: 0 10px 0 0;
    border-right: 1px solid #414141;
  }
  #document .section .bookListPanel02 dl dd {
    width: calc(100% - 330px);
  }
}
#document .section .description .txt + .txt {
  margin: 40px 0 0;
}
#document .section .captionPanel {
  max-width: 800px;
  margin: 40px 0 0;
  padding: 40px 60px;
  background: #ffffff;
}
#document .section .captionPanel .captionBox .txtBox dl dt {
  margin: 0 0 20px;
  font-size: 18px;
  font-weight: bold;
  color: #414141;
}
#document .section .captionPanel .captionBox .txtBox dl dd p,
#document .section .captionPanel .captionBox .txtBox dl dd a {
  display: flex;
  justify-content: space-between;
}
#document .section .captionPanel .captionBox .txtBox dl dd p em,
#document .section .captionPanel .captionBox .txtBox dl dd a em {
  color: #414141;
}
@media (min-width: 1025px) {
  #document .section .captionPanel .captionBox {
    display: flex;
    justify-content: space-between;
  }
  #document .section .captionPanel .captionBox .photo {
    width: 360px;
  }
  #document .section .captionPanel .captionBox .txtBox {
    width: calc(100% - 400px);
  }
}
#document .sec01 {
  padding: 80px 0;
}
#document .sec01 .topTxt {
  margin: 0 0 30px;
  text-align: center;
}
#document .sec01 .topContainer .secPanel {
  padding: 60px 20px;
  background: #ffffff;
}
#document .sec01 .topContainer .secPanel .secBox {
  max-width: 800px;
  margin: 0 auto;
}
#document .sec01 .topContainer .secPanel .secBox .photo {
  max-width: 280px;
}
#document .sec01 .topContainer .secPanel .secBox .txtBox .ttl {
  margin: 0 0 15px;
  font-size: 24px;
  font-weight: bold;
}
@media (min-width: 1025px) {
  #document .sec01 .topContainer .secPanel .secBox {
    display: flex;
    justify-content: space-between;
  }
  #document .sec01 .topContainer .secPanel .secBox .photo {
    width: 280px;
  }
  #document .sec01 .topContainer .secPanel .secBox .txtBox {
    width: calc(100% - 340px);
  }
}
#document .sec01 .topContainer .btnBox {
  margin: 40px 0 0;
  text-align: center;
}
#document .sec01 .topContainer .btnBox .btnMore {
  max-width: 260px;
  margin: 0 auto 10px;
}
#document .sec01 .topContainer .btnBox aside {
  font-size: 13px;
}
#document .sec02 {
  padding: 80px 0;
}
#document .sec03 {
  padding: 80px 0;
}
#document .sec03 .secContainer {
  padding: 60px 20px;
  background: #ffffff;
}
#document .sec03 .secContainer .secPanel {
  max-width: 1000px;
  margin: 0 auto;
}
#document .sec03 .groupTable {
  border: 1px solid #414141;
}
#document .sec03 .groupTable dl {
  font-size: 14px;
  line-height: 2;
}
#document .sec03 .groupTable dl + dl {
  border-top: 1px solid #414141;
}
#document .sec03 .groupTable dl dt {
  padding: 20px 40px;
  color: #ffffff;
  background: #7fb841;
}
#document .sec03 .groupTable dl dd {
  padding: 20px 40px;
}
#document .sec03 .groupTable dl dd a {
  display: inline-block;
  color: #001192;
  text-decoration: underline;
}
#document .sec03 .groupTable dl dd p {
  margin: 10px 0 0;
}
@media (min-width: 1025px) {
  #document .sec03 .groupTable dl {
    display: table;
    width: 100%;
  }
  #document .sec03 .groupTable dl > * {
    display: table-cell;
  }
  #document .sec03 .groupTable dl dt {
    width: 53%;
    border-right: 1px solid #414141;
  }
}

/*////////////////////////////////////////////////////////////
	form
///////////////////////////////////////////////////////////*/
.contactContainer {
  padding: 40px 20px;
  background: #ffffff;
}
.contactContainer .formBox {
  max-width: 1000px;
  margin: 0 auto;
}
.contactContainer .formBox dl {
  padding: 15px 0;
  border-bottom: 1px solid #d5d5d5;
}
.contactContainer .formBox dl dt {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-weight: bold;
}
.contactContainer .formBox dl dt em span {
  display: inline-block;
  padding: 3px 5px;
  font-size: 13px;
  color: #ffffff;
  line-height: 1;
  background: #ff6858;
}
.contactContainer .formBox dl dt small {
  display: block;
  width: 100%;
  margin: 5px 0 0;
  font-size: 13px;
}
@media (min-width: 1025px) {
  .contactContainer .formBox dl {
    display: flex;
    align-items: center;
  }
  .contactContainer .formBox dl dt {
    width: 240px;
    margin: 0 30px 0 0;
  }
  .contactContainer .formBox dl dd {
    width: calc(100% - 270px);
  }
  .contactContainer .formBox dl.multi {
    align-items: flex-start;
  }
  .contactContainer .formBox dl.multi dt {
    padding: 10px 0 0;
  }
  .contactContainer .formBox dl.long dt {
    width: 480px;
  }
  .contactContainer .formBox dl.long dd {
    width: calc(100% - 480px);
  }
}
.contactContainer .formBox .addressBox .postalBox {
  display: flex;
  align-items: center;
}
.contactContainer .formBox .addressBox .postalBox .inputBox {
  width: 110px;
}
.contactContainer .formBox .addressBox .postalBox > span {
  display: inline-block;
  margin: 0 5px;
}
.contactContainer .formBox .addressBox .innerBox {
  margin: 5px 0 0;
}
.contactContainer .formBox .birthBox {
  display: flex;
  align-items: center;
  gap: 10px;
}
.contactContainer .formBox .birthBox .inputBox,
.contactContainer .formBox .birthBox .selectBox {
  width: 70px;
}
.contactContainer .formBox .iconCalendar {
  width: 22px;
  height: 25px;
  cursor: pointer;
  background: url("../image/common/icon_calendar.png") center center no-repeat;
  background-size: cover;
}

.formBox {
  /*テキストエリア*/
}
.formBox input[type=text],
.formBox input[type=email],
.formBox input[type=tel] {
  width: 100%;
  height: 60px;
  padding-left: 25px;
  font-size: 16px;
  border-radius: 0;
  border: 1px solid #414141;
  background: #f5f5f5;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.formBox textarea {
  width: 100%;
  height: 180px;
  padding: 20px 25px;
  font-size: 16px;
  border-radius: 0;
  border: 1px solid #414141;
  background: #f5f5f5;
  resize: none;
}
.formBox input[type=text]:focus,
.formBox input[type=email]:focus,
.formBox input[type=tel]:focus,
.formBox textarea:focus {
  outline: 0;
}
.formBox ::placeholder {
  color: #000000;
  opacity: 0.3;
}
.formBox .submitBtn {
  position: relative;
  max-width: 280px;
  margin: 60px auto 0;
}
.formBox .submitBtn input[type=submit] {
  display: block;
  width: 100%;
  padding: 15px 0;
  font-size: 16px;
  color: #ffffff;
  text-align: center;
  cursor: pointer;
  border-radius: 0;
  border: none;
  background: #7fb841;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: 0.4s;
}
.formBox .submitBtn input[type=submit][disabled] {
  cursor: default;
  opacity: 0.6;
}
.formBox .radioList {
  display: flex;
  gap: 0 40px;
}
.formBox .radioList .wpcf7-form-control {
  display: flex;
  gap: 0 20px;
}
.formBox .radioList label {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.formBox .radioList label input[type=radio] {
  appearance: none;
  width: 20px;
  height: 20px;
  margin: 0 10px 0 0;
  border: 1px solid #414141;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
}
.formBox .radioList label input[type=radio]:checked {
  border-color: #414141;
}
.formBox .radioList label input[type=radio]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #414141;
}
.formBox .radioList label .wpcf7-list-item-label {
  cursor: pointer;
}
.formBox .checkList label {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.formBox .checkList label input[type=checkbox] {
  appearance: none;
  width: 25px;
  height: 25px;
  margin: 0 10px 0 0;
  border-radius: 0;
  border: 1px solid #aaaaaa;
  position: relative;
  cursor: pointer;
}
.formBox .checkList label input[type=checkbox]:checked {
  border-color: #b5a253;
  background: #b5a253;
}
.formBox .checkList label input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: 0;
  left: 6px;
  width: 7px;
  height: 14px;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
  transform: rotate(45deg);
}
.formBox .checkList label .wpcf7-list-item-label {
  cursor: pointer;
}