@charset "UTF-8";

/*-------------------------------------------------------
Shapowell 特設ページ　2025/9/26
/shapowell/
-------------------------------------------------------*/


/*-----------------------------------
変数
-----------------------------------*/
:root {
	--color-shapowell-bg-light: #fff4e3;
	--color-shapowell-text-orange: #fb7a4f;

}
html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}


/*-----------------------------------
スクロールバー
-----------------------------------*/
body.shapowell .scroll-bar {
	position: fixed;
	top: 250px;
	right: 0;
	width: 10px;
	height: 230px;

	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	padding: 0 5px 0 0;
}

body.shapowell .scroll-bar .scroll-border-box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
}
body.shapowell .scroll-bar .scroll-border-box .scroll-border {
	display: block;
	background-color: #553e51;
	width: 3px;
	height: 166px;
}

body.shapowell .scroll-bar .scroll-border-box .scroll-dot {
	background-color: #553e51;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	position: absolute;
	top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
body.shapowell .scroll-bar .scroll-border-box .scroll-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	animation: scrollDotMove 5s infinite linear;
}

@keyframes scrollDotMove {
	0% {
		top: 0;
		opacity: 1;
	}
	42% {
		top: 109px;
		opacity: 1;
	}
	60% {
		top: 156px;
		opacity: 0;
	}
	100% {
		top: 0;
		opacity: 0;
	}
}


/*-----------------------------------
全体
-----------------------------------*/
body.shapowell.view.sp #main, body.shapowell.view.pc #main {
	padding: 0;
}
body.shapowell #contents{
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 500;
	font-style: normal;
	padding: 0;
}
body.shapowell #contents-main.all {
	background-color: var(--color-shapowell-bg-light);
	padding: 30px 20px;
}
body.shapowell #contents-main.all img {
	width: 100%;
	height: auto;
}
body.shapowell footer {
	padding: 0;
}
body.shapowell .footer .footer_list {
	margin-top: 0;
}
body.shapowell footer .footer_list .brand_logo {
	margin: 0;
}
body.shapowell.sp footer .footer_list .brand_logo img {
	width: 200px;
}

/*-----------------------------------
見出し
-----------------------------------*/
body.shapowell #contents-main.all h3 {
	color: var(--color-shapowell-text-orange);
	font-weight: bold;
	font-size: 24px;
	background: none;
	text-align: center;
	padding: 0;
	margin-bottom: 25px;
}

body.shapowell #contents-main.all h3 .sp_view img {
	aspect-ratio: 175/24;
}

/*-----------------------------------
メインビジュアル
-----------------------------------*/
body.shapowell .main_visual {
	background: linear-gradient(to right, #ffdcc8, #ffb08d);
	padding: 30px 20px 20px;
}

/* LINEアカウントリンク */
body.shapowell .main_visual .line_account_link {
	text-align: center;
}

/* Shapowellについて */
body.shapowell .main_visual .about_shapowell {
	margin-top: 20px;
}
body.shapowell .main_visual h2 img {
	aspect-ratio: 50/43;
}


/*-----------------------------------
追従メニュー　SPのみ
-----------------------------------*/
body.shapowell .sticky-menu {
	position: sticky;
	bottom: 0;
	z-index: 50;
}
body.shapowell .navlink_sp_list {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
}
body.shapowell .navlink_sp_list li {
	width: calc(100% / 4);
}
body.shapowell .navlink_sp_list li img {
	width: 100%;
}

body.shapowell .sticky-menu .line-account-link a {
	width: 100%;
}
body.shapowell .sticky-menu .line-account-link a img {
	width: 100%;
}


/*-----------------------------------
コンテンツエリア
-----------------------------------*/

/*--------------------
シャポウェルとは？
--------------------*/
body.shapowell .sp_view.about_shapowell > img {
	aspect-ratio: 350/419;
}
body.shapowell #contents-main.all .sp_view.about_shapowell h3 .sp_view img {
	aspect-ratio: 175/19;
}

/*--------------------
概要文
--------------------*/
body.shapowell #contents-main.all .gaiyo {
	margin-top: 30px;
}
body.shapowell #contents-main.all .gaiyo .gaiyo_text {
	width: 90%;
    margin: 0 auto 30px;
    text-align: justify;
}
body.shapowell #contents-main.all .gaiyo .sp_view img {
	aspect-ratio: 14/11;
}

/*--------------------
シャポウェルに込めた思い
--------------------*/
body.shapowell #contents-main.all .intention {
	margin-top: 30px;
}
body.shapowell #contents-main.all .intention h3 {
	position: relative;
	padding-bottom: 80px;
}
body.shapowell #contents-main.all .intention h3::before {
	position: absolute;
	bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	content: "";
	background-image: url(icon_intention.png);
	background-size: 100%;
	background-position: center;
	background-repeat: no-repeat;
	width: 60px;
	height: 60px;

}
body.shapowell #contents-main.all .intention_text {
	width: 90%;
	margin: 0 auto;
	text-align: justify;
}


/*--------------------
ユーザーの声
--------------------*/
body.shapowell #contents-main.all .feedback {
	margin-top: 30px;
}
body.shapowell #contents-main.all .feedback > img {
	aspect-ratio: 350/633;
}


/*--------------------
ご利用方法
--------------------*/
body.shapowell #contents-main.all .howtouse {
	margin-top: 30px;
}

body.shapowell #contents-main.all .howtouse-title {
	color: var(--color-shapowell-text-orange);
	font-weight: bold;
	font-size: 16px;
	text-align: center;
	margin-bottom: 25px;
}

body.shapowell #contents-main.all .howtouse-step-list {
	width: 90%;
    margin: 0 auto;
}

body.shapowell #contents-main.all .howtouse-step-item {
	display: flex;
	gap: 20px;
}
body.shapowell #contents-main.all .howtouse-step-item__num {
	width: 15%;
	position: relative;
}
body.shapowell #contents-main.all .howtouse-step-item .howtouse-step-item__num::before {
	content: "";
	position: absolute;
	top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 100%;
	z-index: 1;
}
body.shapowell #contents-main.all .howtouse-step-item:nth-of-type(1) .howtouse-step-item__num::before {
	background-image: url(icon_flow1.png);
}
body.shapowell #contents-main.all .howtouse-step-item:nth-of-type(2) .howtouse-step-item__num::before {
	background-image: url(icon_flow2.png);
}
body.shapowell #contents-main.all .howtouse-step-item:nth-of-type(3) .howtouse-step-item__num::before {
	background-image: url(icon_flow3.png);
}
body.shapowell #contents-main.all .howtouse-step-item:nth-of-type(4) .howtouse-step-item__num::before {
	background-image: url(icon_flow4.png);
}

body.shapowell #contents-main.all .howtouse-step-item:not(:nth-of-type(4)) .howtouse-step-item__num::after {
	content: "";
	position: absolute;
	top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width: 30px;
	/* height: 100%; */
	background-image: url(icon_flow_border.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: 100%;
	z-index: 0;
}
/* body.shapowell #contents-main.all .howtouse-step-item:nth-of-type(3) .howtouse-step-item__num::after {
	background-position: top center;
}
body.shapowell #contents-main.all .howtouse-step-item:nth-of-type(3) .howtouse-step-item__num::after {
	background-position: top center;
}
body.shapowell #contents-main.all .howtouse-step-item:nth-of-type(3) .howtouse-step-item__num::after {
	background-position: bottom center;
} */



/* body.shapowell #contents-main.all .howtouse-step-item:nth-of-type(4) .howtouse-step-item__num {
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 100%;
	background-image: url(icon_flow4.png);
} */

body.shapowell #contents-main.all .howtouse-step-item__num span {
	display: none;
}
body.shapowell #contents-main.all .howtouse-step-item__explain {
	flex: 1;
    background-color: #fff;
    border-radius: 20px;
    padding: 20px 15px;
    text-align: center;
    display: flex;
	justify-content: center;
	align-items: flex-start;
    flex-direction: column;
	margin-bottom: 15px;
	text-align: left;
}
body.shapowell #contents-main.all .howtouse-step-item__explain > div {
	text-align: center;
	width: 100%;
}
body.shapowell #contents-main.all .howtouse-step-item:nth-of-type(4) .howtouse-step-item__explain {
	margin-bottom: 0;
}
body.shapowell #contents-main.all .howtouse-step-item__explain h4 {
	color: var(--color-shapowell-text-orange);
	font-weight: bold;
	font-size: 18px;
    margin-top: 20px;
    margin-bottom: 10px;
	width: 100%;
}

body.shapowell #contents-main.all .howtouse-step-item:nth-of-type(2) .howtouse-step-item__explain h4 {
	position: relative;
}
body.shapowell #contents-main.all .howtouse-step-item:nth-of-type(2) .howtouse-step-item__explain h4::before {
	content: "";
	position: absolute;
	bottom: 0;
	right: -15px;
	background-image: url(icon_fig_flow2_human.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%;
	width: 15vw;
    height: 12vh;
	transform-origin: center bottom;
    animation: yurayura 2s linear infinite;

}
  
@keyframes yurayura {
	0% , 100%{
		transform: rotate(10deg);
	}
	50%{
		transform: rotate(-10deg);
	}
  }

  body.shapowell #contents-main.all .howtouse-step-item__explain > p {
	text-align: justify;
  }
  body.shapowell #contents-main.all .howtouse-step-item__explain > p.explain-cation {
	font-size: 12px;
  }

  body.shapowell #contents-main.all .howtouse-step-item__explain img {
	aspect-ratio: 149/276;
	width: 60%;
	height: auto;
    margin: 0 auto;
  }

/*--------------------
ごほうびクーポン
--------------------*/
body.shapowell #contents-main.all .coupon {
	background-color: #fff;
	border-radius: 20px;
	margin-top: 30px;
	padding: 20px 15px;
}
body.shapowell #contents-main.all .coupon h3 {
	margin-bottom: 20px;
}
body.shapowell #contents-main.all .coupon .coupon-sub-title {
	text-align: center;
	margin-bottom: 20px;
}
body.shapowell #contents-main.all .coupon .coupon-caution-text {
	width: 90%;
	margin: 20px auto 0;
}

body.shapowell #contents-main.all .coupon img {
	aspect-ratio: 80/119;
}

/*--------------------
よくあるご質問
--------------------*/
body.shapowell #contents-main.all .faq {
	margin-top: 30px;
}

body.shapowell #contents-main.all .faq-list-item:not(:first-of-type) {
	margin-top: 15px;
}

body.shapowell #contents-main.all .faq .question-box {
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 2px 1px 2px rgba(0, 0, 0, 0.25);
}
body.shapowell #contents-main.all .faq .question-box a {
	display: flex;
	justify-content: flex-start;
    align-items: center;
	gap: 10px;
	padding: 20px 50px 20px 20px;
	position: relative;
}
body.shapowell #contents-main.all .faq .question-box a::before {
	font-family: var(--fontfamily-icon);
    content: "\e5cf";
    vertical-align: middle;
    position: absolute;
    right: 12px;
    top: 30%;
    font-size: 30px;
    color: var(--color-shapowell-text-orange);
    font-variation-settings: 'FILL' 1, 'wght' 600, 'GRAD' 200, 'opsz' 48;
	transition: all 0.5s;
}
body.shapowell #contents-main.all .faq .question-box a.active::before {
	transform: rotate(-180deg);
}

body.shapowell #contents-main.all .faq .question-icon {
	font-size: 0;
	background-image: url(icon_question.png);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}
body.shapowell #contents-main.all .faq .question-text {
	font-size: 15px;
}

body.shapowell #contents-main.all .faq .answer-box {
    display: none;
	padding: 20px 20px 0;
}
body.shapowell #contents-main.all .faq .answer-box-inner {
	display: flex;
	justify-content: flex-start;
    align-items: flex-start;
	gap: 10px;
}
body.shapowell #contents-main.all .faq .answer-icon {
	display: block;
	font-size: 0;
	background-image: url(icon_answer.png);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	padding-top: 5px;
}
body.shapowell #contents-main.all .faq .answer-text {
	text-align: justify;
}


/*--------------------
注意事項
--------------------*/
body.shapowell #contents-main.all .cation {
	margin-top: 40px;
	
}
body.shapowell #contents-main.all .cation ul {
	width: 90%;
	margin: 0 auto;
}
body.shapowell #contents-main.all .cation li {
	text-align: justify;
	list-style: disc;
	margin-left: 10px;
}


/*----------------------------------------------------------------------

PC表示

----------------------------------------------------------------------*/

/*-----------------------------------
全体
-----------------------------------*/
body.shapowell.pc #main {
	width: 100%;
	/* min-width: 1560px; */
}
body.shapowell.pc #contents-main.all {
	padding: 0;
	width: 50%;
	height: 100vh;
    overflow: auto;
	-ms-overflow-style: none;
    scrollbar-width: none;
}
body.shapowell.pc #contents-main.all::-webkit-scrollbar {
	display: none;
}
body.shapowell.pc #contents-main.all p {
	font-size: 16px;
}

body.shapowell.pc .content-inner {
	max-width: 640px;
    margin: 0 auto;
    padding: 0 20px;
}

body.shapowell.pc #contents {
	display: flex;
}


/*-----------------------------------
スクロールバー
-----------------------------------*/
body.shapowell.pc .scroll-bar {
	top: 30%;
}

/*-----------------------------------
メインビジュアル
-----------------------------------*/
body.shapowell.pc .main_visual {
	padding: 0;
	width: 50%;
	height: 100vh;
	overflow: hidden;
}
body.shapowell.pc .main_visual .content-inner {
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}
body.shapowell.pc .main_visual .content-inner h2 {
	padding: 0;
}
body.shapowell.pc .main_visual .content-inner h2 img {
	width: 75%;
	aspect-ratio: 120/103;
}


/*-----------------------------------
ナビゲーションリンク PCのみ
-----------------------------------*/
body.shapowell.pc #contents-main.all .content-inner {
	margin: 30px auto;
}
body.shapowell.pc #contents-main.all .navlink_pc_list {
	display: flex;
}
body.shapowell.pc #contents-main.all .navlink_pc_list a {
	cursor: pointer;
}


/*--------------------
概要文
--------------------*/
body.shapowell.pc #contents-main.all .gaiyo .gaiyo_text {
	width: 80%;
	margin: 0 auto 30px;
}

/*--------------------
シャポウェルに込めた思い
--------------------*/
body.shapowell.pc #contents-main.all .intention_text {
	width: 80%;
	margin: 0 auto;
}


/*--------------------
ユーザーの声
--------------------*/
body.shapowell.pc #contents-main.all .feedback {
	text-align: center;
}
body.shapowell.pc #contents-main.all .feedback > img {
	width: 400px;
}


/*--------------------
ご利用方法
--------------------*/
body.shapowell.pc #contents-main.all .howtouse-title {
	font-size: 20px;
}
body.shapowell.pc #contents-main.all .howtouse-step-list {
	width: 100%;
    margin: 0 auto;
}
body.shapowell.pc #contents-main.all .howtouse-step-item__num {
	width: 10%;
}
body.shapowell.pc #contents-main.all .howtouse-step-item__explain {
    padding: 20px 60px;
}
body.shapowell.pc #contents-main.all .howtouse-step-item__explain > p.explain-cation {
	font-size: 13px;
  }
body.shapowell.pc #contents-main.all .howtouse-step-item__explain img {
    width: 200px;
    margin: 0 auto;
}

body.shapowell.pc #contents-main.all .howtouse-step-item:nth-of-type(2) .howtouse-step-item__explain h4::before {
    right: -15px;
    width: 4vw;
    height: 10vh;
}

/*--------------------
ごほうびクーポン
--------------------*/
body.shapowell.pc #contents-main.all .coupon {
	text-align: center;
	padding: 20px 60px;
	/* width: 80%; */
    margin: 30px auto 0;
    box-sizing: border-box;
}
body.shapowell.pc #contents-main.all .coupon img {
	width: 360px;
}
body.shapowell.pc #contents-main.all .coupon > p {
	text-align: left;
}
body.shapowell.pc #contents-main.all .coupon > p.coupon-sub-title {
	text-align: center;
}


/*--------------------
注意事項
--------------------*/
body.shapowell.pc #contents-main.all .cation {
	margin-top: 60px;
}
body.shapowell.pc #contents-main.all .cation ul {
	margin: 0 auto;
	width: 95%;
}




/*-----------------------------------
768px以下でスマホ表示切替
-----------------------------------*/
@media screen and (max-width: 768px) {

	/*-----------------------------------
	全体
	-----------------------------------*/
	body.shapowell.pc #contents {
		flex-direction: column;
	}

	body.shapowell.pc .main_visual {
		width: 100%;
		height: auto;
		overflow: visible;
		box-sizing: border-box;
	}

	body.shapowell.pc #contents-main.all {
		padding: 0;
		width: 100%;
		height: auto;
		overflow: visible;
		box-sizing: border-box;
	}

	body.shapowell.pc .content-inner {
		width: 100%;
		box-sizing: border-box;
	}

	/*-----------------------------------
	メインビジュアル
	-----------------------------------*/
	body.shapowell.pc .main_visual .content-inner {
		padding-bottom: 30px;
	}
	body.shapowell.pc .main_visual .pc_view.line_account_link {
		display: block;
	}

	body.shapowell.pc .main_visual .about_shapowell {
		display: block;
	}

	/*-----------------------------------
	ナビゲーションリンク PCのみ
	-----------------------------------*/
	body.shapowell.pc #contents-main.all .pc_view.navlink_pc {
		display: flex;
	}

	body.shapowell.pc #contents-main.all .pc_view.navlink_pc_list {
		display: flex;
	}

	/*-----------------------------------
	見出し　スマホサイズで切り替える
	-----------------------------------*/
	body.shapowell.pc #contents-main.all h3 span.pc_view {
		display: none;
	}
	body.shapowell.pc #contents-main.all h3 span.sp_view {
		display: block;
	}
}