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

ul.notice {
    margin-top: 20px;
}
ul.notice li {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5em;
    text-indent: -16px;
    margin-left: 16px;
    color: #ea3432;
}
@media only screen and (max-width: 767px) {
    ul.notice {
        margin-top: 10px;
    }
    ul.notice li {
        font-size: 11px;
        line-height: 1.3em;
        text-indent: -11px;
        margin-left: 11px;
        margin-bottom: 5px;
    }
}

p.notice1 {
    font-size: 16px;
    font-weight: bold;
    text-indent: -16px;
    margin-left: 16px;
    color: #ea3432;
}
@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 {
    color: #00285c;
    font-size: 36px;
    font-weight: 900;
    text-align: center;
    margin-bottom: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
h2.normal1:before, h2.normal1:after {
    content: '';
    flex-grow: 0.15;
    height: 10px;
    background: #00285c;
}
h2.normal1.white:before, h2.normal1.white:after {
    background: #fff;
}
h2.normal1:before {
    margin-right: 30px;
}
h2.normal1:after {
    margin-left: 30px;
}
@media only screen and (max-width: 767px) {
    h2.normal1 {
        font-size: 21px;
        margin-bottom: 20px;
    }
    h2.normal1:before, h2.normal1:after {
        height: 4px;
    }
}

h2.normal1_white {
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
h2.normal1_white:before, h2.normal1_white:after {
    content: '';
    flex-grow: 0.15;
    height: 2px;
    background: #fff;
}
h2.normal1_white:before {
    margin-right: 30px;
}
h2.normal1_white:after {
    margin-left: 30px;
}
@media only screen and (max-width: 767px) {
    h2.normal1_white {
        font-size: 21px;
        margin-bottom: 20px;
    }
}

h2.normal2 {
    padding: 20px 0;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    background: #00285c;
    margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
    h2.normal2 {
        font-size: 19px;
        text-align: center;
        margin-bottom: 10px;
    }
}

h3.normal1 {
    position: relative;
    padding: 30px;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    background-color: #00285c;
    margin-bottom: 30px;
    overflow: visible;
}
h3.normal1::after {
    content: '';
    position: absolute;
    right: 20px;
    top: -20px;
    width: 100px;
    height: 100px;
    background: url(../img/recyclen_head_helmet.png) no-repeat center center;
    background-size: contain;
    pointer-events: none;
}
@media only screen and (max-width: 767px) {
    h3.normal1 {
        padding: 15px 20px;
        font-size: 17px;
        margin-bottom: 15px;
    }
    h3.normal1::after {
        width: 40px;
        height: 40px;
        right: 10px;
        top: calc(50% - 20px);
    }
}

h3.normal2 {
    padding: 20px 0;
    color: #fff !important;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    background: #00285c;
    margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
    h3.normal2 {
        font-size: 19px !important;
    }
}

h3.normal3 {
    padding: 20px 0;
    color: #fff !important;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    background: #00285c;
}
@media only screen and (max-width: 767px) {
    h3.normal3 {
        padding: 10px 0;
        font-size: 17px !important;
    }
}

h4.normal1 {
    font-size: 21px;
    font-weight: bold;
}
h4.normal1 small {
    font-size: 16px;
    font-weight: normal;
}
@media only screen and (max-width: 767px) {
    h4.normal1 {
        font-size: 16px;
    }
}

.lead_wrap {
    margin-top: -40px;
    margin-bottom: -30px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.lead_wrap .lead p {
    font-size: 30px;
    font-weight: bold;
    line-height: 1.5em;
}
.lead_wrap .mascot {
    margin-left: 0;
}
@media only screen and (max-width: 767px) {
    .lead_wrap {
        margin-top: 0;
        margin-bottom: 0;
    }
    .lead_wrap .lead {
        width: 75%;
    }
    .lead_wrap .lead p {
        font-size: 18px;
    }
    .lead_wrap .mascot {
        width: calc(25% - 10px);
        margin-left: 10px;
    }
}

.lead1 {
    font-size: 30px;
    font-weight: bold;
    line-height: 1.5em;
    text-align: center;
}
.lead1 .blue_bg {
    padding: 10px 20px;
    color: #fff;
    background: #00285c;
    margin-right: 10px;
    border-radius: 6px;
}
@media only screen and (max-width: 767px) {
    .lead1 {
        font-size: 20px;
    }
}

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

.lead3 {
    color: #00285c;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.5em;
    margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
    .lead3 {
        font-size: 17px;
        text-align: left;
    }
}

.column1 {
    padding: 50px;
    background: #f0f0f0;
    box-sizing: border-box;
}
.column1 h3 {
    padding: 10px 20px;
    color: #333;
    font-size: 25px;
    font-weight: bold;
    text-align: center;
}
.column1 p {
    color: #333;
}
@media only screen and (max-width: 767px) {
    .column1 {
        padding: 15px;
    }
}

.column2 {
    padding: 20px;
    box-sizing: border-box;
    border: 2px solid #f30;
}
.column2 h3 {
    color: #f30;
    font-size: 25px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 30px;
}
.column2 p {
    color: #333;
}
.column2 ul li {
    font-weight: bold;
    line-height: 2.0em;
}
.column2 ul li::before {
    content: '●';
    color: #f30;
    margin-right: 5px;
}
.column2 ul li.notice {
    font-size: 16px;
    color: #f30;
    font-weight: bold;
    line-height: 1.5em;
}
.column2 ul li.notice::before {
    content: '※';
    color: #f30;
    margin-right: 5px;
}
@media only screen and (max-width: 767px) {
    .column2 {
        padding: 15px;
    }
    .column2 h3 {
        font-size: 19px;
        margin-bottom: 10px;
    }
    .column2 ul li {
        text-indent: -1.4em;
        margin-left: 1.4em;
        line-height: 1.5em;
    }
    .column2 ul li.notice {
        font-size: 14px;
    }
}

.column3 {
    padding: 50px;
    background: #fff;
    box-sizing: border-box;
}
.column3 h3 {
    color: #00285c;
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
    .column3 {
        padding: 15px;
    }
}

table.table1 {
    width: 100%;
}
table.table1 tr th {
    padding: 18px 20px;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.5em;
    text-align: left;
    border-top: 1px solid #00285c;
}
table.table1 tr td {
    padding: 18px 20px;
    font-size: 15px;
    line-height: 1.5em;
    vertical-align: middle;
    border-top: 1px solid #ccc;
}
table.table1 tr td p {
    font-size: 16px;
    line-height: 1.5em;
}
table.table1 tr td strong {
    font-size: 125%;
}
.justify {
    display: flex;
    justify-content: space-between;
}
@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: 15px 20px;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.5em;
    text-align: left;
    border-top: 1px solid #aaa;
    border-bottom: 1px solid #aaa;
    background: #f0f0f0;
    box-sizing: border-box;
}
table.table2 tr td {
    padding: 15px 20px;
    font-size: 15px;
    line-height: 1.5em;
    vertical-align: middle;
    border-top: 1px solid #aaa;
    border-bottom: 1px solid #aaa;
    box-sizing: border-box;
}
@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;
    }
}

.spacer {
    height: 1px;
}
span.space {
    margin-right: 0.4em;
}





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



/* ページヘッダー */
#page_header {
    display: flex;
    position: relative;
}
#page_header .page_header_title {
    width: 30%;
    color: #fff;
    font-size: 36px;
    font-weight: bold;
    background: #000;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 1;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 80%);
}
#page_header .page_header_title .inner {
    padding-left: 12%;
}
#page_header .page_header_title .inner h1 {
    font-optical-sizing: auto;
    font-weight: bold;
    font-style: normal;
    line-height: 1.3em;
}
#page_header .page_header_title h1 small {
    font-size: 50%;
}
#page_header .page_header_photo {
    margin-top: -1px;
    margin-left: -1px;
    width: calc(70% + 1px);
    overflow: hidden;
    clip-path: polygon(0 0, 100% 0, 100% 70%, 0 100%);
    position: relative;
}
#page_header .page_header_photo img {
    width: 100%;
}
#page_header .mascot {
    position: absolute;
    bottom: 90px;
    right: 5%;
    z-index: 100;
}
#page_header .en {
    position: absolute;
    bottom: 50px;
    right: 8%;
    font-family: bebas;
    font-size: 60px;
    line-height: 1em;
    color: #00285c;
    white-space: nowrap;
    z-index: 101;
    text-shadow:
    -1px -1px 5px #fff,0px -1px 5px #fff,0px 1px 5px #fff,1px 0px 5px #fff,-2px -2px 5px #fff,0px -2px 5px #fff,
    0px 2px 5px #fff,2px 0px 5px #fff,-3px -3px 5px #fff,0px -3px 5px #fff,0px 3px 5px #fff,3px 0px 5px #fff;
}
@media only screen and (max-width: 767px) {
    #page_header {
        display: block;
    }
    #page_header .page_header_title {
        padding: 20px 0;
        width: 100%;
        display: block;
        clip-path: none;
    }
    #page_header .page_header_title .inner {
        padding-left: 0;
    }
    #page_header .page_header_title .inner h1 {
        font-size: 24px;
        text-align: center;
    }
    #page_header .page_header_photo {
        margin-top: -2px;
        width: 100%;
        clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
    }
    #page_header .mascot {
        bottom: 15px;
        right: 5%;
        text-align: right;
    }
    #page_header .mascot img {
        width: 50%;
    }
    #page_header .en {
        bottom: -10px;
        right: 5%;
        font-size: 34px;
    }
}

/* 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 h4, .wrap3 .box h4, .wrap4 .box h4 {
    position: absolute;
    left: 0;
    bottom: 10px;
    padding: 0 15px;
    font-size: 14px;
    font-weight: bold;
    background: rgba(255,255,255,0.8);
}
.wrap2 .box .text, .wrap3 .box .text, .wrap4 .box .text {
    margin-top: 10px;
    font-size: 14px;
}
@media only screen and (max-width: 767px) {
    .wrap2 .box, .wrap3 .box, .wrap4 .box {
        width: calc(50% - 10px);
        margin: 0 5px 10px 5px;
        position: relative;
    }
    .wrap2 .box h4, .wrap3 .box h4, .wrap4 .box h4 {
        position: static;
        margin-top: 10px;
        padding: 0 0;
        font-size: 12px;
        line-height: 1.3em;
        background: none;
    }
    .wrap2 .box p.text, .wrap3 .box p.text, .wrap4 .box p.text {
        font-size: 12px;
        line-height: 1.5em;
    }
}

.mascot_gray_bg {
    background: url(../img/recyclen_head_1color.png) no-repeat right 30px top 30px / 200px;
}
@media only screen and (max-width: 767px) {
    .mascot_gray_bg {
        background: url(../img/recyclen_head_1color.png) no-repeat right 5px top 5px / 90px;
    }
}








/* はじめての方へ
=================================================================================== */
#page_header_first {
    display: flex;
    position: relative;
}
#page_header_first h1, #page_header_first h1 img {
    width: 100%;
}

.first_flow_wrap {
    margin-top: 50px;
    padding: 50px;
    background: #00285c;
}
.first_flow_wrap h2 {
    color: #fff;
    font-size: 32px;
    font-weight: 900;
    line-height: 1.3em;
    text-align: center;
}
.first_flow_wrap .lead {
    margin-top: 30px;
    color: #fff;
    font-size: 22px;
    text-align: center;
}
.first_flow {
    margin-top: 30px;
    display: flex;
    overflow-x: hidden;
}
.hour {
    padding: 8px 0;
    margin-left: auto;
    margin-right: auto;
    width: 500px;
    text-align: center;
    background: #fff;
}
@media only screen and (max-width: 767px) {
    .first_flow_wrap {
        margin-top: 30px;
        padding: 20px;
    }
    .first_flow_wrap h2 {
        font-size: 22px;
    }
    .first_flow_wrap .lead {
        margin-top: 20px;
        font-size: 15px;
    }
    .first_flow {
        flex-wrap: wrap;
        justify-content: center;
    }
    .first_flow p {
        width: 33.3333%;
        margin-bottom: 10px;
    }
    .hour {
        width: 100%;
    }
}

.first_point_wrap {
    margin-top: 50px;
    position: relative;
}
.first_point_wrap .photo p {
    text-align: center;
}
h2.first_h2 {
    color: #00285c;
    font-size: 40px;
    font-weight: 900;
    text-align: center;
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    text-shadow:
        -1px -1px 5px #fff,0px -1px 5px #fff,0px 1px 5px #fff,1px 0px 5px #fff,-2px -2px 5px #fff,0px -2px 5px #fff,
        0px 2px 5px #fff,2px 0px 5px #fff,-3px -3px 5px #fff,0px -3px 5px #fff,0px 3px 5px #fff,3px 0px 5px #fff;
}
.first_point_wrap .cont {
    margin: -50px 50px 0 50px;
    width: calc(100% - 100px);
    padding: 50px;
    box-sizing: border-box;
    background: #00285c;
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
}
.first_point_wrap .cont .mascot {
    width: 20%;
}
.first_point_wrap .cont .mascot p {
    margin-top: -100px;
    text-align: center;
}
.first_point_wrap .cont .text {
    padding: 0 50px;
    width: calc(80% - 100px);
}
.first_point_wrap .cont.reverse .text {
    order: 1;
}
.first_point_wrap .cont .text p {
    color: #fff;
}

.first_access_bg {
    padding: 200px 0;
    background: url(../img/first_access_bg.jpg) no-repeat bottom center;
    background-size: cover;
}
@media only screen and (max-width: 767px) {
    .first_point_wrap {
        margin-top: 50px;
    }
    h2.first_h2 {
        color: #00285c;
        font-size: 20px;
        top: 10px;
    }
    .first_point_wrap .cont {
        margin: 0 0 0 0;
        width: 100%;
        padding: 20px;
        display: block;
    }
    .first_point_wrap .cont .mascot {
        width: 100%;
    }
    .first_point_wrap .cont .mascot p {
        margin-top: 10px;
        text-align: center;
    }
    .first_point_wrap .cont .mascot p img {
        width: 20%;
    }
    .first_point_wrap .cont .text {
        padding: 0 0;
        width: 100%;
    }
    .first_access_bg {
        padding: 80px 0;
    }
}

.flow_wrap {
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 40px);
    margin-left: -20px;
}
.flow_wrap .box {
    width: calc(25% - 40px);
    margin: 0 20px;
    position: relative;
    padding: 20px;
    background: #00285c;
    box-sizing: border-box;
    border-radius: 10px;
}
.flow_wrap.box5 .box {
    width: calc(20% - 40px);
}
.flow_wrap .box .icon {
    position: relative;
    text-align: center;
}
.flow_wrap .box .icon img {
    width: 70%;
}
.flow_wrap .box::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -30px;
    transform: translateY(-50%);
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 20px solid #666;
}
.flow_wrap .box:last-child::after {
    content: none;
}
.flow_wrap .box h3 {
    color: #fff;
    margin-top: 10px;
    font-size: 19px;
    font-weight: bold;
    line-height: 1.5em;
    margin-bottom: 10px;
    text-align: center;
}
.flow_wrap .box .text {
    color: #fff;
    font-size: 14px;
}
@media only screen and (max-width: 767px) {
    .flow_wrap {
        margin-top: 30px;
        width: calc(100% + 20px);
        margin-left: -10px;
    }
    .flow_wrap .box, .flow_wrap.box5 .box {
        width: calc(50% - 20px);
        margin: 0 10px 20px 10px;
        padding: 10px;
    }
    .flow_wrap .box .icon {
        position: relative;
        text-align: center;
    }
    .flow_wrap .box .icon img {
        width: 60%;
    }
    .flow_wrap .box::after {
        content: '';
        position: absolute;
        top: 50%;
        right: -18px;
        border-top: 8px solid transparent;
        border-bottom: 8px solid transparent;
        border-left: 16px solid #666;
    }
    .flow_wrap .box:last-child::after, .flow_wrap .box:nth-child(even)::after {
        content: none;
    }
    .flow_wrap .box h3 {
        font-size: 17px;
        margin-top: 5px;
        margin-bottom: 5px;
    }
    .flow_wrap .box .text {
        font-size: 12px;
    }
}





/* 金属スクラップ買取品目
=================================================================================== */
.submenu {
    margin-top: 15px;
}
.submenu ul {
    display: flex;
    width: 100%;
}
.submenu ul li {
    width: 33.3333%;
}
.submenu ul li a {
    display: block;
    padding: 5px 20px;
    color: #fff !important;
    text-align: center;
    background: #333 url(../img/arrow1.png) right 10px center no-repeat;
    border-right: 1px solid #ccc;
    box-sizing: border-box;
}
.submenu ul li:first-child a {
    border-radius: 20px 0 0 20px;
}
.submenu ul li:last-child a {
    border-right: none;
    border-radius: 0 20px 20px 0;
}
.submenu ul li.current a {
    pointer-events: none;
    background: #999 url(../img/arrow1.png) right 10px center no-repeat;
}

.scrap_main {
    margin-top: -100px;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 1;
}
.scrap_main .eyecatch {
    width: 30%;
    position: relative;
    top: -30px;
}
.scrap_main .cont {
    width: calc(70% - 40px);
    margin-left: 40px;
}
.scrap_main .cont .lead {
    color: #00285c;
    font-size: 40px;
    line-height: 1.2em;
    font-weight: 900;
    margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
    .scrap_main {
        margin-top: 0;
        display: block;
    }
    .scrap_main .eyecatch {
        margin-top: -10px;
        width: 100%;
        top: 0;
    }
    .scrap_main .eyecatch p {
        text-align: center;
    }
    .scrap_main .eyecatch img {
        width: 40%;
    }
    .scrap_main .cont {
        width: 100%;
        margin-left: 0;
    }
    .scrap_main .cont .lead {
        margin-top: 10px;
        font-size: 24px;
        text-align: center;
    }
}

.scrap_notice {
    margin-top: 50px;
    background: #fdebeb;
}
.scrap_notice h3 {
    padding: 20px;
    color: #fff;
    font-size: 19px;
    font-weight: bold;
    text-align: center;
    background: #ea3432;
}
.scrap_notice .inner {
    padding: 30px 10%;
}
.scrap_notice .inner ul li {
    color: #ea3432;
    font-weight: bold;
    text-indent: 0;
    padding-left: 1.2em;
    position: relative;
}
.scrap_notice .inner ul li::before {
    content: '●';
    position: absolute;
    left: 0;
    top: 0;
}
@media only screen and (max-width: 767px) {
    .scrap_notice {
        margin-top: 30px;
    }
    .scrap_notice h3 {
        padding: 10px;
        font-size: 17px;
    }
    .scrap_notice .inner {
        padding: 10px 10px;
    }
    .scrap_notice .inner ul li {
        font-size: 13px;
    }
}

.scrap_desc {
    color: #00285c;
    font-size: 19px;
    font-weight: 600;
    text-align: center;
}
.scrap_sub_wrap {
    margin-top: 30px;
    width: calc(100% + 2px);
    margin-left: -1px;
    display: flex;
    flex-wrap: wrap;
}
.scrap_sub_wrap .box {
    width: calc(25% - 2px);
    margin: 1px 1px 1px 1px;
    position: relative;
}
.scrap_sub_wrap .box .photo {
    text-align: center;
}
.scrap_sub_wrap .box .name {
    position: absolute;
    top: 0px;
    left: 0px;
    padding: 0 15px;
    color: #fff;
    font-weight: bold;
    background: #000;
}
@media only screen and (max-width: 767px) {
    .scrap_desc {
        font-size: 14px;
        text-align: left;
    }
    .scrap_sub_wrap {
        margin-top: 10px;
        width: calc(100% + 2px);
        margin-left: -1px;
        display: flex;
        flex-wrap: wrap;
    }
    .scrap_sub_wrap .box {
        width: calc(50% - 2px);
    }
    .scrap_sub_wrap .box .photo {
        text-align: center;
    }
}

.scrap_item_list {
    margin-top: 15px;
    display: flex;
    flex-wrap: wrap;
}
.scrap_item_list li {
    margin-right: 15px;
}
.scrap_item_list li:not(:last-child)::before {
    content: "●";
    color: #00285c;
    margin-right: 5px;
}
.scrap_item_list li:last-child {
    font-size: 75%;
}
@media only screen and (max-width: 767px) {
    .scrap_item_list {
        margin-top: 10px;
    }
    .scrap_item_list li {
        margin-right: 10px;
        font-size: 12px;
        line-height: 1.5em;
    }
}

.scrap_desc_one {
    display: flex;
    flex-wrap: wrap;
}
.scrap_desc_one .photo {
    width: 50%;
    position: relative;
}
.scrap_desc_one .photo .name {
    position: absolute;
    top: 0px;
    left: 0px;
    padding: 0 15px;
    color: #fff;
    font-weight: bold;
    background: #000;
}
.scrap_desc_one .cont {
    width: calc(50% - 30px);
    margin-left: 30px;
}

.scrap_desc_one .cont .text {
    color: #00285c;
    font-size: 19px;
    font-weight: 600;
}
@media only screen and (max-width: 767px) {
    .scrap_desc_one .photo {
        width: 100%;
        order: 2;
    }
    .scrap_desc_one .cont {
        width: 100%;
        margin-left: 0;
        margin-bottom: 10px;
    }
    .scrap_desc_one .cont .text {
        font-size: 15px;
    }
}

.scrap_cannot {
    padding: 50px 0;
    background: #fdebeb;
}
.scrap_cannot h2 {
    color: #ea3432;
    font-size: 36px;
    font-weight: 900;
    text-align: center;
}
.scrap_cannot_wrap {
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    width: calc(100% + 30px);
    margin-left: -30px;
}
.scrap_cannot_wrap .box {
    width: calc(22.5% - 60px);
    margin: 0 30px 0 30px;
}
.scrap_cannot_wrap .mascot {
    width: 10%;
}
@media only screen and (max-width: 767px) {
    .scrap_cannot {
        padding: 30px 0;
    }
    .scrap_cannot h2 {
        font-size: 24px;
    }
    .scrap_cannot_wrap {
        margin-top: 0;
        display: flex;
        flex-wrap: wrap;
        width: calc(100% + 30px);
        margin-left: -15px;
    }
    .scrap_cannot_wrap .box {
        width: calc(50% - 30px);
        margin: 30px 15px 0 15px;
    }
    .scrap_cannot_wrap .mascot {
        width: 20%;
    }
}

.scrap_bottom_menu {
    display: flex;
    flex-wrap: wrap;
    background: #000;
}
.scrap_bottom_menu .box {
    width: calc(100% / 3);
    position: relative;
    overflow: hidden;
}
.scrap_bottom_menu .box img {
    width: 100%;
    -webkit-transition: 0.1s ease-out;
    -moz-transition: 0.1s ease-out;
    transition: 0.1s ease-out;
    opacity: 0.5;
}
.scrap_bottom_menu .box:hover img {
    transform: scale(1.03);
    -webkit-transition: 0.2s ease-out;
    -moz-transition: 0.2s ease-out;
    transition: 0.2s ease-out;
    opacity: 1;
}
.scrap_bottom_menu .box h3 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    white-space: nowrap;
    color: #fff;
    font-size: 26px;
    line-height: 1.3em;
    font-weight: 700;
    text-align: center;
}
.scrap_bottom_menu .box h3::after {
    content: "";
    display: block;
    margin: 8px auto 0;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 10px solid #fff;
}
.scrap_bottom_menu .box.current {
    pointer-events: none;
    background: rgb(255,255,255,0.8);
}
@media only screen and (max-width: 767px) {
    .scrap_bottom_menu {
        display: block;
    }
    .scrap_bottom_menu .box {
        width: 100%;
        height: 100px;
    }
    .scrap_bottom_menu .box h3 {
        font-size: 18px;
    }
}



/* スクラップ引取回収サービス
=================================================================================== */
.scrap_recovery_notice {
    background: #fdebeb;
}
.scrap_recovery_notice h3 {
    padding: 20px;
    color: #fff;
    font-size: 19px;
    font-weight: bold;
    text-align: center;
    background: #ea3432;
}
.scrap_recovery_notice .inner {
    padding: 0 20px 20px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.scrap_recovery_notice .inner .ojigi {
    margin-top: -80px;
    margin-left: 30px;
}
@media only screen and (max-width: 767px) {
    .scrap_recovery_notice h3 {
        font-size: 17px;
        text-align: left;
    }
    .scrap_recovery_notice .inner .ojigi {
        margin-top: -50px;
        margin-left: 10px;
    }
}





/* 会社概要
=================================================================================== */
.permit_wrap {
    width: calc(100% + 30px);
    margin-left: -15px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.permit_wrap .box {
    width: calc(20% - 30px);
    margin: 0 15px 20px 15px;
}
.permit_wrap .box .permit {
    text-align: center;
    box-shadow: 0px 0px 5px #ccc;
}
.permit_wrap .box .text {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.3em;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .permit_wrap .box {
        width: calc(50% - 30px);
    }
    .permit_wrap .box .text {
        font-size: 12px;
    }
}

.permit_wrap2 {
    width: calc(100% + 30px);
    margin-left: -15px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.permit_wrap2 .box {
    width: calc(30% - 30px);
    margin: 0 15px 20px 15px;
}
.permit_wrap2 .box .permit {
    text-align: center;
}
.permit_wrap2 .box .text {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.3em;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .permit_wrap2 .box {
        width: calc(50% - 30px);
    }
    .permit_wrap2 .box .text {
        font-size: 12px;
    }
}

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

/* サステナビリティ */
#sustainalility_bg {
    padding: 100px 0;
    background: url(../img/sutainability_bg.jpg) center center no-repeat;
    background-size: cover;
}
#sustainalility_bg .en {
    font-family: bebas;
    font-size: 80px;
    line-height: 1em;
    color: #00285c;
    text-align: right;
}
#sustainalility_bg h2 {
    margin-top: 20px;
    color: #00285c;
    font-size: 32px;
    font-weight: bold;
    text-align: right;
}
@media only screen and (max-width: 767px) {
    #sustainalility_bg {
        padding: 30px 0;
        background: none;
    }
    #sustainalility_bg .en {
        font-size: 50px !important;
        text-align: center;
    }
    #sustainalility_bg h2 {
        margin-top: 10px;
        font-size: 22px;
        text-align: center;
    }
}





/* 工場・設備紹介
=================================================================================== */
.factory_main_wrap {
    margin-top: 50px;
    position: relative;
}
.factory_main_wrap .photo .factory_main {
    width: 100%;
    text-align: center;
}
.factory_main_wrap .btn p {
    position: absolute;
}

.factory_main_wrap .btn p.id_c { top: 22%; left: 17%; }
.factory_main_wrap .btn p.id_f { bottom: 3%; left: 2%; }
.factory_main_wrap .btn p.id_h { bottom: 3%; left: 17.5%; }
.factory_main_wrap .btn p.id_b { bottom: 3%; left: 44%; }
.factory_main_wrap .btn p.id_d { bottom: 3%; left: 59.5%; }
.factory_main_wrap .btn p.id_a { top: 4%; left: 43%; }
.factory_main_wrap .btn p.id_i { top: 4%; left: 70%; }
.factory_main_wrap .btn p.id_j { top: 19%; left: 70%; }
.factory_main_wrap .btn p.id_e { top: 32%; right: 2%; }
.factory_main_wrap .btn p.id_g { top: 65%; right: 2%; }

.factory_main_wrap .btn a:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha( opacity=100 )";
}
.factory_main_wrap .btn a:hover img {
    transform: scale(1.05);
}
@media only screen and (max-width: 1060px) {
    .factory_main_wrap .btn p.id_f { bottom: 3%; left: 0%; }
    .factory_main_wrap .btn p.id_h { bottom: 3%; left: 13%; }
    .factory_main_wrap .btn p.id_d { bottom: 3%; left: 56%; }
    .factory_main_wrap .btn p.id_i { top: 2%; left: 70%; }
    .factory_main_wrap .btn p.id_j { top: 17%; left: 70%; }
    .factory_main_wrap .btn p.id_e { top: 30%; right: 2%; }
    .factory_main_wrap .btn img {
        transform: scale(0.6);
    }
    .factory_main_wrap .btn a:hover img {
        transform: scale(0.65);
    }
}
@media only screen and (max-width: 767px) {
    .factory_main_wrap {
        display: none;
    }
}

.factory_wrap {
    margin-top: 150px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.factory_wrap .photo {
    width: 66.7%;
    position: relative;
}
.factory_wrap .photo .img {
    text-align: center;
}
.factory_wrap h3 {
    position: absolute;
    top: -40px;
    left: 20px;
    color: #fff;
    font-size: 30px;
    font-weight: bold;
    line-height: 0;
    padding: 30px 80px 23px 80px;
    background: #00285c;
}
.sp-thumbnail:hover {
    cursor: pointer;
    opacity: 0.8;
}
.factory_wrap h3 small {
    font-size: 14px;
}
.factory_wrap h3 span.circle {
    display: inline-block;
    width: 50px;
    height: 50px;
    background: #fff;
    margin-right: 10px;
    border-radius: 50%;
    vertical-align: middle;
    position: relative;
    top: -3px;
}
.factory_wrap h3 span.circle span.en {
    position: absolute;
    font-family: bebas;
    color: #00285c;
    font-weight: normal;
    line-height: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.factory_wrap .cont {
    width: calc(33.3% - 5px);
    margin-left: 5px;
    padding: 20px;
    background: #f0f0f0;
    box-sizing: border-box;
}
.factory_wrap.reverse .photo {
    order: 1;
}
.factory_wrap.reverse .cont {
    margin-left: 0;
    margin-right: 5px;
}
.factory_wrap.reverse h3 {
    left: auto;
    right: 20px;
}
h3.factory_wrap_h3_SP {
    display: none;
}
@media only screen and (max-width: 767px) {
    .factory_wrap {
        margin-top: 0;
        display: block;
        margin-bottom: 50px;
    }
    .factory_wrap .photo {
        width: 100%;
        position: static;
    }
    .factory_wrap h3 {
        display: none;
    }
    h3.factory_wrap_h3_SP {
        display: block;
        color: #fff;
        font-size: 19px;
        font-weight: bold;
        line-height: 0;
        text-align: center;
        padding: 10px 10px 5px 10px;
        background: #00285c;
    }
    h3.factory_wrap_h3_SP small {
        font-size: 12px;
    }
    h3.factory_wrap_h3_SP span.circle {
        display: inline-block;
        width: 40px;
        height: 40px;
        background: #fff;
        margin-right: 10px;
        border-radius: 50%;
        vertical-align: middle;
        position: relative;
        top: -3px;
    }
    h3.factory_wrap_h3_SP span.circle span.en {
        position: absolute;
        font-family: bebas;
        color: #00285c;
        font-weight: normal;
        line-height: 0;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
    }
    .factory_wrap .cont {
        width: 100%;
        margin-left: 0;
        padding: 20px;
    }
    .factory_wrap.reverse .photo {
        order: 1;
    }
    .factory_wrap.reverse .cont {
        margin-left: 0;
        margin-right: 0;
    }
}

table.factory_table {
    width: 100%;
}
table.factory_table caption {
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    background: #00285c;
}
table.factory_table tr th {
    padding: 5px 20px 5px 0;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.5em;
    text-align: left;
    border-bottom: 1px solid #ccc;
}
table.factory_table tr th.area {
    padding: 5px 0 5px 0;
    width: 100%;
    font-family: bebas;
    font-size: 36px;
    font-weight: normal;
    text-align: center;
}
table.factory_table tr th.area small {
    font-size: 20px;
    font-weight: bold;
}
table.factory_table tr td {
    padding: 5px 0 5px 20px;
    font-size: 14px;
    line-height: 1.5em;
    vertical-align: middle;
    border-bottom: 1px solid #ccc;
}
@media only screen and (max-width: 767px) {
    table.factory_table {
        margin: 10px 0 0 0;
    }
    table.factory_table tr th {
        padding: 8px 0 8px 3px;
        font-size: 11px;
    }
    table.factory_table tr th.area {
        font-size: 30px;
    }
    table.factory_table tr th.area small {
        font-size: 12px;
    }
    table.factory_table tr td {
        padding: 8px 5px;
        font-size: 11px;
    }
}

.factory_wrap .fig {
    margin-top: 20px;
}

/* 保有重機･機器 */
.equipment_list {
    padding: 30px;
    background: #f0f0f0;
}
.equipment_list h3 {
    padding: 10px 0;
    color: #fff;
    font-size: 19px;
    font-weight: bold;
    text-align: center;
    background: #00285c;
    margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
    .equipment_list {
        padding: 10px;
    }
    .equipment_list h3 {
        padding: 5px 0;
        font-size: 17px;
    }
}

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





/* アクセス
=================================================================================== */
.info_wrap {
    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 40px);
    margin-left: -20px;
}
.info_wrap .box {
    width: calc(33.3333% - 40px);
    margin: 0 20px 40px 20px;
}
.info_wrap .box .photo {
    text-align: center;
    position: relative;
}
.info_wrap .box .photo::after {
    content: "";
    position: absolute;
    right: -30px;
    top: 50%;
    transform: translateY(-50%);
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 20px solid #00285c;
}
.info_wrap .box:nth-child(3) .photo::after, .info_wrap .box:last-child .photo::after {
    display: none;
}
.info_wrap .box h3 {
    margin: 15px 0;
    color: #00285c;
    font-size: 19px;
    font-weight: bold;
}
@media only screen and (max-width: 767px) {
    .info_wrap {
        margin-top: 30px;
        width: calc(100% + 20px);
        margin-left: -10px;
    }
    .info_wrap .box {
        width: calc(50% - 20px);
        margin: 0 10px 40px 10px;
    }
    .info_wrap .box .photo::after {
        display: block !important;
        right: -15px;
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-left: 10px solid #00285c;
    }
    .info_wrap .box:nth-child(2) .photo::after, .info_wrap .box:last-child .photo::after  {
        display: none !important;
    }
    .info_wrap .box h3 {
        margin: 10px 0;
        font-size: 16px;
    }
}





/* お問い合わせ
=================================================================================== */
.contact_tel h3 {
    font-size: 26px;
    font-weight: bold;
    text-align: center;
}
.contact_tel .tel {
    font-family: bebas;
    font-size: 60px;
    font-weight: normal;
    line-height: 1em;
    text-align: center;
}
.contact_tel .tel small {
    font-size: 30px;
}
.contact_tel .tel a {
    color: #00285c !important;
    font-weight: normal;
}
.contact_tel .fax {
    font-family: bebas;
    color: #00285c;
    font-size: 22px;
    font-weight: normal;
    line-height: 1em;
    text-align: center;
}
.contact_tel .hour {
    margin-top: 20px;
    text-align: center;
}
@media only screen and (max-width: 767px) {
    .contact_tel h3 {
        font-size: 22px;
    }
    .contact_tel .tel {
        font-size: 40px;
    }
}
