@charset "utf-8";
.bg_color01 {
  background: #bce2dd;
}
.bg_color02 {
  background: #e9f8f6;
}
.bg_color03 {
  background: url("../images/top/bg_01.jpg");
}
.bg_color04 {
  background: url("../images/top/bg_02.jpg");
  background-position: center;
}
.bg_color05 {
  background-image: linear-gradient(-45deg, #600, #e30009);
}
.bg_color06 {
  background: url("../images/top/bg_03.jpg");
  background-position: center;
}
.bg_color07 {
  background-image: linear-gradient(-45deg, #ff9, #bce2dd);
}
.passing2 .passing-bar4:before {
  -webkit-animation: passing-bar 1s ease 0s 1 normal forwards;
  animation: passing-bar 1s ease 0s 1 normal forwards;
	display: block;
}
.passing2 .passing-bar4 {
  position: relative;
  display: inline-block;
  /*　後ほど解説　*/
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.passing2 .passing-bar4:before {
  content: '';
  display: inline-block;
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  /* 任意の値 */
  background: #bce2dd;
}
@media screen and (min-width:340px) and (max-width:480px) {
  .font1 {
    font-size: 1em;
    line-height: 1.5em;
    text-align: left;
  }
  .font1b {
    font-size: 1em;
    line-height: 1.5em;
    text-align: left;
  }
  .font2 {
    font-size: 1.3em;
    line-height: 1.5em;
    text-align: left;
  }
  .font3 {
    font-size: 1.3em;
    line-height: 1.5em;
  }
  .font4 {
    font-size: 1.3em;
    line-height: 1.5em;
  }
  article {
    margin: 0 auto;
    padding: 0px;
    width: 100%;
    text-align: center;
    overflow: hidden;
  }
  .article {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: 200px;
    box-sizing: border-box;
    text-align: center;
    background: url("../images/bg_tis.jpg") no-repeat;
    background-position: top right;
    position: relative;
  }
  .article h1 {
    position: absolute;
    bottom: 0;
    margin: 0 auto;
    padding: 2em 0 .3em;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    text-align: center;
    background: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, .7), rgba(255, 255, 255, 1));
    font-size: 1.3em;
    line-height: 1.5em;
    color: #27645c;
  }
  .br1 {
    display: block;
  }
  section {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    text-align: center;
  }
  .sec_in {
    margin: 0 auto;
    padding: 2em 0;
    width: 97%;
    height: auto;
    position: relative;
  }
  .flex {
    display: flex;
  }
  .flex_bet, .flex_bet2 {}
  .flex_low {}
  .flex_low2 {}
  .flex_wrap, .flex_wrap2{
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
	.box16{
		margin: 1%;
    padding: 0;
    width: 48%;
    box-sizing: border-box;
    position: relative;
	}
  .flex_right {}
  .flex_left {}
  .box30 {
    margin: 0 0 1em;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
    position: relative;
  }
  .box30:last-child {
    margin: 0;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
    position: relative;
  }
  .parallax {
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    box-sizing: border-box;
  }
  .parallax_1 {
    background-image: url("../images/bg_come.jpg");
    background-size: cover
  }
  .parallax_in {
    margin: 3em auto;
    width: 80%;
    box-sizing: border-box;
    padding: 3%;
    background: rgba(255, 255, 255, 0.8);
  }
  .parallax_in dl {
    margin: 0 0 1em;
    padding: 0;
    width: 100%;
    height: auto;
    display: inline-block;
    position: relative;
    border-bottom: 1px dotted #666;
    border-left: 3px solid#666;
    line-height: 1.5em;
    text-align: left;
    font-size: .8em !important;
  }
  .parallax_in dl dt {
    float: left;
    margin: 0 0;
    padding-left: 6px !important;
    width: 30%;
    height: auto;
  }
  .parallax_in dl dd {
    float: right;
    margin: 0 0;
    padding: 0;
    width: 69%;
    height: auto;
  }
  .mapbox {
    margin: 0 auto;
    padding: 2em 0 0;
    width: 100%;
    height: auto;
    position: relative;
  }
  .googlemap {
    padding-bottom: 70%;
  }
}
@media screen and (min-width:481px) and (max-width:768px) {
  .font1 {
    font-size: 1em;
    line-height: 1.5em;
    text-align: left;
  }
  .font1b {
    font-size: 1em;
    line-height: 1.5em;
    text-align: left;
  }
  .font2 {
    font-size: 1.5em;
    line-height: 1.5em;
    text-align: left;
  }
  .font3 {
    font-size: 1.5em;
    line-height: 1.5em;
  }
  .font4 {
    font-size: 4.5vw;
    line-height: 1.5em;
  }
  article {
    margin: 0 auto;
    padding: 0px;
    width: 100%;
    text-align: center;
    overflow: hidden;
  }
  .article {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: 200px;
    box-sizing: border-box;
    text-align: center;
    background: url("../images/bg_tis.jpg") no-repeat;
    background-position: top right;
    position: relative;
  }
  .article h1 {
    position: absolute;
    bottom: 0;
    margin: 0 auto;
    padding: 2em 0 .3em;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    text-align: center;
    background: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, .7), rgba(255, 255, 255, 1));
    font-size: 1.3em;
    line-height: 1.5em;
    color: #27645c;
  }
  .br1 {
    display: block;
  }
  section {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    text-align: center;
  }
  .sec_in {
    margin: 0 auto;
    padding: 2em 0;
    width: 97%;
    height: auto;
    position: relative;
  }
  .flex {
    display: flex;
  }
  .flex_bet, .flex_bet2 {}
  .flex_low {}
  .flex_low2 {}
  .flex_wrap, .flex_wrap2{
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
	.box16{
		margin: .5%;
    padding: 0;
    width: 49%;
    box-sizing: border-box;
    position: relative;
	}
  .flex_right {}
  .flex_left {}
  .box30 {
    margin: 0 0 1em;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
    position: relative;
  }
  .box30:last-child {
    margin: 0;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
    position: relative;
  }
  .parallax {
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    box-sizing: border-box;
  }
  .parallax_1 {
    background-image: url("../images/bg_come.jpg");
    background-size: cover
  }
  .parallax_in {
    margin: 3em auto;
    width: 80%;
    box-sizing: border-box;
    padding: 3%;
    background: rgba(255, 255, 255, 0.8);
  }
  .parallax_in dl {
    margin: 0 0 1em;
    padding: 0;
    width: 100%;
    height: auto;
    display: inline-block;
    position: relative;
    border-bottom: 1px dotted #666;
    border-left: 3px solid#666;
    line-height: 1.5em;
    text-align: left;
  }
  .parallax_in dl dt {
    float: left;
    margin: 0 0;
    padding-left: 6px !important;
    width: 25%;
    height: auto;
  }
  .parallax_in dl dd {
    float: right;
    margin: 0 0;
    padding: 0;
    width: 72%;
    height: auto;
  }
  .mapbox {
    margin: 0 auto;
    padding: 2em 0 0;
    width: 100%;
    height: auto;
    position: relative;
  }
  .googlemap {
    padding-bottom: 70%;
  }
}
@media screen and (min-width:769px) and (max-width:1024px) {
  .font1 {
    font-size: 1.1em;
    line-height: 1.5em;
    text-align: left;
  }
  .font1b {
    font-size: 1.1em;
    line-height: 1.5em;
    text-align: left;
  }
  .font2 {
    font-size: 1.7em;
    line-height: 1.5em;
    text-align: left;
  }
  .font3 {
    font-size: 2em;
    line-height: 1.5em;
  }
  .font4 {
    font-size: 3.5vw;
    line-height: 1.5em;
  }
  article {
    margin: 0 auto;
    padding: 0px;
    width: 100%;
    text-align: center;
    overflow: hidden;
  }
  .article {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: 400px;
    box-sizing: border-box;
    text-align: center;
    background: url("../images/bg_ti.jpg") no-repeat;
    background-position: top right;
    position: relative;
  }
  .article h1 {
    position: absolute;
    bottom: 0;
    margin: 0 auto;
    padding: 2em 0 .3em;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    text-align: center;
    background: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, .7), rgba(255, 255, 255, 1));
    font-size: 1.5em;
    line-height: 2em;
    color: #27645c;
  }
  .br1 {
    display: none;
  }
  section {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    text-align: center;
  }
  .sec_in {
    margin: 0 auto;
    padding: 2em 0;
    width: 97%;
    height: auto;
    position: relative;
  }
  .flex {
    display: flex;
  }
  .flex_bet, .flex_bet2 {
    display: flex;
    justify-content: space-between;
  }
  .flex_low {
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
  }
  .flex_low2 {
    display: flex;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .flex_wrap, .flex_wrap2{
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
	.box16{
		margin: .5%;
    padding: 0;
    width: 24%;
    box-sizing: border-box;
    position: relative;
	}
  .flex_right {
    margin-left: 3%;
    display: flex;
    flex-direction: row-reverse;
  }
  .flex_left {
    display: flex;
    flex-direction: row;
  }
  .box30 {
    margin: 1%;
    padding: 0;
    width: 48%;
    box-sizing: border-box;
    position: relative;
  }
  .parallax {
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    box-sizing: border-box;
  }
  .parallax_1 {
    background-image: url("../images/bg_come.jpg");
    background-size: cover
  }
  .parallax_in {
    margin: 3em 1.5% 3em 33.5%;
    width: 65%;
    box-sizing: border-box;
    padding: 3%;
    background: rgba(255, 255, 255, 0.8);
  }
  .parallax_in dl {
    margin: 0 0 1em;
    padding: 0;
    width: 100%;
    height: auto;
    display: inline-block;
    position: relative;
    border-bottom: 1px dotted #666;
    border-left: 3px solid#666;
    line-height: 1.5em;
    text-align: left;
  }
  .parallax_in dl dt {
    float: left;
    margin: 0 0;
    padding-left: 6px !important;
    width: 25%;
    height: auto;
  }
  .parallax_in dl dd {
    float: right;
    margin: 0 0;
    padding: 0;
    width: 72%;
    height: auto;
  }
  .mapbox {
    margin: 0 auto;
    padding: 2em 0 0;
    width: 100%;
    height: auto;
    position: relative;
  }
  .googlemap {
    padding-bottom: 60%;
  }
}
@media screen and (min-width:1025px) and (max-width:1440px) {
  .font1 {
    font-size: 1.3em;
    line-height: 1.5em;
    text-align: left;
  }
  .font1b {
    font-size: 1.3em;
    line-height: 1.5em;
    text-align: left;
  }
  .font2 {
    font-size: 2em;
    line-height: 1.5em;
    text-align: left;
  }
  .font3 {
    font-size: 2.8em;
    line-height: 1.5em;
  }
  .font4 {
    font-size: 3vw;
    line-height: 1.5em;
  }
  article {
    margin: 0 auto;
    padding: 0px;
    width: 100%;
    text-align: center;
    overflow: hidden;
  }
  .article {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: 400px;
    box-sizing: border-box;
    text-align: center;
    background: url("../images/bg_ti.jpg") no-repeat;
    background-position: top right;
    position: relative;
  }
  .article h1 {
    position: absolute;
    bottom: 0;
    margin: 0 auto;
    padding: 2em 0 .3em;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    text-align: center;
    background: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, .7), rgba(255, 255, 255, 1));
    font-size: 1.5em;
    line-height: 2em;
    color: #27645c;
  }
  .br1 {
    display: none;
  }
  section {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    text-align: center;
  }
  .sec_in {
    margin: 0 auto;
    padding: 3em 0;
    width: 97%;
    height: auto;
    position: relative;
  }
  .flex {
    display: flex;
  }
  .flex_bet, .flex_bet2 {
    display: flex;
    justify-content: space-between;
  }
  .flex_low {
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
  }
  .flex_low2 {
    display: flex;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .flex_wrap, .flex_wrap2{
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
	.box16{
		margin: .5%;
    padding: 0;
    width: 19%;
    box-sizing: border-box;
    position: relative;
	}
  .flex_right {
    margin-left: 3%;
    display: flex;
    flex-direction: row-reverse;
  }
  .flex_left {
    display: flex;
    flex-direction: row;
  }
  .box30 {
    margin: 1%;
    padding: 0;
    width: 31.3%;
    box-sizing: border-box;
    position: relative;
  }
  .parallax {
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    box-sizing: border-box;
  }
  .parallax_1 {
    background-image: url("../images/bg_come.jpg");
    background-size: cover
  }
  .parallax_in {
    margin: 3em 1.5% 3em 49%;
    width: 50%;
    box-sizing: border-box;
    padding: 3%;
    background: rgba(255, 255, 255, 0.8);
  }
  .parallax_in dl {
    margin: 0 0 1em;
    padding: 0;
    width: 100%;
    height: auto;
    display: inline-block;
    position: relative;
    border-bottom: 1px dotted #666;
    border-left: 3px solid#666;
    line-height: 1.5em;
    text-align: left;
  }
  .parallax_in dl dt {
    float: left;
    margin: 0 0;
    padding-left: 6px !important;
    width: 25%;
    height: auto;
  }
  .parallax_in dl dd {
    float: right;
    margin: 0 0;
    padding: 0;
    width: 72%;
    height: auto;
  }
  .mapbox {
    margin: 0 auto;
    padding: 3em 0 0;
    width: 100%;
    height: auto;
    position: relative;
  }
  .googlemap {
    padding-bottom: 35%;
  }
}
@media screen and (min-width:1441px) {
  .font1 {
    font-size: 1.3em;
    line-height: 1.5em;
    text-align: left;
  }
  .font1b {
    font-size: 1.5em;
    line-height: 1.5em;
    text-align: left;
  }
  .font2 {
    font-size: 2em;
    line-height: 1.5em;
    text-align: left;
  }
  .font3 {
    font-size: 2.8em;
    line-height: 1.5em;
  }
  .font4 {
    font-size: 3.4vw;
    line-height: 1.5em;
  }
  article {
    margin: 0 auto;
    padding: 0px;
    width: 100%;
    text-align: center;
    overflow: hidden;
  }
  .article {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: 400px;
    box-sizing: border-box;
    text-align: center;
    background: url("../images/bg_ti.jpg") no-repeat;
    background-position: top right;
    position: relative;
  }
  .article h1 {
    position: absolute;
    bottom: 0;
    margin: 0 auto;
    padding: 2em 0 .3em;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    text-align: center;
    background: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, .7), rgba(255, 255, 255, 1));
    font-size: 1.5em;
    line-height: 2em;
    color: #27645c;
  }
  .br1 {
    display: none;
  }
  section {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    text-align: center;
  }
  .sec_in {
    margin: 0 auto;
    padding: 3em 0;
    width: 80%;
    height: auto;
    position: relative;
  }
  .flex {
    display: flex;
  }
  .flex_bet, .flex_bet2 {
    display: flex;
    justify-content: space-between;
  }
  .flex_low {
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
  }
  .flex_low2 {
    display: flex;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .flex_wrap, .flex_wrap2{
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .flex_right {
    margin-left: 12%;
    display: flex;
    flex-direction: row-reverse;
  }
  .flex_left {
    display: flex;
    flex-direction: row;
  }
  .box30 {
    margin: 1%;
    padding: 0;
    width: 31.3%;
    box-sizing: border-box;
    position: relative;
  }
	.box16{
		margin: .5%;
    padding: 0;
    width: 19%;
    box-sizing: border-box;
    position: relative;
	}
  .parallax {
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    box-sizing: border-box;
  }
  .parallax_1 {
    background-image: url("../images/bg_come.jpg");
    background-size: cover
  }
  .parallax_in {
    margin: 3% 1% 3% 49%;
    width: 50%;
    box-sizing: border-box;
    padding: 3%;
    background: rgba(255, 255, 255, 0.8);
  }
  .parallax_in dl {
    margin: 0 0 1em;
    padding: 0;
    width: 100%;
    height: auto;
    display: inline-block;
    position: relative;
    border-bottom: 1px dotted #666;
    border-left: 3px solid#666;
    line-height: 1.5em;
    text-align: left;
  }
  .parallax_in dl dt {
    float: left;
    margin: 0 0;
    padding-left: 6px !important;
    width: 25%;
    height: auto;
  }
  .parallax_in dl dd {
    float: right;
    margin: 0 0;
    padding: 0;
    width: 72%;
    height: auto;
  }
  .mapbox {
    margin: 0 auto;
    padding: 3em 0 0;
    width: 100%;
    height: auto;
    position: relative;
  }
  .googlemap {
    padding-bottom: 35%;
  }
}