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

@media screen and (max-width: 479px) { 
/*ウィンドウ幅が最大479pxまでの場合に適用*/
 
img{
max-width: 100%;
height: auto;
width /***/:auto;
}
body{
     margin-right: auto;
     margin-left: auto;
     width:100%;
    }

*{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/*ヘッダー*/
table.type01{
             width: 100%;
             margin-right: auto;
             margin-left: auto;
            }

.menu{
      border-top: solid 0.2em #c0c0c0 ;
      width: 100%;
      margin-right: auto;
      margin-left: auto;
      text-align: center;
      font-size: 0.1em;
      }

.info{
      vertical-align: bottom;
      text-align: right;
      width: 6em;
      }

.btn-square {
  display: inline-block;
  padding: 0.1em 1.5em;
  text-decoration: none;
  background: #ff8f66;/*ボタン色*/
  color: #FFF;
  border-bottom: solid 4px #e6815c;
  border-radius: 0.3em;
  font-size: 0.5em;
}
.btn-square:active {
  /*ボタンを押したとき*/
  -webkit-transform: translateY(0.4em);
  transform: translateY(0.4em);/*下に動く*/
  border-bottom: none;/*線を消す*/
}

p.infobox {
   margin-right: auto;
   margin-left: auto;
   margin-top: 0;
   width: 100%;
   height: 8em;
   overflow: auto;
   border: solid 3px #ff8f66;
   font-size: 0.8em;
}
.gnav {
    display: flex;
    height: 3rem;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
}
.gnav > li {/*親階層のみ幅を25%にする*/
    width: 25%;
}
/*全てのリスト・リンク共通*/
.gnav li {
    list-style: none;
    position: relative;
    font-size: 0.1em;
          }
.gnav li a {
    color: #696969;
    display: block;
    height: 3rem;
    line-height: 1.5rem;
    text-align: center;
    text-decoration: none;
   letter-spacing: 1px;
   padding: 1em;
    margin-right: auto;
    margin-left: auto;
    }

.gnav li a:hover {
  background: #e6e6e6;
}

/*子階層以降共通*/
.gnav li li {
    height: 0;
    overflow: hidden;
    transition: .5s;
    font-size: 0.1em;
}
.gnav li li a {
    border-top: 1px solid #eee;
    background: #fff;
    width: 100%;
}
.gnav li:hover > ul > li {
    height: 2rem;
    overflow: visible;
}

.a{
   font-size: 0.8em;
   }

/*一番右のメニュー*/
.gnav > li:nth-child(5) ul li ul {
    left: -100%;
}



/*パンくずリスト*/
.breadcrumb {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding: 0;
  list-style: none;
  font-size: 0.5em;
}

.breadcrumb li {
  display: inline;/*横に並ぶように*/
  list-style: none;
}

.breadcrumb li:after {/* >を表示*/
  content: '>';
  padding: 0 0.2em;
  color: #555;
}

.breadcrumb li:last-child:after {
  content: '';
}

.breadcrumb li a {
  text-decoration: none;
  color: #555;/*色*/
}
/*パンくずリスト*/

table.type02{
             width:90%;
             margin-right: auto;
             margin-left: auto;
             border-collapse: collapse;
            }
table.type02 th{
                border-bottom: solid 1px #c0c0c0 ;
                width: 30%;
                height: 2rem;
                padding: 0px;
                color: #4d4d4d;
                font-size: 0.7em;
                }
table.type02 td{
                border-bottom: solid 1px #c0c0c0 ;
                padding: 15px;
                font-size: 0.7em;
                }

.line{
      border-bottom: solid 2px #ff7f50 ;
      width: 90%;
      margin-right: auto;
      margin-left: auto;
      text-align: center;
      font-size: 0.8em;
      color: #4d4d4d;
      margin-bottom: 10px;
      font-weight: bold;
      }


/*応募フロー*/
ul {
  padding: 0;
}
li {
  list-style-type: none;
}
dd {
  margin-left: 0;
  font-size: 0.8em;
}

.flow {
     margin-right: auto;
     margin-left: auto;
     width:80%;
     position: relative;
}
.flow::before {
  content: "";
  width: 10px; /*縦線の太さ*/
  height: 100%;
  background: #eee;
  display: block;
  position: absolute;
  top: 0;
  left: 30%; /*縦線の位置*/
}
.flow > li {
     position: relative;
     margin-right: auto;
     margin-left: auto;
     width:80%;
            }
.flow > li:not(:last-child) {
     margin-bottom: 8vh;
                             }
.flow > li .icon {
  font-size: 0.7em;
  color: #fff;
  background: rgb(107,144,219);
  background: -moz-linear-gradient(left, rgba(107,144,219,1) 0%, rgba(102,213,233,1) 100%);
  background: -webkit-linear-gradient(left, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
  background: linear-gradient(to right, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
  padding: 6px 10px; /*吹き出し大きさ*/
  display: block;
  position: absolute;
  top: 0;
  left: -15%; /*吹き出し位置*/
  z-index: 100;
}
.flow > li .icon::after {
  content: "";
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #66d5e9;
  position: absolute;
  top: 50%;
  left: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.flow > li dl {
     margin-right: auto;
     margin-left: auto;
     width:100%;
  padding-left: 45%;
  position: relative;
}
.flow > li dl::before,
.flow > li dl::after {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
}
.flow > li dl::before {
  width: 7px;
  height: 7px;
  margin-top: -3px;
  background: #6b90db;
  border-radius: 50%;
  left: 26%;
}
.flow > li dl::after {
  width: 15%;
  border-bottom: 1px dashed #999;
  position: absolute;
  left: 28%;
}
.flow > li dl dt {
  font-size: 1em;
  font-weight: 600;
  color: rgb(107,144,219);
  margin-bottom: 1vh;
}

.mright{
        text-align: right;
        padding-bottom: 2%;
       }