@charset "UTF-8";
/* ----------------------------------------------
h1
----------------------------------------------*/
h1 {
  padding-top: 5%;
  text-align: center;
	position: relative;
	z-index: 2;
}
h1 img {
  width: 100%;
  height: auto;
}
@media print, screen and (min-width:768px) {
  h1 img {
    width:995px;
    height: auto;
		vertical-align: bottom;
  }
}
/*----------------------------------------------
 mainVisual
----------------------------------------------*/
.scrollani {
  opacity: 0;
  transition: all .8s ease;
}
.scrollani.show {
  opacity: 1;
  transform: none;
}
.scrollani--up {
  transform: translate(0, 100px);
}
 #mainVisual h2 {
    width: 90%;
    margin: 0 auto 40px;
    padding: 0;
  }
#anime01, #anime02, #anime03 {
  width: 90%;
  margin: 20px auto;
}
#mainVisual.yellow::before {
  top: -10px;
  left: 0;
}
@media print {
  .scrollani {
    opacity: 1;
    transform: none;
  }
}
@media print, screen and (min-width:768px) {
  #mainVisual h2 {
    width: 980px;
    margin: 0 auto 40px;
    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;
}
	#mainVisual.yellow {
		padding: 30px 0 60px;
	}
@media print, screen and (min-width:768px) {
  section {
    padding: 117px 0 110px;
  }
  section.yellow {
    padding: 90px 0;
  }
	#mainVisual.yellow {
		padding: 30px 0 90px;
	}
}
/*----------------------------------------------
 btn
----------------------------------------------*/
.btn {
  width: calc(100% - 40px);
  max-width: 100%;
  margin: 0 auto;
}
.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;
}
.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) {
	.btn {
    width: 420px;
		margin: 50px auto 0;
    max-width: auto;
  }
.btn a {
    width: 100%;
    padding: 18px 112px 0 0;
    font-size: 2.2rem;
    line-height: 1;
    -webkit-transition: all .4s;
    transition: all .4s;
  }
.btn a span {
    position: relative;
    z-index: 1;
  }
.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;
  }
.btn a:hover::before {
    width: 100%;
  }
.btn a:hover {
    color: #333;
  }
}
/*----------------------------------------------
 サービスについて
----------------------------------------------*/
#serviceBox {
	width: 90%;
	margin: 0 auto;
	padding: 80px 0 0;
}
#serviceBox .service {
	width: 100%;
	position: relative;
	padding: 15px;
	margin-bottom: 30px;
	background-color: #fff;
	border: 2px solid #cacaca;
	border-radius: 20px;
}
#serviceBox .service p {
	font-size: 1.5rem;
	line-height: 1.8;
}
.flag span {
	font-size: 2.5rem;
}
.flag {
	position: absolute;
	top: 0;
	left: 25px;
	padding-top: 5px;
	padding-left: 22px;
	z-index: 1;
	text-align: center;
	color: #666;
	font-size: 1.6rem;
	width: 1em;
	line-height: 0.5em;
	font-weight: 500;
	-webkit-transition: line-height 0.5s;
	transition: line-height 0.5s;
}
.flag:after {
	content: "";
	font-size: 0.5em;
	position: absolute;
	height: 6em;
	border: 6em solid #E9C100;
	z-index: -1;
	top: -1em;
	border-top-width: 1.5em;
	border-bottom-width: 1.5em; /*下の三角*/
	border-bottom-color: transparent;
	left: 0;
	-webkit-transition: height 0.5s;
	transition: height 0.5s;
}
.serviceTitle {
	padding: 40px 0 15px;
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	color: #333;
}
.serviceTitle br {
	display: none;
}
.merit .illust {
	margin-top: -40px;
	padding-left: 40px;
}
.merit ul {
	width: 90%;
	margin: 0 auto;
	list-style: none;
}
.merit ul li {
	background: url("../img/ashiato02.svg") no-repeat left 5px;
	background-size: 23px auto;
	padding-left: 30px;
	font-size: 1.7rem;
	line-height: 1.7;
}
.merit ul li span {
	font-size: 2.0rem;
	font-weight: 500;
	background: linear-gradient(transparent 70%, #E9C100 70%, #E9C100 90%,transparent 90%);
}
@media print, screen and (min-width:768px) {
#serviceBox {
	width: 980px;
	margin: 0 auto;
	padding: 100px 0 0;
}
#serviceBox .boxInner {
	display: flex;
	justify-content: space-between;
}
#serviceBox .service {
	flex: 0 0 300px;
	position: relative;
	padding: 15px;
	background-color: #fff;
	border: 2px solid #cacaca;
	border-radius: 20px;
}
#serviceBox .service p {
	font-size: 2.0rem;
	line-height: 1.8;
}
.flag span {
	font-size: 3.0rem;
}
.flag {
	font-size: 2.0rem;
}
.serviceTitle {
	padding: 50px 0 15px;
	font-size: 3.4rem;
}
	.serviceTitle br {
	display: block;
}
.service:first-child .serviceTitle {
	padding: 80px 0 30px;
}
	.merit .illust {
		width: 212px;
		height: auto;
		margin-top: 0;
	padding-left: 0;
	}
	.merit {
		width: 100%;
		padding-left: 50px;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
.merit ul {
	width:600px;
	margin-left: 60px;
	padding: 0;
}
.merit ul li {
	background: url("../img/ashiato02.svg") no-repeat left center;
	background-size: 23px auto;
	padding-left: 30px;
	font-size: 2.0rem;
	line-height: 2;
}
.merit ul li span {
	font-size: 3.0rem;
}
}
/*----------------------------------------------
 about
----------------------------------------------*/
@media screen and (max-width:767px) {
  #about {
    padding-bottom: 0;
  }
  #about .lead {
    width: 90%;
    margin: 0 auto;
    position: relative;
    padding-bottom: 113px;
  }
  #about .lead .text {
    width: 100%;
    padding: 23px 23px 25px;
    border: 2px solid #ccc;
    border-radius: 15px;
    font-size: 1.8rem;
    line-height: 2;
    font-weight: 500;
  }
  #about .lead .illust {
    width: 148px;
    position: absolute;
    right: 4px;
    bottom: -15px;
  }
}
@media print, screen and (min-width:768px) {
  #about .lead {
    width: 720px;
    margin: 0 auto 0 100px;
    position: relative;
    padding-bottom: 113px;
  }
  #about .lead .text {
    width: 100%;
    padding: 25px;
    border: 2px solid #ccc;
    border-radius: 15px;
    font-size: 2.0rem;
    line-height: 2;
    font-weight: 500;
  }
  #about .lead .illust {
    width: 148px;
    position: absolute;
    right: -90px;
    bottom: 0;
  }
}
/*----------------------------------------------
fee
----------------------------------------------*/
#fee {
	margin-top: 80px;
}
#fee img {
  max-width: 100%;
  height: auto;
}
#fee .titleWrap {
  padding-bottom: 40px;
}
#fee h2 img {
  width: 311px;
  height: auto;
}
#fee .lead {
  width: 100%;
	margin-top: 50px;
  position: relative;
}
#fee .lead .text {
  width: 100%;
  padding: 23px;
  border: 2px solid #fff;
  border-radius: 15px;
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 500;
}
#fee .lead .illust {
  width: 133px;
  position: absolute;
  right: 4px;
  top: -77px;
}
#fee .kingaku {
	font-size: 2.0rem;
	color: #333;
	text-align: center;
}
#fee .kingaku em{
	font-style: normal;
	flex-wrap: 500;
	font-size: 4.0rem;
	padding-left: 0.5em;
}
#fee .kingaku span {
	display:block;
	width: 40px;
	height: 40px;
	margin: 0 auto;
	padding: 4px;
	line-height: 1;
	background-color: #333;
	border-radius: 50%;
	color: #fff;
	font-size: 3.0rem;
}
  #fee .itemBox {
    width: 90%;
    margin: 30px auto;
  }
#fee .eximg img {
	vertical-align: bottom;
}
#fee .eximg2 img {
	vertical-align: top;
}
  #fee .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;
  }
  #fee .itemBox dl {
    padding: 10px 20px 10px 40px;
		background: url("../img/ex-center.png") repeat-y center top;
    background-size: 100% auto;
  }
  #fee .itemBox dl dt {
		text-align: center;
		font-size: 2.0rem;
  }
#fee .itemBox dl dt div + div {
	margin-top: 20px;
}
  #fee .itemBox dl dt img {
    width: 30%;
    height: auto;
  }
#fee .itemBox h4 {
	background-color: #E9C100;
	font-size: 2.0rem;
	font-weight: normal;
	text-align: center;
}
  #fee .itemBox dl dt p span {
	font-size: 3.4rem;
		font-weight: 500;
}
#fee .itemBox dl dd {
	padding-top: 20px;
	font-size: 1.5rem;
	line-height: 1.8;
}
#fee .exbox + .exbox {
	margin-top: 15px;
}
#fee .itemBox dl dd ul {
	list-style: none;
}
#fee .itemBox dl dd ul li {
	background: url("../img/ashiato02.svg") no-repeat left 10px;
	background-size: 20px auto;
	padding-left: 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#fee .itemBox dl dd ul li + li {
	margin-top: 15px;
}
#fee .itemBox dl dd ul li span em {
	font-style: normal;
	font-size: 2.5rem;
	font-weight: 500;
}
#fee .itemBox dl dd ul li p {
	width: 8em;
	line-height: 1.4;
}
#fee .itemBox dl dd ul li p span {
	display: inline-block;
}
@media screen and (max-width:374px) {
	#fee .itemBox dl dd ul li {
	background: url("../img/ashiato02.svg") no-repeat left 10px;
	background-size: 20px auto;
	padding-left: 30px;
	display: block;
}
	#fee .itemBox dl dd ul li p {
	width: 100%;
	line-height: 1.4;
}
}


@media print, screen and (min-width:768px) {
 #fee .titleWrap {
    padding-bottom: 50px;
  }
  #fee h2 img {
    width: 32px;
    height: auto;
  }
  #fee .lead {
    width: 820px;
    padding-bottom: 0;
  }
  #fee .lead .text {
    width: 100%;
    padding: 34px 38px;
    border-radius: 20px;
    font-size: 2rem;
    line-height: 2;
  }
	#fee .lead .illust {
  width: 133px;
  position: absolute;
  right: 20%;
  top: -77px;
}
	#fee .kingaku {
	font-size: 3.0rem;
	color: #333;
}
#fee .kingaku em{
	font-style: normal;
	flex-wrap: 500;
	font-size: 5.0rem;
	padding-left: 0.5em;
}
#fee .kingaku span {
	display: inline-block;
	margin: 0 1em;
	padding: 3px 5px 5px;
	line-height: 1;
	background-color: #333;
	border-radius: 50%;
	color: #fff;
}
#fee .itemBox h3 {
    padding-top: 50px;
	margin-bottom: 20px;
    background: url("../img/h3-line.svg") no-repeat center top;
    background-size: 150% auto;
    text-align: center;
    font-size: 3.0rem;
    color: #333;
  }
 #fee .itemBox {
    width: 820px;
    margin: 30px calc(( 100% - 980px) /2 ) 30px auto;
	 position: relative;
  }
#fee .exbox  {
	width: 785px;
	margin: 0 auto;
}
#fee .itemBox dl {
    padding: 10px 30px 10px 70px;
		background: url("../img/ex-center.png") repeat-y center top;
    background-size: 100% auto;
  }
	 #fee .itemBox dl dt {
		 display: flex;
		 justify-content: space-around;
		 align-content: center;
		 align-items: flex-start;
		text-align: center;
		font-size: 2.0rem;
  }
	#fee .itemBox dl dt img {
		width: 100px;
		height: auto;
	}
#fee .itemBox h4 {
	width: 500px;
	background-color: #E9C100;
	font-size: 2.0rem;
	font-weight: normal;
	text-align: center;
}
#fee .itemBox dl dt p span {
	font-size: 4.5rem;
		font-weight: 500;
}
#fee .itemBox dl dt div + div {
	margin-top: 0;
}
	#fee .itemBox dl dd ul {
		width: 60%;
	}
#fee .itemBox dl dd ul li + li {
	margin-top: 0;
}
#fee .itemBox dl dd ul li p {
	width: 50%;
	line-height: 1.4;
}
#fee .itemBox dl dd ul li p span {
	display: inline-block;
}
	#fee .illust2 {
		position: absolute;
		bottom: -30px;
		right: 0;
		width: 280px;
		height: auto;
	}
}
/*----------------------------------------------
 payment
----------------------------------------------*/
#payment .titleWrap {
  padding-bottom: 30px;
}
#payment h2 img {
  width: 266px;
  height: auto;
}
#payment .lead {
  width: 100%;
  padding-bottom: 0px;
}
#payment .shiharaiBox dl + dl {
	margin-top: 30px;
}
#payment .shiharaiBox dl {
	padding: 15px;
}
#payment .shiharaiBox dl dt {
	width: 100%;
	height: 350px;
	margin-bottom: -60px;
}
#payment .shiharaiBox dl dt span {
	display: block;
}
#payment .shiharaiBox dl dd p em {
	display: block;
	margin: 10px 0;
	padding: 5px 0;
	width: 100%;
	font-size: 2.0rem;
	font-weight: 500;
	text-align: center;
	font-style: normal;
	color: #333;
	background-color: #FFE978;
}
#payment .shiharaiBox dl dd {
		font-size: 1.5rem;
	}
@media print, screen and (min-width:768px) {
  #payment {
    padding: 100px 0 110px;
  }
  #payment .titleWrap {
    margin-bottom: 65px;
		align-items: flex-start;
  }
  #payment h2 img {
    width: 32px;
    height: auto;
  }
  #payment .lead {
    width: 820px;
    padding-bottom: 0;
  }
	#payment .shiharaiBox {
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	#payment .shiharaiBox dl {
		width: 48%;
	}
	#payment .shiharaiBox dl + dl {
	margin-top: 0;
}
#payment .shiharaiBox dl dt {
	width: 100%;
	height: 350px;
	margin-bottom: -50px;
}
#payment .shiharaiBox dl dt span {
	display: inline-block;
}
#payment .shiharaiBox dl dd p em {
	display: block;
	margin: 20px 0 10px;
	width: 100%;
	font-size: 2.8rem;
}
}

/*----------------------------------------------
flow
----------------------------------------------*/
#flow {
  width: 100%;
  position: relative;
  z-index: 2;
}
#flow h2 img {
  width: 175px;
  height: auto;
}
#flow .sectionWrap {
  width: 100%;
  margin: 0 auto;
}
#flow .lead {
  width: 100%;
}
#flow ul {
	list-style: none;
}
#flow ul li:not(.arrow) {
	padding: 0 15px 15px;
	border: 2px solid #ccc;
	border-radius: 15px;
	background-color: #fff;
	position: relative;
	font-size: 1.5rem;
}
#flow ul li.arrow {
	margin: 20px auto;
	text-align: center;
}
#flow ul li.arrow img {
	width: 50px;
	height: auto;
		transform: rotate(90deg);
}
#flow ul li .step {
	position: absolute;
	top: 10px;
	left: 20px;
	width: 20%;
	max-width: 75px;
	height: auto;
}
#flow ul li.last .step {
	width: 35%;
	max-width: 100px;
}
#flow ul li h3 {
	height: 100px;
	padding: 0 0 0 38%;
	font-size: 2.2rem;
	line-height: 1.4;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
}
#flow ul li h3 span {
	display: inline-block;
}
#flow ul li p {
	padding-top: 25px;
}
  #flow .flowWrap .arrow img {
    width: 30px;
    height: auto;
    margin: 30px 0;
    transform: rotate(90deg);
  }
#flow .btn {
  width: 100%;
  max-width: 100%;
  margin: 20px auto 10px;
}
#flow .btn a {
  display: block;
  width: 100%;
  height: 60px;
  padding: 20px 110px 0 0;
  background-color: #fff;
	border: 2px solid #FFE664;
  border-radius: 30px;
  position: relative;
  color: #666;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
}
@media print, screen and (min-width:768px) {
	#flow {
		padding-bottom: 100px;
	}
	#flow .titleWrap {
		align-items: flex-start;
	}
  #flow .sectionWrap {
    width: 980px;
    margin: 0 auto;
  }
  #flow h2 img {
    width: 32px;
    height: auto;
  }
  #flow .lead {
    width: 850px;
  }
	#flow ul {
				margin-top: 20px;
	}
	#flow .step0 {
		width: 500px;
		height: auto;
  }
	#flow ul li:not(.arrow) {
	padding: 30px 15px;
	border: 2px solid #ccc;
	border-radius: 15px;
	background-color: #fff;
	position: relative;
	font-size: 1.5rem;
}
	#flow ul li .step {
	width: 50%;
	max-width: 165px;
}
	#flow ul li.last .step {
	width: 55%;
	max-width: 200px;
	position: absolute;
	top: 10px;
	left: 0;
}
	#flow ul li h3 {
	height: auto;
	padding: 15px 15px 15px 220px;
	font-size: 2.8rem;
	line-height: 1.4;
	display: block;
}
#flow ul li h3 span {
	display: inline-block;
}
#flow ul li p {
	padding: 0 0 0 220px;
}
	#flow .btn {
  width: 370px;
  max-width: 100%;
  margin: 20px auto 10px 220px;
}
#flow .btn a {
  display: block;
  width: 100%;
  height: 60px;
  padding: 20px 110px 0 0;
  background-color: #fff;
	border: 2px solid #FFE664;
  border-radius: 30px;
  position: relative;
  color: #666;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
}
}
/*----------------------------------------------
 jirei
----------------------------------------------*/
#jirei h2 img {
  width: 266px;
  height: auto;
}
#jirei .exbox {
	width: 100%;
	position: relative;
	overflow: hidden;
}
#jirei .exbox .eximg img {
	width: 100%;
	height: auto;
	padding: 0;
	vertical-align: bottom;
}
#jirei .exbox .eximg2 img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
.ribbon{
	position: absolute;
	top: 13px;
	right: 1px;
	width: 60px;
	height: auto;
}
#jirei .inner {
	background: url("../img/ex-center.png") repeat-y center top;
  background-size: 100% auto;
}
#jirei .inner h3 {
	width: 80%;
	margin: 0 0 0 40px;
	padding-top: 15px;
	font-size: 2.0rem;
	border-bottom: 4px solid #FFE978;
	text-align: center;
	color: #333;
}
#jirei .inner h3 span {
	display: inline-block;
}
#jirei table {
	width: 85%;
	margin: 20px auto 0;
	font-size: 1.5rem;
}
#jirei table th {
	font-weight: normal;
	text-align: left;
}
#jirei table tr:last-child th {
	padding: 10px 0 0;
	border-top: 2px solid #969696;
	text-align: right;
}
#jirei table td {
	width: 30%;
	padding: 0 0 10px;
	text-align: right;
	vertical-align: bottom;
}
#jirei .nouki {
	width: 60%;
	height: auto;
	margin: 0 auto;
}
#jirei .itemBox {
	width: 100%;
	margin: 30px auto 0;
}
#jirei .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;
  }
#jirei .itemBox ul {
	list-style: none;
	font-size: 1.5rem;
	margin-top: 15px;
	padding: 0 5%;
}
#jirei .itemBox ul li {
	background: url("../img/ashiato02.svg") no-repeat left 10px;
	background-size: 20px auto;
	padding:10px 0 10px 30px;
}
@media print, screen and (min-width:768px) {
	#jirei h2 img {
  width: 32px;
  height: auto;
}
#jirei .titleWrap {
		align-items: flex-start;
	}	
	#jirei .exbox {
		margin-bottom: 30px;
	}
.ribbon{
	position: absolute;
	top: 9px;
	right: 2px;
	width: 80px;
	height: auto;
}
	#jirei .inner {
	background: url("../img/ex-center.png") repeat-y center top;
  background-size: 100% auto;
		padding-bottom: 10px;
}
#jirei .inner h3 {
	width: 70%;
	margin: 0 auto;
	padding-top: 15px;
	font-size: 2.3rem;
	background: linear-gradient(transparent 70%, #FFE978 70%, #FFE978 90%,transparent 90%);
	border-bottom: none;
	text-align: center;
}	
	#jirei .inner .flex {
		display: flex;
		align-items: center;
	}
	#jirei table {
	width: 350px;
	margin: 20px auto 0 70px;
	font-size: 2.0rem;
}
#jirei .nouki {
	width: 300px;
	height: auto;
	margin: 0 auto;
}
#jirei .itemBox h3 {
    padding-top: 50px;
    background: url("../img/h3-line.svg") no-repeat center top;
    background-size: 100% auto;
    text-align: center;
    font-size: 3.0rem;
    color: #333;
  }
#jirei .itemBox ul {
	list-style: none;
	font-size: 1.7rem;
	margin-top: 15px;
	padding: 0 5%;
}
}

/*----------------------------------------------
 contact
----------------------------------------------*/
#faq {
	z-index: 2;
}
		#faq h2 img {
  width: 174px;
  height: auto;
}
#faq .lead {
	background: url("../img/faq-bg.svg") repeat-y center top;
	background-size: 100% auto;
}
#faq dl {
	margin: 0 auto 60px;
	font-size: 1.5rem;
}
#faq dl:last-child {
	margin: 0 auto 0;
}
#faq dl dt {
	background: url(../img/faq-q.svg) no-repeat left center;
	background-size: 40px 40px;
	padding-left: 70px;

}
#faq dl dt span {
	position: relative;
	display: inline-block;
	padding: 15px;
	width: auto;
	min-width: 115px;
	max-width: 460px;
	line-height: 1.6;
	text-align: left;
	background: #fff;
	border: 2px solid #cacaca;
	border-radius: 10px;
	z-index: 0;
}
#faq dl dt span:before {
	content: "";
	position: absolute;
	top: 50%;
	left: -15px;
	margin-top: -9px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 9px 18px 9px 0;
	border-color: transparent #fff transparent transparent;
	z-index: 0;
}
#faq dl dt span:after {
	content: "";
	position: absolute;
	top: 50%;
	left: -20px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 20px 10px 0;
	border-color: transparent #cacaca transparent transparent;
	z-index: -1;
}
#faq dl dd {
	background: url(../img/faq-a.svg) no-repeat right center;
	background-size: 40px 40px;
	margin-top: 20px;
	padding-right: 70px;
	text-align: right;

}
#faq dl dd span {
	position: relative;
	display: inline-block;
	padding: 15px;
	width: auto;
	min-width: 115px;
	max-width: 460px;
	line-height: 1.6;
	text-align: left;
	background: #E9C100;
	border-radius: 10px;
	z-index: 0;
	color: #333;
}
#faq dl dd span:before {
	content: "";
	position: absolute;
	top: 50%;
	right: -20px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 0 10px 20px;
	border-color: transparent transparent transparent #E9C100;
}
@media print, screen and (min-width:768px) {
		#faq h2 img {
  width: 32px;
  height: auto;
}
#faq .titleWrap {
		align-items: flex-start;
	}	
	#faq dl {
		width: 820px;
	margin: 0 auto 100px;
	font-size: 2.0rem;
}
}
/*----------------------------------------------
 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;
  }
}