@charset"utf-8";

@media screen and (max-width: 768px) {

	/*common--------------------------------*/

	.sp,
	.tab {
		display: block;
		width: 100%;
		height: auto;
		padding: 0;
		margin: 0;
	}

	.pc {
		display: none;
	}
	
	.hover:hover {
		opacity: 1;
	}

	section {
		padding: 10.67vw 0;
	}
	
	.content_wrap,
	.content_container {
		width: 91.47vw;
	}
	
	.content_wrap {
		border-radius: 20px;
		padding: 6.4vw 4.27vw 4.27vw;
	}
	
	.plain_txt {
		font-size: 4vw;
		padding-bottom: 1.07em;
	}
	
	.btn_container a {
		width: 83.47vw;
		height: 16vw;
	}
	
	.btn_container a::after {
		width: 2.13vw;
		height: 3.2vw;
		right: 6.4vw;
	}
	
	.btn_container a strong {
		font-size: 4.27vw;
	}
	
	.btn_container a strong.search,
	.btn_container a strong.cart {
		padding-left: 10.67vw;
	}
	
	.btn_container a strong.search::before {
		width: 6.13vw;
		height: 6.13vw;
	}
	
	.btn_container a strong.cart::before {
		width: 7.2vw;
		height: 6.67vw;
	}
	
	/*contact_wrap--------------------------------*/
	
	.contact_wrap {
		padding: 6.4vw;
		border-radius: 20px;
	}
	
	.contact_list_container {
		width: 100%;
		display: block;
	}
	
	.contact_list_item + .contact_list_item {
		padding-top: 6.4vw;
	}
	
	.contact_list_item .contact_txt {
		font-size: 4vw;
		padding-bottom: 1.07vw;
	}
	
	.contact_list_item .btn_container a {
		width: 78.67vw;
		height: 18.67vw;
	}
	
	
	/*--------------------------------------*/
	
	/*header*/
	
	/*--------------------------------------*/
	
	header {
		width: 100%;
		height: 18.67vw;
		padding: 0;
	}
	
	header .logo_container {
		padding-left: 5.33vw;
	}
	
	header .logo_container .logo_obj {
		margin-right: 2.67vw;
	}
	
	header .logo_container .logo_obj:first-of-type {
		width: 25.6vw;
	}
	
	header .logo_container .logo_obj:last-of-type {
		width: 13.87vw;
	}
	
	header .btn_container a {
		width: 48vw;
		height: 100%;
		border-radius: 0;
	}
	
	header .btn_container a strong {
		padding-right: 10.67vw;
	}
	
	header .btn_container a::after {
		right: 4vw;
	}
	
	/*mv_wrap--------------------------------*/
	
	.mv_wrap {
		width: 100vw;
		height: 138.67vw;
		background: url('../img/mv_obj_sp.jpg') center center no-repeat;
		background-size: 100% auto;
	}
	
	.mv_wrap .page_ttl {
		position: absolute;
		top: 8.53vw;
		left: 8.53vw;
		transform: translateY(0);
	}
	
	.mv_wrap .page_ttl strong {
		font-size: 8.53vw;
		padding-bottom: 6.4vw;
	}
	
	.mv_wrap .page_ttl em {
		font-size: 4.27vw;
	}
	
	
	
	/*sec01--------------------------------*/
	
	.sec01 .sec_ttl {
		display: block;
		width: 82.93vw;
		margin: 0 auto;
		padding: 0 0 5.6vw;
	}
	
	.sec01 .sec_ttl span {
		padding-left: 0;
	}
	
	.sec01 .sec_ttl span::before {
		display: none;
	}
	
	.sec01 .sec_ttl strong {
		display: block;
		font-size: 7.47vw;
		padding-bottom: 3.2vw;
		margin-bottom: 0;
		border-bottom: .53vw solid var(--main-color);
	}
	
	.sec01 .sec_ttl em {
		font-size: 4.8vw;
	}
	
	.sec01 .content_container {
		display: block;
		width: 82.93vw;
	}
	
	.sec01 .img_container {
		width: 100%;
		padding-bottom: 6.4vw;
	}
	
	.sec01 .txt_container {
		width: 100%;
	}
	
	.sec01 .product_ttl_container {
		width: 78.67vw;
		margin: 0 auto 4.53vw;
	}
	
	.note_container {
		padding: 4.27vw 4.53vw 4.27vw 6.4vw;
		align-items: start;
	}

	.note_container .note_obj {
		width: 14.93vw;
	}
	
	.note_container .note_txt {
		font-size: 3.47vw;
		padding-left: 4.27vw;
	}
	
	.sec01 .txt_container .btn_container {
		padding-top: 6.4vw;
	}
	.sec01 .contact_wrap {
		margin-top: 10.67vw;
	}
	
	
	
	/*sec02--------------------------------*/
	
	.sec02 {
		padding-top: 10.67vw;
	}

	.sec02 .sec_ttl {
		font-size: 6.4vw;
		padding-bottom: 6.93vw;
	}
	
	.sec02 .content_container {
		display: block;
	
	}
	
	.sec02 .content_container .txt_container {
		width: 100%;
	}
	
	.sec02 .content_container .img_container {
		width: 100%;
	}
	
	.sec02 .content_wrap:nth-of-type(1) .content_container .cat_obj {
		width: 51.73vw;
	}
	
	.sec02 .content_wrap:nth-of-type(2) .content_container .cat_obj {
		width: 75.73vw;
	}
	
	.sec02 .content_wrap + .content_wrap {
		margin-top: 4.27vw;
	}
	
	.sec02 .sec_subttl {
		font-size: 5.33vw;
		padding-bottom: 2.13vw;
	}
	
	.sec02 .sec_subttl strong {
		width: 16vw;
		height: 16vw;
		margin-right: 1.6vw;
		font-size: 7.47vw;
		line-height: 16vw;
	}
	
	.sec02 .txt_container .plain_txt {
		padding-bottom: 4.27vw;
	}
	
	.point_container {
		background-color: var(--bg-color);
		border-radius: 40px;
		padding: 32px 4.62%;
		margin-top: 29px;
	}
	
	.point_ttl {
		display: block;
		padding: 3.73vw 3.73vw 3.73vw 16.8vw;
		margin-bottom: 4.27vw;
		font-size: 4.8vw;
	}
	
	.point_ttl::before {
		width: 5.6vw;
		height: 5.07vw;
		left: 7.73vw;
	}
	
	.point_list_container dt + dd {
		padding-top: 2.4vw;
	}
	
	.point_list_container dt + dt {
		padding-top: 2.13vw;
	}
	
	.point_list_container dd + dt {
		padding-top: 2.13vw;
	}
	
	.point_list_container dt {
		display: flex;
	}
	
	.point_list_container dt span {
		width: 7.47vw;
		height: 7.47vw;
		font-size: 4.27vw;
		line-height: 8vw;
		margin-right: 2.13vw;
	}
	
	.point_list_container dt strong {
		font-size: 4.53vw;
		line-height: 1.6em;
		padding-top: .1em;
	}
	
	.point_list_container dd {
		font-size: 4vw;
	}
	
	.sec02 .btn_container {
		padding: 4.27vw 0;
	}
	
	.sec02 .btn_container a {
		width: 78.67vw;
		height: 26.67vw;
	}
	
	.sec02 .btn_container a span {
		padding-left: 17.87vw;
	}
	
	.sec02 .btn_container a::before {
		width: 6.13vw;
		height: 5.07vw;
		left: 8.53vw;
	}
	
	.sec02 .btn_container a::after {
		width: 6.93vw;
		height: 2.67vw;
	}
	
	.sec02 .btn_container i {
		width: 28vw;
		height: 6.4vw;
		margin: 0 0 1.87vw;
		font-size: 3.47vw;
	}
	
	.sec02 .btn_container i::after {
		border-left: 1.33vw solid transparent;
		border-right: 1.33vw solid transparent;
		border-top: 1.87vw solid var(--white);
	}
	
	
	
	/*sec03--------------------------------*/
	
	.sec03 .sec_ttl {
		padding-bottom: 12.4vw;
	}
	
	.sec03 .sec_ttl strong {
		padding: 3.2vw 8.53vw;
		font-size: 6.4vw;
	}
	
	.product_mv_obj {
		max-width: 91.47vw;
		margin: 0 auto 6.4vw;
	}
	
	.note_wrap {
		width: 82.93vw;
		display: block;
	}
	
	.note_wrap .note_container {
		width: 100%;
		margin-right: 0;
		padding-bottom: 8.53vw;
	}
	
	.note_wrap .btn_container {
		padding-top: 8.53vw;
	}
	
	.sec03 .contact_wrap {
		margin-top: 8.53vw;
	}
	
	.feature_wrap {
		margin-top: 10.67vw;
		border-radius: 20px;
	}
	
	.feature_ttl {
		font-size: 5.33vw;
		padding: 4.27vw;
	}
	
	.feature_container {
		padding: 4.27vw 4.27vw 6.4vw;
		display: block;
	}
	
	.feature_container .img_container {
		width: 34.4vw;
		margin: 0 auto;
	}
	
	.feature_container .txt_container {
		width: 100%;
	}
	
	.feature_list_container > dt {
		display: flex;
		align-items: center;
		padding-bottom: 2.13vw;
	}
	
	.feature_list_container dt span {
		width: 16vw;
		height: 16vw;
	}
	
	.feature_list_container dt span i {
		font-size: 3.2vw;
	}
	
	.feature_list_container dt span em {
		font-size: 6.4vw;
	}
	
	.feature_list_container dt strong {
		width: calc(100% - 16vw);
		font-size: 5.33vw;
		padding-left: 3.2vw;
	}
	
	.feature_list_container > dd {
		padding-left: 0;
		padding-bottom: 6.4vw;
	}
	
	.feature_list_container .swipe_container {
		width: 87.2vw;
		padding-bottom: 6.13vw;
		overflow-x: scroll;
	}
	
	.feature_list_container .swipe_container .feature_obj {
		width: 462px;
		margin-right: 5vw;
	}
	
	.feature_list_container dd .plain_txt {
		font-size: 4.53vw;
	}
	
	.feature_list_container > dd + dt {
		padding-top: 6.4vw;
	}
	
	.point_subttl {
		font-size: 5.33vw;
		padding-bottom: 2.13vw;
	}
	
	.support_list_container {
		display: block;
	}
	
	.support_list_container dt {
		width: 43.73vw;
		height: 10.13vw;
		border-radius: 100vh;
		font-size: 4.27vw;
		line-height: 1em;
		margin: 0 0 3.2vw;
	}
	
	.support_list_container dd {
		width: 100%;
		font-size: 4.53vw;
	}
	
	.lineup_container {
		width: 82.93vw;
		padding: 5.07vw 2.67vw 5.6vw;
		margin: 0 auto 7.2vw;
	}
	
	.lineup_ttl {
		padding-bottom: 4.27vw;
		text-align: center;
		position: relative;
		display: flex;
	}
	
	.lineup_ttl span {
		position: relative;
		padding-left: 19.87vw;
	}
	
	.lineup_ttl strong {
		font-size: 5.33vw;
		line-height: 1.8em;
		border-bottom: 2px solid var(--white);
	}
	
	.lineup_ttl span::before {
		width: 11.73vw;
		height: 6.13vw;
		left: 3.13vw;
	}
	
	.lineup_txt {
		font-size: 4.53vw;
	}
	
	.product_lead_wrap {
		width: 91.47vw;
		padding: 10.67vw 0;
	}
	
	.product_lead_wrap .product_lead_ttl {
		padding-bottom: 6.4vw;
	}
	
	.product_lead_wrap .product_lead_ttl strong {
		font-size: 6.4vw;
		padding-bottom: 0;
		border-bottom: 2px solid var(--sub-color);
	}
	
	.product_lead_wrap .plain_txt {
		font-size: 4.53vw;
	}
	
	.product_lead_list_container {
		padding: 5.07vw 0;
		margin-top: 2.13vw;
	}
	
	.product_lead_list_container dt {
		font-size: 5.33vw;
		padding-bottom: 2.13vw;
	}
	
	.product_lead_list_container dd {
		font-size: 4.27vw;
	}
	
	.product_wrap {
		display: block;
		padding-bottom: 10.67vw;
	}
	
	.sec03 .product_wrap {
		padding-bottom: 0;
	}
 	
	.product_ttl {
		margin-bottom: 4.27vw;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		position: relative;
	}
	
	.product_ttl::before {
		height: 3px;
		top: .9em;
	}
	
	.product_ttl.twolines::before {
		top: 1.8em;
	}
	
	.product_ttl strong {
		font-size: 5.87vw;
		padding-right: 2.13vw;
	}
	
	.product_ttl em {
		font-size: 4.27vw;
		transform: translateX(-2.13vw);
	}
	
	.product_wrap .img_container {
		width: 100%;
		padding: 4.27vw 0 10.67vw;
	}
	
	.product_wrap .txt_container {
		width: 100%;
		padding: 0;
	}
	
	.product_wrap .img_container .product_obj01 {
		width: 100%;
	}
	
	.product_wrap .product_subttl {
		font-size: 5.87vw;
		padding-bottom: 2.13vw;
	}
	
	.product_wrap .detail_list_item {
		font-size: 4vw;
	}
	
	.product_wrap .detail_list_item .ico_soindex {
		width: 18.93vw;
		margin-top: 2.13vw;
	}
	
	.product_wrap .note_txt {
		font-size: 3.47vw;
		padding-top: 4.27vw;
	}
	
	.product_wrap .txt_wrap {
		width: 100%;
		padding-bottom: 6.4vw;
	}
	
	.product_list_container {
		display: block;
	}

	.product_list_container:nth-of-type(2) {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: stretch;
	}
	
	.product_list_container + .product_list_container {
		padding-top: 0;
	}
	
	.product_list_item {
		width: 100%;
		padding-bottom: 8.53vw;
	}
	
	.product_list_container:nth-of-type(2) .product_list_item,
	.product_list_container:nth-of-type(3) .product_list_item {
		width: 48.9%;
	}

	.product_list_container:nth-of-type(3) .product_list_item:last-child {
		padding-bottom: 0;
	}
	
	.liquid_txt_container {
		width: 100%;
		padding-bottom: 2.67vw;
	}
	
	.liquid_txt_container .liquid_ttl {
		font-size: 5.87vw;
		padding-bottom: 2.13vw;
	}
	
	.liquid_txt_container .liquid_txt {
		font-size: 4.27vw;
	}
	
	
	
	/*sec04--------------------------------*/
	
	.sec04 {
		padding-bottom: 3.47vw;
	}
	
	.sec04 .content_wrap {
		padding: 6.4vw 4.27vw 10.67vw;
	}
	
	.sec04 .sec_ttl {
		font-size: 6.4vw;
		line-height: 1.4em;
		padding-left: 16.27vw;
		margin-bottom: 6.4vw;
	}
	
	.sec04 .sec_ttl::before {
		width: 12vw;
		height: 12vw;
	}
	
	.summary_lead {
		font-size: 4.53vw;
		padding-bottom: 6.4vw;
	}
	
	.summary_obj {
		margin-bottom: 6.4vw;
	}
	
	.graph_txt {
		width: 100%;
		padding: 2.67vw 4.27vw;
		font-size: 4.53vw;
		text-align: left;
		margin-bottom: 12.8vw;
	}
	
	.guide_container {
		padding: 8.53vw 5.33vw 6.4vw;
	}
	
	.guide_ttl {
		font-size: 4.53vw;
		padding: .53vw 6.4vw;
		left: 4.27vw;
	}
	
	.guide_txt {
		font-size: 4.53vw;
		padding-bottom: 2.67vw;
	}
	
	.guide_container a {
		font-size: 4.27vw;
		padding-right: 11.2vw;
	}
	
	.guide_container a::after {
		width: 6.93vw;
		height: 2.67vw;
	}
	
	.sec04 .contact_wrap {
		margin-top: 2.13vw;
	}


	/*--------------------------------------*/
	
	/*healthcheck*/
	
	/*--------------------------------------*/
	
	.check_ttl {
		padding-bottom: 6.4vw;
	}
	
	.check_ttl strong {
		font-size: 6.4vw;
		line-height: 1.4em;
		padding-bottom: 2.13vw;
	}
	
	.check_ttl em {
		font-size: 4.8vw;
	}
	
	.healthcheck .content_wrap {
		padding: 6.4vw 4.27vw 10.67vw;
	}
	
	.check_subttl {
		font-size: 4.8vw;
		padding-bottom: 6.4vw;
	}
	
	.check_subttl span {
		width: 5.87vw;
		height: 5.87vw;
		transform: translate(-1.07vw,1.33vw);
	}
	
	.healthcheck_list_container {
		display: block;
		padding-bottom: 6.4vw;
	}
	
	.healthcheck_list_item {
		width: 100%;
		height: 32vw;
		margin-bottom: 2.13vw;
		display: flex;
		align-items: stretch;
	}
	
	.healthcheck_list_item .img_container {
		width: 35vw;
		height: 100%;
		padding: 4.27vw;
		box-sizing: border-box;
		display: flex;
	}
	
	.healthcheck_list_item .img_container::after {
		width: 5.87vw;
		height: 5.87vw;
		top: 3.2vw;
		left: 3.2vw;
	}
	
	.healthcheck_list_item .check_obj {
		max-width: 110%;
	}
	
	.healthcheck_list_item:first-child .check_obj {
		transform: translate(1.86vw,1.33vw);
	}
	
	.healthcheck_list_item:nth-child(2) .check_obj {
		transform: translate(.08vw,1.07vw);
	}
	
	.healthcheck_list_item:nth-child(3) .check_obj {
		transform: translate(1.33vw,4vw);
	}
	
	.healthcheck_list_item:nth-child(4) .check_obj {
		transform: translate(1.33vw,1.07vw);
	}
	
	.healthcheck_list_item:nth-child(6) .check_obj,
	.healthcheck_list_item:nth-child(7) .check_obj {
		transform: translate(2.67vw,1.33vw);
	}

	.healthcheck_list_item .txt_container {
		width: calc(100% - 35vw);
		height: unset;
		padding: 2.13vw 2.13vw 2.13vw 4.27vw;
		font-size: 4.53vw;
	}
	
	.healthcheck article .btn_container {
		padding-bottom: 6.4vw;
	}
	
	.consul_ttl {
		font-size: 4.8vw;
		padding-bottom: 2.13vw;
	}

	.consul_ttl strong {
		border-bottom: 2px solid var(--main-color);
	}
	
	.consul_txt {
		font-size: 3.47vw;
		text-align: left;
	}

	
/*-------------------------------------*/
}