/* ==================================================
	common
================================================== */

.reading * + p {
	margin-top: 1em;
}

.hLine.fcfff > span::before, .hLine.fcfff > span::after {
    border-top: 1px solid #fff;
}
h2.hLine {
    letter-spacing: 1px;
}

@media screen and (min-width: 1024px) {
    .fcfff_lg {
        color: #fff!important;
    }
    .reading * + p {
        letter-spacing: 1px;
    }
    .button.line.white_lg:link, .button.line.white_lg:visited {
        color: #fff;
        border-color: #fff;
    }
    .button.line.white_lg:hover,
    .button.line.white_lg:focus {
        color: #000;
        background-color: #fff;
    }
}


/* ==================================================
	main
================================================== */

@media screen and (max-width: 1023px) {
	.main {
		padding-bottom: 1rem;
	}
	.main_price {
		margin: 1rem 1rem 0;
		padding: 1.5rem;
		border: 1px dashed #ccc;
	}
	.main_price_box {
		margin: 1rem 1rem 0;
		padding: 1.5rem;
		border: 1px dashed #ccc;
	}
}
.main {
    position: relative;
}
.main .main_text {
    position: absolute;
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 100%;
}
.main .main_text h2 {
    font-weight: normal;
    font-size: 1.6rem;
    letter-spacing: .1rem;
    text-align: center;
}

@media screen and (max-width: 479px) {
	.main .price_area .hpj-pim:nth-of-type(2) {
		margin-top: 2rem;
	}
}

@media screen and (min-width: 480px) {
    .main .main_text {
        top: 2rem;
    }
    .main .main_text h2 {
        font-size: 1.8rem;
    }
}

@media screen and (min-width: 768px) {
    .main .main_text {
        top: 3rem;
    }
    .main .main_text h2 {
        font-size: 2rem;
        /*text-shadow: 1px 2px 3px rgb(51,51,51,.3);*/
    }
}

@media screen and (min-width: 1024px) {
	.main {
		height: 480px;
	}
    .main .main_text {
        top: 40px;
    }
	.main .main_text h2 {
		font-size: 22px;
		font-weight: normal;
	}
	.main_price {
		position: absolute;
		left: 30px;
		bottom: 10px;
	}

    .two_set_price {
        position: absolute;
        right: 30px;
		bottom: 10px;
    }
}



/* ----------------------------------------
	price
---------------------------------------- */

.price_area {
	text-align: center;
}
.price_area .price_box .button,
.price_area .price ~ p.bold {
	margin-top: 1rem;
}

.regular_price {
    text-decoration: none !important;
}
.regular_price::before {
    content: "[ HP希望販売価格 ";
}
.regular_price::after {
    content: "]";
}


/* two_set -------------------- */

.two_set {
    font-weight: bold;
    color: #d7410b; 
}
.two_set + * {
    margin-top: 0px;
}


/* ==================================================
    PIM
================================================== */

@media screen and (max-width: 1023px) {
    .cam_model .hpj-pim:nth-child(n+2) {
        margin-top: 20px;
    }
}

@media screen and (min-width: 1024px) {
    .cam_model > .aem-Grid {
        margin: 0 -10px;
    }
    .cam_model .hpj-pim {
        padding: 0 10px;
    }

    /* column1 -------------------- */
    .column1 .hpj-pim:nth-child(n+2) {
        margin-top: 20px;
    }

    /* column2 -------------------- */
    .column2 .hpj-pim {
        width: 50% !important;
    }
    .column2 .hpj-pim:nth-child(n+3) {
        margin-top: 20px;
    }

}



/* ==================================================
	chara
================================================== */

/* ----------------------------------------
	comfortable
---------------------------------------- */
    
.chara_display > div {
    border: 1px #203546 solid;
    background: #203546;
}
.chara_display > div > p {
    padding: 1rem;
    text-align: center;
    color: #fff;
}

@media screen and (min-width: 1024px) {
    .chara_display > div {
        width: 292px!important;
    }
}






/* ==================================================
	model
================================================== */

/* set -------------------- */

/*.model .set .price_box {
	padding: 1.5rem;
}
.model .set .hpj-pim:nth-of-type(1) .price_box {
	padding-top: 0;
}
.model .set .hpj-pim:nth-of-type(2) {
	background: #f2f2f2;
}

@media screen and (min-width: 768px) {
	.model .set {
		max-width: 680px;
		margin: 0 auto;
	}
}*/



/* ----------------------------------------
	table
---------------------------------------- */

.model .style_basic {
	width: 100%;
}
.model .style_basic th,
.model .style_basic td {
	vertical-align: middle;
	padding: .8em .5em;
	text-align: center;
}
.model .style_basic thead th {
	color: #fff;
	background: #333;
}

@media screen and (max-width: 1023px) {
	.model .style_basic th,
	.model .style_basic td {
		font-size: 1.2rem;
	}
	.model .style_basic th {
		width: 8em;
	}
}




/* =========================================
                20220112 add Adjustment
=========================================== */
.ic_area_box{
    background:#f2f2f2;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.ic_area_box ul > li img{
    max-width: 80px;
}

.ic_area_box_l > ul,
.ic_area_box_r > ul{
    display: flex;
    flex-wrap: wrap;
}
.ic_area_box_l ul > li,
.ic_area_box_r ul > li{
                margin:.8rem;
                text-align:center;
}
.ic_area_box_l ul > li span,
.ic_area_box_r ul > li span{
    color:#000;
    display:block;
}
@media screen and (min-width: 768px){
    .ic_area_box_l ul > li,
    .ic_area_box_r ul > li{
        margin:.8rem 1em;
    }
}
@media screen and (min-width: 1024px){
    .ic_area_box{
        background:none;
        padding:0;
        display: block;
    }
    .ic_area_box_l{
        position: absolute;
        top: 50%;
        left: 20px;
        transform: translateY(-50%);
    }
    .ic_area_box_r{
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
    }
    .ic_area_box_l > ul,
    .ic_area_box_r > ul{
       display: block;
    }
    .ic_area_box_l ul > li,
    .ic_area_box_r ul > li{
        display: flex;
        align-items: center;
        margin: 0;
        margin-top: 10px;
        text-align:left;
    }
    .ic_area_box_l ul > li:first-child,
    .ic_area_box_r ul > li:first-child{
        margin-top: 0;
    }
    .ic_area_box_l ul > li span,
    .ic_area_box_r ul > li span{
        padding-left:2rem;
        display:inline-block;
        font-size:16px;
    }
}


@media screen and (min-width: 1024px){
    .main_price {
        position: absolute;
        right: 20px;
        left:auto;
        bottom: 10px;
    }
    .price_box{
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .price_box > div:last-child{
        margin-left:20px;
    }
}