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

.title{
  width: 840px;
  height: 170px;
	margin: 80px auto 0;;
  position: relative;
}

.title h1{
	text-align:center;
	margin-bottom:30px;
}

.title h1 span{
	font-size:14px;
	line-height:1.3;
	color:#478866;
	letter-spacing:0.3em;
	display:block;
	margin-top:10px;
	font-weight:bold;
}

.title p{
  font-size: 13px;
  line-height: 1;
  color: #3a5748;
  position: absolute;
  bottom: 10px;
  right: 0;
}

.gateway{
  text-align: center;
  background: #519c62;
  padding: 90px 0 100px;
}

.gateway .inner{
  width: 845px;
}

.gateway .inner > h2{
  font-size: 20px;
  line-height: 1.8;
  color: #FFF;
  margin-bottom: 40px;
}

.gateway .inner > div{
  background: #FFF;
  padding: 55px 90px;
}

.gateway .inner > div h2{
  font-size: 18px;
  line-height: 1;
  color: #3f516b;
}

.gateway .inner > div h2 img{
  display: block;
  margin: 20px auto 0;
}

.gateway .inner > div > div{
  width: 100%;
  margin-top: 20px;
  aspect-ratio: 16 / 9;
}

.gateway iframe {
  width: 100%;
  height: 100%;
}

.about{
  width:1026px;
	margin: 0 auto;
	position: relative;
}

.about::before{
  content: "ABOUT";
  font-size: 36px;
  line-height: 1;
  color: #cddcd2;
  position: absolute;
  top: 95px;
  left: 0;
  transform-origin: right bottom;
  transform: translate(-100%,-100%) rotate(-90deg);
}

.about > div{
  width: 790px;
  margin: 0 auto;
  padding: 95px 0 75px;
  position: relative;
  z-index: 1;
}

.about > div::after{
  content: "";
  width: 117px;
  height: 172px;
  background: url("../img/about_bk.png") no-repeat;
  position: absolute;
  top: 85px;
  right: -30px;
  z-index: -1;
}

.about h2{
  font-size: 28px;
  line-height: 1;
  color: #478866;
  text-align: center;
  margin-bottom: 45px;
}

.about h2 span{
  font-size: 20px;
  line-height: 1;
  display: block;
  margin-bottom: 9px;
}

.about .list{
  padding: 0 35px;
  margin-bottom: 80px;
}

.about .list li{
  color: #3a5748;
  padding: 20px;
  border: 1px solid #b8c2bb;
  border-radius: 5px;
  overflow: hidden;
  background: #FFF;
  position: relative;
}

.about .list li::before{
  content: "";
  width: 20px;
  height: 20px;
  background: #519c62;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%) rotate(45deg);
}

.about .list li + li{
  margin-top: 10px
}

.about .list h3{
  font-size: 16px;
  line-height: 1;
  font-weight: bold;
  margin-bottom: 10px;
}

.about .list p{
  font-size: 14px;
  line-height: 1.5;
}

.about > div > p{
  font-size: 15px;
  line-height: 1.6;
  color: #3a5748;
}

.about > div > p + p{
  margin-top: 20px;
}

.about > div > p a{
  color: #3a5748;
  border-bottom: 1px solid #3a5748;
  transition: all .3s;
}

.about > div > p a:hover{
  opacity: .6;
  border-bottom: 1px solid #FFF;
}

.about .fig{
  border: 7px solid #d7e1da;
  margin-top: 35px;
  padding: 30px 75px;
  position: relative;
}

.about .fig::after{
  content: "";
  border-top: 25px solid #22a085;
  border-right: 60px solid transparent;
  border-left: 60px solid transparent;
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%)
}

.about .fig h3{
  font-size: 15px;
  line-height: 1;
  color: #3a5748;
  margin-left: .3em;
  margin-bottom: 10px;
}

.about .fig h3::before{
  content: "▼";
  color: #22a085;
  margin-right: .1em;
  transform: scale(.7);
  display: inline-block;
}

.about .fig ol{
  width: 385px;
  position: relative;
}

.about .fig ol::before,
.about .fig ol::after{
  content: "";
  position: absolute;
  box-sizing: border-box;
}

.about .fig ol::before{
  width: 30px;
  height: 140px;
  border: 2px solid #0b6868;
  border-radius: 50px;
  top: 3px;
  right: -31px;
}

.about .fig ol::after{
  width: 15px;
  height: 140px;
  background: #FFF;
  top: 3px;
  right: -15px;
}

.about .fig ol li{
  height: 45px;
  font-size: 15px;
  line-height: 45px;
  color: #3a5748;
  padding-left: 15px;
  background: #e7f0bf;
  box-sizing: border-box;
  border-radius: 8px;
}

.about .fig ol li + li{
  margin-top: 8px;
}

.about .fig ol li span{
  width: 28px;
  height: 28px;
  color: #FFF;
  text-align: center;
  line-height: 28px;
  background: #7cb09b;
  border-radius: 50%;
  margin-right: 10px;
  display: inline-block;
}

.about .fig ol li:last-of-type{
  background: #f0f0f0;
}

.about .fig ol li:last-of-type span{
  background: #b3bdb9;
}

.about .fig p{
  font-size: 17px;
  line-height: 1.5;
  color: #0b6868;
  position: absolute;
  top: 100px;
  right: 55px;
}

.fe{
  background: #f0f0f0;
}

.fe .inner{
  padding: 85px 0 60px;
}

.fe .inner::before{
  content: "FEATURES";
  font-size: 36px;
  line-height: 1;
  color: #dbdbdb;
  position: absolute;
  top: 95px;
  left: 0;
  transform-origin: right bottom;
  transform: translate(-100%,-100%) rotate(-90deg);
}

.fe h2{
  font-size: 28px;
  line-height: 1;
  color: #478866;
  text-align: center;
  margin-bottom: 50px;
}

.fe h2 span{
  font-size: 20px;
  line-height: 1;
  display: block;
  margin-bottom: 9px;
}

.fe .inner > img{
  display: inline-block;
  margin: 0 0 80px 105px;
}

.fe ul{
  width: 725px;
  margin: 0 auto;
}

.fe ul li{
  padding-left: 85px;
  position: relative;
}

.fe ul li + li{
  margin-top: 45px;
}

.fe ul li h3{
  width: 68px;
  height: 68px;
  font-size: 15px;
  line-height: 1;
  color: #FFF;
  text-align: center;
  background: #519c62;
  padding-top: 16px;
  border-radius: 50%;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
}

.fe ul li h3 span{
  font-size: 21px;
  display: block;
  margin-top: 3px;
}

.fe ul li h4{
  font-size: 16px;
  line-height: 1;
  color: #478866;
  font-weight: bold;
  margin-bottom: 15px;
}

.fe ul li p{
  font-size: 14px;
  line-height: 1.5;
  color: #3a5748;
}

.fe ul li > div{
  display: flex;
  justify-content: space-between;
}

.fe ul li > div > div{
  width: 270px;
}

.fe ul li > div > div + div{
  width: 330px;
  padding-top: 5px;
}


.se{
  width:1026px;
	margin: 0 auto;
	position: relative;
}

.se::before{
  content: "SERVICE";
  font-size: 36px;
  line-height: 1;
  color: #cddcd2;
  position: absolute;
  top: 95px;
  left: 0;
  transform-origin: right bottom;
  transform: translate(-100%,-100%) rotate(-90deg);
}

.se > div{
  width: 815px;
  margin: 0 auto;
  padding: 95px 0 75px;
  position: relative;
  z-index: 1;
}

.se h2{
  font-size: 28px;
  line-height: 1;
  color: #478866;
  text-align: center;
  margin-bottom: 50px;
}

.se h2 span{
  font-size: 20px;
  line-height: 1;
  display: block;
  margin-bottom: 9px;
}

.se .box h3{
  font-size: 20px;
  line-height: 1;
  font-weight: bold;
  padding-bottom: 10px;
  margin-bottom: 20px;
  position: relative;
}

.se .box h3::before{
  content: "■";
  color: #2da35f;
  margin-right: .5em;
  transform: scale(.9);
  display: inline-block;
}

.se .box h3::after{
  content: "";
  width: 160%;
  height: 1px;
  background: #6e8076;
  position: absolute;
  bottom: 0;
  right: 0;
}

.se .box.c2 h3::after{
  right: auto;
  left: 0;
}

.se .box p{
  font-size: 15px;
  line-height: 1.5;
  color: #3a5748;
}

.se .box li p{
  font-size: 14px;
  line-height: 1.4;
  white-space: nowrap;
  letter-spacing: normal;
  color: #3a5748;
}

.se .box h4{
  font-size: 16px;
  line-height: 1;
  font-weight: bold;
  color: #478866;
  margin-bottom: 8px;
}

.se .box ul{
  margin-top: 15px;
}

.se .box li{
  padding: 15px 15px;
  border: 1px solid #b8c2bb;
  border-radius: 5px;
  box-sizing: border-box;
}

.se .box li + li{
  margin-top: 10px;
}

.se .box{
  position: relative;
}

.se .box + .box{
  margin-top: 80px;
}

.se .box.c1{
  padding-left: 425px;
}

.se .box.c1::before{
  content: "";
  width: 417px;
  height: 331px;
  background: url("../img/se_pic01.jpg") no-repeat;
  position: absolute;
  top: 0;
  left: -27px;
  z-index: 1;
}

.se .box.c2{
  padding-right: 425px;
}

.se .box.c2::before{
  content: "";
  width: 417px;
  height: 404px;
  background: url("../img/se_pic02.png") no-repeat;
  position: absolute;
  top: -35px;
  right: -43px;
  z-index: 1;
}

.se .btn{
  text-align: center;
  margin-top: 60px;
}

.se .btn p{
  font-size: 15px;
  line-height: 1;
  color: #3a5748;
  margin-bottom: 10px;
}

.se .btn p::before,
.se .btn p::after{
  content: "/";
  padding-left: .3em;
  display: inline-block;
}

.se .btn p::before{
  padding-left: .5em;
  transform: scale(-1,1);
}

.se .btn a.btn_b{
  padding: 25px 45px;
  display: inline-block;
}

.pl{
  background: #f0f0f0;
}

.pl .inner{
  padding: 85px 0 65px;
}

.pl .inner::before{
  content: "PLANS";
  font-size: 36px;
  line-height: 1;
  color: #dbdbdb;
  position: absolute;
  top: 95px;
  left: 0;
  transform-origin: right bottom;
  transform: translate(-100%,-100%) rotate(-90deg);
}

.pl .inner > div{
  width: 812px;
  margin: 0 auto;
}

.pl h2{
  font-size: 28px;
  line-height: 1;
  color: #478866;
  text-align: center;
  margin-bottom: 40px;
}

.pl .inner > div > p{
  font-size: 15px;
  line-height: 1;
  color: #3a5748;
  text-align: center;
  margin-bottom: 45px;
}

.pl .pl_list{
  width: 100%;
  height: 567px;
  margin: 0 auto;
  position: relative;
}

.pl .pl_list::before{
  content: "";
  width: 100%;
  height: 567px;
  background: url("../img/pl_figure_2.png") no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.pl .pl_list li{
  width: 180px;
  text-align: center;
  position: absolute;
  top: 0;
  left: 226px;
  z-index: 1;
}

.pl .pl_list li:nth-child(2){
  left: 422px;
}

.pl .pl_list li:nth-child(3){
  left: 616px;
}

.pl .pl_list h3 {
  font-size: 18px;
  line-height: 1;
  font-weight: bold;
  color: #3a5748;
  margin: 25px 0 15px;
}

.pl .pl_list p{
  font-size: 16px;
  line-height: 1;
  font-weight: bold;
  color: #3a5748;
}

.pl .pl_list p span{
  font-size:13px;
  font-weight: normal;
}

.pl .pl_list p.price{
	font-family: "Lato", "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 29px;
  line-height: 1;
  color: #478866;
  margin-top: 5px;
}

.pl .pl_list p.price i{
  font-size: 26px;
  line-height: 1;
  font-weight: 700;
  font-style: normal;
}

.pl .pl_list p.price span{
  font-size: 18px;
  font-weight: bold;
}

.pl .note{
  margin-top: 50px;
}

.pl .note li{
  font-size: 14px;
  line-height: 1.6;
  color: #3a5748;
  margin-left: 1em;
}

.pl .note li::before{
  content: "※";
  display: inline-block;
  margin-left: -1em;
}

.pl .note li + li{
  margin-top: 10px;
}

.contact_box{
  text-align: center;
  padding: 95px 0 100px;
}

.contact_box h2{
  font-size: 28px;
  line-height: 1;
  color: #478866;
  margin-bottom: 40px;
}

.contact_box a.btn_b{
  font-size: 18px;
  line-height: 1.5;
  display: inline-block;
}











