@charset "UTF-8";
/* ----------------------------------------------
h1
----------------------------------------------*/
h1 {
  padding-top: 3%;
  position: relative;
  z-index: 10;
  text-align: center;
}
h1 img {
  width: 100%;
  height: auto;
}
@media print, screen and (min-width:768px) {
  h1 img {
    width: 980px;
    height: auto;
  }
}
/*----------------------------------------------
 mainVisual
----------------------------------------------*/
.scrollani {
  opacity: 0;
  transition: all .8s ease;
}
.scrollani.show {
  opacity: 1;
  transform: none;
}
.scrollani--up {
  transform: translate(0, 100px);
}
#anime01, #anime02, #anime03 {
  width: 90%;
  margin: 20px auto;
}
#mainVisual.yellow::before {
  top: -10px;
  left: 0;
}
@media print {
  .scrollani {
    opacity: 1;
    transform: none;
  }
}
@media screen and (max-width:374px) {}
@media print, screen and (min-width:768px) {
  #mainVisual h2 {
    width: 650px;
    margin: 0 auto;
    padding: 0;
  }
  #mainVisual .animation {
    width: 880px;
    margin: 0 auto;
    background: url("../img/ashiato.svg") no-repeat 30px center, url("../img/ashiato.svg") no-repeat 85% 80%;
    background-size: 85px auto;
  }
  #anime01 {
    width: 630px;
    margin: 20px auto 0 0;
  }
  #anime02 {
    width: 600px;
    margin: -20px 0 0 auto;
  }
  #anime03 {
    width: 630px;
    margin: -20px auto 0 0;
  }
  #mainVisual.yellow::before {
    top: -10px;
    left: 0;
  }
}
/*----------------------------------------------
 section
----------------------------------------------*/
section {
  padding: 87px 0;
}
section.yellow {
  padding: 60px 0;
}
@media print, screen and (min-width:768px) {
  section {
    padding: 117px 0 110px;
  }
  section.yellow {
    padding: 90px 0;
  }
}
/*----------------------------------------------
 aboutUs
----------------------------------------------*/
@media screen and (max-width:767px) {
  #aboutUs {
    padding-bottom: 0;
  }
  #aboutUs .lead, #aboutUs .lead2 {
    width: 90%;
    margin: 0 auto;
    position: relative;
    padding-bottom: 113px;
  }
  #aboutUs .lead2 {
    margin: 0 auto 20px;
    padding-bottom: 0;
  }
  #aboutUs .lead .text, #aboutUs .lead2 .text {
    width: 100%;
    padding: 23px 23px 25px;
    border: 2px solid #ccc;
    border-radius: 15px;
    font-size: 1.8rem;
    line-height: 2;
    font-weight: 500;
  }
  #aboutUs .lead .illust {
    width: 148px;
    position: absolute;
    right: 4px;
    bottom: -15px;
  }
  #aboutUs .lead2 .illust {
    position: absolute;
    width: 133px;
    right: 5px;
    top: -70px;
  }
  #aboutUs .itemBox, #aboutUs .itemBox.half {
    width: 90%;
    margin: 50px auto;
  }
  #aboutUs .itemBox h3 {
    padding-top: 30px;
    background: url("../img/h3-line.svg") no-repeat center top;
    background-size: 150% auto;
    text-align: center;
    font-size: 2.3rem;
    color: #333;
  }
  #aboutUs .itemBox dl {
    padding: 20px 0;
  }
  #aboutUs .itemBox dl dt {
    width: 50% !important;
    padding: 0;
    margin: 0 auto 20px;
  }
  #aboutUs .itemBox dl dt img {
    width: 100%;
    height: auto;
  }
  #aboutUs .itemBox dl dd {
    width: 100%;
    padding: 0;
    font-size: 1.6rem;
  }
  #aboutUs .itemBox dl dd img {
    width: 100%;
    height: auto;
    vertical-align: top;
  }
  #aboutUs .itemBox dl dd p {
    margin-bottom: 20px;
    padding-left: 35px;
    background: url("../img/ashiato02.svg") no-repeat 0 3px;
    background-size: 23px auto;
  }
  #aboutUs .itemBox dl dd ul {
    width: 100%;
    padding: 0 1.5em 10px 60px;
    background: url("../img/ex-center.png") repeat-y center top;
    background-size: 100% auto;
    font-size: 1.4rem;
    font-weight: 400;
  }
  #aboutUs .itemBox.half dl dd ul {
    width: 100%;
    padding: 0 1.5em 10px 60px;
    background: url("../img/ex-h-center.png") repeat-y center top;
    background-size: 100% auto;
    font-size: 1.4rem;
    font-weight: 400;
  }
}
@media print, screen and (min-width:768px) {
  #aboutUs .lead, #aboutUs .lead2 {
    width: 720px;
    margin: 0 auto 0 100px;
    position: relative;
    padding-bottom: 113px;
  }
  #aboutUs .lead2 {
    margin: 0 auto 20px 100px;
    position: relative;
    padding-bottom: 0;
  }
  #aboutUs .lead .text, #aboutUs .lead2 .text {
    width: 100%;
    padding: 25px;
    border: 2px solid #ccc;
    border-radius: 15px;
    font-size: 2.0rem;
    line-height: 2;
    font-weight: 500;
  }
  #aboutUs .lead .illust {
    width: 148px;
    position: absolute;
    right: -90px;
    bottom: 0;
  }
  #aboutUs .lead2 .illust {
    position: absolute;
    width: 161px;
    right: 15px;
    top: -90px;
  }
  #aboutUs .itemBox {
    width: 900px;
    margin: 50px auto 80px;
  }
  #aboutUs .itemBox.half {
    width: 420px;
    margin: 40px 0;
  }
  #aboutUs .itemBox.half:nth-child(odd) {
    margin-right: 50px;
  }
  .flex {
    width: 900px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  #aboutUs .itemBox h3 {
    padding-top: 50px;
    background: url("../img/h3-line.svg") no-repeat center top;
    background-size: 100% auto;
    text-align: center;
    font-size: 2.8rem;
    color: #333;
  }
  #aboutUs .itemBox.half h3 {
    padding-top: 50px;
    background: url("../img/h3-line.svg") no-repeat center top;
    background-size: 200% auto;
  }
  #aboutUs .itemBox dl {
    display: flex;
    align-items: flex-start;
    padding: 20px 0;
  }
  #aboutUs .itemBox dl.rever {
    flex-direction: row-reverse;
  }
  #aboutUs .itemBox dl dt {
    width: 280px !important;
    padding: 0 20px;
  }
  #aboutUs .itemBox dl dt img {
    width: 100%;
    height: auto;
  }
  #aboutUs .itemBox dl dd {
    flex: 1 1 620px;
    padding: 0 20px;
    font-size: 2.0rem;
  }
  #aboutUs .itemBox dl dd img {
    vertical-align: top;
  }
  #aboutUs .itemBox dl dd p {
    margin-bottom: 20px;
    padding-left: 35px;
    background: url("../img/ashiato02.svg") no-repeat 0 3px;
    background-size: 23px auto;
  }
  #aboutUs .itemBox dl dd ul {
    width: 550px;
    padding: 0 1.5em 10px 100px;
    background: url("../img/ex-center.png") repeat-y center top;
    background-size: 100% auto;
    font-size: 1.5rem;
    font-weight: 400;
  }
  #aboutUs .itemBox.half dl dd ul {
    width: 400px;
    padding: 0 1.5em 10px 100px;
    background: url("../img/ex-h-center.png") repeat-y center top;
    background-size: 100% auto;
    font-size: 1.5rem;
    font-weight: 400;
  }
}
/*----------------------------------------------
 original
----------------------------------------------*/
 #original {
    padding-bottom: 100px;
  }
#original .lead .text {
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 500;
}

#original .lead {
	position: relative;
}
#original .photo {
	width: 100%;
}
#original .wrap img {
  width: 100%;
  height: auto;
}
#original .lead .text {
    width: 100%;
    padding: 23px 23px 25px;
    border: 2px solid #ccc;
		background-color: #fff;
    border-radius: 15px;
    font-size: 1.8rem;
    line-height: 2;
    font-weight: 500;
		margin-top: 0;
  }
#original .lead:first-of-type .text {
		width: 85%;
	}
#original .lead .illust {
    width: 100px;
    position: absolute;
    right: 0;
	bottom: -20px;
  }
	 #original .lead .illust2 {
    width: 200px;
    position: absolute;
    right: calc(50% - 100px);
    bottom: -90px;
		 z-index: 3;
  }
@media screen and (max-width:340px) {
	#original .lead:first-of-type .text {
		width: 80%;
	}
	#original .lead .illust {
    width: 100px;
    position: absolute;
    right: 0;
	bottom: -20px;
  }
}
@media print, screen and (min-width:768px) {
  #original {
    padding-bottom: 150px;
  }
  #original .sectionWrap {
    width: 980px;
    margin: 0 auto;
  }
  #original .titleWrap {
    margin-bottom: 30px;
    justify-content: space-between;
    align-items: flex-start;
  }
  #original h2 img {
    width: 34px;
    height: auto;
  }
  #original .lead {
    width: 850px;
    padding-bottom: 0;
		position: relative;
  }
  #original .lead .text {
    width: 100%;
    padding: 23px 23px 25px;
    border: 2px solid #ccc;
		background-color: #fff;
    border-radius: 15px;
    font-size: 2rem;
    line-height: 2;
    font-weight: 500;
		margin-top: -50px;
  }
	#original .lead:first-of-type .text {
		width: 90%;
		margin-top: 0;
	}
  #original .lead .illust {
    width: 130px;
    position: absolute;
    right: 4px;
    bottom: -100px;
  }
	 #original .lead .illust2 {
    width: 300px;
    position: absolute;
    right: calc(50% - 150px);
    bottom: -140px;
  }
}
/*----------------------------------------------
 cost
----------------------------------------------*/

#cost .lead img {
  width: 100%;
  height: auto;
}
@media screen and (max-width:767px) {
	#cost .lead .text {
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 500;
  margin-bottom: 50px;
		display: flex;
		flex-direction: row-reverse;
		align-items: flex-end;
}
  #cost .lead .text p {
    width: calc(60% + 20px );
    margin: 0 auto;
    padding: 20px 1em;
    border-radius: 50px;
    border: 1px solid #cacaca;
    text-align: left;
  }
	#cost .lead .text > div {
		width: 40%;
		margin-left: -20px;
	}
  #cost .lead .text img {
		 margin-left: 20px;
  }
  #cost .lead .text.illust2 img {
  }
  #cost .lead .text.illust3 img {
  }
}
@media print, screen and (min-width:768px) {
  #cost .sectionWrap {
    width: 980px;
    margin: 0 auto;
  }
  #cost .titleWrap {
    margin-bottom: 30px;
    justify-content: space-between;
    align-items: flex-start;
  }
  #cost h2 img {
    width: 34px;
    height: auto;
  }
  #cost .lead {
    width: 850px;
    padding-bottom: 0;
    display: flex;
  }
  #cost .lead .text {
    width: 280px;
    font-size: 2rem;
    line-height: 1.4;
    margin-bottom: 50px;
    color: #333;
		font-weight: 500;
  }
  #cost .lead .text p {
    width: 90%;
    margin: 0 auto;
    padding: 40px 1em;
    border-radius: 50%;
    border: 2px solid #cacaca;
    text-align: center;
  }
  #cost .lead .text.illust1 img {
    margin-top: -40px;
  }
  #cost .lead .text.illust2 {
    margin-top: 40px;
  }
  #cost .lead .text.illust2 img {
    margin-top: -40px;
  }
  #cost .lead .text.illust3 {
    margin-top: 100px;
  }
  #cost .lead .text.illust3 img {
    margin-top: -80px;
  }
}
/*----------------------------------------------
fee
----------------------------------------------*/
#fee .lead .text {
  color: #333;
  font-weight: 500;
  font-size: 1.8rem;
  text-align: center;
}
#fee .wrap {
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  line-height: 2;
  text-align: center;
}
#fee .wrap img {
  width: 150px;
  height: auto;
  margin: 0 auto 20px;
}
#fee .wrap p {
  text-align: left;
}
#fee .lead .kousei {
  padding: 20px 30px;
  background-color: #fff;
  border: 2px solid #cacaca;
  border-radius: 20px;
}
#fee .lead ul {
  list-style: none;
  font-size: 1.6rem;
  font-weight: 400;
}
#fee .lead ul li {
  background: url("../img/ashiato02.svg") no-repeat left center;
  background-size: 20px auto;
  padding-left: 30px;
}
@media screen and (max-width:340px) {}
@media print, screen and (min-width:768px) {
  #fee .sectionWrap {
    width: 980px;
    margin: 0 auto;
  }
  #fee .titleWrap {
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
  }
  #fee h2 img {
    width: 34px;
    height: auto;
  }
  #fee .lead {
    width: 850px;
  }
  #fee .lead .kousei {
    padding: 35px 20px 35px 50px;
    background-color: #fff;
    border: 2px solid #cacaca;
    border-radius: 20px;
  }
  #fee .lead .text {
    width: 100%;
    font-size: 2rem;
    line-height: 2;
    text-align: left;
  }
  #fee .lead ul {
    list-style: none;
    font-size: 2.0rem;
    font-weight: 400;
    display: flex;
    flex-wrap: wrap;
  }
  #fee .lead ul li {
    width: 33%;
    background: url("../img/ashiato02.svg") no-repeat left center;
    background-size: 23px auto;
    padding-left: 35px;
  }
  #fee .wrap {
    width: 850px;
    margin: 0 0 0 auto;
    padding: 20px 0;
    display: flex;
    align-items: flex-end;
    font-size: 2rem;
    line-height: 2;
  }
  #fee .wrap img {
    width: 290px;
    height: auto;
  }
}
/*----------------------------------------------
flow
----------------------------------------------*/
#flow {
  width: 100%;
  position: relative;
  z-index: 2;
}
#flow::after {
  content: "";
  width: 100%;
  height: 34px;
  background: url(../../img/wavyline-white.svg) center top repeat-x;
  background-size: 51px 34px;
  position: absolute;
  bottom: -17px;
  left: 0;
  z-index: 3;
}
#flow .sectionWrap {
  width: 100%;
  margin: 0 auto;
}
#flow .lead {
  width: 100%;
}
@media screen and (max-width:767px) {
  #flow .flowWrap div {
    width: 100%;
    text-align: center;
  }
  #flow .flowWrap img {
    width: 45%;
    height: auto;
  }
  #flow .flowWrap .arrow img {
    width: 30px;
    height: auto;
    margin: 30px 0;
    transform: rotate(90deg);
  }
	#flow .flowWrap .repetition {
		margin-top: -15px;
		margin-bottom: 15px;
	}
  #flow .flowWrap .chuui img {
    width: 90%;
    height: auto;
    margin-top: 30px;
  }
}
@media print, screen and (min-width:768px) {
	#flow .titleWrap {
		align-items: flex-start;
	}
  #flow .sectionWrap {
    width: 980px;
    margin: 0 auto;
  }
  #flow h2 img {
    width: 34px;
    height: auto;
  }
  #flow .lead {
    width: 850px;
  }
  #flow .flowWrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
		position: relative;
  }
	#flow .flowWrap:last-of-type {
		justify-content: flex-start;
	}
	#flow .flowWrap:last-of-type .arrow {
		margin-right: 30px;
	}
	#flow .flowWrap .repetition {
		position: absolute;
		right:0;
		top: -30px;
		text-align: center;
		width: 476px;
	}
  #flow .flowWrap + .flowWrap {
    margin-top: 80px;
  }
  #flow .flowWrap img {
    width: 183px;
    height: auto;
  }
  #flow .flowWrap .arrow img,
	#flow .flowWrap .repetition img {
    width: 50px;
    height: auto;
  }
  #flow .flowWrap .chuui img {
    width: 285px;
    height: auto;
  }
}
/*----------------------------------------------
 contact
----------------------------------------------*/
#contact {
  background: #ffda46 url(../../img/back.svg) center top repeat;
  background-size: 32px 32px;
  z-index: 0;
}
#contact img {
  max-width: 100%;
  height: auto;
}
#contact .titleWrap {
  padding-bottom: 20px;
}
#contact h2 img {
  width: 348px;
  height: auto;
}
#contact .lead {
  width: 100%;
  position: relative;
  padding-bottom: 74px;
}
#contact .lead .text {
  width: 100%;
  padding: 23px;
  border: 2px solid #fff;
  border-radius: 15px;
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 500;
}
#contact .lead .illust {
  width: 143px;
  position: absolute;
  right: 9px;
  bottom: 0;
}
#contact .btn {
  width: calc(100% - 40px);
  max-width: 100%;
  margin: 0 auto;
}
#contact .btn a {
  display: block;
  width: 100%;
  height: 60px;
  padding: 20px 110px 0 0;
  background-color: #fff;
  border-radius: 30px;
  position: relative;
  color: #666;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
}
#contact .btn a::after {
  content: "";
  width: 124px;
  height: 42px;
  background: url(../../img/btn-arrow02.svg) left top no-repeat;
  background-size: 124px 42px;
  position: absolute;
  top: 9px;
  right: -13px;
}
@media print, screen and (min-width:768px) {
  #contact {
    width: 100%;
  }
  #contact .sectionWrap {
    width: 980px;
    margin: 0 auto;
  }
  #contact .titleWrap {
    margin-bottom: 30px;
  }
	#contact h2 {
		width: 82px;
	}
  #contact h2 img {
    width: 82px;
    height: auto;
  }
  #contact .lead {
    width: 820px;
    padding-bottom: 0;
  }
  #contact .lead .text {
    width: 720px;
    padding: 34px 38px;
    border-radius: 20px;
    font-size: 2rem;
    line-height: 2;
  }
  #contact .lead .illust {
    width: 119px;
    position: absolute;
    right: 7px;
    bottom: -80px;
  }
  #contact .btn {
    width: 420px;
    max-width: auto;
    margin: 0 0 0 315px;
  }
  #contact .btn a {
    width: 100%;
    padding: 18px 112px 0 0;
    font-size: 2.2rem;
    line-height: 1;
    -webkit-transition: all .4s;
    transition: all .4s;
  }
  #contact .btn a span {
    position: relative;
    z-index: 1;
  }
  #contact .btn a::before {
    content: "";
    width: 0;
    height: 100%;
    background-color: #fff58c;
    border-radius: 30px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -webkit-transition: all .4s;
    transition: all .4s;
  }
  #contact .btn a:hover::before {
    width: 100%;
  }
  #contact .btn a:hover {
    color: #333;
  }
}
@media screen and (max-width:340px) {
	#contact .btn a {
  display: block;
  width: 100%;
  height: 60px;
  padding: 15px 130px 0 10px;
  background-color: #fff;
  border-radius: 30px;
  position: relative;
  color: #666;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
}
}
/*----------------------------------------------
 footer
----------------------------------------------*/
footer::before {
  content: "";
  width: 100%;
  height: 36px;
  background: url(../../img/wavyline-footer.svg) center top repeat-x;
  background-size: 51px 36px;
  position: absolute;
  top: -18px;
  left: 0;
}
@media screen and (max-width:767px) {
  footer .company {
    text-align: center;
    border-bottom: none;
    margin: 0 15px;
    padding: 13px 0 20px;
  }
  footer .company .address span {
    display: block;
  }
  footer .panda {
    width: 70%;
    margin: 0 auto 30px;
  }
  footer .panda img {
    width: 100%;
    height: auto;
  }
}
@media print, screen and (min-width:768px) {
  footer .footerWrap {
    width: 750px;
    margin: 0 auto;
    overflow: visible;
    display: flex;
    justify-content: center;
    align-items: flex-end;
  }
  footer .company {
    width: 400px;
    margin: 0 auto 0 0;
    padding: 0;
    border-bottom: none;
    text-align: center;
  }
  footer .company::before {
    display: none;
  }
  footer .company .address span {
    margin-left: 1em;
  }
  footer .panda {
    width: 255px;
  }
  footer .panda img {
    width: 100%;
    height: auto;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  footer .company::before {
    display: none;
  }
}