@charset "utf-8";
.visualSection {
  position: relative;
  width: 1400px;
  margin: 0 auto;
}
@media screen and (max-width: 1400px) {
  .visualSection {
    width: 100%;
    min-width: 1200px;
  }
}
/*----------------------------------------
Header
----------------------------------------*/
.headerArea {
  position: absolute;
  top: 0;
  left: 0;
  padding: 10px 20px 75px 20px;
  background: url("../common/img/bg_logo_shadow.png") no-repeat top left,
              linear-gradient(to bottom, rgba(0,0,0,0.60) 0%,rgba(0,0,0,0) 60%,rgba(0,0,0,0) 100%);
}
.headerArea .headerBox .pageList a {
  color: #fff;
}
/*----------------------------------------
slick
----------------------------------------*/
.slick-dots {
  position: absolute;
  bottom: 10px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  width: 17px;
  height: 17px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before{
    opacity: 1;
}
.slick-dots li button:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 17px;
  height: 17px;
  background: #38c3cf;
  border: 1px solid #fff;
  opacity: 1;
}
.slick-dots li.slick-active button:before {
  background: #949494;
}

.slick-arrow {
  display: none;
}

.mainVisual {
  position: relative;
}
.mainVisual .mainTxt {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  display: inline-block;
  width: 989px;
  height: 205px;
  margin: auto;
  left: 0;
  background: rgba(0, 6, 84, 0.4);
}
.mainVisual .mainTxt p {
  display: inline-block;
  padding: 20px 0px 20px 200px;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  opacity: 1;
}
/*----------------------------------------
infoSection
----------------------------------------*/
.infoSection {
  min-width: 1200px;
  background: #f5f5f5;
}
.ttlType1 {
  position: relative;
  border-bottom: 2px solid #0064b6;
}
.ttl {
  color: #0064b6;
  font-size: 23px;
  font-weight: bold;
}
.ttlType1 .btnList {
  position: absolute;
  bottom: 14px;
  right: 0;
}

.infoArea {
  margin-top: 5px;
}
.infoArea .row {
  position: relative;
  display: block;
  padding: 15px 10px;
  border-bottom: 1px dotted #a0a0a0;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  cursor: pointer;
}
.infoArea .row::after {
  content: "";
  position: absolute;
  display: none;
  width: 0.8em;
  height: 0.8em;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 20px;
  transform: rotate(-45deg);
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.infoArea .row:hover {
  background: #e9f5ff;
  -webkit-transition: 0.2s linear;
  transition: 0.2s linear;
}
.infoArea .row:hover::after {
  display: block;
  -webkit-transition: 0.2s linear;
  transition: 0.2s linear;
}
.infoArea .row dt,
.infoArea .row dd {
  display: inline-block;
  vertical-align: top;
  color: #000;
}
.infoArea .row .category {
  width: 97px;
  margin: 0 20px 0 30px;
  padding: 5px 0;
  text-align: center;
  font-size: 12px;
  color: #fff;
}
.infoArea .row .category.summary {
  background: #38c3cf;
}
.infoArea .row .category.study {
  background: #354ab2;
}
.infoArea .row .category.news {
  background: #64AA41;
}
.infoArea .row .info .infoLinkTxt {
  color: #00a0e9;
  text-decoration: underline;
}
.infoArea .row .info a:hover {
  text-decoration: none;
}
.infobox dt {
  font-weight: bold;
}

/*----------------------------------------
serviceSection
----------------------------------------*/
.ttlType2 {
  margin-bottom: 36px;
  text-align: center;
}
.ttlType2 .ttl {
  position: relative;
  padding-bottom: 7px;
}
.ttlType2 .ttl::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 97px;
  height: 2px;
  background: #0064b6;

}
.ttlType2 .en {
  display: block;
  padding-top: 3px;
  font-size: 18px;
  color: #0064b6;
}
.ttlType3 {
  padding: 35px 0 60px;
  font-size: 25px;
  color: #fff;
}
.leadtxt {
  font-size: 18px;
  padding: 0 25px;
}

.serviceSection .leadtxt {
  text-align: center;
}

.serviceLink {
  display: table;
  width: 100%;
  margin-top: 40px;
}
.serviceLink .linkBox {
  display: table-cell;
  position: relative;
  width: 50%;
  height: 329px;
  padding: 25px;
  text-align: center;
  color: #fff;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
  overflow: hidden;
}
.serviceLink .linkBox:hover {
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}
.serviceLink .linkBoxImg {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}
.serviceLink .linkBox:hover .linkBoxImg {
  transform: scale(1.2);
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}
.serviceLink .boxInr {
  position: relative;
  z-index: 2;
}
.moreBtn {
  position: absolute;
  bottom: 0px;
  right: 0;
  left: 0;
  display: block;
  margin: auto;
  z-index: 2
}
.moreBtn span {
  display: inline-block;
  position: relative;
  bottom: 20px;
  padding: 7px 30px;
  background: #fff;
  color: #25b6c3;
  font-weight: bold;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}

.moreBtn span::after {
  content: "";
  width: 0.8em;
  height: 0.8em;
  border-right: 1px solid #25b6c3;
  border-bottom: 1px solid #25b6c3;
  position: absolute;
  top: 13px;
  right: 10px;
  transform: rotate(-45deg);
}
.linkBox:hover .moreBtn span {
  background: #25b6c3;
  color: #fff;
  font-size: 17px;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}
.linkBox:hover .moreBtn span::after {
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
/*----------------------------------------
guideSection
----------------------------------------*/
.guideSection {
  min-width: 1200px;
  background: url("../n_img/bg_guide.png") no-repeat bottom center,
linear-gradient(to bottom, rgba(245,245,245,1) 0%,rgba(239,239,239,1) 33%,rgba(186,186,186,1) 100%,rgba(255,255,255,1) 100%);
background-size: cover;
}
.guideSection .sectionInr {
}
.guideBox {
  margin-bottom: 30px;
  padding: 30px 0;
  background: #e9f5ff;
  text-align: center;
}
.guideBox .guideBoxTtl {
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: bold;
}
.guideBox .feeList dt,
.guideBox .feeList dd {
  display: inline-block;
  font-weight: bold;
}
.guideBox .guideBoxTtl .noteTxt {
  font-size: 14px;
}

.dlBtn {
  display: inline-block;
  padding: 7px 30px;
  background: #0064b6;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.dlBtn:hover {
  background: #428fce;
  -webkit-transition: 0.2s linear;
  transition: 0.2s linear;
}
.dlBtn .inr {
  padding-right: 30px;
  background: url("../common/img/icon_dwonload.png") no-repeat center right;
}
.stepList {
  width: 530px;
  margin: 40px auto;
}
.stepList .stepListItem {
  position: relative;
  margin-bottom: 50px;
  border: 1px solid #0064b6;
  background: #fff;
}
.stepList .stepListItem::after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  bottom: -30px;
  display: block;
  width: 27px;
  height: 27px;
  border-right: 3px solid #0064b6;
  border-bottom: 3px solid #0064b6;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.stepList .stepListItem:last-child::after {
  display: none;
}
.stepList .stepListItem .stepBox {
  display: table;
  width: 100%;
}
.stepList .stepListItem .stepBox dt,
.stepList .stepListItem .stepBox dd {
  display: table-cell;
  vertical-align: middle;
}
.stepList .stepListItem .stepBox dt {
  width: 42px;
  background: #0064b6;
  color: #fff;
  font-size: 31px;
  font-weight: bold;
}
.stepList .stepListItem .stepBox dd {
  padding: 20px;
}
.stepList .stepListItem .stepBox .stepBoxTtl {
  color: #0064b6;
  font-size: 18px;
  font-weight: bold;
}
.stepTxt {
  margin-top: 20px;
}

/*----------------------------------------
aboutSection
----------------------------------------*/
.aboutSection {
  min-width: 1200px;
  background: url("../n_img/bg_about.png") no-repeat bottom center;
  color: #fff;
  background-size: cover;
}
.aboutSection .ttl,
.aboutSection .ttlType2 .en {
  color: #fff;
}
.aboutSection .ttlType2 .ttl::after {
  background: #fff;
}
.aboutSection .leadtxt {
  text-align: center;
}
.panelArea {
  margin: 50px 0 30px;
  background: #ebf1f6;
  color: #1fa5b1;
  font-weight: bold;
  letter-spacing: -0.4em;
}
.panel_3col .panel {
  display: inline-block;
  width: calc(100% / 3);
  min-height: 232px;
}
.panel_3col .panelTxt {
  padding-top: 100px;
}

.panel {
  padding: 25px;
  vertical-align: top;
  letter-spacing: normal;
  border-right: 1px dotted #1fa5b1;
  border-bottom: 1px dotted #1fa5b1;
}
.panel:last-child {
  border-right: none;
}
.panel.big {
  display: block;
  border: none;
}
.panel.big .panelTxt {
  padding: 30px 0px 30px 100px;
}

.panel.dom .panelTxt{background: url("../n_img/icon_dom.png") no-repeat center top;}
.panel.inter .panelTxt{background: url("../n_img/icon_inter.png") no-repeat center top;}
.panel.invest .panelTxt{background: url("../n_img/icon_invest.png") no-repeat center top;}
.panel.other .panelTxt{background: url("../n_img/icon_other.png") no-repeat left center;}

/*----------------------------------------
contactSection
----------------------------------------*/
.contactSection {
  min-width: 1200px;
  background: #f5f5f5;
  padding-bottom: 50px;
}
.contactSection .sectionInr > p{
  margin-top: 20px;
}

