/*
Theme Name: miyama-child
Theme URI: 
Description: miyamaの子テーマです 
Author: ailylab
Author URI: 
Version: 1.0.0
Template: miyama
*/
/****************************************
1.Setting
*****************************************/

body {
    width: 100%;
    margin: 0;
    padding: 0;
    color: #222;
    font-size: 16px;
    font-family: "Noto Sans JP", "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    line-height: 1.8;
    background-color: #FFF;
}

img {
    -webkit-backface-visibility: hidden; 
    -ms-transform: translateZ(0); /* IE 9 */
    -webkit-transform: translateZ(0); /* Chrome, Safari, Opera */
    transform: translateZ(0);
}


a {
    text-decoration: underline;
    color: #099aed;
}

a:hover {
    text-decoration: underline;
    color: #099aed;
}

.bw > span,
h1 > span,
h2 > span,
h3 > span,
h4 > span,
h5 > span,
h6 > span,
figcaption > span {
    display: inline-block;
}

.mt20 {
    margin-top: 20px !important;
}

.bw span {
    display: inline-block;
}

.list_table,
.list_table > dt,
.list_table > dd {
    box-sizing: border-box;
}

.list_table > dt,
.list_table > dd {
    padding: 1em;
    margin: 0px;
}

.list_table > dt {
    background-color: #ecf7f1;
}

.list_table > dd {
    background-color: #fff;
}

@media screen and (max-width: 767px) {
    .list_table > dd {
        border: 1px solid #ddd;
        border-top: none;
    }
    .list_table > dt,
    .list_table > dd {
        text-align: center;
    }
    .list_table > dd > ul {
        text-align: left;
    }
}
@media print, (min-width: 768px) {
    .list_table {
        display: flex;
        flex-wrap: wrap;
        border-bottom: 1px solid #ddd;
    }
    .list_table > dt,
    .list_table > dd {
        display: flex;
        flex-direction: column;
        justify-content: center;
        border-top: 1px solid #ddd;
    }
    .list_table > dt {
        width: 30%;
        border-left: 1px solid #ddd;
    }
    .list_table > dd {
        width: 70%;
        border-right: 1px solid #ddd;
    }
}

.slidein {
    transform: translateX(-100px);
    opacity: 0;
    visibility: hidden;
    transition: transform 0.5s, opacity 0.5s, visibility 0.5s;
}
.slidein.js_active {
    transform: translateX(0px);
    opacity: 1;
    visibility: visible;
}

.table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.table th,
.table td {
    padding: 10px;
    border-bottom: 1px solid #dedede;
}

.table th:nth-of-type(n + 2),
.table td:nth-of-type(n + 2) {
    border-left: 1px solid #dedede;
}

.table th {
    background-color: #ecf7f1;
}

@media screen and (max-width: 767.98px) {
    .tbl_wrapper {
        overflow-x: scroll;
    }
    .tbl_wrapper > .table {
        width: 767px;
    }
}

h1 {
    font-size: 85%;
    margin: 0px;
    font-style: normal;
}
.font_min{
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
ul{padding: 0px;}
ul li{
    list-style-type: none;
}
ul.disc{padding-left:20px;}
ul.disc li{list-style:disc;}
.button {
    display: inline-block;
    width: 200px;
    height: 54px;
    text-align: center;
    text-decoration: none;
    line-height: 54px;
    outline: none;
}
.button::before,
.button::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.button,
.button::before,
.button::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}
nav::after,li::after{
    clear: both;
    content: ".";
    display: block;
    height: 0;
    line-height: 0;
    visibility: hidden;
}

@media screen and (max-width: 767.98px) {
    .work_flow {
        list-style: none;
    }
    .work_flow > li {
        position: relative;
        padding: 1em;
        margin: 0px;
        font-size: 18px;
        font-weight: bold;
        text-align: center;
    }
    .work_flow > li:first-child {
        padding-top: 0px;
    }
    .work_flow > li:last-child {
        padding-bottom: 0px;
    }
    .work_flow > li:nth-child(n + 2)::before {
        position: absolute;
        top: 0px;
        left: 50%;
        width: 0.5em;
        height: 0.5em;
        transform: translateY(-75%) rotate(135deg);
        border-right: 2px solid #3ea168;
        border-top: 2px solid #3ea168;
        content: "";
    }
    .work_flow > li > span {
        display: block;
        padding: 1em;
        margin: 0px auto;
        border: 1px solid #3ea168;
        background-color: #f5f5f5;
    }
}
@media print, (min-width: 768px) {
    .work_flow {
        display: flex;
        justify-content: space-between;
        list-style: none;
    }
    .work_flow > li {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        position: relative;
        margin: 0px;
        width: 100%;
    }
    .work_flow > li + li::before {
        position: absolute;
        top: 50%;
        left: 0px;
        width: 0.5em;
        height: 0.5em;
        transform: translateX(-75%) translateY(-50%) rotate(45deg);
        border-right: 2px solid #3ea168;
        border-top: 2px solid #3ea168;
        content: "";
    }
    .work_flow > li > span {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        width: 3em;
        height: 10em;
        border: 1px solid #3ea168;
        background-color: #f5f5f5;
        font-size: 20px;
        font-weight: bold;
        writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
    }
}

/****************************************
2. Layout 
*****************************************/
.mainslider{
    margin: 0 auto;
    display: block;
}
.bx-wrapper .bx-controls-direction a{
    z-index: 100!important;
}
@media (min-width: 1200px){
    .container {
        width: 1025px;
    }
}

.sub-page-contents {
    padding: 0px;
}

.article--archive {
    padding-top: 30px;
}

.bread_crumb {
    display: flex;
    padding: 0px;
    margin: 0px;
    list-style: none;
}
.bread_crumb > li {
    position: relative;
    font-size: 14px;
}
.bread_crumb > li:nth-of-type(n + 2) {
    padding: 0px 0px 0px 2.5em;
}
.bread_crumb > li:nth-of-type(n + 2):before {
    position: absolute;
    top: 50%;
    left: 1em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid #dedede;
    border-top: 2px solid #dedede;
    content: "";
}

/****************************************
3. Header 
*****************************************/
#header {
    position: fixed;
    top: 0px;
    left: 50%;
    z-index: 9999;
    transform: translateX(-50%);
}
#header::before {
    position: absolute;
    top: 0px;
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
    bottom: 0px;
    z-index: -1;
    width: 100vw;
    height: 100%;
    border-bottom: 4px solid #3ea168;
    background-color: #fff;
    content: "";
}

#header a.title {
    float: left;
    margin-top: 10px;
    width: 220px;
    height: 50px;
}
#header img.logo {
    width: 100%;
    height: auto;
}
#header .right_nav {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    height: 60px;
}
#header .right_nav i{
    font-weight: normal;
}
#header a.recruit{
    display: block;
    background: #e0f9fe;
    padding: 5px 20px;
    margin: 25px 15px 0 0;
}
#header a.recruit:link {
    color: #0ea2fa;
    text-decoration: none;
    font-weight: bold;
}
#header a.recruit:hover {
    background: #8bd4e2;
}
#header a.recruit i{
    margin-left: 10px;
}
#header a.tel {
    display: block;
    margin: 0px 10px;
    color: #3ea168;
    text-decoration: none;
}
#header a.tel span {
    display: block;
    line-height: 1.5;
    text-align: center;
}
#header a.tel span:nth-of-type(1) {
    font-size: 24px;
    font-weight: bold;
}
#header a.tel span:nth-of-type(1)::before {
    margin: 0px 0.5em 0px 0px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f879";
}
#header a.tel span:nth-of-type(2) {
    font-size: 12px;
    text-indent: 1em;
}
#header a.contact {
    display: block;
    background: #d70739;
    padding: 15px 25px;
    letter-spacing: 2px;
}
#header a.contact:link,
#header a.contact:visited {
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
}
#header a.contact:hover {
    background: #f63362;
}

#header.js_active .title,
#header.js_active .right_nav {
    display: none;
}

#header a.sub_contact {
    display: none;
    position: fixed;
    top: 60px;
    right: 1em;
    background: #d70739;
    padding: 0.5em 1.5em;
    letter-spacing: 2px;
}
#header a.sub_contact:link,
#header a.sub_contact:visited {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
}
#header a.sub_contact:hover {
    background: #f63362;
}

@media (min-width: 992px) {
    body:not(.page-company) #header.js_active a.sub_contact {
        display: block;
    }
}

@media screen and (max-width: 991.98px) {
    body {
        margin-top: 50px;
    }
    #header a.title {
        width: 120px;
        height: 50px;
    }
    #header .right_nav,
    #header .navbar {
        display: none;
    }
}
@media screen and (min-width: 992px) {
    body {
        margin-top: 120px;
    }
}

/****************************************
2. Gnavi
*****************************************/
.navbar {
    margin: 0px;
}

.navbar-default {
    border :none;
    border-bottom: 4px solid #3ea168;
    background-color:#fff;
}

.navbar-collapse {
    padding-left: 0px;
    padding-right: 0px;
}

ul#menu-gnavi,
ul#menu-gnavi-1 {
    display: flex;
    justify-content: space-between;
    margin-top: 10x;
    width: 100%;
    font-size: 14px;
}
ul#menu-gnavi li a,
ul#menu-gnavi-1 li a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 0.5em;
    height: 56px;
    color: #090a0c;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
}
ul#menu-gnavi li a:hover,
ul#menu-gnavi-1 li a:hover {
    background:#f5f5f5;
}
.home .navbar {
    margin-bottom:0;
}

.off-canvas-nav--dark {
    background-color: #efefef;
    border-top: 1px solid #c3c3c3;
    border-bottom: 1px solid #f2f2f2;
}

.off-canvas-nav-right.off-canvas-nav-open .responsive-nav-contents, .off-canvas-nav-right.off-canvas-nav-open .off-canvas-nav {
    transform: translate(-220px, 0);
    -ms-transform: translate(-220px, 0);
    -moz-transform: translate(-220px, 0);
    -webkit-transform: translate(-220px, 0);    
}
.off-canvas-nav--dark .current-menu-item > a, .off-canvas-nav--dark .current_page_ancestor > a, .off-canvas-nav--dark .current-page-ancestor > a, .off-canvas-nav--dark .current_page_item > a, .off-canvas-nav--dark .current_page_parent > a {
    background-color: #c3c3c3;
    color: #fff;
}
@media (min-width: 168px){
    .navbar-collapse.collapse {
        display: block!important;
        visibility: visible!important;
        height: auto!important;
        padding-bottom: 0;
        overflow: visible!important;
    }
}

/****************************************
3. h1
*****************************************/
.home .page-header{
    margin-top:0px;
    background-position:center;
    background-repeat:no-repeat;
    -moz-background-size:cover;
    background-size:cover;
    background-color:#e6f7ed;
    height:auto;
    background-attachment:scroll;
    padding:0;
}

.page-header{
    background-position:center;
    background-repeat:no-repeat;
    -moz-background-size:cover;
    background-size:cover;
    background-color:#000;
    height:230px;
    background-attachment:scroll;
    padding:90px 0;
}
.page-feature .page-header{background-image:url(images/contents/feature/page_image.jpg?20230826);}
.page-design .page-header{background-image:url(images/contents/design/page_image.jpg?20230826);}
.page-largepps .page-header{background-image:url(images/contents/largepps/page_image.jpg?20230826);}
.page-pps .page-header{background-image:url(images/contents/pps/page_image.jpg?20230826);}
.page-mold .page-header{background-image:url(images/contents/mold/page_image.jpg?20230826);}
.post-type-archive-case .page-header{background-image:url(images/contents/case/page_image.jpg?20230826);}
.page-facility .page-header{background-image:url(images/contents/facility/page_image.jpg?20230826);}
.page-quality .page-header{background-image:url(images/contents/quality/page_image.jpg?20230826);}
.page-contact .page-header,
.page-thanks .page-header
    {background-image:url(images/contents/contact/page_image.jpg?20230826);}
.page-csr .page-header{background-image:url(images/contents/csr/page_image.jpg?20230826);}
.page-recruit .page-header,
.page-recruit-child .page-header
    {background-image:url(images/contents/recruit/page_image.jpg?20240220);}
.page-privacy .page-header{background-image:url(images/contents/privacy/page_image.jpg?20230826);}
.page-sitemap .page-header{background-image:url(images/contents/sitemap/page_image.jpg?20230826);}
.page-company .page-header,
.category-news .page-header,
.category-blog .page-header,
.single-post .page-header
    {background-image:url(images/contents/company/page_image.jpg?20230826);}
.single-case .page-header,
.post-type-archive-case .page-header
    {background-image:url(images/contents/pps/page_image.jpg?20230826);}
.page-header h1{
    font-size:25pt;
    color:#fff;
    text-align:center;
    letter-spacing:2px;
    text-shadow: 0 -1px 10px #333, -1px 0 10px #333, 1px 0 10px #333;  
}

.header_btn {
    display: none;
    padding: 10px 3em;
    margin: 20px auto 0px;
    background-color: #d70739;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
}
.header_btn:link,
.header_btn:visited {
    color: #fff;
}
.header_btn:hover {
    background-color: #f63362;
    text-decoration: none;
}

.page-pps .header_btn,
.page-design .header_btn,
.page-feature .header_btn,
.page-mold .header_btn,
.page-largepps .header_btn {
    display: table;
}

/****************************************
4. footer
*****************************************/
.footer {
    background-color: #f5f5f5 !important;
    font-size: 14px;

}
.footer_cta {
    position: relative;
    padding: 20px 0px 40px;

}
.footer_cta::before {
    position: absolute;
    top: 0px;
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
    bottom: 0px;
    width: 100vw;
    height: 100%;
    background-color: #3ea16a;
    content: "";
}
.footer_cta p.tel {
    font-size:16pt;
    font-weight:bold;
    margin:15px 0 0 0;
    color:#fff;
    letter-spacing:5px;
}
.footer_cta p.open {
    font-size:11px;
    margin:0;
    color:#fff;
}
.footer_cta .logo {
    padding-top:15px;
}
.footer_cta a.contact {
    display: block;
    background: #d70739;
    padding: 10px 0px;
    margin: 20px auto 0px;
    max-width: 280px;
    font-size: 20px;
}
.footer_cta a.contact:link,
.footer_cta a.contact:visited,
.footer_cta a.contact:active {
    color:#fff;
    text-decoration:none;
    font-weight:bold;
}
.footer_cta a.contact:hover {
    background:#f63362;
}
.footer_cta a.contact i {
    margin-right:10px;
}
.footer .footernav {
    margin-top:30px;
}
.footer .footernav ul {
    margin-left:15px;
}
.footer .footernav ul li {
    letter-spacing:2px;
    line-height:25px;
    display:block;
}
.footer .footernav ul li:before {
    font-family: FontAwesome;
    content:"\f054";
    margin-right:7px;
    color:#6eb98e;
}
.footer .footernav li a {
    text-decoration:none;
    color:#545454;
}
.footer .footernav li a:hover {
    background:#cfcfcf;
}

@media print, (max-width: 991.98px) {
    .footer {
        display: none;
    }
}

@media print, (max-width: 991.98px) {
    .mnavi {
        display: block;
        position: fixed;
        bottom: 0px;
        left: 0px;
        z-index: 9999;
        width: 100%;
        height: 80px;
        background-color: #3ea168;
    }
    body {
        margin-bottom: 80px;
    }
}
@media print, (min-width: 992px) {
    .mnavi {
        display: none;
    }
}

.mnavi > ul {
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 100%;
    list-style: none;
}

.mnavi > ul > li {
    width: 40px;
    height: 40px;
}

.mnavi > ul > li > a,
.mnavi > ul > li > button {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    font-size: 2.5vw;
}
.mnavi > ul > li > a:before,
.mnavi > ul > li > button:before {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 32px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.mnavi_home > a:before {
    content: "\f015";
}
.mnavi_contact > a:before {
    content: "\f0e0";
}
.mnavi_tel > a:before {
    content: "\f095";
}
.mnavi_menu > button:before {
    content: "\f0c9";
}

.mnavi > ul > li > a {
    text-decoration: none;
}

.mnavi > ul > li > button {
    border: none;
    background: none;
    outline: none;
    appearance: none;
    cursor: pointer;
}

.mnavi > ul > li span {
    position: absolute;
    bottom: -1em;
    left: 50%;
    transform: translateX(-50%);
    line-height: 1;
    white-space: nowrap;
}

.mnavi_menu_area {
    display: none;
    position: fixed;
    left: 0px;
    bottom: 80px;
    width: 100vw;
    height: calc(100vh - 80px);
    z-index: 9999;
    background-color: rgba(0, 0, 0, 0.7);
    overflow-x: hidden;
    overflow-y: scroll;
}

.mnavi_menu_area .menu {
    display: flex;
    flex-wrap: wrap;
    margin: -20px -10px 0px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 90%;
    list-style: none;
}

.mnavi_menu_area .menu li {
    margin: 20px 10px 0px;
    width: calc(50% - 20px);
    min-height: 100%;
    list-style-type: none;
    text-align: center;
}

.mnavi_menu_area .menu li a {
    display: block;
    padding: 0.5em;
    color: #fff;
    font-size: 4.5vw;
    text-decoration: none;
}

#btn_scroll_top {
    display: none;
    position: fixed;
    bottom: 120px;
    right: 30px;
    z-index: 9999;
    width: 50px;
    height: 50px;
    border: 2px solid #fff;
    background-color: #3ea168;
    text-decoration: none;
    outline: none;
}
#btn_scroll_top:after {
    position: absolute;
    top: 40%;
    left: 50%;
    width: 20px;
    height: 20px;
    transform: translateX(-50%) rotate(-45deg);
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    content: "";
}
@media print, (min-width: 768px) {
    #btn_scroll_top {
        bottom: 30px;
        width: 42px;
        height: 42px;
    }
    #btn_scroll_top:after {
        width: 12px;
        height: 12px;
    }
}
/****************************************
5. seciton
*****************************************/
section {
    margin-bottom: 120px;
    clear:both;
}

.home section h2,
.home h1.entry-title,
.home main h2 {
    margin: 60px auto 0px;
    color: #3ea168;
    font-size: 18pt;
    text-align: center;
}

body:not(.home) section h2,
body:not(.home) h1.entry-title,
body:not(.home) main h2 {
    padding: 1em;
    background-color: #F6FEFA;
    text-align:center;
    color:#3ea168;
    font-size:18pt;
    margin:30px 0px;
}
section h3,main h3{
    border-bottom:2px #3ea168 solid;
    text-align:center;
    color:#090d10;
    font-size:15pt;
    padding:5px 0px;
}
section h4{
    border-left:6px solid #3ea168;
    color:#2c935b;
    font-size:16px;
    padding: 2px 0px 2px 10px;
}
section a.link_button,
.entry a.link_button
{
    background:#0081b8;
    padding:20px;
    display:block;
    margin:30px auto;
    width:320px;
    text-align:center;
    color:#fff;
    text-decoration:none;
    font-size:16px;
    font-weight:bold;
}
section a.link_button i,
.entry a.link_button i{
    margin-right:10px;
}
section a.link_button:hover,
.entry a.link_button:hover
{
    background:#43a3cc;
}

section table th{
    text-align:center;
}

/****************************************
5. contents
****************************************/
/****************TOP********************/
.top_main {
    position: relative;
}

.top_main img {
    width: 100%;
}

.top_main_title {
    position: absolute;
    top: 15%;
    right: 0px;
    background-color: rgba(0, 0, 0, 0.4);
    color: #fff;
}

.top_main_title h1 span {
    display: block;
    line-height: 1;
}

.top_main_title h1 span:nth-of-type(1) {
    font-size: 36px;
    letter-spacing: 0.1em;
}
.top_main_title h1 span:nth-of-type(2) {
    position: relative;
    margin-top: 0.25em;
    font-size: 72px;
    letter-spacing: 0.1em;
}
.top_main_title h1 span:nth-of-type(2)::before {
    position: absolute;
    top: 50%;
    left: -1.5em;
    transform: translateY(-50%);
    width: 1.25em;
    padding-top: 1.25em;
    background-image: url(./images/contents/top/logo.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}

.top_main_title p {
    display: none;
    margin-top: 1em;
    font-size: 20px;
}

@media screen and (max-width: 991.98px) {
    .top_main_title {
        padding: 30px 30px 30px 60px;
    }
    .top_main_title h1 span:nth-of-type(1) {
        font-size: 3vw;
    }
    .top_main_title h1 span:nth-of-type(2) {
        font-size: 5vw;
    }
}
@media screen and (min-width: 992px) and (max-width: 1399.98px) {
    .top_main_title {
        padding: 30px 30px 30px 120px;
    }
    .top_main_title h1 span:nth-of-type(1) {
        font-size: 24px;
    }
    .top_main_title h1 span:nth-of-type(2) {
        font-size: 48px;
    }
    .top_main_title p {
        display: block;
    }
}
@media screen and (min-width: 1400px) {
    .top_main_title {
        padding: 30px 30px 30px 150px;
    }
    .top_main_title h1 span:nth-of-type(1) {
        font-size: 36px;
    }
    .top_main_title h1 span:nth-of-type(2) {
        font-size: 72px;
    }
    .top_main_title p {
        display: block;
        font-size: 20px;
    }
    .top_main_title_bw {
        display: none;
    }
}

h2.section__title{
    background:url(images/contents/top/sectiontitle_bg.gif) no-repeat;
    border-bottom:none;
    color:#0a0b0f;
    width:283px;
    margin:10px auto 0px auto;
}

.top_technology small,
.top_feature small{
    font-weight:bold;
    color:#9b9b99;
}

.top_technology {
    padding: 0px 0px 80px;
    margin: 40px 0px 0px;
    background-image: url(images/contents/top/bg_tech.jpg?20230826);
    background-position: 0px 180px;
    background-repeat: no-repeat;
    -moz-background-size: cover;
    background-size: cover;
}

.top_technology_link ul {
    display: flex;
    flex-wrap: wrap;
    margin: 20px -10px 0px;
    list-style: none;
}

.top_technology_link li {
    margin: 20px 10px 0px;
    width: calc(100% - 20px);
    min-height: 100%;
}

@media screen and (min-width: 992px) {
    .top_technology_link li {
        width: calc(50% - 20px);
    }
}

.top_technology_link a {
    display: block;
    min-height: 100%;
    background-color: #fff;
    color: #222;
    text-decoration: none;
}

.top_technology_link_main {
    position: relative;
    overflow: hidden;
}

.top_technology_link_main_filter {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: rgba(0, 0, 0, 0.5);
    transition: 0.5s;
}
.top_technology_link a:hover .top_technology_link_main_filter {
    background-color: rgba(0, 0, 0, 0);
}

.top_technology_link_main img {
    transition: 0.5s;
}
.top_technology_link a:hover img {
    transform: scale(1.2);
}

.top_technology_link_main_title {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    width: 100%;
    color: #fff;
    text-align: center;
}

.top_technology_link_main_title span {
    display: block;
    text-shadow: -2px -2px 6px #000, 2px -2px 6px #000, 2px 2px 6px #000, -2px 2px 6px #000;
}
.top_technology_link_main_title span:nth-of-type(1) {
    font-size: 16px;
}
.top_technology_link_main_title span:nth-of-type(2) {
    font-size: 32px;
    font-weight: bold;
}

.top_technology_link_text {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 6em;
    padding: 1em 2em;
    text-align: center;
}
.top_technology_link_text::after {
    position: absolute;
    top: 50%;
    right: 1em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid #d70739;
    border-top: 2px solid #d70739;
    content: "";
}

.top_feature {
    background-image:url(images/contents/top/bg_feature.jpg?20230826);
    background-position:0 ;
    background-repeat:no-repeat;
    -moz-background-size:cover;
    background-size:cover;
    margin-bottom:0px;
}

.top_feature_main {
    position: relative;
    margin-top: 60px;
}

.top_feature_main img {
    display: block;
    margin: 0px auto;
}

.top_feature_main li {
    display: flex;
    align-items: center;
    position: relative;
    border: 1px solid #3ea16a;
    background-color: #fff;
    font-size: 18px;
    font-weight: bold;
}

.top_feature_main li + li {
    margin-top: 1em;
}

.top_feature_main li span:nth-of-type(1) {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    width: 3em;
    background-color: #3ea16a;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}
.top_feature_main li span:nth-of-type(2) {
    padding: 1em 1em 1em 6em;
}

@media screen and (max-width: 991.98px) {
    .top_feature_main_list_01 {
        margin-top: 30px;
    }
}
@media screen and (min-width: 992px) {
    .top_feature_main img {
        width: 80%;
    }
    .top_feature_main_list_01 {
        position: absolute;
        top: 40px;
        left: 0px;
        width: 40%;
    }
    .top_feature_main_list_02 {
        position: absolute;
        bottom: 10px;
        right: -20px;
        width: 40%;
    }
}

.top_feature a.btn {
    margin-top: 60px;
    background: #3ea16a;
    background-image: -webkit-linear-gradient(top, #3ea16a, #3ea16a);
    background-image: -moz-linear-gradient(top, #3ea16a, #3ea16a);
    background-image: -ms-linear-gradient(top, #3ea16a, #3ea16a);
    background-image: -o-linear-gradient(top, #3ea16a, #3ea16a);
    background-image: linear-gradient(to bottom, #3ea16a, #3ea16a);
    -webkit-border-radius: 17;
    -moz-border-radius: 17;
    border-radius: 17px;
    color: #ffffff;
    font-size: 16px;
    font-weight: bold;
    padding: 10px 20px 10px 20px;
    text-decoration: none;
    width:200px;
    margin-bottom:55px;
}
.top_feature a.btn:hover {
    background: #66b88b;
    background-image: -webkit-linear-gradient(top, #66b88b, #66b88b);
    background-image: -moz-linear-gradient(top, #66b88b, #66b88b);
    background-image: -ms-linear-gradient(top, #66b88b, #66b88b);
    background-image: -o-linear-gradient(top, #66b88b, #66b88b);
    background-image: linear-gradient(to bottom, #66b88b, #66b88b);
    text-decoration: none;
}

.top_blog {
    margin-bottom: 0px;
}

.blogarea ul {
    display: flex;
    flex-wrap: wrap;
    margin: 20px -10px 30px;
    list-style: none;
}

.blogarea li {
    margin: 20px 10px 0px;
    width: calc(33.3% - 20px);
    min-height: 100%;
}

.blogarea a {
    color: #535353;
    text-decoration: none;
}

.blogarea_image {
    padding-top: 75%;
    border: 1px solid #ddd;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.blogarea img {
    border: 1px solid #ddd;
}

.blogarea_date {
    margin-top: 1em;
    text-align: center;
}

.blogarea_title {
    text-align: center;
}

.top_news {
    padding: 0px;
}

.newsarea {
    margin-top: 40px;
}

.top_news h2 {
    border:none;
    color:#545454;    
}
.top_news dl{
    margin-bottom:30px;
}
.top_news dl dt{
    clear: right;
    float: left;
    margin: 0;
    padding: 10px 0;
    text-align: center;
    width: 25%;
    font-weight:normal;
}
.top_news dl dd{
    border-bottom: 1px solid #6eb98e;
    margin: 0;
    padding: 10px 0 10px 25%;
    width: 100%;
}
.top_news dl a:link{
    display:block;
    color:#535353;
    text-decoration:none;
}
.top_news dl a:hover{
    background:#f5f5f5;
}

.top_blog a.btn,
.top_news a.btn {
  background: #fff;
  background-image: -webkit-linear-gradient(top, #fff, #fff);
  background-image: -moz-linear-gradient(top, #fff, #fff);
  background-image: -ms-linear-gradient(top, #fff, #fff);
  background-image: -o-linear-gradient(top, #fff, #fff);
  background-image: linear-gradient(to bottom, #fff, #fff);
  -webkit-border-radius: 15;
  -moz-border-radius: 15;
  border-radius: 15px;
  color: #535353;
  font-size: 16px;
  font-weight: bold;
  padding: 10px 20px 10px 20px;
  border: solid #616161 1px;
  text-decoration: none;
  width:200px;
}

.top_blog a.btn:hover,
.top_news a.btn:hover {
  background: #f5f5f5;
  background-image: -webkit-linear-gradient(top, #f5f5f5, #f5f5f5);
  background-image: -moz-linear-gradient(top, #f5f5f5, #f5f5f5);
  background-image: -ms-linear-gradient(top, #f5f5f5, #f5f5f5);
  background-image: -o-linear-gradient(top, #f5f5f5, #f5f5f5);
  background-image: linear-gradient(to bottom, #f5f5f5, #f5f5f5);
  text-decoration: none;
}

.top_info ul {
    display: flex;
    flex-wrap: wrap;
    margin: -20px -10px 0px;
    list-style: none;
}

.top_info ul li {
    margin: 20px 10px 0px;
    width: calc(100% - 20px);
    min-height: 100%;
}

.top_info ul a {
    display: block;
    border: 1px solid #6FB98F;
    background-color: #F6FEFA;
    color: #222;
    text-align: center;
    text-decoration: none;
}
.top_info ul a:hover {
    opacity: 0.8;
}

.top_info ul a figcaption {
    padding: 1em;
}

@media screen and (min-width: 768px) {
    .top_info ul li {
        width: calc(33.3% - 20px);
    }
}

/****************PPS********************/

.costdown-img{
    border: #0082b6 solid 2px;
    padding: 20px;
    vertical-align: middle;
    font-size:18px;
    font-weight:bold;
    color:#0082b6;
    text-align:center;
    margin-bottom:50px;
}
.costdown{
    color:#0082b6;
}
.costdown p{
    font-weight:bold;
    font-size:18px;
    text-align:center;
}
.costdown .text-box{
    border:#0082b6 solid 2px;
    padding:10px;
    height:190px;
    vertical-align:middle;
}
.costdown .text-box p{
    font-size:14px;
    text-align:left;
}
table.compare td:nth-of-type(2){
    background-color: rgba(0, 22, 186, 0.05);
    color: #404eb8;
    font-weight: bold;
}

.feature_pps {
    padding-bottom: 20px;
    border: 1px solid #3ea16a;
    border-top: none;
}

.feature_pps_title {
    padding: 4px;
    background-color: #3ea16a;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

.feature_pps_subtitle {
    display: block;
    padding: 4px 12px;
    margin: 20px auto 0px;
    width: 80%;
    border: 1px solid #3ea16a;
    color: #3ea16a;
    font-weight: bold;
}

.feature_pps ul {
    margin: 0px auto;
    width: 80%;
    list-style: none;
}

.feature_pps li {
    padding: 4px 0px;
    border-bottom: 1px dashed #3ea16a;
}

/****************mold********************/
dl.materials{
    border:1px solid #0082B7;
    text-align:center;
    color:#0082B7;
    margin-bottom:20px;
}
dl.materials dt {
    border-bottom:1px solid #0082B7;
    background:#d6edf7;
    padding:5px;
}
dl.materials dd {
    padding: 5px;
    text-align:center;
}

/**************company******************/
.company_container_left {
    display: none;
}

.company_container_right {
    width: 100%;
    margin: 0px auto;
    padding: 0px 60px;
}

@media screen and (min-width: 1200px) {
    .company_container {
        display: flex;
    }
    .company_container_left {
        display: block;
        width: 50%;
    }
    .company_container_right {
        width: 50%;
    }
    .company_gallery_mb {
        display: none;
    }
}

/**************csr**********************/
.logo_eco {
    text-align: center;
}
.logo_eco > img {
    max-width: 180px;
}


/**************contact******************/

section p.tel{
    font-size:25pt;
    font-weight:bold;
    margin:15px 0 0 0;
    color:#000;
    letter-spacing:5px;
}

/**************archive******************/
.entry-meta__list li.author{display:none;}
h1.h3{
border-bottom: none;
    color: #3ea168;
    font-size: 18pt;
    margin: 0px 0;
    padding: 5px 0;
    text-align: left;
}
ul.pagination{
    display:block;
    text-align:center;
}
.pagination > li {
    display: inline-block;
}

/**************single******************/
#padSection{display:none;}

.entry-meta {
    border-top: 1px solid #ddd;
    border-bottom: none;
    margin-top: 30px;
}


/**************case******************/
table.case{width:100%;}
table.case th,table.case td{
    padding:10px;
}
table.case th{
    text-align:center;
    border-top:1px solid #3EA16A;
    border-bottom:1px solid #3EA16A;
}
table.case td{
    border-bottom:1px dashed #3EA16A;    
    text-align:center;
}

/**************materials****************/
.materials-archive{
    min-height:170px;
}

.materials-archive h3{
    margin:0;
}

.image_president figcaption {
    padding: 10px;
    background-color: #F6FEFA;
    color: #3ea168;
    font-weight: bold;
    text-align: center;
}

.schedule {
    position: relative;
    font-size: 14px;
}
.schedule::before {
    position: absolute;
    background-color: #ECF7F1;
    content: "";
}

.schedule ul {
    padding: 0px;
    margin: 0px;
    list-style: none;
}

.schedule li {
    position: relative;
}

.schedule_time {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 5em;
    height: 2em;
    background-color: #3ea168;
    color: #fff;
    text-align: center;
}
.schedule_time::before {
    position: absolute;
    width: 0.5em;
    height: 0.5em;
    z-index: -1;
    background-color: #3ea168;
    content: "";
}
.schedule_time::after {
    position: absolute;
    width: 1em;
    height: 1em;
    border: 2px solid #fff;
    border-radius: 50%;
    background-color: #3ea168;
    content: "";
}

.schedule_content_title {
    font-weight: bold;
}

@media screen and (max-width: 991.98px) {
    .schedule::before {
        top: 0px;
        left: 6.5em;
        width: 6px;
        height: 100%;
    }
    .schedule li {
        display: flex;
        align-items: center;
        width: 100%;
    }
    .schedule li + li {
        margin-top: 2em;
    }
    .schedule_time::before {
        top: 50%;
        right: 0px;
        transform: translateX(50%) translateY(-50%) rotate(45deg);
    }
    .schedule_time::after {
        top: 50%;
        left: 6em;
        transform: translateY(-50%);
    }
    .schedule_content {
        margin: 0px 0px 0px 3em;
        width: calc(100% - 10em);
    }
}
@media screen and (min-width: 992px) {
    .schedule::before {
        top: 3.5em;
        left: 0px;
        transform: translateY(-50%);
        width: 100%;
        height: 5px;
    }
    .schedule ul {
        display: flex;
        flex-wrap: wrap;
        margin: 0px -10px;
    }
    .schedule li {
        margin: 0px 10px;
        width: calc(12.5% - 20px);
    }
    .schedule_time {
        margin: 0px auto;
    }
    .schedule_time::before {
        left: 50%;
        bottom: 0px;
        transform: translateX(-50%) translateY(50%) rotate(45deg);
    }
    .schedule_time::after {
        top: 3.5em;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
    }
    .schedule_content {
        margin: 3em 0px 0px;
    }
    .schedule_content_title {
        text-align: center;
    }
    .schedule_content_detail {
        margin-top: 0.5em;
    }
}

/****************************************
 width
*****************************************/
.w5per{width:5%;}
.w10per{width:10%;}
.w15per{width:15%;}
.w20per{width:20%;}
.w25per{width:25%;}
.w30per{width:30%;}
.w35per{width:35%;}
.w40per{width:40%;}
.w45per{width:45%;}
.w50per{width:50%;}
.w55per{width:55%;}
.w60per{width:60%;}
.w65per{width:65%;}
.w70per{width:70%;}
.w75per{width:75%;}
.w80per{width:80%;}
.w85per{width:85%;}
.w90per{width:90%;}
.w95per{width:95%;}
.w100per{width:100%;}

/****************************************
margin
*****************************************/

.m0{margin: 0!important; }
.mt0{margin-top: 0!important; }
.mr0{margin-right: 0!important; }
.mb0{margin-bottom: 0!important; }
.ml0{margin-left: 0!important; }

.m5{margin: 5px!important; }
.mt5{margin-top: 5px!important; }
.mr5{margin-right: 5px!important; }
.mb5{margin-bottom: 5px!important; }
.ml5{margin-left: 5px!important; }

.m10{margin: 10px!important; }
.mt10{margin-top: 10px!important; }
.mr10{margin-right: 10px!important; }
.mb10{margin-bottom: 10px!important; }
.ml10{margin-left: 10px!important; }

.m15{margin: 15px!important; }
.mt15{margin-top: 15px!important; }
.mr15{margin-right: 15px!important; }
.mb15{margin-bottom: 15px!important; }
.ml15{margin-left: 15px!important; }

.m20{margin: 20px!important; }
.mt20{margin-top: 20px!important; }
.mr20{margin-right: 20px!important; }
.mb20{margin-bottom: 20px!important; }
.ml20{margin-left: 20px!important; }

.m30{margin: 30px!important; }
.mt30{margin-top: 30px!important; }
.mr30{margin-right: 30px!important; }
.mb30{margin-bottom: 30px!important; }
.ml30{margin-left: 30px!important; }

.m40{margin: 40px!important; }
.mt40{margin-top: 40px!important; }
.mr40{margin-right: 40px!important; }
.mb40{margin-bottom: 40px!important; }
.ml40{margin-left: 40px!important; }

.m50{margin: 50px!important; }
.mt50{margin-top: 50px!important; }
.mr50{margin-right: 50px!important; }
.mb50{margin-bottom: 50px!important; }
.ml50{margin-left: 50px!important; }

.m60{margin: 60px!important; }
.mt60{margin-top: 60px!important; }
.mr60{margin-right: 60px!important; }
.mb60{margin-bottom: 60px!important; }
.ml60{margin-left: 60px!important; }

.m70{margin: 70px!important; }
.mt70{margin-top: 70px!important; }
.mr70{margin-right: 70px!important; }
.mb70{margin-bottom: 70px!important; }
.ml70{margin-left: 70px!important; }

.m100{margin: 100px!important; }
.mt100{margin-top: 100px!important; }
.mr100{margin-right: 100px!important; }
.mb100{margin-bottom: 100px!important; }
.ml100{margin-left: 100px!important; }

.mr28{margin-right:28px!important;}
.mauto{margin:0px auto;}

/****************************************
padding
*****************************************/

.p0{padding: 0!important; }
.pt0{padding-top: 0!important; }
.pr0{padding-right: 0!important; }
.pb0{padding-bottom: 0!important; }
.pl0{padding-left: 0!important; }

.p5{padding: 5px!important; }
.pt5{padding-top: 5px!important; }
.pr5{padding-right: 5px!important; }
.pb5{padding-bottom: 5px!important; }
.pl5{padding-left: 5px!important; }

.p10{padding: 10px!important; }
.pt10{padding-top: 10px!important; }
.pr10{padding-right: 10px!important; }
.pb10{padding-bottom: 10px!important; }
.pl10{padding-left: 10px!important; }

.p15{padding: 15px!important; }
.pt15{padding-top: 15px!important; }
.pr15{padding-right: 15px!important; }
.pb15{padding-bottom: 15px!important; }
.pl15{padding-left: 15px!important; }

.p20{padding: 20px!important; }
.pt20{padding-top: 20px!important; }
.pr20{padding-right: 20px!important; }
.pb20{padding-bottom: 20px!important; }
.pl20{padding-left: 20px!important; }

.p30{padding: 30px!important; }
.pt30{padding-top: 30px!important; }
.pr30{padding-right: 30px!important; }
.pb30{padding-bottom: 30px!important; }
.pl30{padding-left: 30px!important; }

.p40{padding: 40px!important; }
.pt40{padding-top: 40px!important; }
.pr40{padding-right: 40px!important; }
.pb40{padding-bottom: 40px!important; }
.pl40{padding-left: 40px!important; }

.p50{padding: 50px!important; }
.pt50{padding-top: 50px!important; }
.pr50{padding-right: 50px!important; }
.pb50{padding-bottom: 50px!important; }
.pl50{padding-left: 50px!important; }

.p60{padding: 60px!important; }
.pt60{padding-top: 60px!important; }
.pr60{padding-right: 60px!important; }
.pb60{padding-bottom: 60px!important; }
.pl60{padding-left: 60px!important; }

.pb26{padding-bottom: 26px!important; }

/****************************************
font
*****************************************/
.font10px{font-size:10px;}
.font12px{font-size:12px;}
.font14px{font-size:14px;}
.font15px{font-size:15px;}
.font16px{font-size:16px;}
.font18px{font-size:18px;}
.font20px{font-size:20px;}

.font-red{color:#ff0000;}

.font-bold{font-weight:bold;}

/****************************************
display
*****************************************/
.block{display:block;}
.inline{display:inline;}
.d_none{display:none;}

/****************************************
Micro clearfix
*****************************************/
.cf {zoom: 1;}
.cf:before, .cf:after { content: ""; display:block; overflow:hidden; }
.cf:after { clear: both; }
.clear{clear:both;}


/****************************************
11. プラグイン
****************************************/
form#mailformpro .mailform {
    margin: 0px;
}

form#mailformpro dl {
    box-sizing: border-box;
}

form#mailformpro dl dt {
    display: flex;
    align-items: flex-start;
    box-sizing: border-box;
    border: none;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
}

form#mailformpro dl dd {
    box-sizing: border-box;
    border: none;
}

form#mailformpro dl dt:nth-of-type(n+2),
form#mailformpro dl dd:nth-of-type(n+2) {
    border-top: 1px solid #d3dad9;
}

.mfp_colored {
    background: none;
}

.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea {
    padding: 1em;
    margin: 0px;
    width: 100% !important;
    box-sizing: border-box;
    border: 1px solid #a9d2ea;
    background-color: #eef8ff;
    box-shadow: none;
    outline: none;
}

.mfp_element_submit,
.mfp_element_reset,
.mfp_element_button {
    padding: 0.5em 3em;
    box-sizing: border-box;
    background: none;
    background-color: #ff7a00;
    box-shadow: none;
    color: #fff;
    font-size: 18px;
    text-shadow: 0px 2px 0px #00564d;
}

.mfp_element_submit:hover,
.mfp_element_reset:hover,
.mfp_element_button:hover {
    background: none;
    background-color: #ff9331;
    box-shadow: none;
}


div.mfp_err {
    padding: 0.5em 0px 0.5em 1em;
    background: none;
}

.problem {
    border: 1px solid #ffd5dc;
    background-color: #ffd5dc;
}

.must,
.no_must{
    display: block;
    padding: 0px 1em;
    border-radius: 4px;
    background: none;
    box-shadow: none;
    text-shadow: none;
    color: #fff;
    font-size: 10px;
    line-height: 1.5;
}

.must {
    border: 1px solid #c60505;
    background-color: #c60505;
}

.no_must {
    border: 1px solid #fc0;
    background-color: #fc0;
}

@media screen and (max-width: 767px) {
    form#mailformpro dl dt,
    form#mailformpro dl dd {
        padding: 1em;
        width: 100%;
    }
    .must,
    .no_must {
        margin: 2px 2em 0px 0px;
    }
}

@media print, (min-width: 768px) {
    form#mailformpro dl {
        display: flex;
        flex-wrap: wrap;
    }
    form#mailformpro dl dt {
        float: none;
        padding: 2em 0px;
        width: 280px;
    }
    form#mailformpro dl dd {
        padding: 2em 2em 2em 0px;
        width: calc(100% - 280px);
    }
    .mfp_element_text,
    .mfp_element_number,
    .mfp_element_select-one,
    .mfp_element_email,
    .mfp_element_tel,
    .mfp_element_textarea {
        max-width: 500px;
    }
    .must,
    .no_must {
        margin: 2px 2em 0px;
    }
}

.bx-wrapper {
    background-color: transparent;
    margin: 0px auto 0px;
    border: none;
    box-shadow: none;
}
.bx-wrapper img {
    display: block;
    margin: 0px auto;
}

.bx-wrapper .bx-pager.bx-default-pager a {
    background: #c9e2ff;
}

.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus {
    background: #012065;
}
