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

@media screen and (min-width: 767px) {
 /*ウィンドウ幅が767px以上の場合に適用*/
 

body{
     margin-right: auto;
     margin-left: auto;
     width:80%;
    }

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

table.type01{
             width: 100%;
             margin-right: auto;
             margin-left: auto;
            }

img.example {
             width: 95%;
             height: 50%;
             }

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

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

.btn-square {
  display: inline-block;
  padding: 0.5em 2em;
  text-decoration: none;
  background: #ff8f66;/*ボタン色*/
  color: #FFF;
  border-bottom: solid 4px #e6815c;
  border-radius: 0.3em;
  font-size: 0.9em;
}
.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: 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: 1em;
}
.gnav li li a {
    border-top: 1px solid #eee;
    background: #fff;
    width: 100%;
}
.gnav li:hover > ul > li {
    height: 3rem;
    overflow: visible;
}

.a{
   font-size: 0.8em;
   }

/*一番右のメニュー*/
.gnav > li:nth-child(5) ul li ul {
    left: -100%;
}
/*メニューバー*/
/*パンくずリスト*/
.breadcrumb {
  width: 94%;
  margin-right: auto;
  margin-left: auto;
  padding: 0;
  list-style: none;
  font-size: 1em;
}

.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:80%;
             margin-right: auto;
             margin-left: auto;
             border-collapse: collapse;
            }
table.type02 th{
                border-bottom: solid 1px #c0c0c0 ;
                width: 40%;
                height: 2rem;
                padding: 20px;
                color: #4d4d4d;
                }
table.type02 td{
                border-bottom: solid 1px #c0c0c0 ;
                padding: 20px;
                }

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



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

.flow {
     margin-right: auto;
     margin-left: auto;
     width:80%;
     position: relative;
}
.flow::before {
  content: "";
  width: 15px; /*縦線の太さ*/
  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.8em;
  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: 8px 20px;
  display: block;
  position: absolute;
  top: 0;
  left: -5%;
  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%;
       }
