@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Roboto:wght@100;300;400;500;700;900&display=swap");
body {
  font-size: 16px;
  line-height: 1;
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-family: 'Noto Sans JP', sans-serif
}

.wrap {
  margin-left: auto;
  margin-right: auto
}

@media screen and (min-width: 980px) {
  .wrap {
    width: 960px
  }
}

@media screen and (max-width: 979px) {
  .wrap {
    padding-left: 10px;
    padding-right: 10px
  }
}

@media screen and (min-width: 980px) {
  .only-sp {
    display: none
  }
}

@media screen and (max-width: 979px) {
  .only-dt {
    display: none
  }
}

sup.req{
  font-size: 1em;
  top: 0em;
  color: #f00;
}


.header {
  background: #fff
}

.header .inner {
  background: #f4f4f4 url(../imgs/main.png) no-repeat 100% 50%
}

.header .logo {
  width: 140px
}

.header .title {
  color: #60a16b;
  font-weight: 500;
  text-align: center
}

.header .title span {
  display: block
}

.header .fee {
  text-align: center
}

.header .fee span {
  display: inline-block;
  color: #fff;
  font-weight: 700;
  background: #203866
}

@media screen and (min-width: 980px) {
  .header {
    border-top: 15px #fff solid
  }
  .header .inner {
    padding: 20px 30px;
    height: 313px;
    border-left: 15px #fff solid;
    border-right: 15px #fff solid;
    background-size: 430px
  }
  .header .logo {
    width: 140px
  }
  .header .title {
    margin-top: 5px;
    width: 450px;
    font-size: 22px;
    line-height: 1.8
  }
  .header .title span {
    font-size: 22px
  }
  .header .fee {
    margin-top: 20px;
    width: 450px
  }
  .header .fee span {
    padding: 15px;
    font-size: 18px
  }
}

@media screen and (max-width: 979px) {
  .header {
    border-top: 10px #fff solid;
    border-bottom: 20px #203866 solid
  }
  .header .inner {
    padding: 20px 10px 240px;
    background-position: 100% 100%;
    background-size: 300px
  }
  .header .logo {
    width: 100px
  }
  .header .title {
    margin-top: 10px;
    line-height: 1.6;
    font-weight: 700
  }
  .header .title span {
    margin-bottom: 5px;
    font-size: 14px
  }
  .header .fee {
    margin-top: 15px
  }
  .header .fee span {
    padding: 10px 15px;
    font-size: 14px
  }
}

.sub-header {
  padding: 10px 0;
  border: none
}

.sub-header .wrap {
  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
}

.sub-header .wrap .logo{
  flex: 1;
}
.sub-header .wrap ul.links{
  display: none;
}

@media screen and (min-width: 980px) {
  .sub-header .wrap .logo img{
    width:  140px;
  }

  .sub-header .wrap ul.links{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
  .sub-header .wrap ul.links li{
    margin-right: 45px;
  }

  .sub-header .wrap ul.links a{
    font-size: 18px;
  }
  .sub-header .wrap ul.links a:hover{
    text-decoration: underline;

  }
}

@media screen and (max-width: 979px) {
  .sub-header .wrap .logo img{
    width:  100px;
  }
}


.sub-header .close::after {
  content: '×'
}

@media screen and (min-width: 980px) {
  .sub-header .close a {
    font-size: 18px
  }
  .sub-header .close a:hover {
    text-decoration: underline
  }
}

@media screen and (max-width: 979px) {
  .sub-header .close a {
    font-size: 14px
  }
}

.global-menu {
  top: 0;
  z-index: 990
}

@media screen and (min-width: 980px) {
  .global-menu {
    position: absolute;
    left: 0;
    width: 100%;
    background: #363e4b
  }
  .global-menu.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%
  }
  .global-menu ul {
    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
  }
  .global-menu li+li {
    margin-left: 20px
  }
  .global-menu a {
    display: block;
    position: relative;
    padding: 15px 5px 15px 34px;
    color: #fff;
    font-weight: 700;
    font-size: 16px
  }
  .global-menu .entry {
    padding: 5px 0
  }
  .global-menu .entry a {
    position: relative;
    padding: 6px 27px 6px 6px;
    background: #97caa3;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px
  }
  .global-menu .entry a::after {
    position: absolute;
    top: 50%;
    right: 6px;
    content: '';
    margin-top: -8px;
    border-top: 8px transparent solid;
    border-bottom: 8px transparent solid;
    border-left: 12px #fff solid
  }
  .global-menu .entry a span {
    display: block;
    padding: 6px 20px;
    color: #396c5d;
    font-size: 18px;
    font-weight: 700;
    background: #fff;
    box-shadow: 0px 0px 5px 0px rgba(4, 0, 0, 0.5);
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px
  }
  .global-menu .hexagon {
    display: block;
    position: absolute;
    top: 50%;
    left: 5px;
    margin-top: -6px;
    width: 21px;
    height: 12px;
    background: #a4e3e8
  }
  .global-menu .hexagon::before, .global-menu .hexagon::after {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    background: #a4e3e8;
    z-index: 0
  }
  .global-menu .hexagon::before {
    transform: rotate(60deg)
  }
  .global-menu .hexagon::after {
    transform: rotate(-60deg)
  }
}

@media screen and (max-width: 979px) {
  .global-menu ul {
    display: none;
    position: absolute;
    z-index: 999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
  }
  .global-menu.active ul {
    display: block;
    width: 100%
  }
  .global-menu.active li {
    padding: 5px 0;
    text-align: center;
    animation-name: gnaviAnime;
    animation-duration: 1s;
    animation-delay: .2s;
    animation-fill-mode: forwards;
    opacity: 0
  }
  .global-menu.active li a {
    display: block;
    padding: 15px;
    color: #fff
  }
}

.global-menu.active {
  position: fixed;
  right: inherit;
  width: 100%;
  height: 100vh
}

@keyframes gnaviAnime {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

.hamburger-menu {
  display: block;
  position: fixed;
  z-index: 999;
  top: 10px;
  right: 10px;
  background: #363e4b;
  cursor: pointer;
  width: 50px;
  height: 50px;
  border-radius: 5px;
  overflow: hidden
}

.hamburger-menu span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 14px;
  height: 3px;
  border-radius: 2px;
  background: #fff;
  width: 45%
}

.hamburger-menu span:nth-of-type(1) {
  top: 15px
}

.hamburger-menu span:nth-of-type(2) {
  top: 23px
}

.hamburger-menu span:nth-of-type(3) {
  top: 31px
}

.hamburger-menu .openbtn-area {
  transition: all 0.4s
}

.hamburger-menu.active .openbtn-area {
  transform: rotateX(360deg)
}

.hamburger-menu.active span:nth-of-type(1) {
  top: 18px;
  left: 18px;
  transform: translateY(6px) rotate(-135deg);
  width: 30%
}

.hamburger-menu.active span:nth-of-type(2) {
  opacity: 0
}

.hamburger-menu.active span:nth-of-type(3) {
  top: 30px;
  left: 18px;
  transform: translateY(-6px) rotate(135deg);
  width: 30%
}

@media screen and (min-width: 980px) {
  .hamburger-menu {
    display: none
  }
}

.hamburger-menu-bg {
  position: fixed;
  z-index: 3;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #363e4b;
  transform: scale(0);
  right: -15px;
  top: -15px;
  transition: all 0.6s
}

.hamburger-menu-bg.active {
  transform: scale(50)
}

.container {
  position: relative
}

.container section {
  position: relative;
  line-height: 1.6
}

.container footer {
  padding: 50px 0
}

@media screen and (min-width: 980px) {
  .container section {
    padding: 80px 0 60px
  }
}

@media screen and (max-width: 979px) {
  .container section {
    padding: 50px 0 30px
  }
}

@media screen and (min-width: 980px) {
  .p-sub section {
    padding-top: 40px;
    padding-bottom: 100px
  }
}

@media screen and (max-width: 979px) {
  .p-sub section {
    padding-top: 30px;
    padding-bottom: 50px
  }
}

.box {
  background: #fff;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  overflow: hidden
}

.box .name {
  position: relative;
  color: #fff;
  font-weight: 700;
  text-align: left;
  letter-spacing: 1px;
  background: #1e3966
}

.box .name .sub {
  font-weight: 500;
  letter-spacing: 0
}

.box .date {
  color: #1e3966;
  font-weight: 700
}

.box .info-list dt span {
  display: block;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  background: #203866;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px
}

.box .instructor {
  color: #203866;
  font-weight: 500
}

.box .instructor span {
  font-weight: 700;
  line-height: 1
}

.box .after {
  background: #eef8fd
}

.box .after .text {
  color: #203866;
  font-weight: 700;
  text-align: center
}

.box .after .btn a {
  display: block;
  color: #fff;
  font-weight: 700;
  background: #60a16b;
  box-shadow: 0px 0px 5px 0px rgba(4, 0, 0, 0.5);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px
}

.box .after .btn a::after {
  padding-left: 6px;
  content: '▼'
}

.box+.box {
  margin-top: 15px
}

@media screen and (min-width: 980px) {
  .box {
    border: 4px #1e3966 solid
  }
  .box .name {
    padding: 10px 15px 10px 35px;
    font-size: 20px
  }
  .box .name .sub {
    padding-left: 15px;
    font-size: 16px
  }
  .box .name::before {
    position: absolute;
    top: 50%;
    left: 10px;
    margin-top: -8px;
    content: '';
    width: 0;
    height: 0;
    border-left: 14px #fff solid;
    border-top: 8px transparent solid;
    border-bottom: 8px transparent solid
  }
  .box .inner {
    padding: 25px 20px
  }
  .box .date {
    margin-bottom: 20px;
    font-size: 22px
  }
  .box .info-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
  .box .info-list dt {
    margin-top: 10px
  }
  .box .info-list dt span {
    padding: 4px 5px 4px 8px;
    width: 126px;
    border: 2px #203866 solid
  }
  .box .info-list dd {
    margin-top: 10px;
    padding-left: 12px;
    width: calc(100% - 130px)
  }
  .box .instructor span {
    font-size: 22px
  }
  .box .after {
    padding: 15px 20px;
    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
  }
  .box .after .text {
    width: 58%;
    font-size: 18px
  }
  .box .after .btn a {
    padding: 10px 20px;
    font-size: 14px;
    letter-spacing: 1px
  }
  .box .after .btn a:hover {
    background: #71af7b
  }
}

@media screen and (max-width: 979px) {
  .box {
    border: 2px #1e3966 solid
  }
  .box .name {
    padding: 10px;
    font-size: 16px
  }
  .box .name .sub {
    display: block;
    font-size: 12px
  }
  .box .inner {
    padding: 15px 10px
  }
  .box .date {
    margin-bottom: 20px;
    font-size: 18px
  }
  .box .info-list dt {
    margin-top: 15px
  }
  .box .info-list dt span {
    padding: 4px 7px 4px 10px;
    width: 100%;
    font-size: 12px;
    border: 1px #203866 solid;
    letter-spacing: 1px
  }
  .box .info-list dd {
    padding: 5px 10px 0
  }
  .box .info-list dd+dt {
    margin-top: 10px
  }
  .box .instructor {
    font-size: 14px
  }
  .box .instructor span {
    font-size: 20px
  }
  .box .after {
    padding: 15px
  }
  .box .after .text {
    margin-bottom: 10px
  }
  .box .after .btn a {
    padding: 10px 15px;
    font-size: 12px;
    text-align: center
  }
}

@media screen and (min-width: 980px) {
  .flex-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}

.content-header {
  background-color: #fafafa;
  background-image: url(../imgs/bg-02.png), url(../imgs/bg-01.png);
  background-position: 50% 100%, 50% 100%;
  background-repeat: repeat-x, no-repeat
}

@media screen and (min-width: 980px) {
  .content-header {
    padding: 100px 0 50px
  }
}

@media screen and (max-width: 979px) {
  .content-header {
    padding: 30px 0;
    background-size: 200px, 600px;
    background-position: 50% 100%, 50% 50%
  }
}

.content-header .title {
  color: #60a16b;
  line-height: 1.4;
  font-weight: 700;
  text-align: center
}

@media screen and (min-width: 980px) {
  .content-header .title {
    margin-bottom: 40px;
    font-size: 22px
  }
}

@media screen and (max-width: 979px) {
  .content-header .title {
    margin-bottom: 20px;
    font-size: 18px
  }
}

.content-header .title span {
  display: inline-block;
  position: relative
}

.content-header .title span::before, .content-header .title span::after {
  position: absolute;
  top: 50%;
  content: '';
  width: 0;
  height: 0
}

.content-header .title span::before {
  left: 0
}

.content-header .title span::after {
  right: 0
}

@media screen and (min-width: 980px) {
  .content-header .title span {
    padding: 0 45px
  }
  .content-header .title span::before, .content-header .title span::after {
    margin-top: -14px;
    border-top: 14px transparent solid;
    border-bottom: 14px transparent solid
  }
  .content-header .title span::before {
    border-left: 20px #60a16b solid
  }
  .content-header .title span::after {
    border-right: 20px #60a16b solid
  }
}

@media screen and (max-width: 979px) {
  .content-header .title span {
    padding: 0 20px
  }
  .content-header .title span::before, .content-header .title span::after {
    margin-top: -10px;
    border-top: 10px transparent solid;
    border-bottom: 10px transparent solid
  }
  .content-header .title span::before {
    border-left: 14px #60a16b solid
  }
  .content-header .title span::after {
    border-right: 14px #60a16b solid
  }
}

.content-header .text {
  color: #363e4b
}

@media screen and (min-width: 980px) {
  .content-header .text {
    font-size: 18px;
    line-height: 2;
    text-align: center
  }
}

@media screen and (max-width: 979px) {
  .content-header .text {
    padding: 0 10px;
    font-size: 14px;
    line-height: 1.8
  }
}

.area-seminar {
  overflow: hidden
}

.area-seminar::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  margin-top: -50px;
  width: 100%;
  height: 340px;
  background: #60a16b;
  transform: skew(0deg, -4deg);
  z-index: -1
}

.area-seminar .title {
  color: #203866;
  font-weight: 700;
  line-height: 1.4;
  text-align: center
}

.area-seminar .title .arrow {
  position: relative
}

.area-seminar .title .arrow::before, .area-seminar .title .arrow::after {
  position: absolute;
  top: 50%;
  content: '';
  width: 0;
  height: 0
}

.area-seminar .title .arrow::before {
  left: 0
}

.area-seminar .title .arrow::after {
  right: 0
}

.area-seminar .title .bg {
  display: inline-block;
  background: #fff
}

@media screen and (min-width: 980px) {
  .area-seminar .title {
    margin-bottom: 50px;
    font-size: 26px
  }
  .area-seminar .title .arrow {
    padding: 0 45px
  }
  .area-seminar .title .arrow::before, .area-seminar .title .arrow::after {
    margin-top: -14px;
    border-top: 14px transparent solid;
    border-bottom: 14px transparent solid
  }
  .area-seminar .title .arrow::before {
    border-left: 20px #203866 solid
  }
  .area-seminar .title .arrow::after {
    border-right: 20px #203866 solid
  }
  .area-seminar .title .bg {
    padding: 10px 40px
  }
}

@media screen and (max-width: 979px) {
  .area-seminar .title {
    margin-bottom: 30px;
    font-size: 22px
  }
  .area-seminar .title .arrow {
    padding: 0 40px
  }
  .area-seminar .title .arrow::before, .area-seminar .title .arrow::after {
    margin-top: -20px;
    border-top: 10px transparent solid;
    border-bottom: 10px transparent solid
  }
  .area-seminar .title .arrow::before {
    border-left: 14px #203866 solid
  }
  .area-seminar .title .arrow::after {
    border-right: 14px #203866 solid
  }
  .area-seminar .title .bg {
    padding: 10px 20px
  }
}

.photo {
  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
}

@media screen and (min-width: 980px) {
  .photo {
    margin-bottom: 40px
  }
  .photo .left, .photo .right {
    width: 460px
  }
  .photo img {
    border: 4px #203866 solid
  }
}

@media screen and (max-width: 979px) {
  .photo {
    margin-bottom: 20px
  }
  .photo .left, .photo .right {
    width: 48%
  }
  .photo img {
    border: 2px #203866 solid
  }
}

.outline {
  margin: 0 auto
}

.outline .name {
  margin: 0 auto;
  color: #203866;
  font-weight: 700;
  text-align: center;
  border-bottom: 2px #203866 solid
}

.outline .inner {
  margin: 0 auto
}

.outline .outline-list dt {
  position: relative;
  font-weight: 500
}

.outline .caption {
  text-align: right
}

@media screen and (min-width: 980px) {
  .outline {
    margin-bottom: 40px;
    width: 86%
  }
  .outline .text {
    margin-bottom: 30px;
    font-size: 18px;
    line-height: 1.8
  }
  .outline .name {
    margin-bottom: 20px;
    width: 80%;
    padding-bottom: 10px;
    font-size: 24px
  }
  .outline .inner {
    width: 780px
  }
  .outline .outline-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 15px;
    font-size: 18px
  }
  .outline .outline-list dt {
    padding: 5px 0;
    width: 140px
  }
  .outline .outline-list dt::before {
    position: absolute;
    top: 50%;
    right: 10px;
    content: '・・・・・・・・・';
    margin-top: -11px;
    letter-spacing: -8px;
    z-index: -1
  }
  .outline .outline-list dt span {
    display: inline-block;
    padding-right: 5px;
    background: #fff
  }
  .outline .outline-list dd {
    padding: 5px 0;
    width: calc(100% - 140px)
  }
}

@media screen and (max-width: 979px) {
  .outline {
    margin: 0 5px 20px
  }
  .outline .text {
    margin-bottom: 15px;
    font-size: 14px
  }
  .outline .name {
    margin-bottom: 15px;
    padding-bottom: 3px;
    font-size: 20px
  }
  .outline .outline-list {
    margin-bottom: 10px
  }
  .outline .outline-list dt {
    margin-bottom: 0
  }
  .outline .outline-list dd {
    padding-left: 1em;
    font-size: 14px
  }
  .outline .outline-list dd+dt {
    margin-top: 10px
  }
  .outline .caption {
    font-size: 14px
  }
}

.seminar-list {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px
}

.seminar-list h4 {
  position: relative;
  color: #1e3966;
  font-weight: 500;
  line-height: 1.4;
  text-align: center
}

.seminar-list h4::before {
  position: absolute;
  top: 50%;
  left: 5%;
  content: '';
  margin-top: -1px;
  width: 90%;
  height: 2px;
  background: #1e3966
}

.seminar-list h4 span {
  display: inline-block;
  position: relative
}

.seminar-list h4 span::before, .seminar-list h4 span::after {
  display: block;
  position: absolute;
  top: 50%;
  content: '';
  margin-top: -4px;
  width: 8px;
  height: 8px;
  background: #1e3966;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%
}

.seminar-list h4 span::before {
  left: 0
}

.seminar-list h4 span::after {
  right: 0
}

.seminar-list .box .flex-box {
  border-bottom: 1px #203866 solid
}

.seminar-list .box .date {
  margin-bottom: 0;
  letter-spacing: 1px
}

.seminar-list .box .info-list dt span {
  color: #203866;
  background: #fff
}

.seminar-list .box .facilitator {
  margin-bottom: 5px;
  color: #203866;
  font-weight: 500
}

.seminar-list+.seminar-list {
  margin-top: 20px
}

@media screen and (min-width: 980px) {
  .seminar-list {
    border: 4px solid
  }
  .seminar-list h4 {
    padding: 20px 15px;
    font-size: 24px;
    letter-spacing: 1px
  }
  .seminar-list h4 span {
    padding: 0 30px
  }
  .seminar-list li:not(:first-child) {
    padding: 5px 15px
  }
  .seminar-list li:nth-child(2) {
    padding-top: 15px
  }
  .seminar-list li:last-child {
    padding-bottom: 15px
  }
  .seminar-list .inner {
    padding-top: 15px
  }
  .seminar-list .box .flex-box {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 15px;
    padding-bottom: 15px
  }
  .seminar-list .box .date {
    width: 52%
  }
  .seminar-list .box .info-list {
    width: 46%
  }
  .seminar-list .box .info-list dt span {
    width: 80px
  }
  .seminar-list .box .info-list dd {
    padding-left: 15px;
    width: calc(100% - 80px)
  }
  .seminar-list .facilitator {
    font-size: 18px
  }
}

@media screen and (max-width: 979px) {
  .seminar-list {
    border: 2px solid
  }
  .seminar-list h4 {
    padding: 10px 0;
    font-size: 18px
  }
  .seminar-list h4 span {
    padding: 0 20px
  }
  .seminar-list li:not(:first-child) {
    padding: 3px 5px
  }
  .seminar-list li:nth-child(2) {
    padding-top: 5px
  }
  .seminar-list li:last-child {
    padding-bottom: 5px
  }
  .seminar-list .inner {
    padding-top: 10px
  }
  .seminar-list .box .flex-box {
    margin-bottom: 10px;
    padding-bottom: 15px
  }
  .seminar-list .box .info-list {
    text-align: center
  }
  .seminar-list .text {
    font-size: 14px
  }
}

.seminar-list.s01 {
  border-color: #b5e6e2
}

.seminar-list.s01 ul {
  background: linear-gradient(-45deg, #fff 25%, #b5e6e2 25%, #b5e6e2 50%, #fff 50%, #fff 75%, #b5e6e2 75%, #b5e6e2);
  background-size: 6px 6px
}

.seminar-list.s01 h4 {
  background: #b5e6e2
}

.seminar-list.s01 h4 span {
  background: #b5e6e2
}

.seminar-list.s02 {
  border-color: #c8e9f8
}

.seminar-list.s02 ul {
  background: linear-gradient(-45deg, #fff 25%, #c8e9f8 25%, #c8e9f8 50%, #fff 50%, #fff 75%, #c8e9f8 75%, #c8e9f8);
  background-size: 6px 6px
}

.seminar-list.s02 h4 {
  background: #c8e9f8
}

.seminar-list.s02 h4 span {
  background: #c8e9f8
}

.seminar-list.s03 {
  border-color: #bce8c7
}

.seminar-list.s03 ul {
  background: linear-gradient(-45deg, #fff 25%, #bce8c7 25%, #bce8c7 50%, #fff 50%, #fff 75%, #bce8c7 75%, #bce8c7);
  background-size: 6px 6px
}

.seminar-list.s03 h4 {
  background: #bce8c7
}

.seminar-list.s03 h4 span {
  background: #bce8c7
}

.area-matching {
  border-top: 40px #a4e3e8 solid;
  overflow: hidden
}

.area-matching::before, .area-matching::after {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  margin-top: -50px;
  width: 100%;
  z-index: -1
}

.area-matching::before {
  height: 700px;
  background: #3f505a;
  transform: skew(0deg, 3deg)
}

.area-matching::after {
  height: 100px;
  background: #448d96;
  transform: skew(0deg, 2deg)
}

.area-matching .title {
  position: relative;
  color: #fff;
  font-weight: 700;
  text-align: center
}

.area-matching .title::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  content: '';
  background: #46c8d6
}

.area-matching .text {
  color: #fff
}

.area-matching .box {
  border-color: #48bab0
}

.area-matching .box .name {
  background: #48bab0
}

.area-matching .company-list .company {
  position: relative;
  color: #48bab0;
  font-weight: 700
}

.area-matching .company-list .company .hexagon {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  background: #48bab0
}

.area-matching .company-list .company .hexagon::before, .area-matching .company-list .company .hexagon::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: #48bab0;
  z-index: 0
}

.area-matching .company-list .company .hexagon::before {
  transform: rotate(60deg)
}

.area-matching .company-list .company .hexagon::after {
  transform: rotate(-60deg)
}

.area-matching .company-list .list {
  border: 2px #48bab0 dotted
}

@media screen and (min-width: 980px) {
  .area-matching .title {
    margin-bottom: 50px;
    padding-bottom: 20px;
    font-size: 26px
  }
  .area-matching .title::before {
    margin-left: -150px;
    width: 300px;
    height: 3px
  }
  .area-matching .text {
    margin-bottom: 60px;
    font-size: 18px;
    line-height: 1.8;
    text-align: center
  }
  .area-matching .box .flex-box {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  .area-matching .box .flex-box .left {
    width: calc(100% - 400px)
  }
  .area-matching .box .flex-box .left p {
    margin-bottom: 10px;
    line-height: 1.8
  }
  .area-matching .box .flex-box .right {
    width: 380px
  }
  .area-matching .box dt span {
    width: 100px
  }
  .area-matching .company-list {
    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;
    margin-top: 20px
  }
  .area-matching .company-list .company {
    padding: 15px 0 15px 50px;
    width: 540px;
    font-size: 22px
  }
  .area-matching .company-list .company .hexagon {
    margin-top: -10px;
    width: 40px;
    height: 23px
  }
  .area-matching .company-list .list {
    padding: 18px 23px
  }
  .area-matching .company-list .list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
  .area-matching .company-list .list ul li {
    margin-right: 20px
  }
}

@media screen and (max-width: 979px) {
  .area-matching .title {
    margin-bottom: 20px;
    padding-bottom: 13px;
    font-size: 22px
  }
  .area-matching .title::before {
    margin-left: -130px;
    width: 260px;
    height: 2px
  }
  .area-matching .text {
    margin: 0 10px 30px;
    font-size: 14px;
    line-height: 1.6
  }
  .area-matching .box .date {
    margin-bottom: 10px
  }
  .area-matching .box .flex-box .left p {
    font-size: 14px;
    line-height: 1.8
  }
  .area-matching .box .flex-box .right {
    margin-top: 10px;
    text-align: center
  }
  .area-matching .company-list {
    margin-top: 10px
  }
  .area-matching .company-list .company {
    padding: 10px 0 10px 35px;
    font-size: 18px
  }
  .area-matching .company-list .company .hexagon {
    margin-top: -6px;
    width: 24px;
    height: 14px
  }
  .area-matching .company-list .list {
    padding: 18px;
    text-align: center
  }
}

.area-advisor {
  overflow: hidden
}

.area-advisor::before, .area-advisor::after {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  margin-top: -100px;
  width: 100%;
  height: 350px;
  z-index: -1
}

.area-advisor::before {
  background: #48bab0;
  transform: skew(0deg, 7deg)
}

.area-advisor::after {
  background: #a4e3e8;
  transform: skew(0deg, -7deg)
}

.area-advisor .title {
  color: #203866;
  font-weight: 700;
  line-height: 1.4;
  text-align: center
}

.area-advisor .title .arrow {
  position: relative
}

.area-advisor .title .arrow::before, .area-advisor .title .arrow::after {
  position: absolute;
  top: 50%;
  content: '';
  width: 0;
  height: 0
}

.area-advisor .title .arrow::before {
  left: 0
}

.area-advisor .title .arrow::after {
  right: 0
}

.area-advisor .title .bg {
  display: inline-block;
  background: #fff
}

.area-advisor .program .name {
  color: #203866;
  font-weight: 700
}

.area-advisor .program table th {
  font-weight: 400
}

.area-advisor .program .caption {
  display: block;
  text-indent: -1em;
  padding-left: 1em
}

.area-advisor .box .date {
  margin-bottom: 0
}

.area-advisor .box .company {
  position: relative;
  color: #203866;
  font-weight: 700
}

.area-advisor .box .company .hexagon {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  background: #60a16b
}

.area-advisor .box .company .hexagon::before, .area-advisor .box .company .hexagon::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: #60a16b;
  z-index: 0
}

.area-advisor .box .company .hexagon::before {
  transform: rotate(60deg)
}

.area-advisor .box .company .hexagon::after {
  transform: rotate(-60deg)
}

@media screen and (min-width: 980px) {
  .area-advisor .title {
    margin-bottom: 60px;
    font-size: 26px
  }
  .area-advisor .title .arrow {
    padding: 0 45px
  }
  .area-advisor .title .arrow::before, .area-advisor .title .arrow::after {
    margin-top: -14px;
    border-top: 14px transparent solid;
    border-bottom: 14px transparent solid
  }
  .area-advisor .title .arrow::before {
    border-left: 20px #203866 solid
  }
  .area-advisor .title .arrow::after {
    border-right: 20px #203866 solid
  }
  .area-advisor .title .bg {
    padding: 10px 40px
  }
  .area-advisor .program {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    padding: 0 30px
  }
  .area-advisor .program .name {
    margin-bottom: 15px;
    font-size: 22px
  }
  .area-advisor .program .left {
    padding-left: 30px
  }
  .area-advisor .program .left p+p {
    margin-top: 10px
  }
  .area-advisor .program .right {
    flex-shrink: 0;
    width: 360px
  }
  .area-advisor .program .right img {
    border: 6px #a4e3e8 solid
  }
  .area-advisor .program+.box {
    margin-top: 40px
  }
  .area-advisor .program table {
    margin-top: 15px
  }
  .area-advisor .program table th {
    text-align: right;
    padding-top: 5px;
    white-space: nowrap
  }
  .area-advisor .program table td {
    padding-top: 5px
  }
  .area-advisor .program .caption {
    font-size: 14px
  }
  .area-advisor .program p.caption {
    margin-top: 15px
  }
  .area-advisor .box .flex-box {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
  .area-advisor .box .left {
    padding-right: 20px
  }
  .area-advisor .box .left .info-list dt, .area-advisor .box .left .info-list dd {
    margin-top: 25px
  }
  .area-advisor .box .left .info-list dt:first-child, .area-advisor .box .left .info-list dt:first-child+dd {
    margin-top: 15px
  }
  .area-advisor .box .company {
    margin-bottom: 5px;
    padding: 15px 0 15px 50px;
    font-size: 28px
  }
  .area-advisor .box .company .hexagon {
    margin-top: -10px;
    width: 40px;
    height: 23px
  }
  .area-advisor .box .right {
    flex-shrink: 0;
    width: 240px
  }
}

@media screen and (max-width: 979px) {
  .area-advisor {
    margin-bottom: 80px;
    padding-bottom: 0 !important
  }
  .area-advisor .title {
    margin-bottom: 30px;
    font-size: 22px
  }
  .area-advisor .title .arrow {
    padding: 0 40px
  }
  .area-advisor .title .arrow::before, .area-advisor .title .arrow::after {
    margin-top: -10px;
    border-top: 10px transparent solid;
    border-bottom: 10px transparent solid
  }
  .area-advisor .title .arrow::before {
    border-left: 14px #203866 solid
  }
  .area-advisor .title .arrow::after {
    border-right: 14px #203866 solid
  }
  .area-advisor .title .bg {
    padding: 10px 20px
  }
  .area-advisor .program {
    padding: 0 10px
  }
  .area-advisor .program .name {
    margin-bottom: 10px;
    font-size: 18px
  }
  .area-advisor .program .left p {
    font-size: 14px
  }
  .area-advisor .program .left p+p {
    margin-top: 10px
  }
  .area-advisor .program .right {
    margin-top: 15px
  }
  .area-advisor .program .right img {
    border: 4px #a4e3e8 solid
  }
  .area-advisor .program+.box {
    margin-top: 40px
  }
  .area-advisor .program table th {
    display: block;
    padding-top: 10px;
    font-weight: 700
  }
  .area-advisor .program table td {
    display: block;
    font-size: 14px
  }
  .area-advisor .program .caption {
    font-size: 12px
  }
  .area-advisor .program p.caption {
    margin-top: 10px;
    line-height: 1.6
  }
  .area-advisor .box .company {
    padding: 10px 0 10px 35px;
    font-size: 24px
  }
  .area-advisor .box .company .hexagon {
    margin-top: -6px;
    width: 24px;
    height: 14px
  }
  .area-advisor .box .right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 10px
  }
}

.advisor-category {
  position: relative
}

.advisor-category::before {
  position: absolute;
  bottom: 0;
  left: 10%;
  content: '';
  width: 80%;
  height: 2px;
  background: #203866
}

.advisor-category .name {
  color: #61a56e;
  font-weight: 700;
  text-align: center
}

@media screen and (min-width: 980px) {
  .advisor-category {
    margin-bottom: 50px;
    padding: 50px 0
  }
  .advisor-category .name {
    margin-bottom: 15px;
    font-size: 22px
  }
  .advisor-category .text {
    margin-bottom: 20px;
    text-align: center
  }
}

@media screen and (max-width: 979px) {
  .advisor-category {
    margin-bottom: 30px;
    padding: 30px 0
  }
  .advisor-category .name {
    margin-bottom: 10px;
    font-size: 18px
  }
  .advisor-category .text {
    margin-bottom: 15px;
    font-size: 14px
  }
}

.advisor-list {
  border: 1px #e0e0e0 solid;
  box-shadow: 0px 0px 5px 0px rgba(4, 0, 0, 0.3)
}

.advisor-list h5 {
  color: #fff;
  font-weight: 700;
  text-align: center;
  background: #62a76e
}

.advisor-list dl dt {
  color: #61a56e;
  text-align: center
}

.advisor-list dl:nth-child(odd) {
  background: #eff6f0
}

.advisor-list+.advisor-list h5 {
  background: #6db1c0
}

.advisor-list+.advisor-list dl dt {
  color: #6db1c0
}

.advisor-list+.advisor-list dl:nth-child(odd) {
  background: #f0f7f9
}

@media screen and (min-width: 980px) {
  .advisor-list {
    margin-left: 30px;
    margin-right: 30px
  }
  .advisor-list h5 {
    padding: 10px;
    font-size: 22px
  }
  .advisor-list .inner {
    padding: 20px
  }
  .advisor-list dl {
    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;
    padding: 10px 0
  }
  .advisor-list dl dt {
    width: 300px;
    font-size: 20px
  }
  .advisor-list dl dd {
    width: calc(100% - 300px)
  }
  .advisor-list+.advisor-list {
    margin-top: 25px
  }
}

@media screen and (max-width: 979px) {
  .advisor-list h5 {
    padding: 10px;
    font-size: 18px
  }
  .advisor-list .inner {
    padding: 10px
  }
  .advisor-list dl {
    padding: 15px 10px
  }
  .advisor-list dl dt {
    font-size: 18px
  }
  .advisor-list dl dd {
    padding-top: 10px;
    font-size: 14px
  }
  .advisor-list+.advisor-list {
    margin-top: 15px
  }
}

.footer {
  position: relative;
  color: #fff;
  background: #60a16b
}

.footer::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  margin-top: -130px;
  width: 100%;
  height: 200px;
  background: #60a16b;
  transform: skew(0deg, -5deg);
  z-index: -1
}

.footer .contact-list dt {
  font-weight: 700;
  letter-spacing: 1px
}

.footer .contact-list dd p {
  font-weight: 500
}



.footer .flex-box .copyright {
  font-family: 'Roboto', sans-serif
}

@media screen and (min-width: 980px) {
  .footer {
    padding: 60px 0 40px
  }
  .footer a:hover {
    text-decoration: underline
  }
  .footer .contact-list {
    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
  }
  .footer .contact-list dt {
    padding-right: 30px;
    font-size: 26px
  }
  .footer .contact-list dd p {
    font-size: 20px
  }
  .footer .contact-list dd p+p {
    margin-top: 15px
  }
  .footer .flex-box {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 60px
  }
  .footer .flex-box .copyright {
    padding-top: 5px;
    font-size: 14px
  }
  .footer ul.copy-links {
    padding: 30px 0;
    font-size: 14px;
    display: flex;
    justify-content: space-between;
    width:  720px;
    margin: 0 auto;
  }
  .footer ul.copy-links >li ul.links{
    display: flex;
    justify-content: space-between;
    width:  250px;
  }
}

@media screen and (max-width: 979px) {
  .footer {
    padding: 40px 0 30px
  }
  .footer a {
    text-decoration: underline
  }
  .footer .contact-list dt {
    margin-bottom: 15px;
    font-size: 24px
  }
  .footer .contact-list dd p {
    font-size: 18px;
    line-height: 1.4
  }
  .footer .contact-list dd p+p {
    margin-top: 10px
  }
  .footer .flex-box {
    margin-top: 40px;
    text-align: center
  }
  .footer .flex-box .copyright {
    padding-top: 25px;
    font-size: 12px
  }
  .footer ul.copy-links {
    padding: 25px 0;
    font-size: 10px;
    display: block;
    text-align: center;
  }
  .footer ul.copy-links >li ul.links{
    margin: 20px auto;
    display: flex;
    justify-content: space-between;
    width: 180px;
  }
}

.sub-footer {
  background: #396c5d
}

.sub-footer::before, .sub-footer::after {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  z-index: -1
}

.sub-footer::before {
  background: #9cb5ae;
  transform: skew(0deg, -5deg)
}

.sub-footer::after {
  background: #396c5d;
  transform: skew(0deg, -4deg)
}

@media screen and (min-width: 980px) {
  .sub-footer::before {
    margin-top: -100px;
    height: 200px
  }
  .sub-footer::after {
    margin-top: -60px;
    height: 160px
  }
}

@media screen and (max-width: 979px) {
  .sub-footer::before {
    margin-top: -60px;
    height: 100px
  }
  .sub-footer::after {
    margin-top: -30px;
    height: 80px
  }
}

@media screen and (min-width: 980px) {
  .entry-btn {
    display: none
  }
}

@media screen and (max-width: 979px) {
  .entry-btn {
    position: fixed;
    opacity: 0;
    right: 15px;
    transform: translateY(100px);
    z-index: 2
  }
  .entry-btn a {
    display: block;
    position: relative;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    padding: 10px 15px;
    text-decoration: none;
    background: #e99a57;
    -webkit-border-radius: 99px;
    -moz-border-radius: 99px;
    border-radius: 99px;
    transition: 1s;
    letter-spacing: 1px;
    box-shadow: 1px 1px 2px dimgray
  }
  .entry-btn.UpMove {
    animation: UpAnime 0.5s forwards
  }
  .entry-btn.DownMove {
    animation: DownAnime 0.5s forwards
  }
}

.pagetop {
  position: fixed;
  opacity: 0;
  transform: translateY(100px);
  z-index: 99
}

.pagetop a {
  display: block;
  position: relative;
  color: #fff;
  text-decoration: none;
  background: #363e4b;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px
}

.pagetop .text {
  display: block;
  width: 100%;
  text-align: center;
  line-height: 1.3;
  letter-spacing: 1px
}

.pagetop .arrow::before, .pagetop .arrow::after {
  position: absolute;
  content: '';
  width: 14px;
  height: 2px;
  display: inline-block;
  background: #fff;
  border-radius: 2px;
  transition: 1.6s
}

.pagetop .arrow::before {
  left: calc(50% - 2px);
  transform: rotate(40deg)
}

.pagetop .arrow::after {
  right: calc(50% - 2px);
  transform: rotate(-40deg)
}

.pagetop.UpMove {
  animation: UpAnime 0.5s forwards
}

.pagetop.DownMove {
  animation: DownAnime 0.5s forwards
}

@media screen and (min-width: 980px) {
  .pagetop {
    right: 40px
  }
  .pagetop a {
    width: 70px;
    height: 70px;
    transition: 1s
  }
  .pagetop .text {
    position: absolute;
    top: 30px;
    left: 0;
    font-size: 12px
  }
  .pagetop .arrow::before, .pagetop .arrow::after {
    top: 20px;
    background: #fff
  }
  .pagetop a:hover {
    background: #363e4b
  }
  .pagetop a:hover .arrow::before, .pagetop a:hover .arrow::after {
    top: 12px
  }
}

@media screen and (max-width: 979px) {
  .pagetop {
    display: none
  }
}

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px)
  }
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0)
  }
  to {
    opacity: 1;
    transform: translateY(200px)
  }
}

.cookie-area {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  color: #fff;
  background-color: #333;
  z-index: 999
}

.cookie-area a {
  text-decoration: underline
}

.cookie-area button {
  color: #fff;
  font-weight: 700;
  background: #3067cb;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px
}

@media screen and (min-width: 980px) {
  .cookie-area {
    padding: 30px 20px
  }
  .cookie-area .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
  .cookie-area a:hover {
    text-decoration: none
  }
  .cookie-area button {
    margin-left: auto;
    padding: 12px 25px;
    font-size: 18px
  }
}

@media screen and (max-width: 979px) {
  .cookie-area {
    padding: 15px 10px
  }
  .cookie-area .text {
    font-size: 14px;
    line-height: 1.4
  }
  .cookie-area .link {
    margin-top: 10px;
    font-size: 14px;
    text-align: center
  }
  .cookie-area button {
    display: block;
    margin: 20px auto 0;
    padding: 10px 25px;
    width: 70%;
    text-align: center
  }
}

.p-sub .container {
  position: relative;
  overflow: hidden
}

.p-sub .container::before, .p-sub .container::after {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  margin-top: -100px;
  width: 100%;
  z-index: -1
}

.p-sub .container::before {
  background: #b9eedd;
  transform: skew(0deg, 7deg)
}

.p-sub .container::after {
  background: #396c5d;
  transform: skew(0deg, -7deg)
}

@media screen and (min-width: 980px) {
  .p-sub .container::before, .p-sub .container::after {
    height: 280px
  }
}

@media screen and (max-width: 979px) {
  .p-sub .container::before, .p-sub .container::after {
    height: 260px
  }
}

.sub-footer .copyright {
  text-align: center
}

@media screen and (min-width: 980px) {
  .sub-footer .copyright {
    margin-top: 50px;
    font-size: 14px
  }
}

@media screen and (max-width: 979px) {
  .sub-footer .copyright {
    margin-top: 30px;
    font-size: 12px
  }
}

.entry-area header {
  color: #fff
}

.entry-area header .text {
  font-weight: 500
}

.entry-area header .title {
  font-weight: 700
}

.entry-area .caption-area {
  text-indent: -1em;
  padding-left: 1em
}

@media screen and (min-width: 980px) {
  .entry-area header {
    padding: 30px 0;
    text-align: center
  }
  .entry-area header .text {
    margin-bottom: 20px;
    font-size: 18px;
    line-height: 1.4
  }
  .entry-area header .title {
    font-size: 26px
  }
  .entry-area .caption-area {
    padding: 20px 40px 0;
    font-size: 14px
  }
}

@media screen and (max-width: 979px) {
  .entry-area header {
    padding: 20px 0
  }
  .entry-area header .text {
    margin-bottom: 30px;
    font-size: 14px;
    line-height: 1.6
  }
  .entry-area header .title {
    font-size: 24px;
    text-align: center
  }
  .entry-area .caption-area {
    padding-top: 15px;
    font-size: 12px
  }
  .entry-area .caption-area br {
    display: none
  }
}

.privacy-area header {
  color: #fff
}

.privacy-area header .title {
  font-weight: 700
}

@media screen and (min-width: 980px) {
  .privacy-area header {
    padding: 90px 0 90px;
    text-align: center
  }
  .privacy-area header .title {
    font-size: 26px
  }
}

@media screen and (max-width: 979px) {
  .privacy-area header {
    padding: 70px 0
  }
  .privacy-area header .title {
    font-size: 24px;
    text-align: center
  }
}

.privacy-list li {
  line-height: 1.8
}

.privacy-list li+li {
  font-size: 14px
}

.privacy-list li .text-01 {
  margin-bottom: 5px;
  font-size: 16px;
  font-weight: 700
}

.privacy-list li .font12 {
  margin-top: 5px;
  font-size: 12px;
  text-indent: -1em;
  padding-left: 1em
}

.privacy-list .close {
  text-align: center;
  font-weight: 500
}

@media screen and (min-width: 980px) {
  .privacy-list li+li {
    margin-top: 30px
  }
  .privacy-list .close {
    margin-top: 60px;
    font-size: 18px
  }
  .privacy-list .close a:hover {
    text-decoration: underline
  }
}

@media screen and (max-width: 979px) {
  .privacy-list li+li {
    margin-top: 25px
  }
  .privacy-list .close {
    margin-top: 40px;
    font-size: 16px
  }
}

.agree-area .title {
  font-weight: 700;
  text-align: center
}

.agree-area .check {
  font-weight: 700;
  text-align: center
}

@media screen and (min-width: 980px) {
  .agree-area {
    margin: 0 auto 30px;
    width: 67%
  }
  .agree-area .title {
    margin-bottom: 15px;
    font-size: 18px
  }
  .agree-area .check {
    margin-top: 30px
  }
}

@media screen and (max-width: 979px) {
  .agree-area {
    margin-bottom: 20px
  }
  .agree-area .title {
    margin-bottom: 10px
  }
  .agree-area .check {
    margin-top: 20px
  }
}

.box-02 {
  background: #b6e6e1;
  -webkit-border-top-left-radius: 4px;
  -webkit-border-top-right-radius: 4px;
  -moz-border-radius-topleft: 4px;
  -moz-border-radius-topright: 4px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px
}

.box-02 .name {
  color: #fff;
  font-weight: 700;
  text-align: center;
  background: #396c5d;
  letter-spacing: 1px;
  -webkit-border-top-left-radius: 4px;
  -webkit-border-top-right-radius: 4px;
  -moz-border-radius-topleft: 4px;
  -moz-border-radius-topright: 4px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px
}

.box-02 .inner {
  background: #fff
}

.box-02 dl+dl {
  border-top: 2px #396c5d solid
}

.box-02 dl dt {
  color: #1f3865;
  font-weight: 500
}

.box-02 dd .koumoku{
  color: #1f3865;
  font-weight: 500;
  padding: 5px 10px;
  font-size: 18px;
  letter-spacing: 1px
}

.box-02 .text input {
  width: 100%;
  background: #f0f0f0
}

.box-02 .text input:focus {
  background: #fff
}

@media screen and (min-width: 980px) {
  .box-02 {
    padding-top: 10px
  }
  .box-02 .name {
    padding: 10px;
    font-size: 22px
  }
  .box-02 .inner {
    border: 3px #396c5d solid
  }
  .box-02 dl {
    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
  }
  .box-02 dt {
    padding: 5px 10px;
    width: 180px;
    font-size: 18px;
    letter-spacing: 1px
  }
  .box-02 dd {
    width: calc(100% - 200px);
    border-left: 2px #396c5d solid
  }
  .box-02 dd.nodt {
    width: auto;
    border-left: none
  }
  .box-02 .text input {
    padding: 10px 15px;
    font-size: 18px
  }
  .box-02 .confirm-text {
    padding: 10px 15px;
    font-size: 18px
  }
  .box-02 .flex-box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0 10px 10px 10px
  }
  .box-02 .flex-box li {
    margin-top: 10px;
    margin-right: 20px
  }
}

@media screen and (max-width: 979px) {
  .box-02 {
    padding-top: 5px
  }
  .box-02 .name {
    padding: 7px;
    font-size: 18px
  }
  .box-02 .inner {
    border: 2px #396c5d solid
  }
  .box-02 dt {
    padding: 5px 10px 10px 10px
  }
  .box-02 .flex-box {
    padding: 0px 5px
  }
  .box-02 .flex-box li {
    margin-bottom: 5px
  }
  .box-02 .text input {
    padding: 5px 10px
  }
  .box-02 .confirm-text {
    padding: 5px 10px
  }
}

.box-03 .name {
  color: #fff;
  font-weight: 700;
  background: #6dc6b1;
  -webkit-border-top-left-radius: 4px;
  -webkit-border-top-right-radius: 4px;
  -moz-border-radius-topleft: 4px;
  -moz-border-radius-topright: 4px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px
}

.box-03.advisor .name {
  background: #66bdef;
}

.box-03.workshop .name {
  background: #bde27b;
}


.box-03 dt {
  color: #1f3865
}

.box-03 dd {
  position: relative;
  color: #1f3865;
  font-weight: 500
}

.box-03 .border::after, .box-03 .border-02::after {
  position: absolute;
  bottom: 0;
  content: '';
  background: #203866
}

.box-03 .number::before {
  content: '参加人数'
}

.box-03 .number::after {
  content: '名'
}

.box-03 .number input {
  display: inline-block;
  margin: 0 5px 0 8px;
  padding: 3px 5px;
  width: 3em;
  text-align: center;
  border: 1px #396c5d solid;
  background: #f0f0f0
}

.box-03 .number.disabled::before, .box-03 .number.disabled::after {
  color: #c3c3c3;
  font-weight: 300
}

.box-03 .number.disabled input {
  border: 1px #c3c3c3 solid;
  background: #ededed;
  pointer-events: none
}

.box-03 .date-box .select-wrap {
  display: inline-block;
  border: 1px #396c5d solid;
  background: #f0f0f0
}

.box-03 .date-box select {
  background: #e8e8e8
}

.box-03 .hope {
  padding: 0
}

.box-03 .hope .title {
  font-weight: 700;
  background: #fff
}

.box-03 .agenda {
  padding-bottom: 0
}

.box-03 .agenda p {
  position: relative
}

.box-03 .agenda p span {
  position: absolute;
  top: 0;
  left: 0
}

.box-03.inactive .inner{
  background: #ccc;
}

@media screen and (min-width: 980px) {

  .box-03 {
    margin-top: 30px
  }
  .box-03 .name {
    display: inline-block;
    padding: 10px 25px;
    font-size: 20px;
    letter-spacing: 1px
  }
  .box-03 .inner {
    padding-bottom: 10px;
    border: 3px #6dc6b1 solid
  }

  .box-03.advisor .inner {
    border: 3px #66bdef solid
  }

  .box-03.workshop .inner {
    border: 3px #bde27b solid
  }

  .workshop-date{
    font-weight: bold;
    padding-left: 30px;
    margin-bottom: 15px;
  }


  .box-03 dt {
    padding: 20px 20px 0px;
    font-size: 18px
  }
  .box-03 dt span {
    font-size: 16px
  }
  .box-03 dd {
    padding: 10px 20px
  }
  .box-03 .border {
    padding: 10px 20px 20px 20px;
    letter-spacing: -0.8px
  }
  .box-03 .border::after {
    left: 15px;
    width: calc(100% - 30px);
    height: 2px
  }
  .box-03 .border-02 {
    padding-bottom: 10px
  }
  .box-03 .border-02::after {
    left: 15px;
    width: calc(100% - 30px);
    height: 2px
  }
  .box-03 .online {
    margin: 15px 0 0 30px
  }
  .box-03 .number {
    position: absolute;
    top: 18px;
    right: 20px
  }
  .box-03 .hope .title {
    padding: 20px 50px 10px;
    font-size: 20px
  }
  .box-03 .inflex-box {
    padding: 0 20px 20px 50px
  }
  .box-03 .inflex-box li {
    margin-top: 20px;
  }

  .box-03 .flex-box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0 20px 20px 50px
  }
  .box-03 .flex-box li {
    margin-top: 20px;
    margin-right: 30px
  }

  .box-03 .date-box {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 20px 20px 20px 50px
  }
  .box-03 .date-box li+li {
    margin-top: 15px
  }
  .box-03 .date-box .select-wrap {
    margin-left: 10px;
    padding: 5px 5px
  }
  .box-03 .date-box select {
    padding: 4px 10px
  }
  .box-03 .date-box select+select {
    margin-left: 4px
  }
  .box-03 .list {
    padding: 0 20px 20px 50px
  }
  .box-03 .list li {
    margin-bottom: 20px
  }
  .box-03 .list li:first-child {
    margin-bottom: 10px
  }
  .box-03 .list li:last-child {
    margin-bottom: 0
  }
  .box-03 .agenda p {
    padding-left: 40px;
    letter-spacing: 1px
  }
}

@media screen and (max-width: 979px) {
  .box-03 {
    margin-top: 20px
  }
  .box-03 .name {
    padding: 10px 15px
  }
  .box-03 .inner {
    padding-bottom: 5px;
    border: 2px #396c5d solid
  }
  .box-03 dt {
    padding: 15px 15px 10px;
    font-size: 14px;
    line-height: 1.4;
    text-indent: -17px;
    padding-left: 32px
  }
  .box-03 dt span {
    font-size: 12px
  }
  .box-03 dd {
    padding: 9px 10px;
    line-height: 1.4
  }
  .box-03 dd label span {
    font-size: 14px
  }
  .box-03 .border {
    padding: 15px 10px 10px 10px
  }
  .box-03 .border::after {
    left: 10px;
    width: calc(100% - 20px);
    height: 1px
  }
  .box-03 .border-02 {
    padding-bottom: 5px
  }
  .box-03 .border-02::after {
    left: 10px;
    width: calc(100% - 20px);
    height: 1px
  }
  .box-03 .online {
    margin: 10px 0 0 20px
  }
  .box-03 .number {
    margin-top: 10px;
    text-align: right
  }
  .box-03 .hope .title {
    padding: 15px 20px 5px
  }
  .box-03 .inflex-box {
    padding: 5px 10px 20px 20px
  }
  .box-03 .inflex-box li {
    margin-top: 15px
  }

  .box-03 .flex-box {
    padding: 5px 10px 20px 20px
  }
  .box-03 .flex-box li {
    margin-top: 15px
  }
  .box-03 .date-box {
    padding: 10px 10px 20px 20px;
    font-size: 12px
  }
  .box-03 .date-box li+li {
    margin-top: 10px
  }
  .box-03 .date-box .select-wrap {
    display: block;
    margin-top: 5px;
    margin-right: 10px;
    padding: 5px 5px;
    font-size: 14px
  }
  .box-03 .date-box .select-wrap .ymd-divider{
    display: block;
    margin-bottom: 20px;
  }
  .box-03 .date-box select {
    padding: 4px 10px
  }
  .box-03 .date-box select+select {
    margin-left: 4px
  }
  .box-03 .list {
    padding: 5px 10px 20px 10px
  }
  .box-03 .list li {
    margin-bottom: 15px
  }
  .box-03 .list li:first-child {
    margin-bottom: 15px;
    font-size: 14px;
    text-align: center
  }
  .box-03 .list li:last-child {
    margin-bottom: 0
  }
  .box-03 .agenda p {
    padding-left: 32px;
    font-size: 14px
  }
  .workshop-date{
    font-size: 13px;
    margin-bottom: 8px;
  }
}


.btn-submit {
  text-align: center
}

.btn-submit input {
  color: #fff;
  font-weight: 700;
  border: none;
  outline: 0;
  letter-spacing: 1px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  cursor: pointer
}

.btn-submit .primary {
  background: #203866
}

.btn-submit .primary:hover {
  background: #363e4b
}

.btn-submit .secondary {
  background: #c3c3c3
}

.btn-submit .secondary:hover {
  background: #939393
}

@media screen and (min-width: 980px) {
  .btn-submit {
    margin-top: 40px
  }
  .btn-submit input {
    margin: 0 15px;
    padding: 20px;
    font-size: 18px
  }
  .btn-submit .primary {
    width: 240px
  }
  .btn-submit .secondary {
    width: 170px
  }
}

@media screen and (max-width: 979px) {
  .btn-submit {
    margin-top: 30px
  }
  .btn-submit input {
    margin: 0 5px;
    padding: 15px 20px
  }
}

.powered {
  text-align: right
}

@media screen and (min-width: 980px) {
  .powered {
    margin-top: 50px
  }
}

@media screen and (max-width: 979px) {
  .powered {
    margin-top: 40px;
    font-size: 12px
  }
}

.checkbox input[type=checkbox], .radio input[type=radio] {
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute
}

.checkbox input[type="checkbox"]:focus+span, .radio input[type="radio"]:focus+span {
  box-shadow: 0 0 4px #004AA1
}

.checkbox span {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding-left: 40px;
  padding-right: 4px;
  position: relative;
  width: auto
}

.checkbox span::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 4px;
  content: '';
  margin-top: -11px;
  width: 22px;
  height: 22px;
  background: #fff;
  border: 3px solid #203866
}

.checkbox span::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 12px;
  content: '';
  margin-top: -14px;
  width: 10px;
  height: 20px;
  border-right: 3px solid #e9a20b;
  border-bottom: 3px solid #e9a20b;
  opacity: 0;
  transform: rotate(40deg)
}

.checkbox.upper span::before {
  top: 2px;
  margin-top: 0px;
}
.checkbox.upper span::after {
  top: 2px;
  margin-top: -3px;
}


.checkbox li.disabled input+span, .checkbox.disabled input+span {
  color: #c3c3c3;
  font-weight: 300;
  pointer-events: none
}

.checkbox li.disabled input+span::before, .checkbox.disabled input+span::before {
  border: 3px solid #c3c3c3;
  background: #f3f3f3
}

.checkbox li.disabled input+span::after, .checkbox.disabled input+span::after {
  border-color: #c3c3c3
}

.radio span {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding-left: 35px;
  padding-right: 4px;
  position: relative;
  width: auto;
  color: #1f3865;
  font-weight: 500
}

.radio span::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 3px;
  content: '';
  margin-top: -11px;
  width: 22px;
  height: 22px;
  background: #fff;
  border: 3px solid #203866;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%
}

.radio span::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 9px;
  content: '';
  margin-top: -5px;
  width: 10px;
  height: 10px;
  background: #e9a20b;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  opacity: 0
}

.radio.upper span::before {
  top: 2px;
  margin-top: 0px;
}
.radio.upper span::after {
  top: 2px;
  margin-top: 6px;
}


.checkbox input[type=checkbox]:checked+span::after, .radio input[type=radio]:checked+span::after {
  opacity: 1
}

.other {
  border: 1px #396c5d solid;
  background: #f0f0f0
}

@media screen and (min-width: 980px) {
  .other {
    margin-left: 20px;
    padding: 3px 10px
  }
}

@media screen and (max-width: 979px) {
  .other {
    display: block;
    margin-top: 10px;
    padding: 6px 10px;
    width: 100%
  }
}

.event-done {
  margin-top: 5px;
  margin-left: 40px;
  color: #e44444;
  font-size: 14px
}

.error {
  color: #e44444;
  font-weight: 400
}

@media screen and (min-width: 980px) {
  .error {
    padding: 5px 10px 10px 10px;
    color: #e44444;
    font-size: 16px
  }
}

@media screen and (max-width: 979px) {
  .error {
    padding: 5px;
    font-size: 14px
  }
}

.box-03 .error {
  padding-top: 10px;
  padding-bottom: 0
}

.alert-danger {
  margin-bottom: 30px;
  padding: 20px;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  background: #f6bb75;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px
}

.confirm-list {
  overflow: hidden
}

.confirm-list>div {
  position: relative
}

.confirm-list>div .number:empty {
  display: none
}

.confirm-list>div .seminar-name+.seminar-name {
  margin: -25px 0 0 15px
}

.confirm-list>div .seminar-name+.seminar-name:empty {
  margin: 0
}

.confirm-list>div .seminar-name:empty {
  padding: 0
}

@media screen and (min-width: 980px) {
  .confirm-list>div {
    margin-bottom: 5px
  }
  .confirm-list>div .number {
    top: 15px
  }
  .confirm-list>div .seminar-name {
    padding: 15px 25px
  }
  .confirm-list>div .seminar-name+.seminar-name {
    margin: -25px 0 0 15px
  }
  .confirm-list>div .seminar-name+.seminar-name:empty {
    margin: 0
  }
}

@media screen and (max-width: 979px) {
  .confirm-list>div {
    margin-bottom: 5px
  }
  .confirm-list>div .number {
    padding: 0 10px 10px 0
  }
  .confirm-list>div .seminar-name {
    padding: 10px;
    font-size: 14px
  }
  .confirm-list>div .seminar-name+.seminar-name {
    margin: -15px 0 0 5px
  }
  .confirm-list>div .seminar-name+.seminar-name:empty {
    margin: 0
  }
}


@media screen and (min-width: 980px) {
  section.legal-document{
    padding-top: 150px;
    padding-bottom: 300px;
  }
  section.legal-document h2{
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 1em;
  }
  section.legal-document p{
    margin-bottom: 1em;
  }
  section.legal-document h3{
    margin-bottom: 1em;
  }

  section.sitemap-content{
    padding-top: 150px;
    padding-bottom: 300px;
  }

  section.sitemap-content ul.sitemap-list{
    
  }

  section.sitemap-content ul.sitemap-list li{
    font-size: 24px;
    font-weight: bold;
    margin-bottom:  1.5em;
  }
  section.sitemap-content ul.sitemap-list li:before{
    display: inline-block;
    content: "";
    width: 0;
    height: 0;
    border-left: 24px solid #3d7c4f;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    margin-right: 15px;
    position: relative;
    top: 5px;
  }

  section.sitemap-content ul.sitemap-list li a{
    
  }

  section.sitemap-content ul.sitemap-list li a:hover{
    text-decoration: underline;
    
  }
  p.backtotop{
    font-size: 18px;
  }

}
@media screen and (max-width: 979px) {
  section.legal-document{
    padding-top: 90px;
    padding-bottom: 100px;
  }
  section.legal-document h2{
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 1em;
  }
  section.legal-document p{
    margin-bottom: 1em;
  }
  section.legal-document h3{
    margin-bottom: 1em;
  }

  section.sitemap-content{
    padding-top: 90px;
    padding-bottom: 100px;
  }

  section.sitemap-content ul.sitemap-list{
    padding-left:  10px;
    
  }

  section.sitemap-content ul.sitemap-list li{
    font-size: 24px;
    font-weight: bold;
    margin-bottom:  1.5em;
  }
  section.sitemap-content ul.sitemap-list li:before{
    display: inline-block;
    content: "";
    width: 0;
    height: 0;
    border-left: 24px solid #3d7c4f;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    margin-right: 15px;
    position: relative;
    top: 5px;
  }

  section.sitemap-content ul.sitemap-list li a{
    
  }

  section.sitemap-content ul.sitemap-list li a:hover{
    text-decoration: underline;
    
  }

}