@charset "UTF-8";
/* ===================================================================
CSS information
 style info
=================================================================== */
/*----------------------------------------------------
	基本設定
----------------------------------------------------*/
body {
  font-size: 1.6rem;
  color: #000000;
  line-height: 1.7;
}

body.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

img {
  width: 100%;
}

/* リンク設定 ====================*/
a {
  outline: none;
}
a:link {
  color: #45832d;
  text-decoration: none;
}
a:visited {
  color: #45832d;
  text-decoration: underline;
}
a:hover {
  color: #45832d;
  text-decoration: underline;
}
a:active {
  color: #000000;
}
a:focus {
  outline: none;
}

/* SP用画像非表示 ====================*/
.pc {
  display: none;
}

/* wrapper ====================*/
.wrapper {
  overflow: hidden;
  position: relative;
}

/*----------------------------------------------------
	header
----------------------------------------------------*/
header {
  box-sizing: border-box;
  width: 100%;
  height: 78px;
  padding: 0 15px;
  border-bottom: 1px solid #e9eff3;
  /* メニュー ====================*/
}
header h1.logo,
header p.logo {
  position: absolute;
  top: 14px;
  left: 15px;
  width: 218px;
  height: 50px;
}
header h1.logo img,
header p.logo img {
  width: 100%;
}
header .btn_menu {
  display: block;
  position: fixed;
  top: 13px;
  right: 15px;
  width: 50px;
  height: 52px;
  background: #45832d;
  cursor: pointer;
  z-index: 100;
  border-radius: 8px;
}
header .btn_menu::after {
  content: "MENU";
  position: absolute;
  bottom: 4px;
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 1rem;
}
header .btn_menu span {
  display: block;
  position: absolute;
  top: 19px;
  left: 10px;
  width: 30px;
  height: 2px;
  background: #fff;
  transition: all 0.3s;
}
header .btn_menu span:nth-child(1) {
  transform: translateY(-9px);
}
header .btn_menu span:nth-child(2) {
  transform: translateX(0px);
}
header .btn_menu span:nth-child(3) {
  transform: translateY(9px);
}
header .btn_menu.open::after {
  content: "CLOSE";
}
header .btn_menu.open span {
  display: block;
  position: absolute;
  top: 20px;
  left: 10px;
  width: 30px;
  height: 2px;
  background: #fff;
  transition: all 0.3s;
}
header .btn_menu.open span:nth-child(1) {
  transform: rotate(-45deg) translateY(0px);
}
header .btn_menu.open span:nth-child(2) {
  transform: translateX(100px);
  background: rgba(255, 255, 255, 0);
}
header .btn_menu.open span:nth-child(3) {
  transform: rotate(45deg) translateY(0px);
}
header .menuArea {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 99;
  width: 100%;
  height: 100vh;
  background: #fff;
  vertical-align: top;
}
header .menuArea ul {
  padding: 77px 15px 0;
}
header .menuArea ul li.menu {
  margin: 0 0 0;
}
header .menuArea ul li.menu a {
  position: relative;
  display: flex;
  align-items: center;
  height: 50px;
  padding: 0 20px;
  text-align: left;
  text-decoration: none;
  font-size: 1.5rem;
  font-weight: bold;
  color: #000;
}
header .menuArea ul li.menu a:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 6px;
  height: 6px;
  margin-top: -4px;
  border: 0px;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  transform: rotate(45deg);
}
header .menuArea ul li.menu + li.menu a {
  border-top: 1px solid #45832d;
}
header .menuArea ul li.inquiry a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  font-size: 1.5rem;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  background: #45832d;
  border-radius: 4px;
}
header .menuArea ul li.inquiry a:hover {
  color: #fff;
  text-decoration: none;
  background: rgba(69, 131, 45, 0.7);
}

/*----------------------------------------------------
	pageTop
----------------------------------------------------*/
.pagetop {
  display: none;
  position: fixed;
  right: 15px;
  bottom: 20px;
  z-index: 99;
}
.pagetop a {
  display: block;
  width: 50px;
  height: 50px;
  background: #45832d;
  border-radius: 8px;
}
.pagetop a:hover {
  background: rgba(69, 131, 45, 0.7);
}
.pagetop a img {
  width: 100%;
}

/*----------------------------------------------------
	footer
----------------------------------------------------*/
.footer {
  width: 100%;
  margin-top: 40px;
  z-index: 1;
  background: #f4f7fa;
}
.footer .inner {
  padding: 30px 20px;
}
.footer p.logo {
  width: 218px;
  margin: 0 auto;
}
.footer p.logo img {
  width: 100%;
}
.footer ul {
  margin-top: 20px;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1;
}
.footer ul li a {
  outline: none;
}
.footer ul li a:link {
  color: #000000;
}
.footer ul li a:visited {
  color: #000000;
}
.footer ul li a:hover {
  color: #45832d;
}
.footer ul li + li {
  margin-top: 15px;
}
.footer p.copy {
  margin-top: 20px;
  text-align: center;
  font-size: 1rem;
}

/*----------------------------------------------------
	ページ 共通
----------------------------------------------------*/
.contentsArea {
  /* テーブル設定 ====================*/
  /* ボタン ====================*/
}
.contentsArea > .inner {
  padding: 0 15px;
}
.contentsArea h1.title {
  padding: 8vw 4vw;
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
  color: #45832d;
  line-height: 1.3;
}
.contentsArea h2.title {
  font-size: 2.1rem;
  line-height: 1.3;
}
.contentsArea h3.title {
  font-size: 1.8rem;
  line-height: 1.3;
}
.contentsArea h4.title {
  font-size: 1.6rem;
  line-height: 1.3;
}
.contentsArea p.note_text {
  font-size: 1.2rem;
}
.contentsArea ul.list_disc li {
  box-sizing: border-box;
  position: relative;
  padding-left: 1em;
  line-height: 1.5;
}
.contentsArea ul.list_disc li:before {
  content: url("../img/disc.png");
  position: absolute;
  top: 8px;
  left: 2px;
  width: 5px;
  height: 5px;
  line-height: 0;
}
.contentsArea ul.list_disc li + li {
  margin-top: 5px;
}
.contentsArea ul.list_number > li {
  box-sizing: border-box;
  position: relative;
  padding-left: 1.2em;
  line-height: 1.5;
}
.contentsArea ul.list_number > li:nth-child(1)::before {
  content: "1.";
}
.contentsArea ul.list_number > li:nth-child(2)::before {
  content: "2.";
}
.contentsArea ul.list_number > li:nth-child(3)::before {
  content: "3.";
}
.contentsArea ul.list_number > li:nth-child(4)::before {
  content: "4.";
}
.contentsArea ul.list_number > li:nth-child(5)::before {
  content: "5.";
}
.contentsArea ul.list_number > li:nth-child(6)::before {
  content: "6.";
}
.contentsArea ul.list_number > li:nth-child(7)::before {
  content: "7.";
}
.contentsArea ul.list_number > li:nth-child(8)::before {
  content: "8.";
}
.contentsArea ul.list_number > li:nth-child(9)::before {
  content: "9.";
}
.contentsArea ul.list_number > li::before {
  position: absolute;
  top: 0;
  left: 0;
}
.contentsArea ul.list_number li + li {
  margin-top: 5px;
}
.contentsArea ul.list_pdf {
  margin-top: 1em;
}
.contentsArea ul.list_pdf:first-child {
  margin-top: 0;
}
.contentsArea ul.list_pdf li {
  box-sizing: border-box;
  position: relative;
  padding-left: 1em;
  line-height: 1.3;
}
.contentsArea ul.list_pdf li::before {
  content: url("../img/ic_pdf.png");
  display: block;
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 11px;
  height: 13px;
  margin-right: 5px;
  line-height: 1;
}
.contentsArea ul.list_pdf li span {
  font-size: 1.2rem;
}
.contentsArea ul.list_pdf li + li {
  margin-top: 5px;
}
.contentsArea table {
  border-top: 1px solid #e9eff3;
  border-right: 1px solid #e9eff3;
}
.contentsArea table tr {
  border-bottom: 1px solid #e9eff3;
}
.contentsArea table th {
  padding: 5px 10px;
  text-align: left;
  font-weight: bold;
  line-height: 1.8;
  border-left: 1px solid #e9eff3;
  background: #f4f7fa;
  vertical-align: top;
}
.contentsArea table td {
  padding: 5px 10px;
  line-height: 1.8;
  vertical-align: top;
}
.contentsArea .btn01 a {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-height: 50px;
  padding: 10px 25px 10px 15px;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
  background: #45832d;
  border-radius: 4px;
}
.contentsArea .btn01 a:hover {
  text-decoration: none;
  background: rgba(69, 131, 45, 0.7);
}
.contentsArea .btn01 a:before {
  content: "";
  position: absolute;
  top: calc(50% - 4px);
  right: 15px;
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
}

/*----------------------------------------------------
	TOP
----------------------------------------------------*/
body#top {
  /* メイン画像 ====================*/
}
body#top header .menuArea ul li:nth-child(1) a {
  color: #45832d;
}
body#top .mainvisual {
  overflow: hidden;
}
body#top .mainvisual ul.slick li img {
  width: 100%;
}
body#top .newsArea {
  box-sizing: border-box;
  padding-top: 40px;
}
body#top .newsArea h2 {
  text-align: center;
  color: #45832d;
}
body#top .newsArea h2 span {
  display: block;
  font-size: 3.8rem;
  font-family: "Montserrat";
  line-height: 1;
}
body#top .newsArea ul {
  margin-top: 20px;
}
body#top .newsArea ul li {
  display: block;
  padding: 15px;
  background: #f9f9f1;
  border-radius: 8px;
}
body#top .newsArea ul li a {
  color: #45832d;
}
body#top .newsArea ul li p + .text {
  margin-top: 5px;
}
body#top .newsArea ul li + li {
  margin-top: 10px;
}
body#top .newsArea .listBtn {
  margin-top: 20px;
}
body#top .newsArea .listBtn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 47px;
  margin: 0 auto;
  font-size: 1.5rem;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  background: #45832d;
  border-radius: 4px;
}
body#top .newsArea .listBtn a:hover {
  color: #fff;
  text-decoration: none;
  background: rgba(69, 131, 45, 0.7);
}
body#top .aboutArea {
  box-sizing: border-box;
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #e9eff3;
}
body#top .aboutArea .btn01 {
  margin: 0 auto;
}
body#top .aboutArea .btn01 + .btn01 {
  margin-top: 15px;
}
body#top .aboutArea ul.list_pdf {
  display: table;
  margin: 10px auto 0;
}
body#top .aboutArea .columnArea {
  margin-top: 20px;
}
body#top .aboutArea .columnArea .cell {
  box-sizing: border-box;
  position: relative;
  width: 100%;
}
body#top .aboutArea .columnArea .cell a {
  display: block;
  position: relative;
}
body#top .aboutArea .columnArea .cell a figure {
  overflow: hidden;
  border-radius: 8px;
}
body#top .aboutArea .columnArea .cell a figure img {
  width: 100%;
}
body#top .aboutArea .columnArea .cell a p {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 50px;
  padding: 0 20px;
  color: #fff;
  line-height: 1;
  background: rgba(69, 131, 45, 0.9);
  border-radius: 0 0 8px 8px;
}
body#top .aboutArea .columnArea .cell a p:after {
  content: "";
  position: absolute;
  top: calc(50% - 6px);
  right: 20px;
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
}
body#top .aboutArea .columnArea .cell + .cell {
  margin-top: 20px;
}
body#top .facebookArea {
  width: 280px;
  margin: 40px auto 0;
}
body#top .facebookArea a {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 10px 20px;
  font-size: 1.5rem;
  color: #000;
  line-height: 1.5;
  border: 1px solid #45832d;
  border-radius: 6px;
}
body#top .facebookArea a::before {
  content: "";
  right: 12px;
  width: 43px;
  height: 43px;
  margin-right: 10px;
  background: url("../img/f_logo_RGB-Blue_100.svg") center center no-repeat;
  background-size: 43px 43px;
}
body#top .facebookArea a p {
  font-size: 1.2rem;
}
body#top .facebookArea a p span {
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
}
body#top .snsArea {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  margin-top: 20px;
}
body#top .snsArea li {
  display: table;
  height: 20px;
  margin: 0 5px;
}
body#top .snsArea li .fb_iframe_widget {
  height: 20px;
}
body#top .snsArea li .fb_iframe_widget span {
  vertical-align: top !important;
}

/*----------------------------------------------------
	NEWS
----------------------------------------------------*/
body#news .newsArea h2 {
  padding: 30px 0 0;
  text-align: center;
  color: #45832d;
}
body#news .newsArea h2 span {
  display: block;
  font-size: 3.8rem;
  font-family: "Montserrat";
  line-height: 1;
}
body#news .newsArea ul.list_news {
  margin-top: 20px;
}
body#news .newsArea ul.list_news li {
  display: block;
  padding: 15px;
  background: #f9f9f1;
  border-radius: 8px;
}
body#news .newsArea ul.list_news li a {
  color: #45832d;
}
body#news .newsArea ul.list_news li p + .text {
  margin-top: 5px;
}
body#news .newsArea ul.list_news li + li {
  margin-top: 10px;
}
body#news .newsArea .pagenationArea {
  display: table;
  margin: 40px auto 0;
}
body#news .newsArea .pagenationArea ul {
  display: flex;
  justify-content: center;
  position: relative;
  padding: 0 64px;
}
body#news .newsArea .pagenationArea ul li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-right: 1px;
  font-size: 1.6rem;
  line-height: 0.95;
  font-weight: 600;
  color: #b4b4b4;
}
body#news .newsArea .pagenationArea ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  background: #ecf2ea;
}
body#news .newsArea .pagenationArea ul li.active {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: #fff;
  background: #45832d;
}
body#news .newsArea .pagenationArea ul li.prev,
body#news .newsArea .pagenationArea ul li.next {
  position: absolute;
  width: 64px;
  font-size: 1.2rem;
}
body#news .newsArea .pagenationArea ul li.prev a,
body#news .newsArea .pagenationArea ul li.next a {
  background: none;
}
body#news .newsArea .pagenationArea ul li.prev {
  justify-content: flex-start;
  top: 0;
  left: 0;
}
body#news .newsArea .pagenationArea ul li.prev a {
  justify-content: flex-start;
}
body#news .newsArea .pagenationArea ul li.prev a::before {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  bottom: 18px;
  width: 18px;
  height: 2px;
  border-top: solid 2px #000000;
}
body#news .newsArea .pagenationArea ul li.prev a::after {
  content: "";
  display: block;
  position: absolute;
  right: 14px;
  bottom: 15px;
  width: 10px;
  height: 10px;
  border-top: solid 2px #000000;
  border-right: solid 2px #000000;
  transform: rotate(225deg);
}
body#news .newsArea .pagenationArea ul li.next {
  justify-content: flex-end;
  top: 0;
  right: 0;
}
body#news .newsArea .pagenationArea ul li.next a {
  justify-content: flex-end;
}
body#news .newsArea .pagenationArea ul li.next a::before {
  content: "";
  display: block;
  position: absolute;
  left: 10px;
  bottom: 18px;
  width: 18px;
  height: 2px;
  border-top: solid 2px #000000;
}
body#news .newsArea .pagenationArea ul li.next a::after {
  content: "";
  display: block;
  position: absolute;
  left: 14px;
  bottom: 15px;
  width: 10px;
  height: 10px;
  border-top: solid 2px #000000;
  border-right: solid 2px #000000;
  transform: rotate(45deg);
}

/*----------------------------------------------------
	CEIPについて
----------------------------------------------------*/
body#about header .menuArea ul li:nth-child(2) a {
  color: #45832d;
}
body#about .section__message p.text,
body#about .section__about p.text {
  margin-top: 1em;
  line-height: 1.8;
}
body#about .section__message p.position,
body#about .section__about p.position {
  margin-top: 10px;
  font-size: 1.2rem;
}
body#about .section__message p.date,
body#about .section__about p.date {
  margin-top: 2em;
  font-size: 1.4rem;
}
body#about .section__message p.subTitle,
body#about .section__about p.subTitle {
  padding: 10px;
  text-align: center;
  font-size: 2.4rem;
  font-family: "Montserrat";
  color: #45832d;
  line-height: 1;
  background: #fff;
  border-radius: 8px;
}
body#about .section__message .btn01,
body#about .section__about .btn01 {
  margin: 20px auto 0;
}
body#about .section__overview {
  margin-top: 25px;
}
body#about .section__overview table.table01 {
  display: block;
}
body#about .section__overview table.table01 th {
  display: block;
}
body#about .section__overview table.table01 td {
  display: block;
  border-left: 1px solid #e9eff3;
}
body#about .section__overview table.table01 td span {
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1.5;
}
body#about .section__overview table.table01 td dl.list__director,
body#about .section__overview table.table01 td dl.list__finance {
  line-height: 1.5;
}
body#about .section__overview table.table01 td dl.list__director .group,
body#about .section__overview table.table01 td dl.list__finance .group {
  display: flex;
}
body#about .section__overview table.table01 td dl.list__director .group:not(:first-child),
body#about .section__overview table.table01 td dl.list__finance .group:not(:first-child) {
  margin-top: 0.25em;
}
body#about .section__overview table.table01 td dl.list__director dt,
body#about .section__overview table.table01 td dl.list__finance dt {
  position: relative;
  width: 6.5em;
  padding-right: 0.5em;
}
body#about .section__overview table.table01 td dl.list__director dt::after,
body#about .section__overview table.table01 td dl.list__finance dt::after {
  content: "：";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
}
body#about .section__overview table.table01 td dl.list__director dd,
body#about .section__overview table.table01 td dl.list__finance dd {
  width: calc(100% - 6.5em);
}
body#about .section__overview table.table01 td figure.img {
  margin: 0.5em 0 0.35em;
  text-align: center;
}
body#about .section__overview table.table01 td figure.img img {
  width: auto;
  max-width: 100%;
}
body#about .section__link .linkArea {
  margin-top: 25px;
  padding: 20px;
  background: #f9f9f1;
}
body#about .section__link .linkArea .link {
  padding: 10px 15px;
  background: #fff;
}
body#about .section__link .linkArea ul.list_bnr li.blank:nth-child(n+2) {
  margin-top: 10px;
}
body#about .section__link .linkArea ul.list_bnr li.blank a img {
  border: 1px solid #e9eff3;
}
body#about .section__link .linkArea p.note {
  margin-top: 10px;
  font-size: 1.2rem;
}
body#about .section + .section {
  margin-top: 40px;
}

/*----------------------------------------------------
	入会案内
----------------------------------------------------*/
body#join header .menuArea ul li:nth-child(4) a {
  color: #45832d;
}
body#join .contentsArea > .inner {
  padding: 0;
}
body#join p.text_lead {
  padding: 0 20px;
}
body#join .joinArea {
  margin-top: 25px;
  padding: 20px 20px 30px;
  background: #f9f9f1;
}
body#join .joinArea dl {
  padding: 15px 15px 20px;
  background: #fff;
}
body#join .joinArea dl:not(:first-child) {
  margin-top: 40px;
}
body#join .joinArea dl dt {
  font-size: 1.8rem;
  font-weight: bold;
}
body#join .joinArea dl dd {
  line-height: 1.7;
}
body#join .joinArea ul {
  margin-top: 1em;
}
body#join .joinArea .btn01 {
  margin: 25px auto 0;
}
body#join .joinArea p.text_center {
  margin-top: 25px;
  text-align: center;
}

/*----------------------------------------------------
	e-ラーニング
----------------------------------------------------*/
body#course header .menuArea ul li:nth-child(5) a {
  color: #45832d;
}
body#course .section h2.title:not(:first-child) {
  margin-top: 1.4em;
}
body#course .section p.text_lead {
  margin-top: 1em;
}
body#course .section p.text_lead span.note {
  display: block;
  margin-top: 10px;
  font-size: 1.2rem;
}
body#course .section ul.list_guide {
  margin-top: 15px;
  padding-bottom: 25px;
  line-height: 1.3;
  border-bottom: 1px solid #b5cfad;
}
body#course .section ul.list_guide li.pdf {
  margin-top: 10px;
}
body#course .section ul.list_guide li.pdf a {
  display: inline-block;
  position: relative;
  padding-left: 1em;
}
body#course .section ul.list_guide li.pdf a::before {
  content: url("../img/ic_pdf.png");
  display: block;
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 11px;
  height: 13px;
  margin-right: 5px;
  line-height: 1;
}
body#course .section ul.list_guide li.pdf a span {
  font-size: 1.2rem;
}
body#course .section ul.list_guide li.video {
  margin-top: 10px;
}
body#course .section ul.list_guide li.video a {
  display: inline-block;
  position: relative;
  padding-left: 1em;
}
body#course .section ul.list_guide li.video a::before {
  content: url("../img/ic_video.png");
  display: block;
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 11px;
  height: 13px;
  margin-right: 5px;
  line-height: 1;
}
body#course .section ul.list_guide li.video a span {
  font-size: 1.2rem;
}
body#course .section dl.list_overview {
  margin-top: 1em;
}
body#course .section dl.list_overview .group {
  display: flex;
}
body#course .section dl.list_overview dt {
  width: 5em;
  white-space: nowrap;
}
body#course .section .bgArea {
  margin-top: 40px;
  padding: 21px 12px;
  background: #f9f9f1;
  border-radius: 10px;
}
body#course .section .bgArea p.note {
  margin-top: 0.75em;
  padding: 0 1em;
  font-size: 1.2rem;
  line-height: 1.5;
}
body#course .section .bgArea h4.title {
  margin: 2.5em 0 0.5em;
  text-align: center;
  font-size: 1.3rem;
}
body#course .section .bgArea .btn01 {
  width: 100%;
}
body#course .section .bgArea .btn01 a {
  padding-right: 25px;
  padding-left: 20px;
}
body#course .section .column02 {
  margin-top: 20px;
}
body#course .section .column02 .cell {
  border: 1px solid #408629;
}
body#course .section .column02 .cell .inner {
  padding: 20px 15px 30px;
}
body#course .section .column02 .cell + .cell {
  margin-top: 20px;
}
body#course .section h2.title_search {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  font-size: 2rem;
  line-height: 1;
  background: #f9f9f0;
  border-bottom: 1px solid #408629;
}
body#course .section h2.title_search::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  margin-right: 1em;
  background: url("../img/ic_search.svg") center center no-repeat;
}
body#course .section h3.title:not(:first-child) {
  margin-top: 2em;
}
body#course .section h3.title span {
  font-size: 1.5rem;
}
body#course .section ul.list_course {
  margin-top: 1em;
  padding-left: 0.5em;
}
body#course .section ul.list_course li a {
  display: flex;
  position: relative;
  padding-left: 70px;
  color: #000;
}
body#course .section ul.list_course li a:hover {
  text-decoration: none;
}
body#course .section ul.list_course li a:hover span.title {
  text-decoration: underline;
  color: #45832d;
}
body#course .section ul.list_course li span.label {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0px;
  left: 0;
  width: 55px;
  height: 22px;
  padding: 0 1px 3px;
  font-size: 1.5rem;
  color: #fff;
  line-height: 1;
  border: 1px solid #000;
}
body#course .section ul.list_course li span.basic {
  background: #408629;
}
body#course .section ul.list_course li span.application {
  background: #1262c6;
}
body#course .section ul.list_course li span.specifics {
  background: #9c7727;
}
body#course .section ul.list_course li span.title {
  display: block;
  line-height: 1.3;
}
body#course .section ul.list_course li span.ic_renewal {
  display: inline-block;
  position: relative;
  width: 60px;
  height: 18px;
  margin-left: 0.4em;
}
body#course .section ul.list_course li span.ic_renewal::after {
  content: "Renewal";
  box-sizing: border-box;
  display: block;
  position: absolute;
  top: 0.25em;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 2px 0 0;
  text-align: center;
  font-size: 1.2rem;
  color: #fff;
  line-height: 1;
  background: #e84370;
  border-radius: 18px;
}
body#course .section ul.list_course li.new a span.title::after {
  content: "NEW";
  box-sizing: border-box;
  display: inline-block;
  width: 44px;
  height: 18px;
  margin-left: 0.75em;
  padding: 2px 0 0;
  text-align: center;
  font-size: 1.2rem;
  color: #fff;
  line-height: 1;
  background: #f6ad2e;
  border-radius: 18px;
}
body#course .section ul.list_course li + li {
  margin-top: 0.75em;
}
body#course .section p.text {
  margin-top: 1em;
}
body#course .section + .section {
  margin-top: 40px;
}

body.details header .menuArea ul li:nth-child(5) a {
  color: #45832d;
}
body.details h1.title span.label {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 26px;
  margin: 0 auto 0.75em;
  padding: 0 1px 3px;
  font-size: 1.6rem;
  font-weight: normal;
  color: #fff;
  line-height: 1;
  border: 1px solid #000;
}
body.details h1.title span.basic {
  background: #408629;
}
body.details h1.title span.application {
  background: #1262c6;
}
body.details h1.title span.specifics {
  background: #9c7727;
}
body.details .section {
  margin-top: 2em;
  padding-top: 1em;
  border-top: 1px solid #d0dce5;
}
body.details .section h2.title_border {
  box-sizing: border-box;
  padding: 6px 0 9px 11px;
  font-size: 2rem;
  line-height: 1;
  border-left: 6px solid #45832d;
}
body.details .section .column .cell + .cell {
  margin-top: 40px;
}
body.details .section dl.list_introduction {
  margin-top: 1.75em;
}
body.details .section dl.list_introduction dt {
  width: 160px;
  margin: 0 auto;
}
body.details .section dl.list_introduction dd {
  margin-top: 1em;
  text-align: center;
}
body.details .section p.name {
  font-size: 1.8rem;
  font-weight: bold;
}
body.details .section p.name span {
  font-size: 1.6rem;
  font-weight: normal;
}
body.details .section p.position {
  margin-top: 0.5em;
  font-size: 1.4rem;
}
body.details .section p.position + p.name {
  margin-top: 1em;
}
body.details .section h4.title {
  margin-top: 1.75em;
}
body.details .section ul.chronology li {
  display: flex;
  line-height: 1.7;
}
body.details .section ul.chronology li span {
  display: block;
}
body.details .section ul.chronology li span:first-child {
  width: 4em;
}
body.details .section ul.chronology li span:last-child {
  width: calc(100% - 4em);
}
body.details .section .videoArea {
  width: 350px;
  padding-top: 0.5em;
}
body.details .section .videoArea video {
  width: 100%;
  border: 1px solid #d0dce5;
  vertical-align: bottom;
}
body.details .section .videoArea + p.text {
  margin-top: 10px;
  text-align: center;
  font-weight: bold;
  color: #45832d;
  line-height: 1;
}
body.details .section .bgArea {
  margin-top: 40px;
  padding: 21px 12px;
  background: #f9f9f1;
  border-radius: 10px;
}
body.details .section .bgArea p.note {
  margin-top: 0.75em;
  padding: 0 1em;
  font-size: 1.2rem;
  line-height: 1.5;
}
body.details .section .bgArea h4.title {
  margin: 2.5em 0 0.5em;
  text-align: center;
  font-size: 1.3rem;
}
body.details .section .bgArea .btn01 {
  width: 100%;
}
body.details .section .bgArea .btn01 a {
  padding-right: 25px;
  padding-left: 20px;
}
body.details .btnArea {
  margin-top: 30px;
}
body.details .btnArea .btn01 {
  margin: 0 20px;
}

/*----------------------------------------------------
	研修・セミナー
----------------------------------------------------*/
body#seminar header .menuArea ul li:nth-child(6) a {
  color: #45832d;
}
body#seminar .contentsArea > .inner {
  padding: 0;
}
body#seminar .section:not(:first-child) {
  margin-top: 30px;
}
body#seminar .section h2.title {
  margin: 0 15px;
}
body#seminar .section h2.title_seminar {
  margin-bottom: 1em;
  font-size: 2.6rem;
  color: #45832d;
  line-height: 1;
}
body#seminar .section h3.title {
  margin: 0 15px;
  margin-bottom: 1em;
}
body#seminar .section p.text_lead {
  margin: 0 15px;
}
body#seminar .section p.text_lead:not(:first-child) {
  margin-top: 1em;
}
body#seminar .section .inner {
  margin-top: 25px;
  padding: 30px 20px;
  background: #f9f9f1;
}
body#seminar .section .inner h2.title,
body#seminar .section .inner h3.title,
body#seminar .section .inner p.text_lead {
  margin-right: 0;
  margin-left: 0;
}
body#seminar .section .inner .bgArea {
  padding: 20px 15px;
  background: #fff;
}
body#seminar .section .inner .bgArea .scrollArea {
  overflow-y: scroll;
  height: 200px;
}
body#seminar .section .inner ul.list_seminar li.list_seminar-item + li.list_seminar-item {
  margin-top: 1.5em;
  padding-top: 1.5em;
  border-top: 1px solid #e9eff3;
}
body#seminar .section .inner p.text strong {
  display: block;
  margin-bottom: 0.5em;
}
body#seminar .section .inner h3.title + p.text,
body#seminar .section .inner h2.title + .bgArea,
body#seminar .section .inner .bgArea + .bgArea {
  margin-top: 1.5em;
}

/*----------------------------------------------------
	高齢者施設感染制御支援プロジェクト & ICNエキスパートクラブ（INEC）
----------------------------------------------------*/
body#project .contentsArea > .inner,
body#inec .contentsArea > .inner {
  padding: 0;
}
body#project h1.title,
body#inec h1.title {
  padding-right: 15px;
  padding-left: 15px;
}
body#project h1.title span,
body#inec h1.title span {
  display: block;
  margin-top: 0.5em;
  font-size: 1.8rem;
  line-height: 1.2;
}
body#project h2.title,
body#inec h2.title {
  padding-right: 15px;
  padding-left: 15px;
}
body#project p.text_lead,
body#inec p.text_lead {
  margin-top: 1em;
  padding: 0 15px 2em;
  border-bottom: 1px solid #d0dce5;
}
body#project .section,
body#inec .section {
  margin-top: 1em;
}
body#project .section h2.title_border,
body#inec .section h2.title_border {
  box-sizing: border-box;
  margin: 0 15px;
  padding: 6px 0 9px 11px;
  font-size: 2rem;
  line-height: 1;
  border-left: 6px solid #45832d;
}
body#project .section dl.list_introduction,
body#inec .section dl.list_introduction {
  margin: 1.75em 15px 0;
}
body#project .section dl.list_introduction dt,
body#inec .section dl.list_introduction dt {
  width: 160px;
  margin: 0 auto;
}
body#project .section dl.list_introduction dd,
body#inec .section dl.list_introduction dd {
  margin-top: 1em;
  text-align: center;
}
body#project .section p.name,
body#inec .section p.name {
  font-size: 1.8rem;
  font-weight: bold;
}
body#project .section p.name span,
body#inec .section p.name span {
  font-size: 1.6rem;
  font-weight: normal;
}
body#project .section p.position,
body#inec .section p.position {
  margin-top: 0.5em;
  font-size: 1.4rem;
}
body#project .section p.position + p.name,
body#inec .section p.position + p.name {
  margin-top: 1em;
}
body#project .section p.text_center,
body#inec .section p.text_center {
  margin-top: 25px;
  padding: 0 15px;
  text-align: center;
}
body#project .section .btn01,
body#inec .section .btn01 {
  margin: 20px 15px 0;
}
body#project .section .bgArea,
body#inec .section .bgArea {
  margin-top: 30px;
  padding: 20px 20px 30px;
  background: #f9f9f1;
}
body#project .section .bgArea .inner,
body#inec .section .bgArea .inner {
  padding: 15px 15px 20px;
  background: #fff;
}
body#project .section .bgArea dl,
body#inec .section .bgArea dl {
  line-height: 1.5;
}
body#project .section .bgArea dl .group,
body#inec .section .bgArea dl .group {
  display: flex;
}
body#project .section .bgArea dl .group:not(:first-child),
body#inec .section .bgArea dl .group:not(:first-child) {
  margin-top: 0.25em;
}
body#project .section .bgArea dl dt,
body#inec .section .bgArea dl dt {
  position: relative;
  width: 4.5em;
  padding-right: 0.5em;
}
body#project .section .bgArea dl dt::after,
body#inec .section .bgArea dl dt::after {
  content: "：";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
}
body#project .section .bgArea dl dd,
body#inec .section .bgArea dl dd {
  width: calc(100% - 4.5em);
}
body#project .section .bgArea dl dd span.indent,
body#inec .section .bgArea dl dd span.indent {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}

/*----------------------------------------------------
	プライバシーポリシー
----------------------------------------------------*/
body#privacy h3.title {
  padding-bottom: 10px;
  border-bottom: 1px solid #e9eff3;
}
body#privacy p.text {
  line-height: 1.7;
}
body#privacy p.date,
body#privacy p.company,
body#privacy p.name {
  text-align: right;
}
body#privacy p.name {
  font-size: 1.8rem;
  font-weight: bold;
}
body#privacy dl {
  padding: 20px;
  background: #f9f9f2;
}
body#privacy dl dt {
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
}
body#privacy dl dd {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 10px;
}
body#privacy dl dd p.text {
  width: 100%;
  text-align: center;
  line-height: 1.5;
}
body#privacy dl dd p.text span {
  display: block;
}
body#privacy dl dd p + p {
  margin-top: 5px;
}
body#privacy p.text + h3.title {
  margin-top: 30px;
}
body#privacy h3.title + ul.list_disc {
  margin-top: 15px;
}
body#privacy ul.list_disc + h3.title {
  margin-top: 30px;
}
body#privacy ul.list_disc + p.date {
  margin-top: 30px;
}
body#privacy p + dl {
  margin-top: 30px;
}

/*----------------------------------------------------
	特定商取引法に関する表示
----------------------------------------------------*/
body#law table.table01 {
  display: block;
  margin-top: 15px;
}
body#law table.table01 th {
  display: block;
}
body#law table.table01 td {
  display: block;
  border-left: 1px solid #e9eff3;
}

/*----------------------------------------------------
	サイト利用規約
----------------------------------------------------*/
body#terms h3.title {
  padding-bottom: 10px;
  border-bottom: 1px solid #e9eff3;
}
body#terms p.text {
  line-height: 2;
}
body#terms dl {
  margin-top: 15px;
}
body#terms dl dt {
  font-weight: bold;
}
body#terms dl dd + dt {
  margin-top: 15px;
}
body#terms p.text + h3.title {
  margin-top: 30px;
}
body#terms h3.title + p.text {
  margin-top: 15px;
}

/*----------------------------------------------------
	404 Not Found
----------------------------------------------------*/
body#notfound .notfoundArea {
  margin-bottom: 120px;
  padding: 40px 20px;
  text-align: center;
  background: #f9f9f1;
}
body#notfound .notfoundArea h2 {
  margin-bottom: 20px;
  font-size: 2rem;
}
body#notfound .notfoundArea .btn01 {
  margin: 40px auto 0;
}

/*----------------------------------------------------
	フォーム
----------------------------------------------------*/
body#form p.text {
  margin-bottom: 20px;
  text-align: center;
  font-size: 1.4rem;
}
body#form dl.form {
  margin: 15px auto 0;
}
body#form dl.form dt {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  position: relative;
  width: 100%;
  padding: 15px 60px 16px 10px;
  font-size: 1.6rem;
  font-weight: bold;
  background: #dae6d6;
}
body#form dl.form dt span.note {
  display: block;
  font-size: 1.2rem;
  font-weight: normal;
}
body#form dl.form dt span.ic_required {
  display: block;
  position: absolute;
  top: calc(50% - 6px);
  right: 10px;
  font-size: 12px;
  color: #45832d;
}
body#form dl.form dt span.w100 {
  margin-top: 5px;
  width: 100%;
  line-height: 1;
}
body#form dl.form dt span.red {
  color: #d00000;
}
body#form dl.form dd {
  box-sizing: border-box;
  width: 100%;
  min-height: 46px;
  padding: 15px 10px;
  background: #fff;
}
body#form dl.form dd input[type=text] {
  box-sizing: border-box;
  width: 100%;
  padding: 10px;
  font-size: 1.6rem;
  line-height: 1;
  background: #fff;
  border: 1px solid #e9eff3;
}
body#form dl.form dd input[type=text].age {
  width: 4em;
}
body#form dl.form dd textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 100%;
  height: 100%;
  padding: 10px;
  font-size: 1.6rem;
  font-family: Noto Sans Japanese;
  line-height: 1.5;
  background: #fff;
  border: 1px solid #e9eff3;
}
body#form dl.form dd select {
  box-sizing: border-box;
  width: 100%;
  padding: 13px 10px;
  font-size: 1.6rem;
  background: #fff url("../img/bg_select.png") right 20px center no-repeat;
  cursor: pointer;
  border: 1px solid #e9eff3;
}
body#form dl.form dd select option {
  color: #000;
}
body#form dl.form dd span.note {
  display: block;
  margin-top: 10px;
  font-size: 1.2rem;
}
body#form dl.form dd span.error {
  margin-top: 10px;
  font-size: 1.2rem;
  color: #d00000;
  line-height: 1;
}
body#form dl.form dd span.w100 {
  width: 100%;
  margin-left: 0 !important;
}
body#form dl.form dd.radio,
body#form dl.form dd.checkbox {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  line-height: 1;
}
body#form dl.form dd.radio span + span,
body#form dl.form dd.checkbox span + span {
  margin-left: 15px;
}
body#form dl.form dd.radio label,
body#form dl.form dd.checkbox label {
  display: flex;
  align-items: center;
}
body#form dl.form dd.radio label input,
body#form dl.form dd.checkbox label input {
  margin: 0;
}
body#form dl.form dd.radio label span,
body#form dl.form dd.checkbox label span {
  margin-left: 5px;
}
body#form dl.form dd.radio span.error,
body#form dl.form dd.checkbox span.error {
  display: block;
  width: 100%;
}
body#form dl.form dd.checkbox_course,
body#form dl.form dd.checkbox02 {
  line-height: 1.5;
  background: #fff;
}
body#form dl.form dd.checkbox_course > span,
body#form dl.form dd.checkbox02 > span {
  display: block;
}
body#form dl.form dd.checkbox_course > span + span,
body#form dl.form dd.checkbox02 > span + span {
  margin: 0.5em 0 0 0;
}
body#form dl.form dd.checkbox_course label,
body#form dl.form dd.checkbox02 label {
  display: flex;
  align-items: center;
}
body#form dl.form dd.checkbox_course label input,
body#form dl.form dd.checkbox02 label input {
  display: block;
  width: 1.5em;
  margin: 0;
}
body#form dl.form dd.checkbox_course label span,
body#form dl.form dd.checkbox02 label span {
  display: block;
  width: calc(100% - 1.5em - 5px);
  margin-left: 5px;
}
body#form dl.form dd.checkbox_course span.error,
body#form dl.form dd.checkbox02 span.error {
  width: 100%;
}
body#form dl.form dd.textarea textarea:nth-last-child(2) {
  height: auto;
}
body#form dl.form dd.textarea span.error {
  margin-top: 5px;
}
body#form .submitArea {
  margin-top: 30px;
}
body#form .submitArea button {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 50px;
  padding: 0 20px;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  background: #45832d;
  border-radius: 4px;
  cursor: pointer;
}
body#form .submitArea button:hover {
  text-decoration: none;
  background: rgba(69, 131, 45, 0.7);
}
body#form .submitArea button:before {
  content: "";
  position: absolute;
  top: calc(50% - 6px);
  right: 15px;
  width: 10px;
  height: 10px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
}
body#form .submitArea button.back:before {
  content: "";
  position: absolute;
  top: calc(50% - 6px);
  left: 15px;
  width: 10px;
  height: 10px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(225deg);
}
body#form .submitArea button.disabled {
  pointer-events: none;
  background: #e9eff3;
}
body#form .submitArea button + button {
  margin-top: 10px;
}
body#form .formArea {
  padding: 40px 20px;
  background: #f9f9f2;
}
body#form .formArea dl.membershipnumber dt {
  padding: 5px 15px 6px 10px;
}
body#form .confirmationArea {
  padding: 40px 20px;
  background: #f9f9f2;
}
body#form .confirmationArea dl.form dt span.note {
  display: none;
}
body#form .confirmationArea dl.form dt span.ic_required {
  display: none;
}
body#form .confirmationArea dl.form dd,
body#form .confirmationArea dl.form dd.radio,
body#form .confirmationArea dl.form dd.textarea {
  padding: 15px 10px;
  font-size: 1.6rem;
  color: #666;
  line-height: 1;
  background: rgba(255, 255, 255, 0.7);
}
body#form .confirmationArea dl.form dd span.note,
body#form .confirmationArea dl.form dd.radio span.note,
body#form .confirmationArea dl.form dd.textarea span.note {
  display: none;
}
body#form .confirmationArea dl.form dd.checkbox_course,
body#form .confirmationArea dl.form dd.checkbox02 {
  line-height: 1.5;
}
body#form .confirmationArea dl.form dd.textarea {
  min-height: 10em;
  line-height: 1.5;
}
body#form .thanksArea {
  padding: 40px 20px;
  text-align: center;
  background: #f9f9f2;
}
body#form .thanksArea h2 {
  margin-bottom: 20px;
  font-size: 2rem;
}
body#form .thanksArea .btn01 {
  margin: 20px auto 0;
}

/*----------------------------------------------------
	overlayBox
----------------------------------------------------*/
.overlayBox {
  box-sizing: border-box;
  overflow-y: scroll;
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
}
.overlayBox .wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}
.overlayBox .inner {
  position: absolute;
  top: calc(50% - 250px);
  left: calc(50% - 360px);
  z-index: 1;
  width: 720px;
  height: 500px;
  margin: 0 auto;
}
.overlayBox .videoArea {
  width: 720px;
  height: 405px;
  background: #fff;
}
.overlayBox .videoArea video {
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.overlayBox .btn_close {
  font-size: 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 270px;
  height: 54px;
  margin: 40px auto 0;
  text-decoration: none;
  background: #fff;
  border-radius: 27px;
  transition: opacity 0.2s ease-out;
  cursor: pointer;
}
.overlayBox .btn_close span {
  margin-left: 15px;
  font-size: 1.8rem;
  line-height: 1;
}
.overlayBox .btn_close:hover {
  opacity: 0.7;
}

/*----------------------------------------------------
	パスワード画面
----------------------------------------------------*/
form.post-password-form {
  display: block;
  margin-bottom: 100px;
  padding: 0 4.26vw;
}
form.post-password-form p {
  display: table;
  margin: 0 auto;
}
form.post-password-form p + p {
  margin-top: 1em;
}
form.post-password-form input[type=submit] {
  margin-left: 0.5em;
  padding: 5px 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  -webkit-appearance: button;
     -moz-appearance: button;
          appearance: button;
  transition: all 0.2s;
  cursor: pointer;
}
form.post-password-form input[type=submit]:hover {
  background: rgba(204, 204, 204, 0.5);
}/*# sourceMappingURL=sp.css.map */