@charset "UTF-8";
/* CSS Document */

.pc {
  display: block;
}
.pc800 {
  display: none;
}
.sp {
  display: none;
}
.sp800 {
  display: none;
}
.medium {
  display: none;
}

@media (max-width: 800px) {
.pc800 {
  display: block;
}
.sp800 {
  display: block;
}
}

body{
  background:#fff ;
  color:#000;
  font-size:18px;
  line-height:1.9;
  letter-spacing:0.5px;
  font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HiraKakuPro-W3","ＭＳ Ｐゴシック","MS PGothic",Arial, Helvetica,sans-serif;
}


a:hover img {
  opacity: 0.8;
  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
  filter: alpha(opacity=80);
}
a {
  color: #000;
  text-decoration: underline;
}
a:hover {
  color: #999;
  text-decoration:none;
}
a img {
  text-decoration:none;
  border:none;
   -webkit-transition: 0.3s ease-in-out;
     -moz-transition: 0.3s ease-in-out;
     -o-transition: 0.3s ease-in-out;
     transition: 0.3s ease-in-out;
}

a[target="_blank"]{
  color: #1E88E5;
  text-decoration: none;
}
a[target="_blank"]::before{
  margin-right: 3px;
  content: "\f08e";
  font-family: FontAwesome;
  display: inline-block;
  vertical-align: -1px;
}
a.img_obj[target="_blank"]{
  text-decoration: none;
}
a.img_obj[target="_blank"]::before{
  margin-right: 0px;
  content: "";
  display: inline-block;
  vertical-align: -1px;
}

p {
  margin-bottom: 0.5em;
}

/*===============================================
  cFix
===============================================*/
/*Opera Fix*/
body:before{content:""; height:100%; float:left; width:0; margin-top:-32767px;}
/*cFix*/
.cFix:after {content:"."; display:block; height:0; clear:both; visibility:hidden;}
/* IE-mac */
* html .cFix {height:1%;}
.cFix {display:block;}


#container {
  overflow: hidden;
}



/*===============================================
  共通
===============================================*/

.Min {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.ObjCenter {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.Bold {
  font-weight: bold;
}

.arrow{
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
}
.arrow::before,
.arrow::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

.arrow4::before{
    left: 4px;
    box-sizing: border-box;
    width: 4px;
    height: 4px;
    border: 4px solid transparent;
    border-left: 4px solid #00192a;
}

.W200 {
    width: 200px;
}
.W250 {
    width: 250px;
}




.HalfBoxR30 {
  width: 30%;
  float: right;
  padding-left: 20px;
}
.HalfBoxL30 {
  width: 30%;
  float: left;
  padding-right: 20px;
}
.HalfBoxR40 {
  width: 40%;
  float: right;
  padding-left: 20px;
}
.HalfBoxL40 {
  width: 40%;
  float: left;
  padding-right: 20px;
}
.HalfBoxR60 {
  width: 60%;
  float: right;
  padding-left: 20px;
}
.HalfBoxL60 {
  width: 60%;
  float: left;
  padding-right: 20px;
}
.HalfBoxR70 {
  width: 70%;
  float: right;
  padding-left: 20px;
}
.HalfBoxL70 {
  width: 70%;
  float: left;
  padding-right: 20px;
}

.FlexBox10 {
  width: 10%;
  padding: 10px;
}
.FlexBox20 {
  width: 20%;
  padding: 10px;
}
.FlexBox30 {
  width: 30%;
  padding: 10px;
}
.FlexBox40 {
  width: 40%;
  padding: 10px;
}
.FlexBox50 {
  width: 50%;
}
.FlexBox60 {
  width: 60%;
  padding: 10px;
}
.FlexBox70 {
  width: 70%;
  padding: 10px;
}
.FlexBox80 {
  width: 80%;
  padding: 10px;
}
.FlexBox90 {
  width: 90%;
  padding: 10px;
}


@media (max-width: 640px) {
.FlexBox10 {
    width: 100%;
}
.FlexBox20 {
    width: 100%;
}
.FlexBox30 {
    width: 100%;
}
.FlexBox40 {
    width: 100%;
}
.FlexBox50 {
    width: 100%;
}
.FlexBox60 {
    width: 100%;
}
.FlexBox70 {
    width: 100%;
}
.FlexBox80 {
    width: 100%;
}
.FlexBox90 {
    width: 100%;
}
}


/*------------------------------------- */
header {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    max-width: 2560px;
    position: relative;
}
header .Logo {
  width: auto;
  font-size: 1.7rem;
  font-weight: bold;
}
header .Logo a {
  text-decoration: none;
}
header .Logo img {
  width: 100%;
}
header h1 {
    font-size: 0.8rem;
}



/*------------------------------------- 
パンくず
------------------------------------- */
#breadcrumbs {
  width: 96%;
  max-width: 1040px;
  margin: 10px auto 0;
  font-size: 0.8rem;
}


#content_wrap {
  width: 100%;
}
h2 {
  position: relative;
  padding-bottom: 0em;
  text-align: center;
  font-size: 2.0rem;
  line-height: 1.6em;
  font-weight: bold;
  margin-bottom: 1.4em;
}


h3 {
  padding-bottom: 0em;
  margin-bottom: 1.4em;
  font-size: 1.65rem;
  font-weight: bold;
  text-align: center;
  background-color: #003399;
  color: #fff;
}

.content_block {
    width: 100%;
    padding-top: 70px;
}
.content {
    width: 1005px;
    margin: 0 auto;
}
.content .conte {
  margin-bottom: 50px;
}
@media (max-width: 1005px) and (min-width: 641px) {
.content .conte {
  padding: 0 2%;
}
  }
.content .conte80 {
  margin-bottom: 50px;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
.content .conte90 {
  margin-bottom: 50px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.Announce_block {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

.Announce_block p {
  text-align: center;
    margin-bottom: 14px;
    padding-bottom: 14px;
}

.SectionGray {
    background-color: #eee;
}

.SectionBlue {
    background-color: #EBF5F7;
}


.SectionSky .Apply_block {
    background-color: #f7fbff;
    padding: 20px 20px 20px;
    border: 1px solid #99c3d1;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}





/*-------------------------------------
table
------------------------------------- */

.ResTable{
  width:100%;
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid #d8d8d8;
  background-color: #fff;
}
 
.ResTable th{
  -moz-box-sizing: border-box;     /* box-size[border・padding 込み] */
  box-sizing: border-box;     /* box-size[border・padding 込み] */
  border: 1px solid #d8d8d8;
  padding: 7px 10px 5px;
  width: 30%;
  font-style: normal;
  font-weight: bold;
  text-align: center;
  vertical-align:middle;
  background-color: #f0f0ef;
}
 
.ResTable td{
  padding: 7px 10px 5px;
  text-align: left;
  vertical-align: top;
  border-top: dotted 1px #d8d8d8;
    border-right: 1px solid #d8d8d8;
}
 
@media (max-width: 640px){
.ResTable{
  border-bottom:none;
}
.ResTable th{
  padding: 5px 10px;
  width:100%;
  display:block;
  margin: 0 auto;
  border:none;
  text-align: left;
}
.ResTable td{
  padding: 5px 10px;
  width:100%;
  display: list-item;     /* リストに変換 */
  list-style:none;     /* リストに変換によるドットを非表示 */
  border-top: none !important;
  border-bottom:1px solid #d8d8d8;
}
}






/*-------------------------------------
TOP
------------------------------------- */

.SectionFlex {
  display: flex;
}
.SectionFlex .FlexBox50 {
  padding-right: 50px;
}
.SectionFlex .FlexBox50:nth-child(2n) {
  padding-right: 0px;
  padding-left: 50px;
}
.Justify {
  text-align: justify;
}



.Three {
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
}

.Three dl {
    width: 29%;
    padding: 0;
    margin: 0 2%;
    float: none;
    background-color: #fff;
    border: 1px solid #edf0f8;
    letter-spacing: 0;
}
.Three dl dt img {
    width: 100%;
}
.Three dl dd {
    padding: 12px;
}

.Three dl dd div {
    border-bottom: 1px dashed #ddd;
    margin-bottom: 4px;
}
.Three dl dd {
    font-size: 0.88rem;
    text-align: justify;
    width: 100%;
}
.Three dl dd div a {
    color: #0000C0;
    font-size: 1.1rem;
    text-decoration: none;
}
.Three dl dd div a:hover {
    text-decoration: underline;
}

.Four {
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
    width: 100%;
    max-width: 2560px;
}
.Four dl {
    width: 25%;
    padding: 0;
    margin: 0;
    float: none;
    letter-spacing: 0;
}
.Four dl img {
  width: 100%;
}


.AttachSub {
  font-size: 1.09rem;
  margin-top: 30px;
}
ul.AttachList li {
  position: relative;
  font-size: 1.06rem;
  margin-left: 1em;
  margin-bottom: 0.3em;
  line-height: 1.6;
}
ul.AttachList li::after {
  display: block;
  content: '';
  position: absolute;
  top: .54em;
  left: -1.2em;
  width: 0.8em;
  height: 0.8em;
  background-color: #333;
  border-radius: 100%;
}

#cta {
  padding-top: 60px;
  text-align: center;
}
#apply {
  padding-top: 40px;
  text-align: center;
  background-color: #353636;
  color: #009EB8;
}
#apply p {
  letter-spacing: 0.2em;
}
#apply a {
  color: #009EB8;
  text-decoration: none;
}



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

.pageTop {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 50px;
  height: 50px;
}
@media screen and (max-width: 640px) {
    .pageTop {
      width: 3em;
      height: 3em;
      }
    }


footer {
  width: 100%;
  background: #009EB8;
    padding-top: 40px;
    padding-bottom: 40px;
    color: #fff;
  text-align: center;
}
footer .footlogo div {
  margin: 20px auto;
  padding: 30px 0;
}
footer .footlogo div.Logo {
  width: 350px;
}
footer .footlogo div.LogoKousoku {
  width: 375px;
}
footer .footlogo div.Logo img ,
footer .footlogo div.LogoKousoku img {
  width: 100%;
}

footer ul {
  font-size: 0.8rem;
    padding-top: 30px;
  text-align: center;
  display: flex;
  justify-content: center;
}
footer ul li {
  border-right: 1px #fff solid;
  padding: 0 0.5em;
  line-height: 1em;
}
footer ul li:last-child {
  border-right: none;
}

footer ul li a {
  color: #fff;
  text-decoration: none;
}

footer p {
  color: #fff;
  padding: 30px 0;
  margin-bottom: 0;
  text-align: center;
  font-size: 0.8rem;
}
footer p a {
  color: #fff;
}


