p {
    font-size: 16px;
    line-height: 1.8em;
}
main {
    overflow-x: hidden;
}
main a {
    color: #ff7700 !important;
    font-weight: bold;
}
@media only screen and (max-width: 767px) {
     p {
        font-size: 14px;
        line-height: 1.5em;
    }
    ul li {
        font-size: 13px;
        line-height: 1.3em;
    }
}

p.notice1 {
    font-size: 16px;
    font-weight: bold;
    text-indent: -16px;
    margin-left: 16px;
    color: #ff3300;
}
@media only screen and (max-width: 767px) {
    p.notice1 {
        font-size: 14px;
        text-indent: -14px;
        margin-left: 14px;
    }
}

p.caption1 {
    margin: 5px 0 0 0;
    font-size: 12px;
    line-height: 1.3em;
}
.separator1 {
    margin-top: 30px;
    margin-bottom: 30px;
    height: 1px;
    background: #ccc;
}

h2.normal1 {
    font-family: "Noto Sans JP", serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;
    color: #0050b0;
    font-size: 50px;
    line-height: 1.2em;
    text-align: center;
    margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
    h2.normal1 {
        margin-top: 10px;
        font-size: 20px;
        text-align: center;
    }
}

h2.normal2 {
    font-family: "Noto Sans JP", serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;
    color: #0050b0;
    font-size: 40px;
    line-height: 1em;
    text-align: center;
    padding: 20px 0;
    margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
    h2.normal2 {
        margin-top: 10px;
        font-size: 20px;
        text-align: center;
    }
}

h3.normal1 {
    padding: 20px 0;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.5em;
    text-align: center;
    background: #0050b0;
    margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
    h3.normal1 {
        font-size: 17px;
        margin-top: 20px;
        margin-bottom: 20px;
    }
}

h3.normal2 {
    padding: 20px 0;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.5em;
    text-align: center;
    background: #333;
    margin-bottom: 20px;
}
h3.normal2 small {
    font-size: 75%;
}
@media only screen and (max-width: 767px) {
    h3.normal2 {
        padding: 10px 10px;
        font-size: 17px;
        margin-top: 20px;
        margin-bottom: 20px;
    }
}

h4.normal1 {
    font-size: 22px;
    font-weight: bold;
    line-height: 1.5em;
    text-align: center;
    margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
    h4.normal1 {
        font-size: 17px;
        margin-top: 20px;
        margin-bottom: 20px;
    }
}

.lead1 {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.5em;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .lead1 {
        font-size: 17px;
    }
}

.lead2 {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.5em;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .lead2 {
        font-size: 17px;
    }
}

.column1 {
    padding: 30px;
    box-sizing: border-box;
    background: #f0f0f0;
}
.column1 h3 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
    .column1 {
        padding: 15px;
    }
    .column1 h3 {
        font-size: 17px;
        margin-bottom: 10px;
    }
}

.column2 {
    padding: 30px;
    box-sizing: border-box;
    background: #fff;
}
.column2 h3 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
    .column2 {
        padding: 15px;
    }
    .column2 h3 {
        font-size: 17px;
        margin-bottom: 10px;
    }
}

.column3 {
    padding: 50px;
    box-sizing: border-box;
    border: 3px solid #f30;
}
.column3 h3 {
    color: #f30;
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 20px;
}
.column3 ul li {
    text-indent: -1.3em;
    margin-left: 1.3em;
    line-height: 1.3em;
    margin-bottom: 15px;
}
.column3 ul li:before {
    content: '● ';
    color: #f30;
}
@media only screen and (max-width: 767px) {
    .column3 {
        padding: 10px;
    }
    .column3 h3 {
        font-size: 20px;
        margin-bottom: 10px;
    }
}

.column4 {
    padding: 30px;
    box-sizing: border-box;
    background: #ffdad1;
}
.column4 h3 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
    .column4 {
        padding: 15px;
    }
}

.column5 {
    padding: 30px;
    box-sizing: border-box;
    background: #0050b0;
}
.column5 h3 {
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 30px;
}
.column5 p {
    color: #fff;
}
.column5 ul li {
    color: #fff;
    line-height: 1.5em;
    text-indent: -1.3em;
    margin-left: 1.3em;
    margin-bottom: 10px;
}
.column5 ul li:before {
    content: '●';
    margin-right: 5px;
}
@media only screen and (max-width: 767px) {
    .column5 {
        padding: 15px;
    }
}

.column6 {
    padding: 30px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #aaa;
}
.column6 h3 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
    .column6 {
        padding: 15px;
    }
    .column6 h3 {
        font-size: 17px;
        margin-bottom: 10px;
    }
}

table.table1 {
    width: 100%;
}
table.table1 caption {
    padding: 10px 20px;
    color: #fff;
    font-weight: bold;
    text-align: left;
    background: #000;
}
table.table1 tr th {
    padding: 18px 20px;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.5em;
    text-align: left;
    border-top: 1px solid #aaa;
}
table.table1 tr td {
    padding: 18px 20px;
    font-size: 15px;
    line-height: 1.5em;
    vertical-align: middle;
    border-top: 1px solid #aaa;
}
table.table1 tr td p {
    font-size: 16px;
    line-height: 1.5em;
}
table.table1 tr td strong {
    font-size: 125%;
}
table.table1 tr td span.table_arrow:before {
    content: '▶ ';
    font-size: 12px;
}
@media only screen and (max-width: 767px) {
    table.table1 {
        margin: 10px 0 0 0;
    }
    table.table1 tr th {
        padding: 8px 0 8px 3px;
        font-size: 11px;
    }
    table.table1 tr td {
        padding: 8px 5px;
        font-size: 11px;
    }
    table.table1 tr td p {
        font-size: 11px;
    }
}

table.table2 {
    width: 100%;
}
table.table2 tr th {
    padding: 10px 20px;
    font-weight: bold;
    line-height: 1.5em;
    text-align: left;
    border-bottom: 1px solid #aaa;
}
table.table2 tr td {
    padding: 10px 20px;
    line-height: 1.5em;
    vertical-align: middle;
    border-bottom: 1px solid #aaa;
}
@media only screen and (max-width: 767px) {
    table.table2 {
        margin: 10px 0 0 0;
    }
    table.table2 tr th {
        padding: 8px 0 8px 3px;
        font-size: 11px;
    }
    table.table2 tr td {
        padding: 8px 5px;
        font-size: 11px;
    }
}

#id01, #id02, #id03, #id04, #id05, #id06, #id07, #id08, #id09, #id10 {
    padding-top: 30px;
    margin-top: -30px;
}
@media only screen and (max-width: 767px) {
    #id01, #id02, #id03, #id04, #id05, #id06, #id07, #id08, #id09, #id10 {
        padding-top: 0;
        margin-top: 0;
    }
}





/* レイアウト共通
=================================================================================== */
.main_bg {
    padding: 80px 0;
}
.gray_bg {
    padding: 80px 0;
    background: #f0f0f0;
}
.gray_bg2 {
    background: #f0f0f0;
}
@media only screen and (max-width: 767px) {
    .main_bg {
        padding: 30px 0;
    }
    .gray_bg {
        padding: 30px 0;
    }
}

.arrow {
    margin-top: 15px;
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 30px solid #666;
    margin-left: auto;
    margin-right: auto;
}
@media only screen and (max-width: 767px) {
    .arrow {
        margin-top: 10px;
        border-left: 20px solid transparent;
        border-right: 20px solid transparent;
        border-top: 20px solid #666;
    }
}

/* ページヘッダー */
#page_header {
    display: flex;
    position: relative;
}
#page_header .title {
    width: 40%;
    color: #fff;
    font-size: 36px;
    line-height: 1.3em;
    font-weight: bold;
    background: #0050b0;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}
#page_header .title h1 {
    padding-left: 20%;
    font-family: "Noto Sans JP", serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;
}
#page_header .photo {
    width: 60%;
}
#page_header .photo img {
    width: 100%;
}
#page_header .en {
    position: absolute;
    left: 5%;
    bottom: 10px;
    font-family: 'bebas';
    color: rgba(0,0,0,0.2);
    font-size: 100px;
    line-height: 1em;
}
@media only screen and (max-width: 767px) {
    #page_header {
        display: block;
    }
    #page_header .title {
        padding: 20px 0;
        width: 100%;
        font-size: 20px;
        background-size: cover;
        display: block;
    }
    #page_header .title h1 {
        padding-left: 0;
        text-align: center;
    }
    #page_header .photo {
        width: 100%;
    }
    #page_header .en {
        left: 5%;
        bottom: 10px;
        font-size: 20px;
    }
}

#page_header_nophoto {
    background: #0050b0;
}
#page_header_nophoto .title h1 {
    font-family: "Noto Sans JP", serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;
    color: #fff;
    text-align: center;
    font-size: 50px;
    padding: 50px 0;
}
@media only screen and (max-width: 767px) {
    #page_header_nophoto .title h1 {
        padding: 20px 0;
        width: 100%;
        font-size: 20px;
        display: block;
    }
}



/* FLEX */
.wrap2, .wrap3, .wrap4 {
    width: calc(100% + 10px);
    margin-left: -5px;
    display: flex;
    flex-wrap: wrap;
}
.wrap2 .box {
    width: calc(50% - 10px);
    margin: 0 5px 10px 5px;
    position: relative;
}
.wrap3 .box {
    width: calc(33.3333% - 10px);
    margin: 0 5px 10px 5px;
    position: relative;
}
.wrap4 .box {
    width: calc(25% - 10px);
    margin: 0 5px 10px 5px;
    position: relative;
}
.wrap2 .box .photo, .wrap3 .box .photo, .wrap4 .box .photo {
    text-align: center;
}
.wrap2 .box .photo img, .wrap3 .box .photo img, .wrap4 .box .photo img {
    width: 100%;
}
.wrap2 .box h3, .wrap3 .box h3, .wrap4 .box h3 {
    position: absolute;
    left: 10px;
    top: 10px;
    padding: 8px 15px;
    color: #fff;
    font-size: 19px;
    font-weight: bold;
    background: #ff8f5c;
    border-radius: 30px;
    pointer-events: none;
}
.wrap2 .box .btn, .wrap3 .box .btn, .wrap4 .box .btn {
    position: absolute;
    right: 10px;
    bottom: 10px;
    padding-right: 12px;
    font-weight: bold;
    pointer-events: none;
    background: url(../img/arrow2.png) right center no-repeat;
}
.wrap2 .box .text, .wrap3 .box .text, .wrap4 .box .text {
    margin-top: 10px;
    font-size: 14px;
}
.wrap_center {
    justify-content: center;
}
@media only screen and (max-width: 767px) {
    .wrap2 .box, .wrap3 .box, .wrap4 .box {
        width: calc(50% - 10px);
        margin: 0 5px 10px 5px;
    }
    .wrap2 .box h3, .wrap3 .box h3, .wrap4 .box h3 {
        padding: 0px 10px;
        font-size: 14px;
    }
    .wrap2 .box .btn, .wrap3 .box .btn, .wrap4 .box .btn {
        font-size: 12px;
    }
}





/* 置くだけ防火水槽の特徴
=================================================================================== */
.feature_main_bg {
    padding: 80px 0 0 0;
    background: #222;
    background:
        linear-gradient(to top, #fff 0%, #fff 50%, transparent 50%, transparent 100%),
        linear-gradient(to left, #fff 0%, #fff 30%, #222 30%, #222 100%);
    background-size: contain;
}
@media only screen and (max-width: 767px) {
    .feature_main_bg {
        padding: 30px 0;
    }
}

.feature_main {
    padding: 100px 50px;
    background: #0050b0;
}
.feature_main p {
    color: #fff;
}
.feature_main .lead {
    font-family: "Noto Sans JP", serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;
    font-size: 32px;
    line-height: 1.3em;
    margin-bottom: 30px;
}
.feature_main .lead small {
    font-size: 50%;
    font-weight: normal;
    vertical-align: top;
}
@media only screen and (max-width: 767px) {
    .feature_main {
        margin-top: 15px;
        padding: 15px;
    }
    .feature_main .lead {
        font-size: 20px;
        margin-bottom: 10px;
    }
}

.feature_point_wrap_bg {
    padding: 50px 0;
    margin-bottom: 80px;
    background: #f0f0f0;
    background:
        linear-gradient(to top, #fff 0%, #fff 40%, transparent 40%, transparent 100%),
        linear-gradient(to left, #fff 0%, #fff 20%, #f0f0f0 20%, #f0f0f0 100%);
}
.feature_point_wrap_bg.reverse {
    background:
        linear-gradient(to top, #fff 0%, #fff 40%, transparent 40%, transparent 100%),
        linear-gradient(to right, #fff 0%, #fff 20%, #f0f0f0 20%, #f0f0f0 100%);
}
.feature_point_wrap {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 40px);
    margin-left: -20px;
}
.feature_point_wrap_bg.reverse .feature_point_wrap {
    flex-direction: row-reverse;
}
.feature_point_wrap .cont {
    width: calc(40% - 40px);
    margin-left: 20px;
    margin-right: 20px;
}
.feature_point_wrap .cont .en {
    margin-top: -80px;
    color: #444;
    font-family: bebas;
    font-size: 20px;
    font-weight: normal;
    margin-bottom: 30px;
}
.feature_point_wrap_bg.reverse .feature_point_wrap .cont .en {
    text-align: right;
}
.feature_point_wrap .cont .en strong {
    font-size: 140px;
}
.feature_point_wrap .cont h3 {
    font-family: "Noto Sans JP", serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;
    color: #0050b0;
    font-size: 30px;
    line-height: 1.2em;
    margin-bottom: 30px;
}
.feature_point_wrap .cont h3 small {
    font-size: 50%;
    font-weight: normal;
    vertical-align: top;
}
.feature_point_wrap_bg.reverse .feature_point_wrap .cont h3 {
    text-align: right;
}
.feature_point_wrap .photo {
    width: calc(60% - 40px);
    margin-left: 20px;
    margin-right: 20px;
}
.feature_point_wrap .photo img {
    width: 100%;
}
@media only screen and (max-width: 767px) {
    .feature_point_wrap_bg {
        padding: 30px 0;
        margin-bottom: 50px;
        background: #f0f0f0;
        background:
            linear-gradient(to top, #fff 0%, #fff 40%, transparent 40%, transparent 100%),
            linear-gradient(to left, #fff 0%, #fff 20%, #f0f0f0 20%, #f0f0f0 100%);
    }
    .feature_point_wrap_bg.reverse {
        background:
            linear-gradient(to top, #fff 0%, #fff 40%, transparent 40%, transparent 100%),
            linear-gradient(to right, #fff 0%, #fff 20%, #f0f0f0 20%, #f0f0f0 100%);
    }
    .feature_point_wrap {
        display: block;
        width: 100%;
        margin-left: 0;
    }
    .feature_point_wrap_bg.reverse .feature_point_wrap {
        flex-direction: row-reverse;
    }
    .feature_point_wrap .cont {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
    .feature_point_wrap .cont .en {
        margin-top: -40px;
        font-size: 12px;
        margin-bottom: 10px;
    }
    .feature_point_wrap .cont .en strong {
        font-size: 70px;
    }
    .feature_point_wrap .cont h3 {
        font-size: 20px;
        margin-bottom: 15px;
    }
    .feature_point_wrap .photo {
        margin-top: 10px;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}

.products_photo_wrap {
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 4px);
    margin-left: -2px;
}
.products_photo_wrap .box {
    width: calc(16.6666666667% - 4px);
    margin: 0 2px 4px 2px;
    position: relative;
}
.products_photo_wrap.box4 .box {
    width: calc(25% - 4px);
    margin: 0 2px 4px 2px;
}
@media only screen and (max-width: 767px) {
    .products_photo_wrap {
        margin-top: 30px;
        width: calc(100% + 4px);
    }
    .products_photo_wrap .box {
        width: calc(33.3333% - 4px);
    }
}

.product_ex_wrap {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 10px);
    margin-left: -5px;
}
.product_ex_wrap .box {
    width: calc(33.3333% - 10px);
    margin: 10px 5px 0 5px;
}

.products_fig {
    margin-top: 50px;
    background: #fff;
    border: 1px solid #ccc;
}
.products_fig p {
    text-align: center;
}
.products_fig p img {
    width: 50%;
}
@media only screen and (max-width: 767px) {
    .products_fig {
        margin-top: 30px;
    }
}

/* Point4 */

.photo_sub_box {
	margin: 10px 20px 0 20px;
}
.photo_sub_box .box {
    width: 14.285%;
    float: left;
    margin-bottom: 0px;
}
.photo_sub_box .box img{
	width:100%;
}
.photo_sub_box .thumb {
    border: 2px solid #fff;
    box-sizing:border-box;
}
@media only screen and (max-width: 767px) {
	.photo_sub_box {
		margin: 5px 0px 0 0px;
	}
	.photo_sub_box .box {
		width: 33.333%;
	}
}


/* 設置事例 */
.example_wrap {
    margin-top: 80px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.example_wrap .photo {
    width: calc(50%);
    position: relative;
}
.example_wrap .photo .img {
    text-align: center;
}
.sp-thumbnail:hover {
    cursor: pointer;
    opacity: 0.8;
}
.example_wrap .cont {
    width: calc(50% - 30px);
    margin-left: 30px;
    box-sizing: border-box;
}
.example_wrap .cont h3 {
    font-size: 20px;
    font-weight: bold;
    border-bottom: 1px solid #999;
    padding-bottom: 15px;
    margin-bottom: 15px;
}
.example_wrap .cont h3 span.place {
    padding: 10px;
    color: #fff;
    font-size: 14px;
    background: #0050b0;
    margin-right: 15px;
}
.example_wrap .cont .example_product {
    padding: 30px;
    font-weight: bold;
    background: #f0f0f0;
    margin-bottom: 20px;
}
.example_wrap .cont .example_product h4 {
    font-size: 14px;
    font-weight: normal;
}
.example_wrap .cont .example_product p {
    line-height: 2.2em;
}
.example_wrap .cont .example_product p span.item {
    color: #0050b0;
    font-size: 140%;
}
@media only screen and (max-width: 767px) {
    .example_wrap {
        margin-top: 0;
        display: block;
        margin-bottom: 50px;
    }
    .example_wrap .photo {
        margin-top: 10px;
        width: 100%;
        position: static;
    }
    .example_wrap .cont {
        width: 100%;
        margin-left: 0;
        padding: 0;
    }
}





/* 製品紹介
=================================================================================== */
h3.option_menu {
    display: block;
    padding: 5px 0;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    background: #333;
    margin-bottom: 10px;
}
h3.option_menu:after {
    content: '▼';
    margin-left: 15px;
    font-size: 13px;
}

.option_item {
    margin-top: 20px;
    padding: 15px 0;
    border-top: 1px solid #aaa;
    border-bottom: 1px solid #aaa;
}
.option_item .name {
    font-size: 24px;
    font-weight: bold;
}
.option_item .price {
    color: #f30;
    font-family: arial;
    font-size: 70px;
    font-weight: bold;
    line-height: 1em;
}
.option_item .price small {
    font-size: 50%;
}
.option_item .tax {
    font-weight: bold;
}
.option_notice {
    margin-top: 20px;
    padding: 30px;
    background: #fff;
    border: 2px solid #f30;
    box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
    .option_item .name {
        font-size: 19px;
        text-align: center;
    }
    .option_item .price {
        font-size: 50px;
        text-align: center;
    }
    .option_item .tax {
        text-align: center;
    }
    .option_notice {
        padding: 15px;
    }
}

.option_point_bg {
    margin-top: 30px;
    padding: 40px 40px 0 40px;
    background: #fff;
    box-sizing: border-box;
}
.option_point_bg h3 {
    font-family: "Noto Sans JP", serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;
    color: #0050b0;
    font-size: 32px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 50px;
}
.option_point {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 40px);
    margin-left: -20px;
}
.option_point .box {
    width: calc(50% - 40px);
    margin: 0 20px 40px 20px;
    position: relative;
}
.option_point .box .num {
    font-family: arial;
    font-weight: bold;
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    line-height: 1em;
    text-align: center;
    width: 60px;
    height: 60px;
    background: #0050b0;
    padding-top: 15px;
    box-sizing: border-box;
    border-radius: 30px;
    position: absolute;
    top: -20px;
    left: 10px;
}
.option_point .box .photo {
    text-align: center;
}
.option_point .box h4 {
    color: #0050b0;
    font-size: 22px;
    font-weight: bold;
    margin: 15px 0;
}
@media only screen and (max-width: 767px) {
    .option_point_bg {
        margin-top: 30px;
        padding: 15px 15px 15px 15px;
    }
    .option_point_bg h3 {
        font-size: 22px;
        margin-bottom: 30px;
    }
    .option_point {
        display: block;
        flex-wrap: wrap;
        width: 100%;
        margin-left: 0;
    }
    .option_point .box {
        width: 100%;
        margin: 0 0 10px 0;
    }
    .option_point .box .num {
        font-size: 24px;
        width: 40px;
        height: 40px;
        padding-top: 8px;
        top: -20px;
        left: 10px;
    }
    .option_point .box h4 {
        font-size: 17px;
        font-weight: bold;
        line-height: 1.3em;
        margin: 10px 0;
    }
}





/* ご利用ガイド
=================================================================================== */
.price_sub {
    font-size: 19px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}
table.price_table {
    width: calc(100% + 40px);
    margin-left: -20px;
    border-collapse: separate;
    border-spacing: 20px 0;
}
table.price_table tr th {
    padding: 10px 10px;
    font-weight: bold;
    line-height: 1.5em;
    text-align: left;
    background: #f0f0f0;
}
table.price_table tr td {
    padding: 0 10px;
    line-height: 1.5em;
    vertical-align: middle;
}
table.price_table tr td ul li {
    font-size: 14px;
    line-height: 2em;
}
@media only screen and (max-width: 767px) {
    .table_wrap {
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
    }
    table.price_table {
        margin: 10px 0 0 0;
        border-spacing: 5px 0;
        width: 100%;
    }
    table.price_table tr th {
        padding: 8px 0 8px 3px;
        font-size: 10px;
    }
    table.price_table tr td.area {
        padding: 8px 5px;
        font-size: 10px;
        width: 80%;
    }
    table.price_table tr td.price {
        padding: 8px 5px;
        font-size: 10px;
        width: 20%;
        text-align: center;
    }
    table.price_table tr td ul li {
        font-size: 10px;
        line-height: 1.3em;
        width: 100px;
    }
}






/* フォトギャラリー
=================================================================================== */
h3.gallery_h3 {
    margin-top: 80px;
    padding: 20px;
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 10px;
    background: #f0f0f0;
}
@media only screen and (max-width: 767px) {
    h3.gallery_h3 {
        margin-top: 30px;
        padding: 10px;
        font-size: 20px;
    }
}

.gallery_wrap {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 10px);
    margin-left: -5px;
}
.gallery_wrap .box {
    width: calc(20% - 10px);
    margin: 0 5px 10px 5px;
    position: relative;
}
.gallery_wrap .box .photo {
    width: 232px;
    height: 174px;
    overflow: hidden;
    text-align: center;
}
.gallery_wrap .box .photo img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 232px;
	height: 174px;
	object-fit: cover;
}
.gallery_wrap .box .text {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 5px;
    font-size: 13px;
    line-height: 1.2em;
    font-weight: bold;
    background: rgba(255,255,255,0.7);
}

@media only screen and (max-width: 767px) {
    .gallery_wrap .box {
        width: calc(50% - 10px);
    }
    .gallery_wrap .box .text {
        padding: 3px;
        font-size: 11px;
    }
}





/* お問い合わせ
=================================================================================== */
.contact_tel {
    padding: 50px;
    background: #0050b0;
}
.contact_tel h2 {
    font-family: "Noto Sans JP", serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;
    color: #fff;
    font-size: 40px;
    line-height: 1em;
    text-align: center;
    margin-bottom: 30px;
}
.contact_tel h3 {
    color: #fff;
    font-size: 19px;
    font-weight: bold;
    text-align: center;
}
.contact_tel .tel {
    color: #fff;
    font-size: 40px;
    text-align: center;
}
.contact_tel .tel a {
    color: #fff !important;
    line-height: 0;
}
.contact_tel .tel a small {
    font-size: 75%;
}
@media only screen and (max-width: 767px) {
    .contact_tel {
        padding: 20px;
    }
    .contact_tel h2 {
        font-size: 20px;
        margin-bottom: 20px;
    }
    .contact_tel h3 {
        font-size: 16px;
        line-height: 1.3em;
    }
    .contact_tel .tel {
        font-size: 30px;
    }
}

.contact_line {
    margin-top: 20px;
    padding: 50px;
    background: #4cc764;
}
.contact_line h2 {
    font-family: "Noto Sans JP", serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-style: normal;
    color: #fff;
    font-size: 40px;
    line-height: 1em;
    text-align: center;
    margin-bottom: 30px;
}
.contact_line h3 {
    color: #fff;
    font-size: 19px;
    font-weight: bold;
    text-align: center;
}
.contact_line .inner {
    margin-top: 20px;
    padding: 30px;
    background: #fff;
}
.contact_line .inner p {
    text-align: center;
}
.contact_line .inner .text {
    margin-top: 30px;
    font-weight: bold;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .contact_line {
        padding: 20px;
    }
    .contact_line h2 {
        font-size: 20px;
        margin-bottom: 20px;
    }
    .contact_line h3 {
        font-size: 16px;
        line-height: 1.3em;
    }
}





/* ご注文・お見積り
=================================================================================== */
.order_item_wrap {
    margin-top: 30px;
    display: flex;
}
.order_item_photo {
    width: calc(50% - 20px);
    margin-right: 40px;
    position: relative;
}
.order_item_photo p {
    position: absolute;
    top: 0;
    left: 0;
}
.order_item_photo p.noselect_angle4, .order_item_photo p.noselect_angle6, .order_item_photo p.noselect_hatch, .order_item_photo p.noselect_ladder, .order_item_photo p.noselect_inspection {
    display: none;
}
.order_item_select {
    width: calc(50% - 20px);
}
.order_item_select .box {
    display: flex;
    margin-bottom: 20px;
}
.order_item_select .box .name {
    width: 60%;
    padding: 10px 0;
    font-size: 19px;
    font-weight: bold;
    box-sizing: border-box;
}
.order_item_select .box .name input {
    width: 40%;
}
@media only screen and (max-width: 767px) {
    .order_item_wrap {
        margin-top: 10px;
        display: block;
    }
    .order_item_photo {
        width: 80%;
        height: 55vw;
        margin-left: 10%;
        margin-right: 0;
        position: relative;
    }
    .order_item_select {
        width: 100%;
    }
    .order_item_select .box {
        display: block;
        margin-bottom: 0;
    }
    .order_item_select .box .name {
        width: 65%;
        padding: 0 0;
        font-size: 14px;
        margin-top: 5px;
        margin-bottom: 5px;
    }
    .order_item_select .box .name input select option {
        width: 45%;
        font-size: 12px !important;
    }
}

.order_total {
    padding: 20px;
    box-sizing: border-box;
    background: #ff3c00;
    ;
}
.order_total p {
    text-align: center;
    color: #fff;
    font-weight: bold;
}
.order_total .postage {
    font-size: 13px;
}
#price-display {
    font-size: 36px;
    font-weight: bold;
}
#price-display-tax {
    font-size: 19px;
    font-weight: bold;
}
.order_total11 {
    display: none;
    padding: 20px 0;
    border-top: 1px solid #aaa;
    border-bottom: 1px solid #aaa;
    box-sizing: border-box;
}
.order_total11 p {
    padding: 20px 0;
    font-size: 32px;
    font-weight: bold;
    line-height: 0;
    text-align: center;
}
.order_total .weight , .order_total11 .weight {
    padding: 5px 0;
    margin-top: 10px;
    color: #333;
    font-size: 16px;
    font-weight: normal;
    background: #fff;
}
.order_total .weight .weight-display, .order_total11 .weight .weight-display {
    font-size: 19px;
    font-weight: bold;
}

@media only screen and (max-width: 767px) {
    .order_total {
        padding: 10px;
    }
    #price-display {
        font-size: 26px;
    }
    #price-display-tax {
        font-size: 17px;
    }
    .order_total11 {
        display: none;
        padding: 10px 0;
    }
    .order_total11 p {
        padding: 20px 0;
        font-size: 17px;
    }
    .order_total .weight , .order_total11 .weight {
        font-size: 15px;
    }
    .order_total .weight .weight-display, .order_total11 .weight .weight-display {
        font-size: 17px;
    }
}

.order_btn_wrap {
    display: flex;
    width: 100%;
}
.print_btn {
    display: block;
    width: 100%;
    padding: 15px 20px 15px 30px;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.2em;
    text-align: center;
    box-sizing: border-box;
    background: #fff url(../img/arrow2.png) right 20px center no-repeat;
    border: none;
    cursor: pointer;
    border-radius: 50px;
    border: 1px solid #333;
    margin-bottom: 30px;
}
  .print_btn:hover {
    opacity: .8;
}

.company_name .onchu {
    display: none;
  }

.mailform input::placeholder, .mailform textarea::placeholder {
    font-family: 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, 'ヒラギノ角ゴ Pro', Hiragino Kaku Gothic Pro, '游ゴシック体', 'メイリオ', Meiryo sans-serif !important;
    line-height: 1.2em;
    color: #444;
}
@media only screen and (max-width: 767px) {
    .mailform input::placeholder, .mailform textarea::placeholder {
        font-size: 13px;
    }
}