@charset "utf-8";

/*========================================================================================================================


  ◇◆◇ 目的別一覧 ◇◆◇
  
  
========================================================================================================================*/

.pan {
  margin-bottom:0;
}


/*----------------------------------------------------------------------------------------------------

  一覧
  
----------------------------------------------------------------------------------------------------*/

#navList ul {
  text-align:left;
  border-top:1px solid #dcdcdc;
  border-left:1px solid #dcdcdc;
  font-size:93.8%;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}

#navList li {
  width:25%;
  box-sizing:border-box;
  border-right:1px solid #dcdcdc;
  border-bottom:1px solid #dcdcdc;
  position:relative;
}

#navList li.navList_c2 { width:50%; }

#navList li a {
  height:100%;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  line-height:1.5;
  padding:0.75em 1em;
  box-sizing:border-box;
  text-decoration:none;
  color:inherit;
}

#navList li a:hover {
  color:#0f64b9;
}

#navList li a span {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  position:relative;
  padding-left:1.5em;
}

#navList li a span:before {
  content:"";
  width:17px;
  height:17px;
  display:inline-block;
  background-position:left top;
  background-repeat:no-repeat;
  background-size:contain;
  position:absolute;
  left:0;
  top:0.15em;
}

.svg #navList li a span:before               { background-image:url(../../image/icon/blue/downC.svg); }
.no-svg #navList li a span:before            { background-image:url(../../image/icon/blue/downC.png); }
.no-backgroundsize #navList li a span:before { background:none; content:url(../../image/icon/blue/downC-s.png); }

.csstransforms #navList li a:after {
  content:"";
  display:block;
  width:100%;
  height:100%;
  border:1px solid #0f64b9;
  position:absolute;
  left:-1px;
  top:-1px;
  filter:alpha(opacity=0);
  opacity:0;
  -moz-opacity:0;
}

@media all and (min-width:768px) {
  .csstransforms #navList li a {
    -webkit-transition:background-color ease 0.3s;
    -moz-transition:background-color ease 0.3s;
    -ms-transition:background-color ease 0.3s;
    -o-transition:background-color ease 0.3s;
    transition:background-color ease 0.3s;
  }
  
  .csstransforms #navList li a:after {
    -webkit-transition:opacity ease 0.3s;
    -moz-transition:opacity ease 0.3s;
    -ms-transition:opacity ease 0.3s;
    -o-transition:opacity ease 0.3s;
    transition:opacity ease 0.3s;
  }

  .csstransforms #navList li a:before {
    -webkit-transition:opacity ease 0.3s;
    -moz-transition:opacity ease 0.3s;
    -ms-transition:opacity ease 0.3s;
    -o-transition:opacity ease 0.3s;
    transition:opacity ease 0.3s;
  }
  
  .csstransforms #navList li a:hover {
    background-color:#2c77c2;
    color:#fff;
  }
  
  .csstransforms #navList li a:hover:after {
    filter:alpha(opacity=100);
    opacity:1;
    -moz-opacity:1;
  }
  
  .svg.csstransforms #navList li a:hover span:before               { background-image:url(../../image/icon/white/downC.svg); }
  .no-svg.csstransforms #navList li a:hover span:before            { background-image:url(../../image/icon/white/downC.png); }
  .no-backgroundsize.csstransforms #navList li a:hover span:before { background:none; content:url(../../image/icon/white/downC-s.png); }
}

@media all and (max-width:767px) {
  #navList ul {
    font-size:100%;
  }
  
  #navList li {
    width:50%;
  }
  
  #navList li.navList_c2 { width:100%; }
}

@media all and (max-width:500px) {
  #navList li a {
    padding:0.75em;
  }

  #navList li a span:before {
    width:15px;
    height:15px;
  }
}


/*----------------------------------------------------------------------------------------------------

  詳細
  
----------------------------------------------------------------------------------------------------*/

.navDetail {
  margin-top:-1.5em;
  margin-bottom:1em;
}

.navDetail .headline-cst {
  position:relative;
  color:#0f64b9;
  margin-top:-0.25em;
  margin-bottom:1em;
  line-height:1.5;
}

.navDetail .headline-cst br {
  display:none;
}

.navDetail .headline-cst span {
  display:inline-block;
  background-color:#fff;
  padding-left:1em;
  padding-right:1em;
  z-index:1;
  position:relative;
}

.navDetail .headline-cst:before,
.navDetail .headline-cst:after {
  content:"";
  display:inline-block;
  width:100%;
  height:1px;
  background-color:#dcdcdc;
  position:absolute;
  top:50%;
  left:0;
}

.navDetail-txt {
  padding-top:1em;
}

.navDetail ul {
  list-style:inherit;
  margin-left:1.25em;
}

.navDetail .ic {
  width:280px;
  float:right;
  text-align:center;
  margin-left:20px;
  margin-top:1em;
  display:inline-block;
}

.gsv-trusted {
  display:inline-block;
  margin-bottom:0.5em;
}

@media (max-width:767px) {
  .navDetail {
    margin-top:-2em;
    margin-bottom:0.5em;
  }

  .navDetail .ic {
    width:36%;
    margin-top:0.75em;
    margin-bottom:1em;
  }
}

@media all and (max-width:640px) {  
  .navDetail {
    border-top:1px solid #dcdcdc;
    margin-top:0;
    margin-bottom:0;
  }
  
  #navList + .navDetail {
    border-top:0;
    margin-top:-1.5em;
  }
  
  .navDetail .headline-cst:before,
  .navDetail .headline-cst:after {
    display:none;
  }
  
  .navDetail .headline-cst span {
    padding-left:0;
    padding-right:0;
  }

  .navDetail .ic {
   width:100%;
    float:none;
    margin-left:auto;
    margin-right:auto;
    margin-top:2em;
    margin-bottom:0;
    display:block;
    text-align:center;
  }
  
  .navDetail .ic img {
    width:40%;
  }

  .gsv-trusted {
    display:block;
    text-align:center;
    margin-top:0.25em;
    margin-bottom:-0.75em;
  }
  
  .gsv-trusted img {
    max-width:70.3125%;
  }
}

@media all and (max-width:500px) {  
  .navDetail .headline-cst br {
    display:inherit;
  }
}

