/*************** common ***************/
main {
    margin: 2rem 1rem;
}

.main_header h1 {
	position: relative;
	border-bottom:none;
	padding: .3rem 0;
	font-size: 1.3rem;
	letter-spacing: 0.1em;
	font-weight: bold;
}

.main_header h1::after {
	content: "";
	width: 100%;
	border-bottom: 1px dotted #4c4948;
	position: absolute;
	left: 0;
	bottom: 0;
}

section {
	margin: 2rem 0;
}

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: 10%;
	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;
    line-height: 1.5;
}

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;
}

.image img {
    max-width: 100%;
    height: auto;
}

.toguide,
.moreinfo {
	font-size: .85rem;
	text-align: right;
}

.moreinfo p {
    margin-bottom: 1.5rem;
    margin-top: 1rem;
}

.toguide a,
.moreinfo a {
    display: inline-block;
    border-bottom: 1px solid #4c4948;    
}

.toguide a::before,
.moreinfo a::before {
    content: "\f0da";
    margin-right: 0.25em;
    color: #be2a2a;
    font-family: FontAwesome;
}

.moreinfo_box {
    font-size: .85rem;
    width: 100%;
    background-color: #f5f5f5;
    border: solid 1px #4c4948;
    text-align: center;
    margin-bottom: 2rem;
    cursor: pointer;
}

.moreinfo_box a {
	display: inline-block;
	padding: 2rem .5rem;
	margin-bottom: 2re;
}

.moreinfo_box span::before {
    content: "\f0da";
    margin-right: 0.25em;
    color: #be2a2a;
    font-family: FontAwesome;
}

.moreinfo_box:hover a {
    opacity: .7;
    text-decoration: none;
}

.flex_container {
    display: block;
}

.flex_item_col2 {
    width: 100%;
}

.flex_item_col3 {
    width: 100%;
}

.text_left {
    text-align: left;
}





/********** staff **********/
.staff .main_header h1 {
	font-size: 1.2rem;
}

.staff .flex_item_col2 {
    width: 100%;
}

.staff03 .text:nth-child(3) {
    margin-bottom: 3rem;
}

.soudan_btn ul {
	display: flex;
	flex-flow: column wrap;
	justify-content: space-between;
	align-items: center;
}

.soudan_btn ul li {
	width:100%;
}

.soudan_btn ul li:first-child {
	margin-bottom:1rem;
}

.soudan_btn ul li a {
	display:block;
	position:relative;
	text-align:center;
	font-size:0.85rem;
	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;
}

.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;
}

.visit .flex_item_col2 {
    width: 48.5%;
}




/********** 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: 0;
}

.order01 ul dd img {
    display: block;
    margin: 0 auto .5rem;
}

.order01 dd{
	font-size: .85rem;
	letter-spacing: 0.1em;
    line-height: 2;
}





/********** payment **********/
.payment02 h3 {
    margin-top: 2.5rem;
    font-size: .875rem;
}

.payment02 h4 {
    margin-top: 2.5rem;
}

.payment02 .image {
    width: 100%;
    text-align: center;
}





/********** hikitori **********/
.hikitori01 .text {
    border: 1px solid #4c4948;
    padding: 1rem 1rem;
    margin-bottom: 2rem;
}

.hikitori01 .text p {
	margin: 0 0 1.5rem 0;
	letter-spacing: 0.1em;
	font-size: 0.8rem;
}

.hikitori01 .text p:last-child {
	margin-bottom: 0;
}

.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 {
    text-indent: -1rem;
    padding-left: 1rem;
}

.hikitori01 .note p a {
	text-decoration:underline;
}



/********** delivery **********/
.delivery table,
.delivery li.text {
    font-size: .85rem;
	margin: 1.3rem 0;
}

.delivery02 tr,
.delivery02 td {
	width: 100%;
	display: block;
}

.delivery02 td.title {
	font-weight: bold;
	border-bottom: 1px solid #e8e8e8;
	padding: 2rem 0 .3rem;
	margin-bottom: .3rem;
}

.delivery06 ul li {
    margin-top: 2rem;
    margin-bottom: 3rem;
}

.delivery06 ul li.text img {
    display: block;
    margin: 0 auto 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 .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;
}

.delivery_carry .image {
    width: 100%;
    text-align: center;
}

.delivery_carry02 .moreinfo,
.delivery_carry04 .moreinfo,
.delivery_carry05 .moreinfo,
.delivery_carry06 .moreinfo {
    margin-top: 1.3rem;
}





/********** warranty **********/
.warranty01 ol {
    margin: 2rem 0;
    font-size: .8rem;
    padding-left: 2rem;
    line-height: 1.7;
}

.warranty01 ol li {
    margin-bottom: 1rem;
}

.warranty01 ol li:last-child {
    margin-bottom: 0;
}





/********** repair **********/
.repair .title img {
    display: inline-block;
    padding-bottom: .1rem;
    padding-left: .5rem;
    vertical-align: middle;
    width: auto;
}

.repair01 ul li p,
.repair07 ul li p {
    margin: .3rem 0 0;
    font-size: 95%;
}

.repair .image {
    width: 100%;
    text-align: center;
}

.repair .image img {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.repair.moreinfo p {
    margin-top: 0;
}

.repair .moreinfo_box:last-child {
	margin-top: 3rem;
}





/********** inspection **********/
.inspection h3 {
    font-size: 95%;
    margin: 2rem 0 1rem;
}

.inspection h4 {
    font-size: 95%;
    margin-top: 1rem;
    margin-bottom: .3rem;
}

.inspection01 h4 {
    margin-top: 0;
}

.inspection02 {
    margin-top: 3rem;
}

.inspection02 .title img {
    max-width: 100%;
    width: auto;
    display: inline-block;
    padding-bottom: .1rem;
    padding-left: .5rem;
    vertical-align: middle;
}

.inspection .image {
    width: 100%;
    text-align: center;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.inspection01 .image img:nth-child(2) {
    vertical-align: top;
}

.inspection01 ul li {
    margin: .3rem 0;
    font-size: .8rem;
    line-height: 1.7;
    letter-spacing: 0.1em;
}

.inspection02 ul li {
    margin: .3rem 0;
    font-size: .8rem;
    letter-spacing: 0.1em;
}

.inspection .recommend {
	width: 88%;
    margin: 2rem auto 2rem;
    padding: .7rem .3rem;
    border: solid 2px #be2a2a;
    background-color: #ffdbdb;
    font-size: 95%;
    font-weight: bold;
    text-align: center;
}

.inspection .flex_item_col2:nth-child(2) {
	margin-top: 3rem;
	margin-bottom: 3rem;
}



/********** price_warranty **********/
.price_warranty .main_header .text div {
	border: 1px solid #be2a2a;
    margin-top: 1.5rem;
}

.price_warranty .main_header .text div p:nth-child(1) {
	display: block;
    margin: 0;
    padding: .5rem .5rem;
    background-color: #be2a2a;
    font-size: 1.2rem;
    font-weight: bold;
    color: #fff;
}

.price_warranty .main_header .text div p:nth-child(2) {
	display: block;
    margin: 0;
    padding: .5rem .5rem;
    font-size: .9rem;
    font-weight: bold;
}

.price_warranty .text li {
    font-size: .85rem;
    margin-bottom: 1rem;
    line-height: 1.7;
}





/********** select **********/
.select .image img {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.select01 dt {
    font-size: .95rem;
    font-weight: bold;
	margin: 3rem 0 .5rem;
	background-color: #f5f5f5;
    padding: .3rem 1rem;
	letter-spacing: 0.1em;
    line-height: 2;
}

.select01 dd {
    font-size: .85rem;
	margin: .3rem 0;
	letter-spacing: 0.1em;
    line-height: 2;
}

.select01 .foreign_list {
	font-size: .8rem;
	margin-top: 2rem;
}

.select01 dd:last-child p {
    font-size: .8rem;
    margin-top: 2rem
}

.select01 .moreinfo:not(:first-child),
.select .moreinfo li,
.select .toguide {
    margin-top: 2rem;	
}





/********** q_and_a **********/
.q_and_a dt {
    font-weight: bold;
    background-color: #f5f5f5;
    padding: .5rem 1rem;
    margin-top: 5rem;
    margin-bottom: .5rem;
}

.q_and_a dt:first-child {
    margin-top: 0;
}

.q_and_a dd {
    font-size: .85rem;
    letter-spacing: 0.1em;
    line-height: 2;
}

.q_and_a dd .moreinfo{
    line-height: 1.4;
}





/********** item **********/
.item dt {
    font-weight: bold;
    background-color: #f5f5f5;
    padding: .5rem 1rem;
    margin-top: 5rem;
    margin-bottom: .5rem;
}

.item dt:first-child {
    margin-top: 0;
}

.item dd {
    font-size: .85rem;
    letter-spacing: 0.1em;
    line-height: 2;
}

.item dd .moreinfo{
    line-height: 1.4;
}



/********** 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 **********/

section {
    font-size: 0.6rem;
}

li {
    list-style: none;
}

.image_list{
	 margin: 0 0 3rem;
}

.image_list table {
    width: 100%;
    margin: 20px auto; 
    background: #d7d6d6;
}

.image_list th {
    background: #f3f1f2;
    padding: 5px;
}

.image_list td {
    padding: 5px;
    background: #fff;
}

.image_list .bgPink {
    background: #fce7ec;
}

.image_list .bgBlue {
    background: #E1F4FB;
}

.image_list .bgGray {
    background: #f3f1f2;
    width: 15%;
}

.image_list .vertical-lr {
    max-width: 1em;
}

.image_list span.fontSize_small {
    font-size: 1em;
    vertical-align: top;
}

#customize_order .image_list th:nth-of-type(2) {
    width: 55%;
}

#customize_order .image_list th:nth-of-type(3) {
    width: 20%;
}

#customize_order .image_list .adjustment {
    width: 26%;
}

#option2 .image_list th:nth-of-type(1) {
    width: 20%;
}

#option2 .image_list th:nth-of-type(2) {
    width: 35%;
}

#option2 .image_list th:nth-of-type(3) {
    width: 20%;
}

#option2 .image_list th:nth-of-type(4) {
    width: 20%;
}

#inspection .image_list th:nth-of-type(4) {
    width: 15%;
}

#inspection .image_list .adjustment {
    width: 20%;
}

#maintenance .image_list th:nth-of-type(2) {
    width: 35%;
}

#assist .image_list th:nth-of-type(2) {
    width: 40%;
}

#assist .image_list th:nth-of-type(3) {
    width: 15%;
}

#assist .image_list th:nth-of-type(4) {
    width: 15%;
}

#assist .image_list .adjustment {
    width: 18%;
}

#repair .image_list th:nth-of-type(1) {
    width: 22%;
}

#repair .image_list th:nth-of-type(2) {
    width: 35%;
}

#repair .image_list th:nth-of-type(3) {
    width: 24%;
}

#repair .image_list th:nth-of-type(4) {
    width: 18%;
}

#repair .image_list .adjustment {
    width: 15%;
}

#repair .image_list table:nth-of-type(5) span {
    font-weight: bold;
}

#repair img {
    width: 100%;
}

#repair .image_list .vertical-lr {
    max-width: 1em;
}

#repair .image_list .vertical-lr_adjustment {
    writing-mode: vertical-lr;
    line-height: 1em;
}

.kome{
     margin-top: 1.3rem;
	 font-size: 0.75rem;
	 line-height: 1.6;
	 padding-left:1em;
	 text-indent:-1em;    
}

#price_list .title{
    padding-top: 3rem !important;
}

#price_list section{
    margin-top: 0;
}

.col2 {
    display: flex;
    flex-flow: row wrap;        
    align-items: center;
}

.col2 li {
    padding: 1.1rem 1rem 1rem;
    text-align: center;
    background:#eee;
    width: calc((100% - 1rem) / 2);
    margin:0 0.5rem 0.5rem 0;
    font-size: 0.75rem;
    box-sizing: border-box;
    align-self:center;
    //height: 3.5rem;
    line-height: 1;
}