@charset "utf-8";
body{
	background-color: #d9e5f1
}
#wrap {
	width: 100%;
	max-width: 860px;
	margin: 0 auto;
	background-color: #fff
}
.header .logo img {
	padding: 0.5rem 0;
}
.header .logo img {
	margin: auto;
	width: 50%;
}
section {
	width: 100%
}
section .inner {
	width: 100%
}
.l-cta_fv_bottom {
	padding: 1rem .5rem
}
.cta-btn{
	display:block;
	width:80%;
	margin: 2rem auto 0;
}


.l-reason{
	padding:1rem 0.5rem 2rem;
}
.l-reason .inner {
	border: 3px solid #034ea0
}
.l-menu {
	padding: 0;
	background-color: #d9e5f1
}

.l-menu--intro{
	position: relative;
}
.l-menu--intro .cta-btn{
	position: absolute;
	bottom: 80px;
	left: 50%;
	width: 70%;
	transform: translateX(-50%);
}
.l-menu--intro_03 .cta-btn{
	bottom: 60px;
}
.l-doubt {
	padding: 1rem 0.5rem;
}
.l-voice {
	padding: 0
}
.l-flow {
	padding: 0;
	background-color: #fce9ea
}
.l-note {
	padding: 0;
	background-color: #fff
}
.l-footer {
	padding: 2rem 2rem 6rem 2rem;
	background-color: #d9e5f1
}
.l-shop_search {
	padding: 3rem 1.5rem;
	background-color: #e3f2f7
}
.l-shop_search h2 {
	margin: 0 auto 2rem;
	font-size: 1.5rem;
	text-align: center;
}
.l-shop_search .details {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	-ms-flex-wrap: wrap;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 1rem
}
.l-shop_search .details .searchbox {
	-ms-flex-preferred-size: calc(50% - .5rem);
	flex-basis: calc(50% - .5rem)
}
.l-shop_search .details .searchbox dt {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: .8rem 0;
	border: 3px solid #1e4d9c;
	background-color: #fff;
	font-size: 1rem;
	font-size: 1rem;
	text-align: center
}
.l-shop_search .details .searchbox dt:before {
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	position: absolute;
	top: 50%;
	right: .8rem;
	transform: translateY(-50%);
	content: "+";
	color: #1e4d9c;
	font-weight: bold;
	font-size: 1rem
}
.l-shop_search .details .searchbox dt.ac-open:before{
	content: "-";
}
.l-shop_search .details .searchbox dd {
	border-right: 3px solid #1e4d9c;
	border-bottom: 3px solid #1e4d9c;
	border-left: 3px solid #1e4d9c
}
.l-shop_search .details .searchbox dd ul li {
	position: relative;
	padding: .5rem;
	border-bottom: 3px solid #1e4d9c;
	background: #fff
}
.l-shop_search .details .searchbox dd ul li:last-child {
	border-bottom: 0
}

.l-shop_search .details .searchbox dd ul li:after{
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	position: absolute;
	top: 50%;
	right: .8rem;
	transform: translateY(-50%);
	content: ">";
	color: #1e4d9c;
	font-weight: bold;
	font-size: 1rem
}
.l-shop_search .details .searchbox dd ul li a{
	display: block;
	text-align: center;
}
.l-faq{
	background-color: #E2F2FA;
}
.l-faq--list-item{
	margin-bottom: 1rem;
}
.ac-body{
	display: none;
}
.l-footer{
	background-color: #E2F2FA;
}

.l-footer .item{
	line-height: 1.3;
	margin-bottom: 1rem;
	font-size: 0.9rem;
}
/* aside */
aside .fixed-btn-wrap {
  display: none;
  position: fixed;
  bottom: 0;
  background: #fff;
  width: 100%;
  z-index: 100;
}
aside .fixed-btn-wrap .fixed-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 2%;
  margin: 0 auto;
  max-width: 750px;
}
aside .fixed-btn-wrap .fixed-btn li {
  max-width: 350px;
  width: 100%;
}
aside .fixed-btn-wrap .fixed-btn li:first-child {
  margin-right: 13px;
}
/* SECTION fadein表示js用　*/
.js-fadeInSection:nth-of-type(-n+2) {
  opacity: 0;
  transform: translate(0, 0);
  transition: all 800ms;
}

.js-fadeInSection:nth-of-type(n+3) {
  opacity: 0;
  transform: translate(0, 15px);
  transition: all 800ms;
}

.js-fadeInSection.is-scrollIn {
  transform: translate(0, 0);
  opacity: 1;
}

.js-fadeInNext1,
.js-fadeInNext2,
.js-fadeInNext3,
.js-fadeInNext4 {
  opacity: 0;
}

.light-effect {
  overflow: hidden;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  padding: 8% 10%;
}

.light-effect:before {
  content: "";
  display: block;
  position: absolute;
  z-index: 10;
  left: -30%;
  top: -50%;
  width: 15%;
  height: 300%;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.3)), to(rgba(255, 255, 255, 0.15)));
  background: linear-gradient(to right, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.15) 100%);
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg);
  -webkit-animation: btn-light 2.5s infinite cubic-bezier(0.06, 0.525, 0.47, 0.97);
  animation: btn-light 2.5s infinite cubic-bezier(0.06, 0.525, 0.47, 0.97);
}

.light-effect:before {
  content: "";
  display: block;
  position: absolute;
  z-index: 10;
  left: -30%;
  top: -50%;
  width: 15%;
  height: 300%;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.3)), to(rgba(255, 255, 255, 0.15)));
  background: linear-gradient(to right, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.15) 100%);
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg);
  -webkit-animation: btn-light 2.5s infinite cubic-bezier(0.06, 0.525, 0.47, 0.97);
  animation: btn-light 2.5s infinite cubic-bezier(0.06, 0.525, 0.47, 0.97);
}

.light-effect img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@-webkit-keyframes btn-light {
  0% {
    left: -30%;
  }
  60% {
    left: 120%;
  }
  100% {
    left: 120%;
  }
}
@keyframes btn-light {
  0% {
    left: -30%;
  }
  60% {
    left: 120%;
  }
  100% {
    left: 120%;
  }
}
@media screen and (min-width: 750px) {
	.l-cta_fv_bottom{
		padding: 2rem 1rem;
	}
	.l-reason {
		padding: 2rem 1rem;
	}
	.l-menu--intro .cta-btn{
		bottom: 140px;
	}
	.l-menu--intro_03 .cta-btn{
		bottom: 105px;
	}
	.l-doubt {
		padding: 2rem 1.4rem 3rem;
	}
}
@media screen and (max-width: 750px) {
	aside .fixed-btn-wrap .fixed-btn {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0 5vw;
		margin: 0 auto;
		max-width: 750px;
	}
	aside .fixed-btn-wrap .fixed-btn li:first-child {
		margin-right: 2vw;
	}
}
/* 221025後藤 */
.sp_only {
	display: none;
  }
  @media screen and (max-width: 767px){
	.sp_only {
	display: block!important;
  }
  }
  .contents_lineBanner {
	/* margin-bottom: 20px; */
  } 
  .contents_lineBanner div {
	text-align: center;
  }
  .contents_lineBanner div img {
	width: 90%;
	border: 3px solid #d9d9d9;
	padding: 1px;
	margin: 32px auto 0 auto;
  }
  /* /221025後藤 */