@charset "UTF-8";

/*===========================
PC用追加スタイル
===========================*/


#recommend .box .img_box img {
	width: 325px;
	height: auto;
}
#recommend .boxS .img_box img {
	width: 210px;
	height: auto;
}

#itemDetail #products .img_box img {
	width: 380px;
	height: auto;
}

#cartIndex form table td .img {
	float: left;
	width: 150px;
	height: auto;
	margin-right: 10px;
}
#cartItemListImage .img {
  vertical-align: middle;
  max-width: 136px!important;
  max-height: 136px!important;
}

#movieGallery .movieList .box p.movie img {
	width: 300px;
	height: auto;
}
#cartFlow h3{
	margin: 30px 0 10px 0;
}

/* 2021-12-24 Add */
#cartFlow #confirmForm h3 a{
	color: #6cb86a
}

/*===========================
PC用追加スタイル（商品ページ左右交互デザイン）
===========================*/

.contents-wrap {
	display: flex;
	justify-content: space-between;
	margin-bottom: 7rem;
	background-color: #f3f4f6;
}

.contents-wrap:nth-child(odd) {
	flex-direction: row-reverse;
}



.contents-text {
    width: 50%; /*flex: 2;*/
    flex: 2;
    text-align: left;
}

.contents-text-tuv {
    width: 50%; /*flex: 2;*/
    flex: 2;
    text-align: left;
    margin-right: 50px;
}

.contents-text2 {
    width: 50%; /*flex: 2;*/
    flex: 2;
    text-align: left;
    margin-right: 50px;
}

.contents-text-tuv2 {
    width: 50%; /*flex: 2;*/
    flex: 2;
    text-align: left;
}


.contents-img {
	width: 50%; /*flex: 1;*/
}


.contents-text h2 {
    margin-bottom: 3rem;
    font-size: 1.8rem;
    margin-top: 250px;
    text-align: left;
    line-height: 2em;
}

.contents-text2 h2 {
    margin-bottom: 3rem;
    font-size: 1.8rem;
    margin-top: 250px;
    text-align: left;
    line-height: 2em;
}

.contents-text-tuv h2 {
    margin-bottom: 3rem;
    font-size: 1.8rem;
    margin-top: 250px;
    text-align: left;
    line-height: 2em;
}

.contents-text-tuv2 h2 {
    margin-bottom: 3rem;
    font-size: 1.8rem;
    margin-top: 250px;
    text-align: left;
    line-height: 2em;
}

.contents-text h3 {
    margin-bottom: 3rem;
    font-size: 1.7rem;
    margin: 20px 20px 30px 30px;

}

.contents-text2 h3 {
    margin-bottom: 3rem;
    font-size: 1.7rem;
    margin: 20px 20px 30px 30px;
}

.contents-text-tuv h3 {
    margin-bottom: 3rem;
    font-size: 1.7rem;
    margin: 20px 20px 30px 30px;
}

.contents-text-tuv2 h3 {
    margin-bottom: 3rem;
    font-size: 1.7rem;
    margin: 20px 20px 30px 30px;
}

.contents-text p {
    font-size: 1.05rem;
    margin: 20px 30px 30px 30px;
    text-align: justify;
    text-justify: inter-ideograph;
}

.contents-text2 p {
    font-size: 1.05rem;
    margin: 20px 0px 30px 30px;
    text-align: justify;
    text-justify: inter-ideograph;
}

.contents-text-tuv p {
    font-size: 1.05rem;
    margin: 20px 0px 30px 30px;
    text-align: justify;
    text-justify: inter-ideograph;
}

.contents-text-tuv2 p {
    font-size: 1.05rem;
    margin: 20px 0px 30px 30px;
    text-align: justify;
    text-justify: inter-ideograph;
}


.contents-text img {
	display: block;
	width: 100%;
	height: auto;
}

.contents-text2 img {
	display: block;
	width: 100%;
	height: auto;
}

.contents-text-tuv img {
	display: block;
	width: 70%;
	height: auto;
}

.contents-text-tuv2 img {
	display: block;
	width: 75%;
	height: auto;
}


.contents-img img {
	display: block;
	width: 100%;
	height: auto;
}

.link.voice {
    padding: 6px 0 12px 96px;
    margin-bottom: 7px;
    background: url(../images/product/roomba/bundle/icon-voice.png) no-repeat 0 50% / 80px auto;
}

.link.voice2 {
    padding: 30px 0 12px 96px;
    margin-bottom: 7px;
    background: url(../images/product/roomba/bundle/icon-voice.png) no-repeat 0 50% / 80px auto;
}

.link.voice3 {
    padding: 30px 0 12px 96px;
    margin-bottom: 7px;
    background: url(../images/product/roomba/bundle/icon-voice-b.png) no-repeat 0 50% / 80px auto;
}


.link a {
    padding-right: 28px;
    background: url(../images/product/roomba/bundle/blt_01.png) no-repeat 99% 50% / 16px auto;
    font-size: 17px;
    color: #6cb86a;
}


@media screen and (max-width: 768px){
	.contents-wrap,
	.contents-wrap:nth-child(odd)  {
		flex-direction: column;
	}

	.contents-text,
	.contents-img {
		width: 100%; /*flex: 1;*/
	}

	.contents-text {
		padding: 3rem;
	}

	.contents-text h2 {
		text-align: center;
	}
}


.boxgray {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #000000;
    background: #dcdcdc;/*背景色*/
    margin-left: 4em;
}


.boxgray p {
    margin: 0; 
    padding: 0;
}

.boxgray2 {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #000000;
    background: #dcdcdc;/*背景色*/
    margin-left: 24em;
    width: 700px;
}


.boxgray2 p {
    margin: 0; 
    padding: 0;
}

.note {
    width: 100%;
    margin-bottom: 55px;
    font-size: 13px;
    line-height: 1.54;
    text-align: left;
}




/* cartItemListImage - カートレコメンド商品画像一覧
-------------------------------------------------------------*/
#cartItemListImage{zoom:1; width:912px; padding-bottom:10px; padding-top:30px;}
#cartItemListImage:after{content:"."; display:block; visibility:hidden; height:0.1px; font-size:0.1em; line-height:0; clear:both;}/* clearfix */
/*#cartItemListImage h2{margin-bottom:6px; background:url("../images/title_big_bg.png") no-repeat;}*/
#cartItemListImage .box{float:left; width:193px; margin-bottom:20px; margin-right:19px; height:250px;}
#cartItemListImage .text{ width:193px;}
#cartItemListImage h3{display:block; margin:5px 0px 9px 0; font-size:12px; font-weight:normal; line-height:120%;}
#cartItemListImage h3.name{margin-bottom:3px; font-size:14px; height:31px; overflow:hidden;}
#cartItemListImage h3 a{ color:#262626;}
#cartItemListImage .price{display:block; font-size:11px; color:#262626; float:left; margin:0px; padding:4px 0 0 0 ;}
#cartItemListImage .iconarea{margin:0px 0px -44px 0; float:left; z-index:10; position:relative; padding-left:5px;}
#cartItemListImage .button{display:block; margin:0 0px 0 0; float:right;}
#cartItemListImage .appeal{clear:both; color:#F10707; font-size:12px; margin:0px;}

#cartItemListImage h2 a{float:right; font-size:12px; padding-top:6px;}

#cartItemListImage .img_box{width: 136px; height: 136px; margin:0 auto;}
#cartItemListImage .img_box .inner{width: 136px; height: 136px; display:table-cell; layout-grid-line: 136px; text-align: center; vertical-align: middle; margin:0 auto;}
#cartItemListImage .img{vertical-align: middle; max-width: 136px!important; max-height: 136px!important;}




/* =================================================================
15.エラーページ
使用ファイル：common/messages.xhtml
=================================================================*/
#error{width:100%; padding-bottom:20px;padding-top: 50px;}
#error table{margin:20px; border:none !important; font-size:80%;}
#error td{padding:10px; border:none !important;}
#error .ico{width:40px; vertical-align:top; text-align:center;}
#error .content{padding:5px; color:#C00; font-weight:bold; vertical-align:middle; line-height:150%;}
#error .buttonarea{margin:10px; padding-top:10px; border-top:#CCC 1px dashed; text-align:center;}
#error ul{background:none;}

/* =================================================================
15.カート画面改修用css
使用ファイル：common/cart_index.xhtml
=================================================================*/
.cart_message {
	margin-top: 40px;
}

.cart_message .cart_message-item {
	font-size: 16px;
	font-weight: bold;
	color: #f30000;
	background: #fbe3e3;
	text-align: center;
	padding: 17px 18px 16px;
}

.cart_message .cart_message-item:not(:first-child) {
	margin-top: 18px;
}

#cartIndex .content {
	width: 100%;
	float: none;
}

.total {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	background: #ecf0f1;
	border: 1px solid #ccc;
	border-top: none;
	padding: 15px 29px;
}

.total_num,
.total_price {
	display: flex;
	align-items: flex-end;
}

.total_num {
	margin-bottom: 15px;
}

.total_num > div,
.total_price > div {
	color: #20924f;
	margin-bottom: -3px;
}

.total_num > div,
.total_price > div > span {
	font-weight: bold;
	font-size: 20px;
	margin-left: 10px;
}

.total_num > div > span {
	margin-right: 5px;
}

#cartIndex .cart_item_list {

}

#cartIndex .cart_item_list tr{

}

#cartIndex .cart_item_list tr th{
	text-align: center;
}

#cartIndex .cart_item_list tr th.item_code-ttl{
	width: 130px;
}

#cartIndex .cart_item_list tr th.item_name-ttl{
	width: 451px;
}

#cartIndex .cart_item_list tr th.item_num-ttl{
	width: 200px;
}

#cartIndex .cart_item_list tr th.item_total-ttl{
	width: 154px;
}

#cartIndex .cart_item_list tr td{

}

#cartIndex .cart_item_list tr td.item_code{
	text-align: center;
	font-size: 16px;
	letter-spacing: 0.03em;
}

#cartIndex .cart_item_list tr td.item_name{
	width: 451px;
}

#cartIndex .cart_item_list tr td.amount{
	text-align: center;
}

#cartIndex .cart_item_list tr td.amount span{
	display: inline-block;
	position: relative;
}

#cartIndex .cart_item_list tr td.amount span::before{
	position: absolute;
	top: 0;
	left: 68px;
	display: block;
	content: "";
	width: 1px;
	height: 100%;
	background: #ccc;
}

#cartIndex .cart_item_list tr td.amount span::after{
	position: absolute;
	top: 50%;
	right: 67px;
	display: block;
	content: "";
	width: 4px;
	height: 4px;
	border-right: 1px solid #404040;
	border-bottom: 1px solid #404040;
	transform: translateY(-50%) rotate(45deg);
}

#cartIndex .cart_item_list tr td.amount select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 90px;
	margin-right: 26px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
	padding: 5px 0;
}



#cartIndex .cart_item_list tr td.price{
	font-size: 16px;
	font-weight: bold;
	text-align: right;
}

#cartIndex .cart_item_list tr td.item_name .item_image, 
#cartIndex .cart_item_list tr td.item_name .clear{
	display: table-cell;
	vertical-align: middle;
}

#cartIndex .cart_item_list tr td.item_name .price{
	font-size: 14px;
	color: #333;
	letter-spacing: 0.03em;
}

#cartIndex .cart_item_list tr td.item_name div a{
	display: block;
	font-size: 18px;
	margin-bottom: 2px;
}

#payoff {
	width: 300px;
	margin: 0 auto;
	border-radius: 4px;
	overflow: hidden;
}

 #payoff .payoff_btn {
	position: relative;
	display: block;
	background: #6cb86a;
	padding: 22px 0;
	font-size: 16px;
	color: #fff;
	text-decoration: none;
	width: 100%;
	line-height: 1;
}

#payoff .payoff_btn::after {
	position: absolute;
	top: 50%;
	right: 15px;
	display: block;
	content: "";
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
}

#continue {
	width: 300px;
	margin: 30px auto 0;
	border: 2px solid #6cb86a;
	border-radius: 4px;
	overflow: hidden;
}

#continue .continue_btn {
	position: relative;
	display: block;
	font-size: 16px;
	color: #6cb86a;
	text-decoration: none;
	width: 100%;
	padding: 13px 15px;
}

#empty {
	margin-top: 23px;
}

#empty .empty_btn {
	font-size: 14px;
	color: #333;
}
.continue-btn {
	font-size: 14px;
	text-decoration: underline;
	margin-top: 30px;
}

.campaign_banner {
	margin: 50px 0 70px;
}

.campaign_banner .campaign_banner-item {

}

.campaign_banner .campaign_banner-item img {
	width: 100%;
	height: auto;
}

#footer .inner {
	position: fixed;
	right: 40px;
	bottom: 60px;
}

/* 2021-12-24 Add */
#cartIndex #continue.buttonarea {
	margin-bottom: 80px;
}

/* =================================================================
15.カートログイン改修用css
使用ファイル：common/cart_login.xhtml
=================================================================*/

#cartLogin #next_step{
	width: 300px;
	margin: 0 auto;
	background: #6cb86a;
	border-radius: 4px;
	overflow: hidden;
}

#cartLogin #next_step a{
	position: relative;
	display: block;
	font-size: 16px;
	color: #fff;
	text-decoration: none;
	padding: 22px 0;
	line-height: 1;
	letter-spacing: 0.04em;
}

#cartLogin #next_step a::after{
	position: absolute;
	top: 50%;
	right: 15px;
	display: block;
	content: "";
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
}

.no_login {
	margin: 60px 0 40px;
}

/* =================================================================
15.注文情報入力画面_改修用css
使用ファイル：common/cart_seisan.xhtml
=================================================================*/

#cartFlow .inputPage {
	display: flex;
	justify-content: center;
	margin-bottom: 40px;
}

#cartFlow #prev {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	margin-right: 20px;
	background: #7f8c8d;
	border-radius: 4px;
	overflow: hidden;
}


#cartFlow #prev a{
	position: relative;
	width: 100%;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	padding: 20px 0;
	text-decoration: none;
	letter-spacing: 10px;
	line-height: 1.1;
}

#cartFlow #prev a::before{
	position: absolute;
	top: 50%;
	left: 15px;
	display: block;
	content: "";
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	transform: translateY(-50%) rotate(-45deg);
}

#cartSidebar .inputPage {
	display: flex;
	flex-direction: column;
	margin: 20px 0;
}

#cartSidebar .inputPage #prev {
	width: 100%;
}

#cartSidebar .inputPage #prev a {
	font-size: 13px;
	line-height: 1;
}

#cartSidebar .inputPage #prev a::before {
	content: none;
}

#cartSidebar .inputPage #next_flow {
	position: relative;
	width: 100%;
	border-radius: 4px;
	overflow: hidden;
	background:#64a70b;
	margin-bottom: 10px;
}

#cartSidebar .inputPage #next_flow::after {
	position: absolute;
	top: 50%;
	right: 10px;
	display: block;
	content: "";
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translateY(-50%) rotate(45deg);
}

#cartSidebar .inputPage #next_flow input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 0;
	margin: 0;
	display: block;
	background: #6cb86a;
	padding: 22px 0;
	font-size: 13px;
	color: #fff;
	text-decoration: none;
	width: 100%;
	line-height: 1;
	letter-spacing: 0.04em;
	font-family: inherit;
	font-weight: 500;
	font-style: normal;
}

#cartFlow #next{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	margin-right: 20px;
	overflow: hidden;
	position: relative;
}

#cartFlow #next::after{
	position: absolute;
	top: 50%;
	right: 21px;
	display: block;
	content: "";
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	transform: rotate(135deg) translateY(50%);
}

#cartFlow #next input{
	background: #6cb86a;
	border-radius: 4px;
	border: 0;
	width: 100%;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	font-family: inherit;
	letter-spacing: 0.05em;
	padding: 22px 0;
	line-height: 1;
}

/* =================================================================
15.注文情報確認画面_改修用css
使用ファイル：common/cart_confirm.xhtml
=================================================================*/

#cartFlow .confirmPage {
	display: flex;
	justify-content: center;
	margin-bottom: 40px;
}

#cartFlow #prev {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	margin-right: 20px;
	background: #7f8c8d;
	border-radius: 4px;
	overflow: hidden;
}


#cartFlow #prev a{
	position: relative;
	width: 100%;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	padding: 20px 0;
	text-decoration: none;
	letter-spacing: 10px;
}

#cartFlow #prev a::before{
	position: absolute;
	top: 50%;
	left: 15px;
	display: block;
	content: "";
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	transform: translateY(-50%) rotate(-45deg);
}


