/*
Theme Name:fullback
*/
/*----- Initialize -----*/
body {
	box-sizing: border-box;
	background-color: #fff;
	font-family: sans-serif;
	color: #090F1A;
	line-height: 1.5;
	font-size: 14px;
	padding: 0;
	margin: 0;
}
ul,
li,
dl,
dt,
dd { list-style-type: none; padding: 0; margin: 0; }

div,
a,
p,
ul,
ol,
li,
dl,
dt,
dd,
header,
footer  { box-sizing: border-box ;}
h1,
h2,
h3,
h4,
h5,
h6,
p,
span {
	box-sizing: border-box;
	font-family: sans-serif;
	color: #090F1A;
	line-height: 1.5;
	font-size: 14px;
	padding: 0;
	margin: 0;
}
p {
	margin: 0 0 16px 0 ;
}
a,a:hover {
	text-decoration: none;
}
ol,ul { margin: 0; }
summary::-webkit-details-marker {
	display: none;
}

.home main > article > header {
	display: none;
}

/* ---------- Slick ----------*/
/* jsの読み込みが終わるまで縦並びになってしまう現象を防ぐ。
   jsがロードされてクラスが割り当てられてから表示させる  */
.slick-slider {
	opacity: 0;
	transition: opacity .3s linear;
}
.slick-slider.slick-initialized {
	opacity: 1;
}

.slick-prev:before,
.slick-next:before {
	color: #CEACFE;
	opacity: 1;
}
@media screen and (max-width: 750px) {
	.slick-dotted.slick-slider {
		padding-left: 25px;
		padding-right: 25px;
	}
	.slick-dots {
		width: fit-content;
		left: 0;
		right: 0;
		margin: auto;
	}
	.slick-prev {
		left: 0;
	}
	.slick-next {
		right: 0;
	}
}

/* ---------- common functions ----------*/
.fs-72 { font-size: 72px !important; }
.fs-48 { font-size: 48px !important; }
.fs-40 { font-size: 40px !important; }
.fs-36 { font-size: 36px !important; }
.fs-32 { font-size: 32px !important; }
.fs-30 { font-size: 30px !important; }
.fs-28 { font-size: 28px !important; }
.fs-26 { font-size: 26px !important; }
.fs-24 { font-size: 24px !important; }
.fs-22 { font-size: 22px !important; }
.fs-20 { font-size: 20px !important; }
.fs-18 { font-size: 18px !important; }
.fs-16 { font-size: 16px !important; }
.fs-14 { font-size: 14px !important; }
.fs-12 { font-size: 12px !important; }

.fc-bk      { color: #000;    }
.fc-wh      { color: #fff;    }
.fc-purple  { color: #CEACFE; }
.fc-navy    { color: #34435D; }

.bg-wh      { background-color: #fff;    }

.text-left   { text-align: left;  }
.text-right  { text-align: right; }
.text-center { text-align: center; }
.text-just   { text-align: justify; }
.bold        { font-weight: bold; }
.non-bold	 { font-weight: normal; }

.mt-16p { margin-top: 16px !important; }
.mb-16p { margin-bottom: 16px !important; }
.mb-32p { margin-bottom: 32px !important; }
.mb-48p { margin-bottom: 48px !important; }
.mb-64p { margin-bottom: 64px !important; }
.mb-128p{ margin-bottom:128px !important; }
.mb-0   { margin-bottom: 0 !important; }

.pb-64p { padding-bottom: 64px !important;}
.pt-64p { padding-top:    64px !important;}

.fullwidth { width: 100%; }
.block { display: block; }

.wrap {
	position: relative;
	max-width: 1080px;
	padding: 0 40px;
	margin: 0 auto;
}
.flex {
	display: flex;
}
.center {
	margin-left: auto !important;
	margin-right: auto !important;
}
.left {
	margin-left: 0;
	margin-right: auto;
}
.right {
	margin-left: auto;
	margin-right: 0;
}

/* button */
.btn {
	position: relative;
	display: block;
	width: 18em;
	text-align: center;
	background-color: #CEACFE;
	border: 2px solid #CEACFE;
	border-radius: 16px;
	font-size: 18px;
	letter-spacing: 1px;
	color: #fff;
	padding: 0.75em 1em;
	margin: 0 auto 32px auto;
}
.btn::before {
	content: '';
	position: absolute;
	width: 1em;
	height: 1em;
	top: 0;
	bottom: 0;
	left: 1em;
	background-image: url(/wp-content/themes/fullback/images/icon-triangle-right.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	margin: auto;
}
.btn-line {
	display: block;
	width: 12em;
	text-align: center;
	background-color: #1FC755;
	border-radius: 16px;
	letter-spacing: 1px;
	line-height: 1;
	font-size: 26px;
	color: #fff;
	padding: 12px 0 18px 0;
	margin: 0 auto;
	transition: background-color 0.5s;
}

.btn-line::before {
	content: '';
	display: inline-block;
	position: relative;
	top: 0.1em;
	left: -0.5em;
	width: 1em;
	height: 1em;
	background-image: url(/wp-content/themes/fullback/images/line-logo.svg);
	background-position: center;
	background-size: 100%;
	background-repeat: no-repeat;
	margin: 0;
}

/* heading */
.title-logo-purple,
.title-logo-white {
	text-align: center;
	font-size: 48px;
	font-weight: bold;
	letter-spacing: 4px;
	color: #34435D;
	margin: 0 auto 32px auto;
}
.title-logo-purple span,
.title-logo-white  span {
	position: relative;
	display: block;
	width: fit-content;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: 50%;
	color: #CEACFE;
	margin: 1rem auto 0 auto;
}
.title-logo-purple span::before,
.title-logo-purple span::after,
.title-logo-white  span::before,
.title-logo-white  span::after {
	content: '';
	position: absolute;
	display: block;
	width: 1.5em;
	height: 1.5em;
	left: -2.25em;
	bottom: 0;
	background-image: url(/wp-content/themes/fullback/images/title-logo-purple.svg);
	background-position: center;
	background-size: 100%;
	background-repeat: no-repeat;
	margin: 0;
}
.title-logo-purple span::after,
.title-logo-white  span::after {
	right: -2.25em;
	left: auto;
}

.title-logo-white,
.title-logo-white  span {
	color: #fff;
}
.title-logo-white  span::before,
.title-logo-white  span::after {
	background-image: url(/wp-content/themes/fullback/images/title-logo-white.svg);
}

.title-attention {
	position: relative;
	width: fit-content;
	text-align: center;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: 28px;
	color: #CEACFE;
	letter-spacing: 2px;
	padding: 0 1.5em;
	margin: 1rem auto 32px auto;
}
.title-attention::before,
.title-attention::after {
	content: "";
	position: absolute;
	display: block;
	width: 1.25em;
	height: 1.25em;
	top: -1rem;
	left: 0;
	background-image: url(/wp-content/themes/fullback/images/title-attention-left.svg);
	background-position: center;
	background-size: 100%;
	background-repeat: no-repeat;
	margin: auto;
}
.title-attention::after {
	right: 0;
	left: auto;
	background-image: url(/wp-content/themes/fullback/images/title-attention-right.svg);
}

.title-underline {
	position: relative;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 1px;
	color: #34435D;
	margin: 0 auto 32px auto;
}
.title-underline::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1em;
	width: 2em;
	height: 4px;
	border-radius: 4px;
	background-color: #CEACFE;
	margin: auto;
}

.list-dt {
	display: flex;
	width: 100%;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 0 32px 0;
}
.list-dt dt,
.list-dt dd {
	padding-top: 0px;
	padding-bottom: 8px;
}

.list-dt dt {
	width: 5.5em;
	font-size: 16px;
	font-weight: bold;
	color: #CEACFE;
}
.list-dt dd {
	width: calc(100% - 5.5em);
	border-left: solid 2px #CEACFE;
	font-size: 16px;
	color: #34435D;
	padding-left: 1.5em;
}
.list-tag {
	width: 100%;
}
.list-tag li {
	display: inline-block;
	background-color: #CEACFE;
	border-radius: 8px;
	line-height: 1.5;
	font-size: 16px;
	color: #34435D;
	padding: 8px 0.6em;
	margin: 0 0.6em 0.6em 0;
}

.shopdetail {
	margin: 0 0 32px 0;
}
.shopdetail .data {
	width: 100%;
	border: solid 2px #CEACFE;
	border-radius: 32px;
	padding: 32px;
}
.shopdetail .data .intro {
	display: flex;
	justify-content: space-between;
	margin: 0 0 32px 0;
}
.shopdetail .data .intro .img {
	display: block;
	width: 30%;
}
.shopdetail .data .intro .text {
	width: 66%;
}
.shopdetail .data .intro .text .title {
	font-size: 20px;
	font-weight: bold;
	color: #34435D;
	padding: 0;
	margin: 0 0 8px 0;
}
.shopdetail .data .intro .text > p {
	color: #34435D;
	margin: 0;
}
.shopdetail .data .list-tag {
	margin-bottom: calc(32px - 0.6em);
}
.shopdetail .btn-line {
	width: 14em;
}
.shopdetail .btn-line::before {
    left: -1.5em;
}
.shopdetail-slider .data {
	margin-left: auto;
	margin-right: auto;
}
.shopdetail-slider .slick-slide {
	padding: 0 2em;
}

/* ---------- SP / PC Chenge Class ----------*/
@media only screen and (min-width: 750px) {
    .pc-item  { display: block; }
    .sp-item { display: none;  }
}
@media only screen and (max-width: 750px) {
    .pc-item  { display: none; }
    .sp-item { display: block;  }
}

/* ---------- common functions class SP ----------*/
@media screen and (max-width: 750px) {
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	p,
	span {
		font-size: 3vw;
	}
	p {
		margin: 0 0 4% 0 ;
	}
/*	.entry-content {
		margin: 0 0 8% 0;
	}
*/
	.fs-72 { font-size: 8vw   !important; }
	.fs-54 { font-size: 8vw !important; }
	.fs-48 { font-size: 4.8vw !important; }
	.fs-42 { font-size: 4.7vw !important; }
	.fs-40 { font-size: 5.2vw !important; }
	.fs-36 { font-size: 4.5vw !important; }
	.fs-34 { font-size: 4.5vw !important; }
	.fs-32 { font-size: 4.4vw !important; }
	.fs-30 { font-size: 4.3vw !important; }
	.fs-28 { font-size: 4.0vw !important; }
	.fs-26 { font-size: 3.8vw !important; }
	.fs-24,
	.fs-22,
	.fs-20 { font-size: 3.5vw !important; }
	.fs-18,
	.fs-16,
	.fs-14,
	.fs-12 { font-size: 3vw !important; }

	.mb-16p { margin-bottom: 4% !important; }
	.mb-24p { margin-bottom: 6% !important; }
	.mb-32p { margin-bottom: 8% !important; }
	.mb-48p { margin-bottom: 12% !important; }
	.mb-64p { margin-bottom: 16% !important; }
	.mb-80p { margin-bottom: 18% !important; }
	.mb-96p { margin-bottom: 18% !important; }
	.mb-128p{ margin-bottom: 20% !important; }
	.mb-0   { margin-bottom: 0 !important; }
	.pb-64p { padding-bottom: 16% !important;}
	.pt-64p { padding-top:    16% !important;}

	.wrap {
		width: 100%;
		padding: 0 4%;
	}


	/* button SP */
	.btn {
		font-size: 4vw;
		margin: 0 auto 8% auto;
	}

	/* heading SP */
	.title-logo-purple,
	.title-logo-white {
		letter-spacing: 1px;
		font-size: 6.5vw;
		margin: 0 auto 8% auto;
	}
	.title-logo-purple span,
	.title-logo-white  span {
		font-weight: 700;
		font-size: 70%;
		margin: 0 auto;
	}
	.title-attention {
		font-size: 3.5vw;
		letter-spacing: 0;
		padding: 0 1.25em;
		margin: 1rem auto 8% auto;
	}
	.title-underline {
		font-size: 4vw;
		letter-spacing: 1px;
		margin: 0 auto 8% auto;
	}
	.title-underline::before {
		bottom: -0.75em;
	}
	.list-dt {
		display: block;
		margin: 0 0 8% 0;
	}
	.list-dt dt,
	.list-dt dd {
		padding-top: 0px;
		padding-bottom: 8px;
	}

	.list-dt dt {
		width: 100%;
		font-size: 3.2vw;
		line-height: 1;
		padding: 0;
		margin: 0 0 0.5em 0;
	}
	.list-dt dd {
		position: relative;
		width: 100%;
		border-left: none;
		font-size: 3.2vw;
		padding: 0;
		margin: 0 0 1.5em 1em;
	}
	.list-dt dd::before {
		content: '';
		position: absolute;
		width: 0.2em;
		height: 1.2em;
		top: 0;
		left: -1em;
		background-color: #CEACFE;
		margin: auto;
	}

	.list-tag li {
		font-size: 3vw;
	}

	.shopdetail {
		margin: 0 0 8% 0;
	}
	.shopdetail .data {
		padding: 6%;
	}
	.shopdetail .data .intro {
		display: block;
		margin: 0 0 8% 0;
	}
	.shopdetail .data .intro .img {
		display: block;
		width: 100%;
		margin: 0 auto 4% auto;
	}
	.shopdetail .data .intro .text {
		width: 100%;
	}
	.shopdetail .data .intro .text .title {
		text-align: center;
		font-size: 3.7vw;
		margin: 0 0 0.5em 0;
	}
	.shopdetail .data .intro .text > p {
		color: #34435D;
		margin: 0;
	}
	.shopdetail .data .list-tag {
		margin-bottom: 6%;
	}
	.shopdetail .btn-line {
		width: 100%;
		font-size: 4vw;
	}
	.shopdetail .btn-line::before {
	    left: 0;
		margin-right: 1em;
	}
	.shopdetail-slider .data {
		margin-left: auto;
		margin-right: auto;
	}
	.shopdetail-slider .slick-slide {
		padding: 0 8px;
	}
}


/* ---------- header ----------*/
/*
main {
	padding-top: 128px;
}*/
.site-header-pc {
	position: fixed;
	width: 100%;
	height: 128px;
	top: 0;
	left: 0;
	right: 0;
	background-color: transparent;
	padding: 32px 0 16px 0;
	margin: 0 auto;
	z-index: 9999;
	transition: background-color 0.5s 0s ease;
}
.site-header-pc.header-scrolled {
	background-color: rgba(206,172,254,0.9);
}
.site-header-pc .wrap {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.site-header-pc .header-logo img {
	display: block;
	width: 296px;
}
.site-header-pc .header-main .btn-line {
	width: fit-content;
	border-radius: 10px;
	font-size: 18px;
	padding: 8px 1em 10px 1.3em;
	margin: 0 0 8px auto;
}

.site-header-pc .header-main .btn-line:hover {
	background-color: #34435D;
	color: #fff;
}
.site-header-pc .header-menu-pc {
	width: fit-content;
	margin: 0 0 0 auto;
}
.site-header-pc .header-menu-pc ul {
	display: flex;
	justify-content: right;
}
.site-header-pc .header-menu-pc ul li {
	margin: 0 2em 0 0;
}
.site-header-pc .header-menu-pc ul li:last-of-type {
	margin: 0;
}
.site-header-pc .header-menu-pc ul li a {
	display: block;
	font-weight: bold;
	font-size: 16px;
	color: #fff;
	transition: color 0.5s 0s ease;
}
.site-header-pc .header-menu-pc ul li a:hover {
	color: #34435D;
}
.site-header-pc.header-scrolled  .header-menu-pc ul li a {
	color: #34435D;
}
.site-header-pc.header-scrolled  .header-menu-pc ul li a:hover {
	color: #fff;
}

/* ---------- header SP ----------*/
@media screen and (min-width: 750px) {
	.site-header-sp {
		display: none;
	}
}
@media screen and (max-width: 750px) {
	.site-header-pc {
		display: none;
	}
	.site-header-sp {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		display: block;
		width: 100%;
		height: fit-content;
		background-color: rgba(206,172,254,0.9);
		margin: auto;
		z-index: 9999;
	}
	.site-header-sp .wrap {
		position: relative;
		width: 100%;
		max-width: 100%;
		min-width: auto;
		height: 64px;
		padding: 0 4%;
		z-index: 1001;
	}
	.site-header-sp .header-logo {
		width: fit-content;
		padding: 7px 0;
	}
	.site-header-sp .header-logo img {
		display: block;
		width: 200px;
	}

	/* G-NAVI SP */
	.site-header-sp .header-menu-sp {
		display: none;
	}
	.site-header-sp .btn-menu-icon {
		display: block;
		width: 48px;
		height: 48px;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 4%;
		background-color: #fff;
		background-image: url(/wp-content/themes/fullback/images/icon-menu-open.svg);
		background-size: 50%;
		background-repeat: no-repeat;
		background-position: center;
		border-radius: 16px;
		margin: auto;
	}
	.site-header-sp .btn-menu-icon.btn-menu-close {
		background-image: url(/wp-content/themes/fullback/images/icon-menu-close.svg);
	}
	.site-header-sp .header-menu-sp {
		position: absolute;
		width: 100%;
		top: 0;
		left: 0;
		height: 100vh;
		background-color: #CEACFE;
		padding: 64px 0 0 0;
		z-index: 1000;
	}
	.site-header-sp .header-menu-sp ul {
		position: absolute;
		width: 100%;
		height: fit-content;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
	}
	.site-header-sp .header-menu-sp ul li {
		display: block;
		width: 100%;
		text-align: center;
		background-color: transparent;
		padding: 0.5em 0;
		margin: 0 0 1em 0;
		transition: background-color 0.5s;
	}
	.site-header-sp .header-menu-sp ul li:hover {
		background-color: #fff;
	}
	.site-header-sp .header-menu-sp ul li a {
		font-weight: bold;
		font-size: 24px;
		color: #fff;
		transition: color 0.5s;
	}
	.site-header-sp .header-menu-sp ul li:hover a {
		color: #34435D;
	}

	.site-header-sp .header-menu-sp ul li.line {
		width: fit-content;
		margin-left: auto;
		margin-right: auto;
	}
	.site-header-sp .header-menu-sp ul li.line:hover {
		background-color: transparent;
	}
	.site-header-sp .header-menu-sp ul .line > a {
		position: relative;
		background-color: #1FC755;
		letter-spacing: 2px;
		border-radius: 3rem;
		color: #fff;
		padding: 16px 2em 16px 3em;
		margin: 0;
		transition: all 0.5s;
	}
	.site-header-sp .header-menu-sp ul .line > a::before {
		content: '';
		position: absolute;
		left: 0.5em;
		top: 0;
		bottom: 0;
		width: 1.5em;
		height: 1.5em;
		background-image: url(/wp-content/themes/fullback/images/line-logo.svg);
		background-position: center;
		background-repeat: no-repeat;
		background-size: 100%;
		margin: auto;
	}
	.site-header-sp .header-menu-sp ul li.line:hover > a {
		background-color: #34435D;
		color: #fff;	
	}
}

/* ---------- top page ----------*/
.main-visual {
	position: relative;
	overflow: hidden;
}
.main-visual::after {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 30vw;
	max-height: 300px;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: linear-gradient(0deg, #eff1f5, transparent);
	margin:auto;
}
.main-visual .wrap {
	width: 100%;
	max-width: 1920px;
	background-image: url(/wp-content/themes/fullback/images/main-visual1-bg-pc.webp);
	background-position: center;
	background-size: auto;
	background-repeat: no-repeat;
	padding-top: 128px;
}
.main-visual .wrap .content.sp {
	display: none;
}
.main-visual .wrap .content.pc {
	width: 100%;
	max-width: 1080px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
}
.main-visual .wrap .content.pc .text {
	position: relative;
	display: block;
	width: 50%;
	z-index: 1;
}
.main-visual .wrap .content.pc .img {
	display: block;
	width: 50%;
}

/* about */
.top-about {
	background-color: #EFF1F5;
	padding: 32px 0;
}
.top-about .content {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 32px auto;
}
.top-about .content .img {
	width: 45%;
}
.top-about .content .img > img {
	display: block;
	width: 100%;
}
.top-about .content .text {
	width: 53%;
	margin-left: 2%;
}
.top-about .content .text .title,
.top-about .content .text .title > span {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-size: 32px;
	color: #34435D;
	margin-bottom: 32px;
}
.top-about .content .text  .title > span  {
	color: #CEACFE;
}
.top-about .content .text > p {
	text-align: justify;
	font-size: 18px;
	color: #090F1A;
}
.top-about-slider .slick-slide {
	padding: 0 1em;
}
.top-about-slider .slick-slide img {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/* howto */
.top-howto {
	padding: 64px 0;
}
.howto-screenimg {
	display: block;
	margin: 0 auto 32px auto;
}

/* recommend */
.top-recommend {
	position: relative;
	background-color: #CEACFE;
	overflow: hidden;
	padding: 64px 0 128px 0;
}
.top-recommend::after {
	content: "";
	position: absolute;
	width: 600px;
	height: 230px;
	bottom: -32px;
	left: 0;
	right: 0;
	background-image: url(/wp-content/themes/fullback/images/logo-bg-white.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%;
	margin: auto;
}
.top-recommend .wrap {
	position: relative;
	z-index: 10;
}
.top-recommend-list {
	display: block;
	width: 100%;
}
.top-recommend-list .data {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: row;
	margin: 0 0 24px 0;
}
.top-recommend-list .data:last-of-type {
	margin-bottom: 0;	
}
.top-recommend-list .data:nth-of-type(even) {
	flex-direction: row-reverse;
}
.top-recommend-list .data .text {
	width: 48%;
}
.top-recommend-list .data .img {
	display: block;
	width: 48%;
	object-fit: contain;	
}
.top-recommend-list .data .text .title {
	line-height: 1.25;
	font-weight: bold;
	font-size: 24px;
	color: #fff;
	margin: 0 0 0.75em 0;
}
.top-recommend-list .data .text > p {
	font-size: 16px;
	color: #fff;
	margin: 0;
}

/* shop list */
.top-shoplist {
	background-color: #EFF1F5;
	padding: 64px 0;
}

/* strength */
.top-strength {
	background-color: #CEACFE;
	padding: 64px 0;
}
.top-strength-list {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 0 5%;
	margin: 0 auto;
}
.top-strength-list .data {
	width: 48%;
	padding: 0;
	margin: 0 0 32px 0;
}
.top-strength-list .data:last-of-type {
	margin-bottom: 0;
}
.top-strength-list .data .img {
	width: 200px;
	display: block;
	margin: 0 auto 16px auto;
}
.top-strength-list .data .text .title {
	text-align: center;
	font-weight: bold;
	font-size: 24px;
	color: #fff;
	line-height: 1.25;
	margin: 0 0 16px 0;
}
.top-strength-list .data .text .list-box {
	width: fit-content;
	border: 1px solid #fff;
	border-radius: 16px;
	padding: 12px 16px;
	margin: 0 auto 16px auto;
}
.top-strength-list .data .text > p,
.top-strength-list .data .text .list-box li {
	font-size: 16px;
	color: #fff;
	margin: 0;
}
.top-strength-list .data .text > p {
	text-align: center;
	margin-bottom: 16px;
}

/* faq */
.top-faq {
	position: relative;
	display: block;
	background-color: #EFF1F5;
	overflow: hidden;
	padding: 64px 0 128px 0;
}
.top-faq::before {
	content: "";
	position: absolute;
	width: 300px;
	height: 115px;
	bottom: -24px;
	left: 0;
	right: 0;
	background-image: url(/wp-content/themes/fullback/images/logo-bg-purple.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%;
	margin: auto;
}
.top-faq .wrap {
	position: relative;
	z-index: 10;
}
.top-faq-list {
	width: 100%;
	display: block;
	margin: 0 auto 64px auto;
}
.top-faq-list .ques {
	position: relative;
	text-align: left;
	line-height: 1.25;
	font-weight: bold;
	font-size: 28px;
	color: #CEACFE;
	letter-spacing: 1px;
	padding: 0 0 0 48px;
	margin: 0 0 16px 0;
}
.top-faq-list .ques::before {
	content: 'Q';
	position: absolute;
	left: 0;
	top: 0;
	line-height: 1;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-size: 34px;
	padding: 0;
	margin: 0;
}
.top-faq-list .answ {
	text-align: left;
	font-size: 16px;
	color: #090F1A;
	padding: 0 0 0 48px;
	margin: 0 0 32px 0;
}
.top-faq-list .answ:last-of-type {
	margin-bottom: 0;
}
.top-teikei-slider .slick-slide {
	padding: 0 1em;
}
.top-teikei-slider .slick-slide img {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/* ---------- top page SP ----------*/
@media screen and (max-width: 750px) {
	.main-visual .wrap {
		background-image: url(/wp-content/themes/fullback/images/main-visual1-bg-sp.webp);
		padding-top: 64px;
	}
	.main-visual .wrap .content.pc {
		display: none;
	}
	.main-visual .wrap .content.sp {
		display: block;
		background-image: url(/wp-content/themes/fullback/images/logo-bg-white.svg);
		background-position: center;
		background-repeat: no-repeat;
		background-size: 90%;
	}
	.main-visual .wrap .content.sp .text,
	.main-visual .wrap .content.sp .img {
		display: block;
		width: 100%;
		margin: 0 auto;
	}
	.main-visual .wrap .content.sp .img {
		width: 85%;
	}

	/* about SP */
	.top-about {
		padding: 4% 0 8% 0;
	}
	.top-about .content {
		display: block;
	}
	.top-about .content .img,
	.top-about .content .text {
		width: 100%;
		margin: 0;
	}
	.top-about .content .img {
		margin-bottom: 4%;
	}
	.top-about .content .text{
		padding: 0 1.5em;
	}
	.top-about .content .text .title,
	.top-about .content .text .title > span {
		text-align: center;
		font-size: 5.2vw;
		margin-bottom: 8%;
	}
	.top-about .content .text > p {
		font-size: 3vw;
	}
	/* howto SP */
	.top-howto {
		padding: 12% 0;
	}
	.howto-screenimg {
		width: 75%;
		max-width: 350px;
		margin: 0 auto 8% auto;
	}

	/* recommend SP */
	.top-recommend {
		padding: 12% 0;
	}
	.top-recommend::after {
		width: 60vw;
		max-width: 600px;
		height: 23vw;
		max-height: 230px;
		bottom: -4vw;
	}
	.top-recommend-list {
		margin: 0 auto 12% auto;
	}
	.top-recommend-list .data {
		margin: 0 0 6% 0;
	}
	.top-recommend-list .data,
	.top-recommend-list .data:nth-of-type(even) {
		display: flex;
		flex-flow: column-reverse;
	}
	.top-recommend-list .data .img,
	.top-recommend-list .data .text {
		width: 100%;
	}
	.top-recommend-list .data .img {
		margin: 0 0 6% 0;
	}
	.top-recommend-list .data .text .title {
		font-size: 4.5vw;
		margin: 0 0 4% 0;
	}
	.top-recommend-list .data .text .title > br {
		display: none;
	}
	.top-recommend-list .data .text > p {
		font-size: 3vw;
	}

	/* shop list */
	.top-shoplist {
		padding: 12% 0;
	}

	/* strength */
	.top-strength {
		padding: 12% 0;
	}
	.top-strength-list {
		display: block;
		padding: 0;
	}
	.top-strength-list .data {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		margin: 0 0 6% 0;
	}

	.top-strength-list .data .img {
		width: 24%;
		margin: 0 auto 0 0;
	}
	.top-strength-list .data .text {
		width: 72%;
	}
	.top-strength-list .data .text .title,
	.top-strength-list .data .text p {
		text-align: left;
	}
	.top-strength-list .data .text .title {
		font-size: 4.5vw;
		margin: 0 0 4% 0;
	}
	.top-strength-list .data .text .list-box {
		width: 100%;
		border-radius: 1em;
		padding: 0.5em;
		margin: 0 auto 4% auto;
	}
	.top-strength-list .data .text > p,
	.top-strength-list .data .text .list-box li {
		font-size: 3vw;
	}
	.top-strength-list .data .text > p {
		margin-bottom: 4%;
	}
	/* faq */
	.top-faq {
		padding: 12% 0 20% 0;
	}
	.top-faq::before {
		width: 60vw;
		max-width: 600px;
		height: 23vw;
		max-height: 230px;
		bottom: -4vw;
	}
	.top-faq-list {
		margin: 0 auto 12% auto;
	}
	.top-faq-list .ques {
		font-size: 4.5vw;
		padding: 0 0 0 7%;
		margin: 0 0 2% 0;
	}
	.top-faq-list .ques::before {
		font-size: 5.5vw;
	}
	.top-faq-list .answ {
		font-size: 3vw;
		padding: 0 0 0 7%;
		margin: 0 0 6% 0;
	}
}

/* ---------- footer ----------*/
footer {
	background-color: #CEACFE;
	padding: 64px 0 32px 0;
}
footer .footer-contact {
	margin: 0 auto 64px auto;
}
footer .footer-contact .title {
	text-align: center;
	font-weight: bold;
	font-size: 30px;
	color: #fff;
	margin-bottom: 32px;
}

footer .footer-contact .btn-line {
	width: 12em;
	text-align: center;
	box-shadow: 4px 4px 0 #000;
	border-radius: 16px;
	letter-spacing: 1px;
	line-height: 1;
	font-size: 26px;
	padding: 12px 0 18px 0;
	margin: 0 auto;
}
footer .footer-contact .btn-line::before {
	width: 1em;
	height: 1em;
	position: relative;
	top: 0.1em;
	left: -0.5em;
	margin: 0;
}
footer .footer-logo {
	width: 100px;
	margin: 0 auto 64px auto;
}
footer .footer-logo img {
	display: block;
	width: 100%;
	margin: 0;
}
footer .footer-menu {
	margin: 0 auto 32px auto;
}
footer .footer-menu ul {
	display: flex;
	justify-content: center;
}
footer .footer-menu ul li {
	margin: 0 2em 0 0;
}
footer .footer-menu ul li a {
	font-size: 18px;
	font-weight: bold;
	color: #fff;
}
footer .copyright {
	text-align: center;
	color: #fff;
	margin: 0;
}

/* ---------- footer SP ----------*/
@media screen and (max-width: 750px) {
	footer {
		padding: 12% 0 8% 0;
	}
	footer .footer-contact {
		margin-bottom: 12%;
	}
	footer .footer-contact .title {
		font-size: 3.5vw;
		margin-bottom: 10%;
	}
	footer .footer-contact .btn-line {
		width: 18em;
		border-radius: 0.5em;
		font-size: 4vw;
		padding: 0.7em 0 0.8em 0;
		margin: 0 auto;
	}
	footer .footer-logo {
		width: 16%;
		max-width: 100px;
		margin-bottom: 10%;
	}
	footer .footer-menu {
		margin-bottom: 0;
	}
	footer .footer-menu ul {
		flex-direction: column;
	}
	footer .footer-menu ul li {
		text-align: center;
		margin: 0 0 4% 0;
	}
	footer .footer-menu ul li a {
		font-size: 3vw;
	}
	footer .copyright {
		font-size: 2vw;
	}
}