/*************** common ***************/
.main_header h1 {
	position: relative;
	border-bottom:none;
	padding: .3rem 1rem;
	font-size: 1.3rem;
	letter-spacing: 0.1em;
	margin-top: 2rem;
	margin-bottom: 2rem;
	font-weight: bold;
	border-left: 7px solid #4c4948;
}

.main_header h1::after {
	content: "";
	width: 100%;
	border-bottom: 1px dotted #4c4948;
	position: absolute;
	left: 0;
	bottom: 0;
}

section {
	margin: 3rem 0 5rem;
}

section h2 {
    padding: 1.3rem 0;
    margin: 0 0 2rem 0;
    font-size: 1rem;
    position: relative;
    letter-spacing: 0.05em;
}

section h2::after {
	content: "";
	width: 5%;
	border-bottom: 2px solid #be2a2a;
	position: absolute;
	left: 0;
	bottom: 0;
}

section h3 {
    font-weight: bold;
    background-color: #f5f5f5;
    padding: .5rem 1rem;
    margin-bottom: .5rem;
}

section h4 {
    font-weight: bold;
    border-bottom: 1px solid #e8e8e8;
}

main .text {
    font-size: .85rem;
    letter-spacing: 0.1em;
    line-height: 2;
}

main .note {
    font-size: .8rem;
    letter-spacing: 0.1em;
    line-height: 2;
}

main .text p,
main .text li {
	margin: 1.3rem 0;
}

main .note p,
main .note li {
	margin: .3rem 0;
}

.flex_container {
	display: -webkit-flex;
    display:-ms-flexbox;
	display: flex;
    -ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.flex_item_col2 {
    width: 48.5%;
}

.flex_item_col3 {
    width: 30%;
}

.image img {
    max-width: 100%;
    height: auto;
}

.moreinfo {
	font-size: .85rem;
	text-align: right;
}

.moreinfo a {
    display: inline-block;
    border-bottom: 1px solid #4c4948;
}

.moreinfo a::before {
    content: "\f0da";
    margin-right: 0.25em;
    color: #be2a2a;
    font-family: FontAwesome;
}

.moreinfo a:hover {
    opacity: .7;
    text-decoration: none;
}

.moreinfo_box {
	background-color: #f5f5f5;
    border: solid 1px #4c4948;
    text-align: center;
    cursor: pointer;
}
.moreinfo_box:first-of-type {
    width: 65%;
    margin: 4rem auto 8rem;
}

.moreinfo_box a {
	display: inline-block;
	padding: 2rem;
}

.moreinfo_box:first-of-type a {
    padding: 1rem;
}

.moreinfo_box span::before {
    content: "\f0da";
    margin-right: 0.25em;
    color: #be2a2a;
    font-family: FontAwesome;
}

.moreinfo_box:hover a {
    opacity: .7;
    text-decoration: none;
}

.text_left {
    text-align: left;
}

.order02 {
    order: 2;
} 





/********** staff **********/
.staff01 .flex_container:nth-child(2) {
    margin-bottom: 3rem;
}

.staff02 .text {
    margin-bottom: 2.5rem;
}

.staff02 .image:nth-child(1),
.staff02 .image:nth-child(2){
    margin-bottom: 2rem;
}

.staff03 .text:nth-child(3) {
    margin-bottom: 5rem;
}

.soudan_btn ul {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	margin-top:3rem;
}

.soudan_btn ul li {
	width:calc(48%);
}

.soudan_btn ul li a {
	display:block;
	position:relative;
	text-align:center;
	border:1px solid #333;
	padding:0.5rem 2rem;
}

.soudan_btn li a::after {
	content: "\f0da";
    font-family: FontAwesome;
    position: absolute;
    top: 50%;
    right: 2%;
    transform: translateY(-50%);
    color: #be2a2a;
}

.soudan_btn ul li a:hover {
	text-decoration:none;
	opacity:0.8;
}




/********** visit **********/
.visit .main_header h1 {
	font-size: 1.2rem;
}

.visit section {
	margin: 5rem 0;
}





/********** order **********/
.order01 ul li {
    margin-top: 2rem;
    margin-bottom: 4rem;
}

.order01 ul .title {
    font-weight: bold;
    background-color: #f5f5f5;
    padding: .5rem 1rem;
    margin-bottom: .5rem;
}

.order01 ul .title img {
    display: inline-block;
    padding-bottom: .1rem;
}

.order01 ul dd img {
    display: block;
    margin-bottom: .5rem;
}





/********** payment **********/
.payment02 h3 {
    font-size: .875rem;
}

.payment02 .image {
    width: 100%;
    text-align: left;
}





/********** hikitori **********/
.hikitori01 .text {
    border: 1px solid #4c4948;
    padding: 1rem 1.5rem;
    margin-bottom: 2rem;
}

.hikitori01 .text p {
	margin: 0;
	letter-spacing: 0.1em;
	font-size: 0.8rem
}

.hikitori01 .text p span {
	line-height: 2.5;
	font-size: 0.9rem;
    font-weight: bold;
}

.hikitori01 .text p span.price {
	font-size: 0.75rem;
	color:#be2a2a;
}

.hikitori01 .note p a {
	text-decoration:underline;
}



/********** delivery **********/
.delivery02 table {
	border-spacing: 0 1rem;
	border-top: 1px solid #e8e8e8;
}

.delivery02 td {
	padding-bottom: 1rem;
	border-bottom: 1px solid #e8e8e8;
}

.delivery02 td.title {
	width: 19%;
	font-weight: bold;
	vertical-align: top;
}

.delivery06 ul li {
    margin-top: 2rem;
    margin-bottom: 4rem;
}

.delivery06 ul li.text img {
    display: block;
    margin-bottom: 1rem;
}

.delivery06 ul .title {
    font-weight: bold;
    background-color: #f5f5f5;
    padding: .5rem 1rem;
    margin-bottom: .5rem;
}

.delivery06 ul .title img {
    display: inline-block;
    padding-bottom: .1rem;
    vertical-align: middle;
}





/********** delivery_carry **********/
.delivery_carry .image {
    width: 100%;
    text-align: center;
}

.delivery_carry .attention {
    color: #e95413;
    font-size: 110%;
    font-weight: bold;
}

.delivery_carry h2 {
	color: #7d8d35;
}

.delivery_carry h2::before {
	content: "\f046";
	margin-right: 0.5em;
	font-family: FontAwesome;
	font-weight: normal;
}





/********** warranty **********/
.warranty01 ol {
    margin: 2rem 0 2rem 1rem!important;
    font-size: .8rem !important;
    padding-left: 2rem !important;
    line-height: 2.3;
}

.warranty01 ol li {
    margin: 0;
}





/********** repair **********/
.repair .title img {
    display: inline-block;
    padding-bottom: .1rem;
    padding-left: .5rem;
    vertical-align: middle;
}

.repair01 ul li p,
.repair07 ul li p {
    margin: 0;
}

.repair .image {
    width: 100%;
    text-align: center;
}

.repair .moreinfo_box:last-child {
	margin-top: 3rem;
}





/********** inspection **********/
.inspection h4 {
    margin-top: 1rem;
    margin-bottom: .3rem;
}

.inspection01 ul {
    padding-left: 5rem;
}

.inspection01 ul li,
.inspection02 ul li {
    margin: .1rem 0;
    font-size: .8rem;
    letter-spacing: 0.1em;
    line-height: 2;
}

.inspection02 .title img {
    display: inline-block;
    padding-bottom: .1rem;
    padding-left: .5rem;
    vertical-align: middle;
}

.inspection .image {
    width: 100%;
    text-align: center;
    margin-top: 1rem;
}

.inspection .recommend {
	width: 30rem;
	margin: 3rem auto 3rem;;
	padding: 2rem;
    border: solid 2px #be2a2a;
    background-color: #ffdbdb;
	font-size: 140%;
	font-weight: bold;
	text-align: center;
}





/********** price_warranty **********/
.price_warranty .main_header .text div {
	border: 1px solid #be2a2a;
}

.price_warranty .main_header .text div p:nth-child(1) {
	display: inline-block;
	margin: 0;
	padding: .5rem 2rem;
	background-color: #be2a2a;
	font-size: 1.2rem;
	font-weight: bold;
	color: #fff;
}

.price_warranty .main_header .text div p:nth-child(2) {
	display: inline-block;
	margin: 0;
	padding-left: 1.3rem;
	font-size: 1rem;
	font-weight: bold;
}

.price_warranty .text p:nth-of-type(1) {
	margin: 1.8rem 0 1.3rem;
}





/********** q_and_a **********/
.q_and_a dt {
    font-weight: bold;
    background-color: #f5f5f5;
    padding: .5rem 1rem;
    margin-top: 5rem;
    margin-bottom: .5rem;
    letter-spacing: 0.1em;
}

.q_and_a dt:first-child {
    margin-top: 0;
}

.q_and_a dd {
    font-size: .85rem;
    letter-spacing: 0.1em;
    line-height: 2;
}

/********** item **********/
.item dt {
    font-weight: bold;
    background-color: #f5f5f5;
    padding: .5rem 1rem;
    margin-top: 5rem;
    margin-bottom: .5rem;
    letter-spacing: 0.1em;
}

.item dt:first-child {
    margin-top: 0;
}

.item dd {
    font-size: .85rem;
    letter-spacing: 0.1em;
    line-height: 2;
}





/********** consulting **********/
.consulting01 .title p {
    font-weight: bold;
    background-color: #f5f5f5;
    padding: .5rem 1rem;
    margin-top: 5rem;
    margin-bottom: .5rem;
}

.consulting01 .image {
    text-align: center;
    margin: 3rem 0;
}



/********** price_list_pc **********/

@media only screen and (min-width:480px) {

    .sp_container {
        display: none;
    }

    li {
        list-style: none;
    }

    table {
        border-spacing: 1px;
    }

    #price_list img{
        width: 100%;
    }

    .image_list{
        margin: 0 0 3rem;
    }

    .image_list table {
        width: 90%;
        margin: 20px auto;
        background: #d7d6d6;
        border-collapse: unset;
    }

    .image_list th {
        background: #f3f1f2;
        padding: 5px;
        line-height: 3;
        vertical-align: middle;
    }

    .image_list td {
        padding: 5px;
        background: #fff;
        vertical-align: middle;
        line-height: 1.5;
    }

    .image_list .bgPink {
        background: #fce7ec;
    }

    .image_list .bgGray {
        background: #f3f1f2;
    }

    /* .image_list .vertical-lr {
        writing-mode: vertical-lr;
    } */

    @-moz-document url-prefix() {
        .image_list .vertical-lr {
            writing-mode: vertical-lr;
            width: 3em;
        }
    }

    .image_list span.fontSize_small {
        font-size: 12px;
        vertical-align: top;
    }

    #customize_order .image_list th:nth-of-type(1) {
        width: 15%;
    }

    #customize_order .image_list th:nth-of-type(2) {
        width: 28%;
    }

    #customize_order .image_list th:nth-of-type(3),
    #customize_order .image_list th:nth-of-type(4),
    #customize_order .image_list th:nth-of-type(5) {
        width: 15%;
    }

    #customize_order .image_list .vertical-lr {
        width: 3em;
    }

    #delivery .image_list th:nth-of-type(1) {
        width: 20%;
    }

    #delivery .image_list th:nth-of-type(2) {
        width: 44%;
    }

    #delivery .image_list th:nth-of-type(3) {
        width: 15%;
    }

    #delivery .image_list th:nth-of-type(4) {
        width: 16%;
    }

    #option .image_list th:nth-of-type(1) {
        width: 11%;
    }

    #option .image_list th:nth-of-type(2) {
        width: 38%;
    }

    #option .image_list th:nth-of-type(3) {
        width: 23%;
    }

    #option .image_list th:nth-of-type(4) {
        width: 24%;
    }

    #option .image_list tr:nth-of-type(2) {
        background: #f3f1f2;
        font-weight: bold;
    }
    #option .image_list tr:nth-of-type(2) :not(:nth-of-type(even)) {
        width: 15%;
    }

    #option2 .image_list th:nth-of-type(1) {
        width: 17%;
    }

    #option2 .image_list th:nth-of-type(2) {
        width: 40%;
    }

    #option2 .image_list th:nth-of-type(3) {
        width: 11%;
    }

    #option2 .image_list th:nth-of-type(4) {
        width: 14%;
    }

    #option2 .image_list .width_adjustment {
        width: 9%;
    }

    .image_list .bgBlue {
        background: #E1F4FB;
    }

    #inspection .image_list th:nth-of-type(1) {
        width: 19%;
    }

    #inspection .image_list th:nth-of-type(2) {
        width: 19%;
    }

    #inspection .image_list th:nth-of-type(3) {
        width: 5%;
    }

    #inspection .image_list th:nth-of-type(4) {
        width: 10%;
    }

    #inspection .image_list th:nth-of-type(5) {
        width: 15%;
    }

    #maintenance .image_list th:nth-of-type(1) {
        width: 17%;
    }

    #maintenance .image_list th:nth-of-type(3) {
        width: 10%;
    }

    #maintenance .image_list th:nth-of-type(4) {
        width: 10%;
    }

    #maintenance .image_list th:nth-of-type(5) {
        width: 15%;
    }

    #assist .image_list th:nth-of-type(1) {
        width: 19%;
    }

    #assist .image_list th:nth-of-type(3) {
        width: 11%;
    }

    #assist .image_list th:nth-of-type(4) {
        width: 10%;
    }

    #assist .image_list .width_adjustment {
        width: 20%;
    }

    #assist .image_list .vertical-lr {
        width: 3em;
    }

    #repair .image_list .bgBlue {
        width: 11%;
    }

    #repair .image_list th:nth-of-type(1){
        width: 21%;
    }

    #repair .image_list table:last-of-type th:first-of-type {
        width: 11%;
    }

    #repair .image_list th:nth-of-type(3){
        width: 15%;
    }

    #repair .image_list th:nth-of-type(5){
        width: 13%;
    }

    #repair .image_list .width_adjustment {
        width: 16%;
    }

    #repair .image_list .font_weight {
        font-weight: bold;
    }

    #repair .image_list span.line_height {
        display: inline-block;
        margin-top: 30px;
    }

    .kome{
        margin-top: 0.2rem;
        font-size: 0.8rem;
        line-height: 1.8;
        padding-left:5em;
        text-indent:-1em;    
    }

    #price_list .title{
        /* padding-top: 3rem !important; */
        margin-top: 2rem;
    }

    #price_list section{
        margin-top: -100px;
        padding-top: 100px;
    }

    .col3 {
        display: flex;
        flex-flow: row wrap;    
    }

    .col3 li {
        text-align: center;
        width: calc((100% - 1.5rem) / 3);
        margin: 0 0.5rem 0.5rem 0;
    }
    .col3 li a {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
        padding: 1rem;
        background:#eee;
    }
}

/********** price_list_sp **********/

@media only screen and (max-width:479px) {

    .pc_container {
        display: none;
    }

    .sp_container {
        display: block;
    }

    section {
        font-size: 1rem;
    }

    table {
        border-spacing: 1px;
    }

    li {
        list-style: none;
    }
    
    .image_list{
        margin: 0 0 3rem;
    }
    
    .image_list table {
        width: 100%;
        margin: 20px auto; 
        background: #d7d6d6;
        border-collapse: unset;
    }
    
    .image_list th {
        background: #f3f1f2;
        padding: 5px;
        line-height: 1.5;
        vertical-align: middle;
    }
    
    .image_list td {
        padding: 6px;
        background: #fff;
        vertical-align: middle;
        line-height: 1.5;
    }
    
    .image_list .bgPink {
        background: #fce7ec;
    }
    
    .image_list .bgBlue {
        background: #E1F4FB;
    }
    
    .image_list .bgGray {
        background: #f3f1f2;
        width: 15%;
        font-weight: bold;
    }
    
    .image_list .vertical-lr {
        max-width: 6em;
    }
    
    .image_list span.fontSize_small {
        font-size: 1em;
        vertical-align: top;
    }
    
    #customize_order_sp .image_list th:nth-of-type(2) {
        width: 52%;
    }
    
    #customize_order_sp .image_list th:nth-of-type(3) {
        width: 20%;
    }
    
    #customize_order_sp .image_list .adjustment {
        width: 26%;
    }

    #option_sp .image_list th:nth-of-type(1) {
        width: 13%;
    }
    
    #option2_sp .image_list th:nth-of-type(1) {
        width: 20%;
    }
    
    #option2_sp .image_list th:nth-of-type(2) {
        width: 35%;
    }
    
    #option2_sp .image_list th:nth-of-type(3) {
        width: 20%;
    }
    
    #option2_sp .image_list th:nth-of-type(4) {
        width: 20%;
    }
    
    #inspection_sp .image_list th:nth-of-type(4) {
        width: 18%;
    }
    
    #inspection_sp .image_list .adjustment {
        width: 20%;
    }
    
    #inspection_sp .image_list .adjustment {
        width: 20%;
    }
    
    #maintenance_sp .image_list th:nth-of-type(2) {
        width: 35%;
    }
    
    #maintenance_sp .image_list th:nth-of-type(3) {
        width: 18%;
    }
    
    #maintenance_sp .image_list th:nth-of-type(4) {
        width: 18%;
    }
    
    #assist_sp .image_list th:nth-of-type(1) {
        width: 26%;
    }
    
    #assist_sp .image_list th:nth-of-type(3) {
        width: 15%;
    }
    
    #assist_sp .image_list th:nth-of-type(4) {
        width: 15%;
    }
    
    #assist_sp .image_list .adjustment {
        width: 18%;
    }
    
    #repair_sp .image_list th:nth-of-type(1) {
        width: 10%;
    }
    
    #repair_sp .image_list th:nth-of-type(2) {
        width: 25%;
    }
    
    #repair_sp .image_list th:nth-of-type(3) {
        width: 5%;
    }
    
    #repair_sp .image_list th:nth-of-type(4) {
        width: 18%;
    }
    
    #repair_sp .image_list .adjustment {
        width: 15%;
    }
    
    #repair_sp .image_list table:nth-of-type(5) span {
        font-weight: bold;
    }
    
    #repair_sp img {
        width: 100%;
    }
    
    #repair_sp .image_list .vertical-lr {
        max-width: 3em;
    }
    
    #repair_sp .image_list .vertical-lr_adjustment {
        /* writing-mode: vertical-lr; */
        width: 1rem;
    }

    #repair_sp .image_list .vertical-lr_adjustment span {
        display: block;
        transform: rotate(90deg);
    }

    #repair_sp .image_list .width_adjustment {
        width: 31% !important;
    }

    #repair_sp .image_list table:last-of-type th:first-of-type {
        width: 1%;
    }

    .kome{
        margin-top: 1.3rem;
        font-size: .8rem;
        line-height: 1.6;
        padding-left:1em; 
    }
    
    #price_list .title{
        padding-top: 0 !important;
    }
    
    #price_list section{
        margin-top: -70px;
        padding-top: 70px;
    }
    
    .col2 {
        display: flex;
        flex-wrap: wrap;     
        justify-content: space-between;
    }
    
    .col2 li {
        text-align: center;
        background:#eee;
        width: calc((100% - 1rem) / 2);
        margin:0 0 0.5rem 0;
        font-size: 0.75rem;
        box-sizing: border-box;
        align-self:center;
        line-height: 1;
    }
    .col2 li a {
        display: flex;
        justify-content: center;
        align-items: center;
        min-height: 3.5rem;
        padding: .5rem 1rem;
    }
}
