@media screen and (max-width:600px) {
	html, body {
		font-size: 6vw;
	}
	@supports (-webkit-touch-callout: none) {
		body {
			/* The hack for Safari */
			height: -webkit-fill-available;
		}
	}
	body {
		background-size: contain;
		background-position: center 10vw;
	}
	.box {
		width: 100%;
	}
	/* header 
	---------------------------------------------------------- */
	header {
		padding: 6vw 0 0;
		position: absolute;
		left: 5%;
		width: 95%;
	}
	header img {
		max-width: 117px;
		width: 23%;
	}
	/* pagetop 
	---------------------------------------------------------- */
	#scrollUp {
		width: 30px;
		height: 30px;
	}
	/* footer 
	---------------------------------------------------------- */
	footer {
		padding: 8vw 0;
		font-size: 3vw;
	}
	/* margin style 
	---------------------------------------------------------- */
	section {}
	.container {
		margin-bottom: 6vw;
	}
	/* css common 
	---------------------------------------------------------- */
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
	/* title style
	---------------------------------------------------------- */
	.tit_section {
		margin-bottom: 5vw;
		font-size: 7vw;
	}
	.tit_section span {
		font-size: 4.1vw;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.tit_section span:before, .tit_section span:after {
		border-top: 2px solid #DCAE12;
		content: "";
		width: 3em;
	}
	.tit_section span:before {
		margin-right: 1em;
	}
	.tit_section span:after {
		margin-left: 1em;
	}
	.tit_section_ss01 {
		font-size: calc(100vw / 10);
	}
	.tit_section_ss01 span {
		font-size: calc(100vw / 13);
		white-space: nowrap;
	}
	/* btn_sty
	---------------------------------------------------------- */
	.btn_main {
		margin-top: 45px;
	}
	.btn_main .btn_main_top {
		margin-top: 45px;
	}
	.btn_main .btn_main_down {
		margin-top: 15px;
	}
	.btn_main_mid {
		margin-top: 45px;
	}
	.btn_main a.btn_sty {
		font-size: 18px;
		/* padding: 21px 8px; */
		padding: 16px 8px;
		letter-spacing: 0.2em;
		width: 90%;
		border-radius: 10vw;
	}
	.btn_main a.btn_sty span {
		font-size: 10px;
		margin-bottom: 2vw;
	}
	.btn_arr a.btn_sty {
		font-size: 18px;
		padding: 7vw 2vw;
		border-radius: 10vw;
	}
	.btn_arr a.btn_sty span {
		margin-left: 4vw;
	}
	/* main_img_wrap
	---------------------------------------------------------- */
	#main_img_wrap {
		min-height: 80vh;
	}
	#main_img_wrap .box {
		width: 100%;
		/* max-width: 280px; */
		top: 250px;
		padding: 0;
	}
	#main_img_wrap h1 em {
		font-size: 15px;
		/* text-shadow: 0px 0px 4px #000; */
		width: 80%;
	}
	#main_img_wrap h1 em span {
		display: block;
		margin-left: 0;
		font-size: 15px;
	}
	#main_img_wrap .main_bottom {
		background-size: cover;
		background: url(/v2/img/bg_main_bottom_sp.png) repeat-x center top;
		height: 12vw;
		/* background: url(/lp2/images/triangle_bottom.svg) repeat-x center top; */
		/* background: url(/lp2/images/curve_bottom.svg) repeat-x center top; */
		/* background-position-y: bottom; */
	}
	#main_img_wrap .btn_scroll {
		position: absolute;
		bottom: 60px;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	#main_img_wrap .btn_scroll img {
		max-width: 50px;
	}
	.top-album .topimg1, .top-album .topimg2, .top-album .topimg3 {
		position: absolute;
		top: -130px;
		left: 50%;
		transform: translateX(-50%);
	}
	/* concept
	---------------------------------------------------------- */
	.widearea {
		background: url(/v2/img/concept_back2.png) no-repeat center;
		background-size: cover;
		padding: 20vw 0 36vw;
		margin: -30px 0 -100px 0;
	}
	.widearea .box {
		border-radius: 15vw;
		padding: 12vw 3vw;
	}
	.widearea .description {
		font-size: 4.1vw;
		text-align: center;
		padding: 0 3%;
		line-height: 1.8;
		/* font-weight: 600; */
	}
	.widearea h4 {
		text-align: center;
		font-size: 5.5vw;
		line-height: 1.5;
		margin: 5vw 0 4vw;
	}
	/* what is recta
	---------------------------------------------------------- */
	#what {
		/* background: url(/lp2/images/bg_what_sp.png) no-repeat center; */
		background-size: cover;
		/* padding: 20vw 0 36vw; */
	}
	#what .box {
		border-radius: 15vw;
		padding: 12vw 3vw;
	}
	#what ul {
		display: block;
	}
	#what ul li {
		width: 100%;
		margin-right: 0;
		margin-bottom: 10vw;
		text-align: center;
	}
	#what ul li:last-child {
		margin-bottom: 0;
	}
	#what ul li h4 {
		text-align: center;
		font-size: 5.5vw;
		line-height: 1.5;
		margin: 5vw 0 4vw;
	}
	#what ul li p {
		font-size: 4.1vw;
		text-align: left;
		padding: 0 3%;
		line-height: 1.8;
	}
	/* flow
	---------------------------------------------------------- */
	.flow {
		margin-top: -10vw;
		background: url(/v2/img/bg_flow_sp.png) no-repeat center 85%;
		background-size: 135%;
		padding: 12vw 0 14vw;
		margin-bottom: 2vw;
	}
	.flow .tit_section {
		margin-bottom: 3vw;
	}
	.flow .slide_flow div {
		text-align: center;
	}
	.flow .slide_flow div img {
		width: 100%;
	}
	.flow .slide_flow div .slide_txt {
		max-width: 550px;
		width: 80%;
		margin: -6vw auto 0;
	}
	.flow .slide_flow div h4 {
		font-size: 15px;
		text-align: left;
		margin-left: 0;
	}
	.flow .slide_flow div p {
		font-size: 17px;
		text-align: left;
		letter-spacing: 0.1em;
	}
	.flow .slide_flow div p br {
		display: none;
	}
	.flow .slide_flow2 div {
		text-align: center;
	}
	.flow .slide_flow2 div img {
		width: 100%;
	}
	.flow .slide_flow2 div .slide_txt {
		max-width: 550px;
		width: 80%;
		margin: -6vw auto 0;
	}
	.flow .slide_flow2 div h4 {
		font-size: 15px;
		text-align: left;
		margin-left: 0;
	}
	.flow .slide_flow2 div p {
		font-size: 17px;
		text-align: left;
		letter-spacing: 0.1em;
	}
	.flow .slide_flow2 div p br {
		display: none;
	}
	/* List of shop
	---------------------------------------------------------- */
	#list {
		background: url(/v2/img/bg_list_sp2.png) no-repeat -30% bottom;
		padding-bottom: 55vw;
		position:
			relative;
	}
	.list_inner {
		background: url(/v2/img/bg_list_inner_sp.png) no-repeat center;
		background-size: cover;
		padding: 11vw 0;
	}
	.slide_list {
		width: 80% !important;
	}
	.slide_list .slick-slide {
		padding: 0 6px;
	}
	.slide_list .slick-slide figure {
		height: 60vw;
	}
	.slide_list .slick-slide img {
		height: 60vw;
	}
	.slide_att_txt p {
		font-size: 3.3vw;
		line-height: 2;
		margin-top: 2vw;
	}
	.slide_list .slide_txt h4 {
		margin: 4vw auto 0;
		display: flex;
		flex-wrap: wrap-reverse;
		text-align: left;
		width: 80%;
	}
	.slide_list .slide_txt h4 a, .slide_list .slide_txt h4 a:visited, .slide_list .slide_txt h4 a:link, .slide_list .slide_txt h4 a:hover, .slide_list .slide_txt h4 a:active {
		color: #363636;
		text-decoration: none;
	}
	.slide_list .slide_txt h4 em {
		font-size: 16px;
		display: block;
		width: 100%;
		letter-spacing: 0;
	}
	.slide_list .slide_txt h4 span {
		font-size: 14px;
		display: block;
		width: 100%;
		padding-left: 0;
	}
	/* benefit
	---------------------------------------------------------- */
	.benefit {
		background: url(/v2/img/bg_benefit_sp2.png) no-repeat 180% 55%;
		padding-bottom: 10vw;
	}
	.benefit .box {
		border-radius: 15vw;
		padding: 12vw 7%;
		width: 90%;
	}
	.benefit .box:first-child {
		margin-bottom: 15vw;
	}
	.benefit .col_box .col_img, .benefit .col_box .col_img100 {
		float: none;
		width: 100%;
	}
	.benefit .col_box .col_txt {
		display: none;
	}
	.benefit .col_box .col_img .txt_small, .benefit .col_box .col_img100 .txt_small {
		font-size: 15px;
		text-align: right;
		margin: 2vw 0 3vw;
	}
	.benefit .sp.txt_top {
		font-size: 16px;
		line-height: 1.7;
	}
	.benefit .sp.txt_top .txt_border {
		font-weight: 700;
	}
	.benefit .sp.txt_bottom {
		font-weight: bold;
		font-size: 20px;
		text-align: center;
		margin-top: 40px;
	}
	.benefit .sp.txt_bottom .txt_border {
		font-weight: 700;
	}
	.benefit .sp-txt-registration.txt_bottom {
		font-size: 19px;
		margin-top: 20px;
		margin-bottom: 20px;
		line-height: 50px;
	}
	.benefit .chevron:before, .benefit .chevron:after {
		background: #fff200;
	}
	.benefit .scroll-arrows {
		margin-bottom: 30px;
	}
	/* support
	---------------------------------------------------------- */
	#support {
		background: url(/v2/img/bg_support_sp3.png) no-repeat center top;
		background-size: cover;
		padding: 15vw 0 0;
		position: relative;
		overflow: hidden;
	}
	#support .box {
		width: 90%;
	}
	#support .col_box .col_img {
		float: none;
		width: 100%;
		padding: 10vw 0 24vw;
	}
	#support .col_box .col_img img {
		position: absolute;
		bottom: -2%;
		right: -4%;
		width: 32%;
	}
	#support .col_box .col_txt {
		float: none;
		width: 100%;
	}
	#support .col_box .col_txt .support_tit {
		margin-bottom: -19vw;
	}
	#support .col_box .col_txt h3 {
		font-size: 7vw;
		padding: 0 8%;
		line-height: 1.7;
		letter-spacing: 0.1em;
		margin-bottom: 2em;
	}
	#support .col_box .col_txt h3 span {
		font-size: 8vw;
	}
	#support .col_box .col_txt h3 em {
		border-bottom: solid 2px #FFE13B;
	}
	#support .col_box .col_txt .support_border li {
		background: url(/v2/img/ico_support.png) no-repeat left 2.2vw;
		background-size: 6vw;
		font-size: 20px;
		padding: 0.8vw 0 2vw 7vw;
		font-weight: 500;
	}
	#support .sp_txt .support_txt {
		font-size: 4.5vw;
		text-align: center;
		font-weight: 700;
	}
	#support .sp_txt .btn_arr {
		text-align: center;
	}
	#support .sp_txt .btn_arr a.btn_sty {
		max-width: 420px;
		width: 80%;
	}
	.revtable {
		margin: 0 -10px;
	}
	.revtable th, .revtable td {
		width: 100%;
		display: block;
		border-top: none;
	}
	.revtable tr:first-child th {
		border-top: 1px solid #ddd;
	}
	.revtable p {
		font-size: 14px;
	}
	.voice_notification {
		text-align: left;
	}
	.voice_notification > div {
		text-align: left;
	}
	.voice_notification > div > img {
		width: 50px;
		height: 50px;
		margin: 0px 20px 0px 0px;
	}
	.voice_notification > div:nth-of-type(1) {
		height: 50px;
	}
	.lineblock01 .lineblock-ttl {
		max-width: 100vw;
		width: 100vw;
		margin: 10px calc(50% - 50vw);
	}
	/* bt
	---------------------------------------------------------- */
	.foot_bt_flex-container {
		display: flex;
		width: 100%;
		justify-content: flex-start; /* ← これを追加 */
	}
	.foot_bt_image-wrap img {
		width: 100%;
		height: 100%;
		max-width: 100%;
		max-height: 100px;
	}
}