@charset "utf-8";
/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

base

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
body {
  color: #31353b;
  font-size: 15px;
  line-height: 30px;
  -webkit-text-size-adjust: 100%;
  font-family: NotoSansJP, '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
  font-weight: 400;
  padding-top: 60px;
}
.min {
  font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.3em;
}
a:link {
  color: #31353b;
}
a:visited {
  color: #31353b;
}
a:hover {
  color: #31353b;
  text-decoration: none;
}
a:active {
  color: #31353b;
}
a{
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.content{
  position: relative;
}
.inner{
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

header

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
header .headerBlock{
  border-bottom:1px solid #dedede;
  height: 60px;
  width: 100%;
  position:fixed;
  top: 0;
  left: 0;
  right: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background: #fff;
  z-index: 10;
}
header .inner{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 60px;
}
/*------------------------------
header long
------------------------------*/
header .headerBlock.short{
  -webkit-transform: translateY(-60px);
  transform: translateY(-60px);
}
header .long .logo{
  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;
}
header .long .logo  img{
  width: 201px;
  height: auto;
  display: block;
}
header .long .rightBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: right;
  -ms-flex-pack: right;
  justify-content: right;
  font-size:14px;
}
header .long .rightBox .Nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  justify-content: left;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;  /* 子要素をflexboxにより中央に配置する */
  height: 60px;
  line-height: 1;
}
header .long .rightBox .Nav li {
  margin-left:20px;
}
header .long .rightBox .Nav li a {
  position: relative;
  padding-left: 15px;
}
header .long .rightBox .Nav li a:hover{
  color: #014099;
}
header .long .rightBox .Nav li a:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 4px transparent solid;
  border-bottom: 7px #014099 solid;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  position: absolute;
  left: 0;
  top: 5px;
}
header .long .rightBox .document {
  margin:0 13px 0 20px;
  height: 60px;
  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;
}
header .long .rightBox .document a{
  display: inline-block;
  background: #ff6565 url(../img/common/DocumentIcon03.png) no-repeat left 8px center;
  color: #fff;
  font-size: 14px;
  padding: 5px 6px 6px 27px;
  line-height: 1;
  letter-spacing: 1px;
}
header .long .rightBox .document a:hover{
  color: #ffffffb5;
}
header .long .rightBox dl {
  position: relative;
  border-left: 1px solid #dedede;
}
header .long .rightBox dl dt {
  height: 60px;
  width: 100px;
  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;
  position: relative;
  cursor: pointer;
  letter-spacing: 2px;
}
header .long .rightBox dl dt.open{
  letter-spacing: 1px;
}
header .long .rightBox dl dt:before{
  content: "";
  display:inline-block;
  width: 17px;
  height: 18px;
  background: url(../img/common/search_icon01.png) no-repeat left center;
  background-size: 17px auto;
  margin-right:8px; 
}
header .long .rightBox dl dt.open:before{
  background: url(../img/common/search_icon02.png) no-repeat left center;
  background-size: 17px auto;
}
header .rightBox dl dd {
  display: none;
  position: absolute;
  width: 400px;
  right: -1px;
  padding: 15px 20px 15px;
  background:#f5f5f5;
}
header .searcBox{
  position: relative;
  padding-left:30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
header .searcBox:before{
  content: "";
  display: block;
  width: 17px;
  height: 18px;
  background:url(../img/common/search_icon01.png) no-repeat;
  background-size: 17px auto;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top:-8px;
}
header .searcBox .searcText{
  width: 85%;
}
header .searcBox .searcBtn{
  cursor: pointer;
}
:placeholder-shown {color: #abaeb2;}
/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {color: #abaeb2; }
/* Firefox 18- */
:-moz-placeholder {color: #abaeb2; opacity: 1; }
/* Firefox 19+ */
::-moz-placeholder {color: #abaeb2; opacity: 1; }
/* IE 10+ */
:-ms-input-placeholder {color: #abaeb2; }
header .long .rightBox .btn {
  border-left:1px solid #dedede;
  border-right:1px solid #dedede;
  height: 60px;
  width: 150px;
  padding-left: 30px;
  line-height: 1;
  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;  /* 子要素をflexboxにより中央に配置する */
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column nowrap;
  flex-flow: column nowrap;
  background: url(../img/common/icon01.png) no-repeat left 20px center;
  background-size: 26px auto;
}
header .long .rightBox .btn span{
  font-size:11px;
  margin-top:5px;
}
header .long .rightBox .btn:hover{
  color: #fff;
  background: #014099 url(../img/common/icon01.png) no-repeat left 20px center;
  background-size: 26px auto;
}
@media (max-width: 875px) and (min-width: 769px) {
  header .long .logo {
    max-width: 170px;
  }
  header .long .rightBox .Nav li {
    margin-left: 15px;
  }
  header .long .rightBox .document {
    margin: 0 10px;
  }
  header .long .rightBox .document a {
    background: #ff6565 url(../img/common/DocumentIcon03.png) no-repeat left 6px center;
    font-size: 13px;
    padding: 5px 6px 6px 24px;
  }
  header .long .rightBox dl dt {
    width: 80px;
  }
  header .long .rightBox .btn {
    width: 120px;
    padding-left: 30px;
    background: url(../img/common/icon01.png) no-repeat left 10px center;
    background-size: 26px auto;
  }
}










/*------------------------------
header short
------------------------------*/
header.short .headerBlock.long{
  -webkit-transform: translateY(-60px);
  transform: translateY(-60px);
}
header.short .headerBlock.short{
  -webkit-transform: translateY(0px);
  transform: translateY(0px);
}
/* lowHeader  STERT */
header.lowHeader .headerBlock.long{
  display: none !important;
}
header.lowHeader .headerBlock.short{
  -webkit-transform: translateY(0px) !important;
  transform: translateY(0px) !important;
}
/* lowHeader  END */
header .short .logo{
  padding-top: 15px;
}
header .short .logo img{
  width: 39px;
  height: auto;
  display: block;
}
header .short .rightBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: right;
  -ms-flex-pack: right;
  justify-content: right;
  font-size:14px;
}
header .short .rightBox .mainNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  justify-content: left;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;  /* 子要素をflexboxにより中央に配置する */
  padding-right: 10px;
  height: 60px;
  line-height: 18px;
}
header .short .rightBox .mainNav li {
  margin-left:18px;
  position: relative;

}
header .short .rightBox .mainNav li a {
  position: relative;
  padding-left: 8px;
  display: block;
  letter-spacing: 0
}
header .short .rightBox .mainNav li a br{
  display: none;
}
header .short .rightBox .mainNav li a:hover{
  color: #014099;
}
header .short .rightBox .mainNav li a:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 4px transparent solid;
  border-bottom: 7px #014099 solid;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -4px;
}
header .short .rightBox .mainNav li ul {
  position: absolute;
  top: 38px;
  left: 50%;
  width: 220px;
  word-break: keep-all;
  margin:0 ;
  padding:0;
  display: none;
  margin-left: -110px;

}
header .short .rightBox .mainNav li ul li{
  border:none;
  border-bottom: 1px solid #5179b3;
  margin:0 ;
}
header .short .rightBox .mainNav li ul li:last-child{
  border-bottom: none;
}
header .short .rightBox .mainNav li ul li a{
  height: auto;
  background-color: rgba( 1, 64, 153, 0.92 );
  color: #fff;
  padding: 14px 20px 14px 13px;
  font-size: 14px;
  letter-spacing: 0.5px;
  text-align: center;
}
header .short .rightBox .mainNav li ul li a:before{
  content: none;
}
header .short .rightBox .mainNav li ul li:first-of-type a:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 6px solid #fff;
  border-right: 6px solid transparent;
  border-bottom: 0px solid transparent;
  border-left: 6px solid transparent;
  position: absolute;
  top: 0;
  margin-left: -6px;
  left: 50%;
}
header .short .rightBox .mainNav li ul li a:hover{
  background-color:rgba( 0, 79, 186, 0.92 );
  color: #fff;
}
header .rightBox .subNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  justify-content: left;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;  /* 子要素をflexboxにより中央に配置する */
  border-right:1px solid #dedede;
  height: 60px;
  padding-right:40px;
  line-height: 1;
}
header .rightBox .subNav li{
  margin-left:28px;
}
header .rightBox .subNav li.icon01{
  margin-left:11px;
}
header .rightBox .subNav li.icon01 img{
  width:10px;
  height: auto;
}
header .rightBox .subNav li.icon02 img{
  width:18px;
  height: auto;
}
header .rightBox .subNav li.icon03 img{
  width:15px;
  height: auto;
}
header .short .rightBox dl {
  position: relative;
}
header .short .rightBox dl dt {
  height: 60px;
  width: 60px;
  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;
  cursor: pointer;
}
header .short .rightBox dl dt img{
  width: 17px;
  height: auto;
}
header .short .rightBox dl dt img.close_btn{
  display: none;
}
header .short .rightBox dl dt.open img.search_btn{
  display: none;
}
header .short .rightBox dl dt.open img.close_btn{
  display: inline-block;
}
header .short .rightBox .btn {
  border-left:1px solid #dedede;
  border-right:1px solid #dedede;
  height: 60px;
  width: 60px;
  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;  /* 子要素をflexboxにより中央に配置する */
}
header .short .rightBox .btn img{
  width: 26px;
  height: auto;
}
header .short .rightBox .btn:hover{
  background: #014099;
}
header .short .rightBox .btn:hover img{
  opacity: 1;
}
/*------------------------------
header spMenu
------------------------------*/
.spMenu {
  display: none;
}
@media (max-width: 945px) and (min-width: 769px) {
  header .short .rightBox .mainNav {
    padding-right: 0;
    font-size: 13px;
  }
  header .short .rightBox .mainNav li {
    margin-left: 15px;
  }
  header .short .rightBox .mainNav li a {
    padding-left: 10px;
  }
  header .short .rightBox .mainNav li a:before {
    margin-top: -5px;
  }
  header .rightBox .subNav {
    padding-right: 15px;
  }
  header .rightBox .subNav li {
    margin-left: 15px;
  }
  header .short .rightBox dl dt {
    width: 50px;
  }
  header .short .rightBox .btn {
    width: 50px;
  }
}




/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

sideNav

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
.sideNav {
  width: 170px;
  height: auto;
  position:fixed;
  right: 0;
  top: 350px;
  border-top: 1px solid #f44c4c;
  z-index: 5;
  transition: 0.3s;
}
.sideNav.open{
  -webkit-transform: translateX(130px);
  transform: translateX(130px);
}
.sideNav.open:hover{
  -webkit-transform: translateX(0px);
  transform: translateX(0px);
}
.sideNav li a {
  display: block;
  position: relative;
  height: 40px;
  line-height: 40px;
  padding-left:55px;
  border-bottom: 1px solid #014099;
  background: #fff;
  letter-spacing: -0.25px;
}
.sideNav li.icon01 a{
  border-bottom: 1px solid #f44c4c;
  color: #f44c4c;
}
.sideNav li a span{
  display: block;
  position: relative;
}
.sideNav li a:before{
  content: "";
  display: block;
  width: 42px;
  height: 39px;
  border-bottom: 1px solid #4e7ab8;
  position: absolute;
  left: 0;
  top: 0;
  z-index:1;
}
.sideNav li.icon01 a:before{
  background:#f37171 url(../img/common/side_icon01.png) no-repeat center;
  background-size: 14px auto;
}
.sideNav li.icon02 a:before{
  background:#014099 url(../img/common/side_icon02.png) no-repeat center;
  background-size: 16px auto;
}
.sideNav li.icon03 a:before{
  background:#014099 url(../img/common/side_icon03.png) no-repeat center;
  background-size: 20px auto;
}
.sideNav li.icon04 a:before{
  background:#014099 url(../img/common/side_icon04.png) no-repeat center;
  background-size: 18px auto;
}
.sideNav li a span:before {
  display: inline-block;
  content: "";
  width: 10px;
  height: 1px;
  background: #014099;
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: 0px;
}
.sideNav li a span:after {
  display: inline-block;
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1px solid #014099;
  border-right: 1px solid #014099;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  line-height: 1;
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: -3px;
}
.sideNav li a span:before,
.sideNav li a span:after{
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.sideNav li.icon01 a span:before {
  background: #f44c4c;
}
.sideNav li.icon01 a span:after {
  border-top: 1px solid #f44c4c;
  border-right: 1px solid #f44c4c;
}
.sideNav li a:hover{
  background:#f2f7ff;
  color: #014099;
}
.sideNav li.icon01 a:hover{
  background:#fff4f4;
  color: #f44c4c;
}
.sideNav li a:hover span:before,
.sideNav li a:hover span:after{
  opacity: 1;
  right: 10px;
}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

bottomNav

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
.bottomNav {
  display: none;
}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

pageTop

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
#pageTop {
  right: 60px;
  width: 60px;
  height: 60px;
  background:#3264ab;
  border-radius: 30px;
  z-index: 10;
}
#pageTop:before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  line-height: 1;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -9px;
  margin-top: -3px;
}
#pageTop:hover:before{
  opacity: 0.6;
}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

footer

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
footer {
  background: #f5f5f5;
  padding-top:25px;
}
footer .inner{
  padding-bottom: 40px;
}
footer ul.footerBanner{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 30px;
}
footer ul.footerBanner li a img{
  display: block;
}
footer ul.footerNav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 1;
  margin-bottom:30px;
}
footer ul.footerNav li {
  padding: 0 10px;
  position: relative;
}
footer ul.footerNav li::after {
  content: "";
  height: 15px;
  display: block;
  width: 1px;
  background: #868a90;
  position: absolute;
  top: 0;
  right: -13px;
}
@media (max-width: 1000px) and (min-width: 769px) {
  footer ul.footerNav li {
    padding: 0 15px;
  }
  footer ul.footerNav li::after {
    height: 100%;
    right: 0;
  }
}
footer ul.footerNav li:last-child::after{
  content: none;
}
footer ul.footerNav li a {
  color: #4d545e;
}
footer .connecting {
  background: #fff;
  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;
  padding:30px 10px; 
  line-height: 1;
  margin-bottom:20px;
}
footer .connecting .box01 {
  margin-right: 10px;
  padding-left: 75px;
  background: url(../img/common/icon11.png) no-repeat left center;
  background-size: 60px auto;
  text-align: right;
}
footer .connecting .box01 dt {
  margin-bottom:10px;
}
footer .connecting .box01 dt .text01 {
  font-size:20px;
}
footer .connecting .box01 dt .text02 {
  font-size:40px;
}
footer .connecting .box01 dd {
  font-size:12px;
}
footer .connecting .box02 {
  margin-left: 50px;
  padding-left: 75px;
  background: url(../img/common/icon15.png) no-repeat left center;
  background-size: 60px auto;
}
footer .connecting .box02 dt {
  font-size:17px;
  margin-bottom:10px;
  padding-top: 3px;
}
footer .connecting .box02 dt span {
  display: block;
  font-size:15px;
  padding-bottom: 3px;
}
footer .connecting .box02 dd {
  font-size:12px;
}

footer .bottomText {
  font-size:12px;
  color: #aeb3bb;
  text-align: center;
}
footer .footerBottom  {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  padding: 6px 0 0;
}
footer .footerBottom ul.sns{
  display: flex;
  align-items: center;
}
footer .footerBottom ul.sns li.footerIcon02{margin-left: 18px;}
footer .footerBottom ul.sns li a{display: block;}
footer .footerBottom ul.sns li.footerIcon01 a{width: 42px;}
footer .footerBottom ul.sns li.footerIcon02 a{width: 73px;}
footer .footerBottom ul.sns li.footerIcon02{margin-left: 18px;}
footer .footerBottom ul.sns li.footerIcon03{margin-left: 18px;}
footer .footerBottom ul.sns li.footerIcon03 img{height: 74px; width: auto;}
footer .footerBottom .copy {
  color: #aeb3bb;
  font-size: 11px;
  letter-spacing: 1.6px;
  padding: 17px 0 0;
}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

パンクズ

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
.pnkz{
  margin: 40px auto 75px;
}
.pnkz li{
  display: inline;
  color:#bdbdbd;
  font-size: 12px;
}
.pnkz li.top a{
  background:url(../img/common/icon02.png) no-repeat;
  background-size: 19px 17px;
  padding-left: 25px;
}
.pnkz li:nth-child(n+2):before{
  content: "";
  display: inline-block;
  width: 6px;
  height: 1px;
  background: #000;
  margin: 0 8px 0 5px;
  vertical-align: middle;
}
.pnkz li a:hover{
  color:#bdbdbd;
}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

共通パーツ -> タブ

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
.allArea .contentArea{
  display: none;
}
/*------------------------------
cate
------------------------------*/
.allArea .tabArea.cate {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom:25px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.allArea .tabArea.cate li {
  margin:0 5px 25px;
  border: 1px solid #dedede;
  color: #31353b;
  background: #fff;
  padding:4px 10px;
  border-radius: 5px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  cursor: pointer;
}
.allArea .tabArea.cate li.select{
  color: #fff;
  background: #014099;
  border-color: #014099;
}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

共通パーツ -> 矢印

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
.arrow:before {
  display: inline-block;
  content: "";
  width: 10px;
  height: 1px;
  background: #014099;
  position: absolute;
}
.arrow:after {
  display: inline-block;
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1px solid #014099;
  border-right: 1px solid #014099;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  line-height: 1;
  position: absolute;
}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

共通パーツ -> ボタン

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*------------------------------
btn01
------------------------------*/
.btn01 {
  display: block;
  margin:30px auto;
  max-width:380px;
  width: 100%;
  position: relative;
  background:#01368d;
  letter-spacing:1px;
  color: #fff;
  padding-right:60px;
  text-align:center;
  border:2px solid #01368d;
}
.btn01:before {
  width: 16px;
  height: 2px;
  background:#fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  top: 50%;
  right: 22px;
  margin-top: -1px;
}
.btn01:after{
  width: 10px;
  height: 10px;
  border-width: 2px;
  border-color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  top: 50%;
  right: 22px;
  margin-top: -6px;
}
_:-ms-lang(x), .btn01:after {
  top: 23.5px;
}
.btn01 span{
  color: #fff;
  background: #014099;
  display: block;
  padding: 18px 8px 19px 15px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  letter-spacing: 2px;
}
_:-ms-lang(x), .btn01 span {
  padding:21px 10px 16px;
}
.btn01:hover span {
  color: #01368d;
  background: #fff;
}
.btn01:hover:before {
  width: 22px;
  right: 18px;
}
.btn01:hover:after{
  right: 18px;
}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

共通パーツ -> 見出し

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*------------------------------
topTitle
------------------------------*/
.topTitle{
  color:#014099;
  font-size:26px;
  line-height: 138%;
  text-align:center;
  letter-spacing: 1px;
  margin-bottom:60px;
}
.topTitle:before,
.topTitle:after{
  content: "";
  display: inline-block;
  width: 37px;
  height: 14px;
}
.topTitle:before{
  background:url(../img/common/tti_icon01.png);
  background-size: 37px 14px;
  margin-right:20px;
}
.topTitle:after{
  background:url(../img/common/tti_icon02.png);
  background-size: 37px 14px;
  margin-left:20px;
}
/*------------------------------
pageTitle
------------------------------*/
.pageTitle{
  color:#014099;
  font-size:30px;
  line-height: 138%;
  letter-spacing: 0.5px;
  margin-bottom:60px;
}
.pageTitle:before {
  display: inline-block;
  content: "";
  width: 20px;
  height: 20px;
  border-top: 1px solid #014099;
  border-right: 1px solid #014099;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  line-height: 1;
  margin-right:15px;
}
/*------------------------------
pageTitle02
------------------------------*/
.pageTitle02 {
  color: #014099;
  position: relative;
  font-size: 30px;
  margin:0 0 45px;
}
.pageTitle02:after{
  content: "";
  display: block;
  width: 80px;
  height: 1px;
  position: absolute;
  left: 0px;
  bottom: -15px;
  background:#014099; 
}
/*------------------------------
headlineType01
------------------------------*/
.headlineType01 {
  color: #014099;
  position: relative;
  font-size: 18px;
  margin:35px 0 25px;
}
.headlineType01:first-child {
  margin-top:0;
}
.headlineType01:after{
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  position: absolute;
  left: 0px;
  bottom: -10px;
  background:#014099; 
}
/*------------------------------
headlineType02
------------------------------*/
.headlineType02{
  color:#014099;
  font-size:25px;
  line-height: 138%;
  letter-spacing: 1px;
  margin-bottom:60px;
}
.headlineType02:before{
  content: "";
  display: inline-block;
  width: 37px;
  height: 14px;
  background:url(../img/common/tti_icon01.png);
  background-size: 37px 14px;
  margin-right:10px;
  margin-bottom: 2px;
}
/*------------------------------
headlineType03
------------------------------*/
.headlineType03 {
  border-bottom: 1px solid #014099;
  margin-bottom: 30px;
}
.headlineType03 span{
  color: #fff;
  background: #014099;
  padding: 0 25px;
  display: inline-block;
  position: relative;
  font-size: 18px;
  line-height: 50px;
  height: 50px;
}
.headlineType03 span:after{
  content: "";
  display: block;
  position: absolute;
  right: -19px;
  bottom: 0px;
  margin-top: -4px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 0 0 20px;
  border-color: transparent transparent transparent #014099;
}
/*------------------------------
headlineType04
------------------------------*/
.headlineType04{
  font-size:24px;
  color: #014099;
  line-height: 40px;
  padding-left: 65px;
  position: relative;
  margin-bottom:30px;
}
.headlineType04:before{
  content: "";
  display: block;
  height: 1px;
  width:50px;
  background:#014099;
  position:absolute;
  top: 20px;
  left: 0;
}
strong{
  font-weight: 700;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

共通パーツ -> サムネイル

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*------------------------------
hoverThumbnailMore
------------------------------*/
.hoverThumbnailMore {
  overflow: hidden;
  position: relative;
  width: 250px;
  height: 185px;
}
.hoverThumbnailMore img{
  position: absolute;
  top: 50%;
  left: 50%;
  margin: auto;
  width: 100%;
  height: auto;
  transform: scale(1) translate(-50%, -50%);
}
a:hover .hoverThumbnailMore img{
  transform: scale(1.1) translate(-45%, -45%);
}
.hoverThumbnailMore .more {
  color: #fff;
  position:absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba( 1, 64, 153, 0.75 );
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
}
a:hover .hoverThumbnailMore .more{
  opacity: 1;
}
.hoverThumbnailMore .more span{
  position:absolute;
  top: 45%;
  left: 50%;
  text-align:center;
  display: block;
  -webkit-transform : translate(-50%,-50%);
  transform : translate(-50%,-50%);
}
.hoverThumbnailMore .more span:before{
  background: #fff;
  top: 33px;
  left: 50%;
  margin-left: -15px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.hoverThumbnailMore .more span:after{
  border-color: #fff;
  top: 30px;
  left: 50%;
  margin-left: -10px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
a:hover .hoverThumbnailMore .more span:before{
  margin-left: -5px;
}
a:hover .hoverThumbnailMore .more span:after{
  margin-left: 0px;
}
/*------------------------------
hoverThumbnailUp
------------------------------*/
.hoverThumbnailUp {
  position: relative;
  overflow: hidden;
}
.hoverThumbnailUp img {
  -webkit-transition: all 0.5s cubic-bezier(0.435, 0.080, 0.080, 1.000);
  transition: all 0.5s cubic-bezier(0.435, 0.080, 0.080, 1.000);
  display: block;
  margin: 0 auto;
}
.hoverThumbnailUp .iconText {
  color: #fff;
  position:absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba( 75, 104, 146, 0.5 );
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:hover .hoverThumbnailUp .iconText {
  background-color: rgba( 1, 64, 153, 0.5 );
}
.hoverThumbnailUp .iconText:before{
  width: 16px;
  height: 2px;
  background:#fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  bottom: 45px;
  left: 50%;
  margin-left: -15px;
  opacity: 0;
}
.hoverThumbnailUp .iconText:after{
  width: 10px;
  height: 10px;
  border-width: 2px;
  border-color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  bottom: 40px;
  left: 50%;
  margin-left: -10px;
  opacity: 0;
}
.hoverThumbnailUp .iconText:before{
  bottom: 40px;
}
.hoverThumbnailUp .iconText:after{
  bottom: 35px;
}
a:hover .hoverThumbnailUp .iconText:before{
  margin-left: -5px;
  opacity: 1;
}
a:hover .hoverThumbnailUp .iconText:after{
  margin-left: 0px;
  opacity: 1;
}
.hoverThumbnailUp .iconText span {
  display: block;
  width: 100%;
  text-align:center;
  font-size: 22px;
  line-height: 30px;
  position:absolute;
  top: 50%;
  left:50%;
  -webkit-transform : translate(-50%,-50%);
  transform : translate(-50%,-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:hover .hoverThumbnailUp .iconText span{
  top: 40%;
}


/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

共通パーツ -> 各ページパーツ

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*------------------------------
lecturerBox（人物紹介）
------------------------------*/
.lecturerBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom:60px;
}
.lecturerBox:last-child{
  margin-bottom:0;
}
.lecturerBox .photo {
  width: 250px;
}
.lecturerBox .text{
  width: calc( 100% - 280px );
}
.lecturerBox .text dl {
  border-left:5px solid #014099;
  padding:5px 0 5px 20px;
  letter-spacing: 0.5px;
  margin-bottom:20px;
}
.lecturerBox .text dl dt {
  font-size:20px;
}
.lecturerBox .text dl dd {
  font-size:15px;
}
.lecturerBox .text p.read{
  color: #014099;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom:10px;
}
.cat{margin:20px 0;}
.cat span {
  margin: 0 5px 0 0;
  display: inline-block;
}
.cat span:last-child {margin-right:0px}
.cat span a {
  display: block;
  border: 1px solid #dedede;
  color: #31353b;
  background: #fff;
  padding: 4px 10px;
  border-radius: 5px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.cat span a:hover {
  color: #fff;
  background: #014099;
  border-color: #014099;
}

/*------------------------------
courseList（受付中講座）
------------------------------*/
.courseList {
  display: -ms-grid;
  display: grid;
  width: 100%;
  -ms-grid-columns: 4fr 1fr;
  grid-template-columns: 4fr 1fr;
  /* --ms-grid-rows: 1fr 1fr;*/
  /* -grid-template-rows: 1fr 1fr;*/
  border:1px solid #dedede;
  background: #fff;
  margin-bottom:20px;
  position: relative;
}
/*
.courseList:last-child {
  margin-bottom:0;
}
*/
.courseList .title,
.courseList .linkButton,
.courseList .box{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  justify-content: left;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding:10px 25px;
}
.courseList .title,
.courseList .box{
  min-height: 55px;
}
.courseList .box{
  -ms-grid-column: 1;
  grid-column-start: 1;
  grid-column-end: 2;
  -ms-grid-row: 2;
  grid-row: 2;
  margin: 0;
}
/*popUp*/
.courseList .popUp{
  position: absolute;
  top: 8px;
  left: 25px;
  z-index: 2;
}
/* .courseList .popUp::before{
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 11px 10px 0;
  border-color: transparent #e93f6f transparent transparent;
  position: absolute;
  bottom: -7px;
  left: 50%;
  margin-left:-5px;
}
.courseList .popUp::after{
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 8px 7px 0;
  border-color: transparent #fff transparent transparent;
  position: absolute;
  bottom: -4px;
  left: 50%;
  margin-left:-3px;
} */
.courseList .popUp span{
  padding: 0 5px;
  line-height: 19px;
  font-size: 12px;
  height: 19px;
  display: inline-block;
}
.courseList .popUp span:before{
  font-weight: 700;
  margin-right:5px;
}
/*popUp各設定*/
/*NEW*/
.courseList .popUp.type01 span{
  background-color: #FFEBC7;
}
/*残席わずか*/
.courseList .popUp.type02 span{
  background-color: #F5D8CF;
}
/*満席キャンセル待ち*/
.courseList .popUp.type03 span{
  background-color: #F5F5F5;
}
.courseList .popUp.type03 span:before{
  content: "×";
}
/*〆切りました*/
.courseList .popUp.type04 span{
  background-color: #F5F5F5;
}
/*受付開始前*/
.courseList .popUp.type05 span{
  background: #dff2cd;
}

/*
.courseList .popUp.type01 span{
  border-color: #e93f6f;
}
.courseList .popUp.type01 span:before{
  content: "○";
  color: #e93f6f;
}
.courseList .popUp.type02{
  left: -28px;
}
.courseList .popUp.type02::before{
  border-color: transparent #e3a331 transparent transparent;
}
.courseList .popUp.type02 span{
  border-color: #e3a331;
}
.courseList .popUp.type02 span:before{
  content: "△";
  color: #e3a331;
}
.courseList .popUp.type03{
  left: -54px;
}
.courseList .popUp.type03::before{
  border-color: transparent #919191 transparent transparent;
}
.courseList .popUp.type03 span{
  border-color: #919191;
}
.courseList .popUp.type03 span:before{
  content: "×";
  color: #919191;
}
.courseList .popUp.type04{
  left: -34px;
}
.courseList .popUp.type04::before{
  border-color: transparent #014099 transparent transparent;
}
.courseList .popUp.type04 span{
  border-color: #014099;
}
.courseList .popUp.type04 span:before{
  content: "×";
  color: #014099;
}
.courseList .popUp.type05{
  left: -15px;
}
.courseList .popUp.type05::before{
  border-color: transparent #01994e transparent transparent;
}
.courseList .popUp.type05 span{
  border-color: #01994e;
}
@media screen and (max-width: 1130px){
  .courseList .popUp.type01,
  .courseList .popUp.type02,
  .courseList .popUp.type03,
  .courseList .popUp.type04,
  .courseList .popUp.type05{
    left: 0
  }
}
*/
/*title*/
.courseList .title {
  border-bottom:1px solid #dedede;
  padding-right: 310px;
  position: relative;
}
.courseList .popUp + .title{
  padding-top: 37px;
}
.courseList .title .name {
  font-size: 20px;
  font-weight: bold;
}
.courseList .title .name span,
.courseList .title .name a{
  padding: 0 10px;
  line-height: 24px;
  height: 26px;
  border-radius: 13px;
  margin-right: 10px;
  color: #ffffff;
  border: 1px solid #014099;
  font-size:13px;
  font-weight:400;
  display: inline-block;
  vertical-align: text-bottom;
  background-color:#014099;
}
.courseList .title .name a:hover{
  color: #fff;
  background:#014099;
}
.courseList .title .name span.intro{
  border: none;
  padding: 0 5px 0 0;
  line-height: 1.6;
  color: #014099;
  height: auto;
  border-radius: 0;
  margin: 5px 0 3px;
  background-color:#ffffff;
}
.courseList .title .name span{
  display: none;
}
.courseList .title .categoryBox{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: right;
  -ms-flex-pack: right;
  justify-content: right;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top:-13px;
}
.courseList .title .categoryBox span{
  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;
  min-width: 96px;
  height: 26px;
  padding:0 10px;
  background:#bdbdbd;
  color: #fff;
  line-height: 1;
  font-size: 13px;
  margin-left:2px;
}
.courseList .title .categoryBox span:before {
  content: "";
  display: inline-block;
  margin-right: 5px;
}
.courseList .title .category01:before {
  background: url(../img/common/icon21.png) no-repeat left center;
  background-size: 100% auto;
  width: 18px;
  height: 15px;
}
.courseList .title .category02:before {
  background: url(../img/common/icon26.png) no-repeat left center;
  background-size: 100% auto;
  width: 19px;
  height: 12px;
}
.courseList .title .category03:before {
  background: url(../img/common/icon27.png) no-repeat left center;
  background-size: 100% auto;
  width: 18px;
  height: 17px;
}
/*linkButton*/
.courseList .linkButton {
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  grid-row: 1 / 3;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2 / 3;
  border-left:1px solid #dedede;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column nowrap;
  flex-flow: column nowrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 10px 15px;
}
.courseList .linkButton a{
  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;
  height: 40px;
  padding:5px;
  border-radius: 5px;
  font-size: 14px;
  width: 100%;
}
.courseList .linkButton .type01 {
  margin-bottom:5px;
  background:#f2f7ff;
  color:#014099;
  border: 1px solid #014099;
}
.courseList .linkButton .type01:before{
  content: "";
  display: inline-block;
  background: url(../img/common/icon22.png) no-repeat left center;
  background-size: 100% auto;
  margin-right: 5px;
  width: 18px;
  height: 17px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.courseList .linkButton .type02 {
  background:#014099;
  color:#fff;
  border: 1px solid #014099;
}
.courseList .linkButton .type02:before{
  content: "";
  display: inline-block;
  background: url(../img/common/icon23.png) no-repeat left center;
  background-size: 100% auto;
  margin-right: 11px;
  width: 12px;
  height: 12px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.courseList .linkButton .type01:hover {
  background:#014099;
  color:#fff;
}
.courseList .linkButton .type01:hover:before{
  background: url(../img/common/icon09.png) no-repeat left center;
  background-size: 100% auto;
}
.courseList .linkButton .type02:hover {
  background:#f2f7ff;
  color:#014099;
}
.courseList .linkButton .type02:hover:before{
  background: url(../img/common/bottom_icon02.png) no-repeat left center;
  background-size: 100% auto;
}
/*box*/
.courseList .box dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  justify-content: left;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 13px;
}
.courseList .box dl dt{
  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;
  padding:0 10px;
  background:#f5f5f5;
  line-height: 1;
  height: 26px;
  border-radius: 13px;
  margin-right:10px;
}
.courseList .box dl dd {
  margin-right:15px;
}
/*spCategory*/
.courseList .spCategory{
  display: none;
}
/*------------------------------
アンカーリンク
------------------------------*/
.anchorLink {
  margin-bottom: 95px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  counter-reset:ol_btn;
}
.anchorLink.pageIndex {
  margin-top:75px;
}
.anchorLink > li {
  border:1px solid #dedede;
  border-right:none;
  max-width: 246px;
  width: 100%;
  position: relative;
}
.anchorLink > li:last-child{
  border-right:1px solid #dedede;
}
.anchorLink > li > a {
  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;
  position: relative;
  background:#fff; 
  width: 100%;
  height: 58px;
  color: #014099;
}
.anchorLink > li > a:before{
  counter-increment: ol_btn;
  content: counter(ol_btn);
  position: absolute;
  top: -5px;
  left: 8px;
  color: #014099;
  font-size: 30px;
  line-height: 1;
  font-weight:700;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.anchorLink > li > a:after{
  content: "";
  display: block;
  position: absolute;
  left:50%;
  bottom: -30px;
  background: url(../img/common/icon20.png) no-repeat left center;
  background-size: 100% auto;
  width: 22px;
  height: 21.5px;
  margin-left:-11px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  opacity: 0;
}
@media (min-width: 769px) {
  .anchorLink > li:hover .anchorLinkMore{
    visibility: visible;
    opacity: 1;
  }
  .anchorLinkMore li:not(:last-child){
    border-bottom: 1px solid #4c74b1;
  }
  .anchorLinkMore ul li a:hover {
    background:#014099; 
  }
}
/*
.anchorLink > li > a:hover {
  background:#014099; 
  color: #fff;
}
.anchorLink > li > a:hover:before{
  color: #fff;
}
.anchorLink > li > a:hover:after{
  bottom: -40px;
  opacity:1;
}
*/
.anchorLinkMore{
  background: #1b53a3;
  position: absolute;
  left: 0;
  top: 59px;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  transition: opacity ease 0.5s;
}
.anchorLinkMore ul li a{
  display: block;
  text-align: center;
  padding: 5px;
  color: #fff;
  font-weight: bold;
  font-size: 12px;
  letter-spacing: 0.1em;
}
/*------------------------------
anchorBox
------------------------------*/
.anchorBox.graybox{
  background: url(../img/common/back01.gif);
  margin: 130px 0 0;
  padding-bottom: 130px;
}
.anchorBox.pageIndex #anchorBox01 .courseList:first-of-type {
  margin-top: 0 !important;
}
.anchorBox article{
  padding-top:70px;
  margin-top:-70px;
}
section.anchorBox article:last-child {
    margin-bottom: 130px;
}
section.anchorBox.graybox article:last-child {
    margin-bottom: 0;
}
.anchorBox article .articleWrapper{
  padding:0 0 60px;
}
.anchorBox article:last-child .articleWrapper {
  padding: 0;
}
.anchorBox article.backcolor{
  padding-top:60px;
  margin-top:-60px;
  margin-bottom:60px;
}
.anchorBox article.backcolor .articleWrapper{
  background:url(../img/common/back01.gif);
  padding-top: 60px;
}
/*pageIndex*/
/*
.anchorBox article {
  padding-bottom: 15px;
}
*/
/*ttl（見出し01）*/
.anchorBox.pageIndex article .ttl{
  color: #fff;
  background:#ee8485;
  padding: 5px 45px 4px;
  position: relative;
  font-size: 18px;
  font-weight: 700;
  border-radius: 20px;
  letter-spacing: 1px;
  margin-bottom:30px;
}
.anchorBox.pageIndex article .ttl.color01{
  background:#30a6df;
}
.anchorBox.pageIndex article .ttl:before{
  content:"";
  display: block;
  width:10px;
  height: 10px;
  border-radius: 20px;
  border:5px solid #fff;
  position: absolute;
  left: 15px;
  top: 10px;
}
.anchorBox.pageIndex article .ttl span{
  padding: 0 0 0 30px;
  display: inline-block;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0px;
}
/*ttlCourse（見出し02）*/
.anchorBox.pageIndex article .ttlCourse{
  color:#30a6df;
  position: relative;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom:25px;
  padding-left: 45px;
}
.anchorBox.pageIndex article .ttlCourse:before{
  content: "";
  display: block;
  height: 33px;
  width:33px;
  position: absolute;
  left: 0;
  top: -2px;
}
.anchorBox.pageIndex article .ttlCourse.course01:before{
  background: url(../img/course/icon01.png) no-repeat;
  background-size: 100% auto;
}
.anchorBox.pageIndex article .ttlCourse.course02:before{
  background: url(../img/course/icon02.png) no-repeat;
  background-size: 100% auto;
}
.anchorBox.pageIndex article .ttlCourse.course03:before{
  background: url(../img/course/icon03.png) no-repeat;
  background-size: 100% auto;
}
.anchorBox.pageIndex article .ttlCourse.course04:before{
  background: url(../img/course/icon04.png) no-repeat;
  background-size: 100% auto;
}
.anchorBox.pageIndex article .ttlCourse.course05:before{
  background: url(../img/course/icon05.png) no-repeat;
  background-size: 100% auto;
}
.anchorBox.pageIndex article .ttlCourse.course06:before{
  background: url(../img/course/icon06.png) no-repeat;
  background-size: 100% auto;
}

.anchorBox.pageIndex article .readTextCourse{
  margin-bottom: 30px;
}

.anchorBox.pageIndex article .ttl02{
  font-weight: bold;
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1.38px;
  color: #024099;
  border-bottom: 2px solid #024099;
  padding: 90px 0 20px;
  margin: -80px 0 30px;
}


/*------------------------------
リンクボックス
------------------------------*/
.photoBtnBox {
    margin:35px auto 25px;
    width: 80%;
    display: flex;
    justify-content:flex-start;
    flex-wrap:nowrap;
}
.photoBtnBox .photo {
    max-width: 330px;
    width:100%;
}
.photoBtnBox .photo img {
    height: auto;
    padding-right: 20px;
}
.photoBtnBox .text{
    width:100%;
}
.photoBtnBox .text ul {
    margin-bottom: 15px;
}
.photoBtnBox .text ul li {
    text-indent: -15px;
    padding-left: 15px;
    line-height: 150%;
    margin-bottom: 10px;
}
.photoBtnBox .text ul li:last-child {
    margin-bottom: 0;
}
.photoBtnBox .text ul li:before {
    content: "・";
}
.photoBtnBox .text p {
    margin-bottom: 15px;
}
.photoBtnBox .text .btn01 {
    margin-bottom: 0;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

共通パーツ -> スライド

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*------------------------------
共通設定
------------------------------*/
.dotsSlide.slick-dotted.slick-slider {
  margin-bottom: 0;
}
/* Arrows */
.dotsSlide .slick-prev,
.dotsSlide .slick-next {
    display:none !important;
}
/* Dots */
.dotsSlide .slick-dots{
  height: 12px;
  bottom: -35px;
}
.dotsSlide .slick-dots li{
  width: 30px;
  height: 12px;
  margin: 0;
}
.dotsSlide .slick-dots li button{
  width: 30px;
  height: 12px;
  padding: 0px;
}
.dotsSlide .slick-dots li button:before{
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  opacity: 1;
  background:#bcc6d4;
  border-radius: 15px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.dotsSlide .slick-dots li.slick-active button:before{
  background:#014099;
  width: 12px;
  height: 12px;
  opacity:1;
}
/*------------------------------
newsIntroduction
------------------------------*/
.newsIntroduction .box {
  background: #fff;
  position: relative;
}
.newsIntroduction .slick-list{
  padding-top: 5px;
}
.newsIntroduction .box a{
  display: block;
}
.newsIntroduction .box .category {
  min-width: 83px;
  font-size: 12px;
  color: #fff;
  text-align: center;
  letter-spacing: 1.5px;
  line-height: 1;
  position: absolute;
  top: -5px;
  left: 10px;
  padding: 5px;
  z-index: 1;
}
.newsIntroduction .box .category:after{
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 5px transparent solid;
  border-right: 5px solid;
  -webkit-transform: rotate(90deg);
  transform: rotate(-45deg);
  position: absolute;
  right: -5px;
  top: 2px;
}

/*通学講座*/
.newsIntroduction .box .category.color01 {background: #30a6df;}
.newsIntroduction .box .category.color01:after{border-right-color: #0077ad;}
.articleCcontent .category.color01 {background: #30a6df;}

/*お知らせ*/
.newsIntroduction .box .category.color02 {background: #835b9c;}
.newsIntroduction .box .category.color02:after{border-right-color: #60317d;}
.articleCcontent .category.color02 {background: #835b9c;}

/*通信講座*/
.newsIntroduction .box .category.color03 {background: #31b498;}
.newsIntroduction .box .category.color03:after{border-right-color: #209179;}
.articleCcontent .category.color03 {background: #31b498;}

.newsIntroduction .box .text{
  padding:15px 20px;
}
.newsIntroduction .box .text .title {
  font-size:17px;
  line-height: 26px;
}
.newsIntroduction .box:hover .text .title{
  color: #014099;
}
.newsIntroduction .box .time {
  font-size:12px;
  color: #bdbdbd;
  line-height: 26px;
}
/*------------------------------
humanIntroduction
------------------------------*/
.humanIntroduction{
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}
.humanIntroduction .box {
  position: relative;
}
.humanIntroduction .box a{
  display: block;
}
.humanIntroduction .box .hoverThumbnailMore {
  max-width: 180px;
  margin:0 auto;
}
.humanIntroduction .box p{
  text-align:center;
}
/*スライドなし*/
.humanIntroduction.noSlide{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  justify-content: left;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.humanIntroduction.noSlide .box {
  margin:0 25px 25px 0;
  width: calc( 20% - 20px );
}
.humanIntroduction.noSlide .box:nth-child(5n){
  margin-right:0;
}
.humanIntroduction.noSlide .box p {
  text-align: center;
  margin-top: 10px;
}
.humanIntroduction.noSlide .box p.sub,
.humanIntroduction .box p.sub {
  max-width: 180px;
  font-size: 13.5px;
  line-height: 20px;
  text-align: left;
  margin: 5px auto 0;
}

/*2カラムbtn*/
.content + .school_btn{
  background: url(../img/common/back01.gif);
  margin: -70px 0 0;
  padding-bottom: 60px;
}
.content + .school_btn a{
  margin: 0 auto;
}

/*pickBox*/
.pickBox{
  border: 1px solid #F01409;
  max-width: 680px;
  margin: 20px auto 0;
  padding: 15px 20px;  
}

/*ボタンボックス*/
.bottomLinkBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin: 70px auto 80px;
}
.bottomLinkBox li{
  max-width: 350px;
  width: 100%;
  height: 60px;
  margin: 0 5px;
  position: relative;
}
.bottomLinkBox li a {
  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;
  width: 100%;
  height: 100%;
  font-size: 20px;
  letter-spacing: 2px;
  color: #fff;
  padding-right: 15px;
}
.bottomLinkBox li a:hover {
  opacity: 0.6;
}
.bottomLinkBox .ttl01 a{
  background: #30a6df;
  letter-spacing: 0.5px;
}
.bottomLinkBox .ttl02 a{
  background: #35b597;
  letter-spacing: 4px;
}
.bottomLinkBox li a span:before {
  content: "";
  display: inline-block;
  margin-right: 15px;
}
.bottomLinkBox .ttl01 a span:before {
  width: 26px;
  height: 21px;
  background: url(../img/common/icon03.png) no-repeat left center;
  background-size: 100% auto;
}
.bottomLinkBox .ttl02 a span:before {
  width: 24px;
  height: 21px;
  background: url(../img/common/icon04.png) no-repeat left center;
  background-size: 100% auto;
}

/*コンバージョンボタン*/
.conversionBtn a{
  background: #f37171;
  margin: 50px auto 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 90px;
  max-width: 500px;
  width: 100%;
  padding: 5px;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 32px;
  text-align: center;
  color: #fff;
  box-shadow: 0 0 0 5px #f37171 inset, 0 0 0 6px #fff inset;
  border: 1px solid #f37171;
}
.conversionBtn a::before{
  content: "";
  display: inline-block;
  margin: 3px 10px 0 0;
  background: url(../img/common/icon25.png) no-repeat left center;
  background-size: 100% auto;
  width: 20px;
  height: 18px;
  vertical-align: middle;
}
.conversionBtn a:hover{
  background: #fff;
  color: #f37171;
  box-shadow: 0 0 0 5px #fff inset, 0 0 0 6px #f37171 inset;
}
.conversionBtn a:hover::before{
  background-image: url(../img/common/icon30.png);
}
