@charset "utf-8";
body img {
    width: 100%;
}
body {
    font-family: "MS Serif", "New York", serif;
}
body p {
    text-align: center;
}
body h1 {
    text-align: center;
}

.gnavi{
    display: flex;
    flex-wrap: wrap;/*スマホ表示折り返し用なのでPCのみなら不要*/
    margin:0 0 50px 0;
    list-style: none;
}

.gnavi li a{
    display: block;
    padding:10px 30px;
    text-decoration: none;
    color: #333;
}.gnavi li{
    /*線の基点とするためrelativeを指定*/
  position: relative;
    margin:0 10px;
}

/*線の基点位置*/
.gnavi li::before,
.gnavi li::after{
  content:"";
    /*絶対配置で線の位置を決める*/
  position: absolute;
    /*線の形状*/
  width: 0;
  height:2px;
  background:#0481A2;
/*アニメーションの指定*/
  transition: all 0.2s linear;
  transition-delay: 0.2s;
}

.gnavi li::before{
  right: 0;
  top: 0;
}
.gnavi li::after{
  left: 0;
  bottom: 0;
}

/*線の基点位置2 spanタグ*/

.gnavi li span{
  display: block;
}

.gnavi li span::before,
.gnavi li span::after{
  content:"";
    /*絶対配置で線の位置を決める*/
  position: absolute;
    /*線の形状*/
  width:2px;
  height:0;
  background: #0481A2;
/*アニメーションの指定*/
  transition: all 0.2s linear;
}

.gnavi li span::before{
  left: 0;
  top: 0;
}
.gnavi li span::after{
  right: 0;
  bottom: 0;
}

/*現在地とhoverした際の線の変化*/

.gnavi li.current::before,
.gnavi li.current::after,
.gnavi li:hover::before,
.gnavi li:hover::after{
  width: 100%;/*横幅を100%に*/
}

.gnavi li.current span::before,
.gnavi li.current span::after,
.gnavi li:hover span::before,
.gnavi li:hover span::after{
  height: 100%;/*縦幅を100%に*/
}


.example {
  position: relative;
  }

.example p {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  /*文字の装飾は省略*/
  }

.example img {
  width: 100%;
  }
p span {
  position: relative;
  background: linear-gradient(transparent 40%, yellow 40%);
}
h1 span {
  position: relative;
  background: linear-gradient(transparent 40%, yellow 40%);
}
.container {
    display: grid;
    grid-template-areas: "head"
    "txt"
    "img";
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    grid-gap: 1em 32px;
    border-bottom-width: 100%;
    border-bottom-style: double;
    border-top-width: 100%;
    border-top-style: double;
}

.head {
    grid-area: head;
    margin-left: 50px;
}

.img {
  grid-area: img;
}
.img p {
    text-align: left;
    margin-top: -30px;
    margin-bottom: -10px;
}
.example p img {
    width: 400px;
    height: auto;
    margin-left: 10px;
    margin-top: 20px;
    margin-right: 1200px;
    margin-bottom: 400px;
}



.txt {
    grid-area: txt;
    font-style: normal;
    line-height: normal;
}
.txt p {
    margin-left: 50px;
    text-align: left;
}

.grid {
    display: grid;
    gap: 10px;
    grid-template-columns: 2fr 1fr;
    margin-top: 50px;
}
.main {
    background-color: #D5E8F6;

}
.grid .main h3 {
    text-align: left;
    margin-left: 30px;
}


.side {
    border-width: 100%;
    border-style: solid;

}
.grid .side h1 {
    margin-top: auto;
    margin-bottom: auto;
    margin-right: auto;
    margin-left: auto;
    letter-spacing: 10px;
    white-space: nowrap;


}
.grid .side p {
    text-align: left;
    font-weight: 100;
    width: 85%;
    margin-right: auto;
    margin-left: auto;
    margin-top: auto;
    margin-bottom: auto;
}
.grid .side h2 {
    margin-left: 30px;
}



.main,
.side {
    padding: 2%;
    border-radius: 10px;
}
.grid .main img {
    height: auto;
    clear: right;
    margin-left: auto;
    margin-right: auto;
    margin-top: 60px;
}
.grid .main p {
    display: flex;
    text-align: left;
    margin-left: 50px;
    margin-top: -10px;
}
.box .text h2 {
    text-align: left;
}
.box .text h1 {
    font-size: 40px;
    text-align: center;
}



.box {
  display:flex;
  flex-direction: row;
  justify-content: space-between;
}

.text {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    margin-top: auto;
    margin-bottom: auto;
    text-align: left;
}
.txt p {
    width: 80%;
}


h3 {
    font-size: 21px;
    margin-top: 30px;
    margin-right: 30px;
    margin-left: 30px;
    margin-bottom: 30px;
}

.pict {
  width: 30%;
  margin-left: 3%;
}

.pict img {
  width: 100%;
  height:auto;
}
.container .head {
    text-align: left;
    font-size: 35px;
}
.inner-block .wrap p {
    text-align: left;
    margin-left: 0px;
    margin-right: auto;
}
.txt h4 img {
    width: 150px;
}





@media(max-width: 480px){
  .grid {
    grid-template-columns: 1fr;
  }


}
@media screen and ( min-width: 900px ) {
  .container {
    grid-template-areas:
      "img head"
      "img txt";
    grid-template-columns: calc(55% - 25px) calc(45% - 25px);
    grid-template-rows: auto 1fr;
    grid-gap: 1em 56px;
  }
}
 
#footer02 {
}
 
.ie #footer02 .logo img,
#footer02 .logo {
  display: inline-block;
  width: 100px;
}
 
#footer02 .nav li a {
  padding: 15px;
  color: #000000;
}
 
#footer02 .c-btn {
  margin-left: 25px;
}
 
 
@media screen and (min-width: 641px) {
  #footer02 .logo {
    padding: 10px 0;
  }
 
  #footer02 .wrap {
    padding: 20px 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
 
  #footer02 .cont {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
  }
 
  #footer02 .nav {
    display: inline-block;
  }
 
  #footer02 .nav li {
    display: inline-block;
  }
 
  #footer02 .nav li a:hover {
    color: #ca353b;
  }
}
@media only screen and (max-width: 640px) {
  #footer02 {
    padding: 20px 0 0;
  }
 
  #footer02 .inner-block {
    padding: 0;
  }
 
  #footer02 .c-btn {
    margin-bottom: 20px;
  }

 
  #footer02 .nav li {
    border-top: 1px solid #555;
  }


 
  #footer02 .nav li a {
    padding: 12px 20px;
    display: block;
    background-size: 5px auto;
    color: #000000;
  }
 
  #footer02 .nav li:last-child {
    border-bottom: 1px solid #555;
  }

}
@media screen and (max-width: 768px){
	
}

.grid .main p {
    width: 80%;
}
