@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.type03{
             width: 90%;
             margin-right: auto;
             margin-left: auto;
            }
table.type03 td{
                 font-size: 1.5em;
                 color: #4d4d4d;
                 border-bottom: solid 2px #696969;
                }
table.type02{
             width:90%;
             margin-right: auto;
             margin-left: auto;
            }

table.type02 td{
                padding: 20px;
                font-size: 1em;
                }

table.type04{
  width: 80%;
  margin-right: auto;
  margin-left: auto;
  border-collapse: collapse;
}

table.type04 tr{
  border-bottom: solid 2px white;
}

table.type04 tr:last-child{
  border-bottom: none;
}

table.type04 th{
  position: relative;
  text-align: left;
  width: 30%;
  background-color: #52c2d0;
  color: white;
  text-align: center;
  padding: 10px 0;
}

table.type04 th:after{
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top:calc(50% - 10px);
  right:-10px;
  border-left: 10px solid #52c2d0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

table.type04 td{
  text-align: left;
  width: 70%;
  background-color: #eee;
  padding: 10px 15px ;
}




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

ul {
  padding: 0;
}
li {
  list-style-type: none;
}
dd {
  margin-left: 0;
}

.flow {
  width:100%;
  margin-right: auto;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  justify-content: space-between;
}
.flow > li {
  -ms-flex-preferred-size: 22%;
  flex-basis: 22%;
}
.flow > li .icon {
  font-family: 'Montserrat', sans-serif;
  font-size: 18px;
  line-height: 50px;
  width: 50px;
  color: #fff;
  background: rgb(107,144,219);
  margin: 0 auto 20px;
  display: block;
  border-radius: 50%;
  text-align: center;
  position: relative;
  letter-spacing: 2px;
}
.flow > li .icon::before {
  content: "";
  border: solid transparent;
  border-width: 8px;
  border-top-color: rgb(107,144,219);
  position: absolute;
  top: calc(100% - 2px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.flow > li dl {
  padding: 30px 20px;
  margin: 0;
  border: 3px solid rgb(107,144,219);
  position: relative;
}
.flow > li:not(:last-child) dl::before {
  content: "";
  width: 14px;
  height: 14px;
  margin-right: 10px;
  display: inline-block;
  border-top: 4px solid rgb(102,213,233);
  border-right: 4px solid rgb(102,213,233);
  position: absolute;
  top: calc(50% - 14px);
  left: 104%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.flow > li dl dt {
  font-size: 20px;
  font-weight: 600;
  color: rgb(107,144,219);
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  margin-bottom: 1vh;
  text-align: center;
}

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