subMenu2@charset "utf-8";

/*********************************************************
基本設定
*********************************************************/


/*
見出し
*********************************************************/

h1 {
}

/*ページタイトル*/
h2 {
    clear: both;
    background: url(../images/common/h2bg.jpg) center center no-repeat;
    background-size: cover;
    text-align: center;
    font-weight: bold;
    color: #fff;
    font-size: 1.6em;
    line-height: 1.2em;
    padding: 20px 0;
}

h2 span {
    display: block;
    font-size: 0.7em;
    line-height: 1em;
}

/*タイトル*/
h3 {
    clear: both;
    text-align: center;
    font-weight: bold;
    color: #222;
    font-size: 1.6em;
    line-height: 1.2em;
    margin-bottom: 20px;
}

h3 span {
    display: block;
    color: #2f62ad;
    font-size: 0.7em;
    line-height: 1em;
}

h3.h3-patternB {
    text-align: left;
    border-left: #2f62ad solid 3px;
    padding-left: 10px;
    padding-top: 5px;
}

h3.h3-patternB span {
    display: inline-block;
    color: #2f62ad;
    font-size: 0.7em;
    line-height: 1em;
    margin-left: 10px;
}

h3.h3bgImg {
    background: url(../images/common/h2bg.jpg) center center no-repeat;
    background-size: cover;
    padding: 20px 0;
    color: #fff;
    margin-bottom: 0;
}

h3.h3bgImg span {
    color: #fff;
}

h3.h3bgGray {
    background: #f7f7f7;
    padding: 20px 0;
    margin-bottom: 0;
}


/*サブタイトル*/
h4 {
    clear: both;
    display: block;
    background: #2f62ad;
    color: #fff;
    font-weight: bold;
    font-size: 1.2em;
    line-height: 1.3em;
    text-decoration: none;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    padding: 10px;
    margin-bottom: 20px;
}

/*bgGray*/
h5 {
    clear: both;
    display: block;
    background: #666666;
    color: #fff;
    font-weight: bold;
    padding: 10px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    margin-bottom: 20px;
}

/*underline*/
h6 {
    clear: both;
    display: block;
    border-bottom: 2px solid #ddd;
    font-weight: bold;
    padding: 10px;
    margin-bottom: 20px;
}

/*TABLET*/
@media only screen and (min-width: 600px) {
    h2 {
        font-size: 1.8em;
        line-height: 1.2em;
        padding: 40px 0;
    }

    h3 {
        font-size: 1.8em;
        line-height: 1.2em;
    }

    h3.h3-patternB {
        border-left: #2f62ad solid 5px;
        padding-left: 20px;
    }

    h3.h3bgImg {
        padding: 40px 0;
    }

    h3.h3bgGray {
        padding: 40px 0;
    }

}

/*PC*/
@media only screen and (min-width: 1025px) {
    h2 {
        font-size: 2em;
        line-height: 1.2em;
        padding: 80px 0;
    }

    h3 {
        font-size: 1.6em;
        line-height: 1.2em;
        margin-bottom: 30px;
    }

    h4 {
        padding: 20px;
        margin-bottom: 40px;
    }
}

/*IE*/
@media all and (-ms-high-contrast: none) {
}


/*
メイン-コンテンツ
*********************************************************/

.contents {
    padding: 30px 0;
}

.contents2 {
    padding: 0 0 30px;
}

.contents.topProductsWrap {
    border-top: #ccc solid 1px;
    padding-bottom: 0;
}

/*TABLET*/
@media only screen and (min-width: 600px) {
    .contents {
        padding: 40px 0;
    }

    .contents2 {
        padding: 0 0 40px;
    }

    .contents.topProductsWrap {
        padding-top: 30px;
    }
}

/*PC*/
@media only screen and (min-width: 1140px) {
    .contents {
        padding: 60px 0 0;
    }

    .contents2 {
        padding: 0 0 60px;
    }

    .contents.topProductsWrap {
        border-top: none;
    }
}

.expImg {
    margin: auto;
}

/*サブメニュー***********************************************/
.subMenu {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
}

.subMenu p {
    flex: auto;
    align-self: stretch;
    margin: 4px 1%;
    min-width: 30%;
    flex-basis: 0; /*ベースの幅*/
}

.subMenu a {
    position: relative;
    display: block;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    font-size: 0.82em;
    line-height: 1.2em;
    color: #222;
    padding: 10px 2px;
    border: #dddddd solid 1px;
    background: #ffffff;
    background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#efefef));
    background: linear-gradient(0deg, #ffffff 0%, #efefef 100%);
    background: -moz-linear-gradient(top, #ffffff 0%, #efefef 100%);
    background: -o-linear-gradient(top, #ffffff 0%, #efefef 100%);
    background: -webkit-linear-gradient(top, #ffffff 0%, #efefef 100%);
    background: -ms-linear-gradient(top, #f7f7f7, #dddddd); /* IE */
    filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#ffffffff, EndColorStr=#ffefefef);
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}

.subMenu a:hover,
.subMenu a:active {
    background: #efefef;
    color: #cc0000;
}

/*TABLET*/
@media only screen and (min-width: 600px) {
    .subMenu {
        flex-direction: row;
    }

    .subMenu p {
        margin: 4px 0.5%;
    }

    .subMenu a {
        font-size: 1em;
        line-height: 1.2em;
    }
}

/*PC*/
@media only screen and (min-width: 1025px) {
    .subMenu p {
        min-width: 15%;
    }
}

/* 指定列数で並べる場合（オプション） */
.subMenu.cols-2 p { min-width: 48%; }
.subMenu.cols-3 p { min-width: 30%; }
.subMenu.cols-4 p { min-width: 23%; }
.subMenu.cols-5 p { min-width: 18%; }
.subMenu.cols-6 p { min-width: 15%; }

/*サブメニュー2段***********************************************/
.subMenu2 {
    position: relative;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    font-size: 0.9em;
    line-height: 1.2em;
    color: #222;
    padding: 10px;
    border: #dddddd solid 2px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
}

.subMenu2 > * {
    padding: 0 10px;
    border-right: #666 solid 1px;
    margin: 5px 0;
}

.subMenu2 > *:first-child {
    border-left: #666 solid 1px;
}

/*PC*/
@media only screen and (min-width: 1025px) {
    .subMenu2 {
        padding: 20px;
    }
}

/***ボタン********************************************/
.btn a {
    clear: both;
    display: block;
    width: 300px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    background: #2f62ad;
    color: #fff;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    padding: 20px 2px;
}

.btn a:hover,
.btn a:active {
    background: #123d7c;
}

.table_sticky table .btn a {
    width: 130px;
    font-size: 14px;
    padding: 10px 2px;
}

@media only screen and (min-width: 1025px) {
    .table_sticky table .btn a {
        padding: 16px 2px;
    }
}

/*PDFボタン*/
/*<p class="btnPDF"><a href="" target="_blank"><span>企業概要</span><i class="fa-regular fa-file-pdf">画面を開く</i></a></p>*/
/*画像ボタン*/
/*<p class="btnPDF"><a href="" class="popup-image"><i class="fa-regular fa-image"></i>画面を開く</a></p>*/
a .btnPDF,
.btnPDF a {
    display: block;
    height: 100%;
    background-color: #fff;
    border: #dddddd solid 2px;
    text-align: center;
    text-decoration: none;
    color: #222;
    font-weight: bold;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    padding: 10px 5px;
}

a .btnPDF i,
.btnPDF a i {
    margin-right: 5px;
    color: #c00;
}

a .btnPDF span,
.btnPDF a span {
    display: block;
    font-size: 0.8em;
    color: #666;
}

a:hover .btnPDF,
a:active .btnPDF,
.btnPDF a:hover,
.btnPDF a:active {
    background: #f7f7f7;
    color: #c00;
}

/*PC*/
@media only screen and (min-width: 1025px) {
    a .btnPDF,
    .btnPDF a {
        padding: 16px 10px;
    }
}

/*********************************************************/
.boxShadow {
    box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -o-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
}

/*バナー横並レイアウト********************************************************/
.bn2Type li {
    float: left;
    margin-right: 2%;
    width: 49%;
}

.bnType li:nth-child(2) {
    margin-right: 0;
}

.bn3Type li {
    float: left;
    margin-right: 2%;
    width: 32%;
}

.bn3Type li:nth-child(3) {
    margin-right: 0;
}


/*listカードレイアウト：デザイン1********************************************************/
.listBoxDesign1 {
}

.listBoxDesign1 li {
    border: 1px solid #ddd;
    border-radius: 7px; /* CSS3対応 */
    -webkit-border-radius: 7px; /* Safari,Google Chrome用 */
    -moz-border-radius: 7px; /* Firefox用 */
    padding: 15px;
}


/*secondMaiinImg******************************************/

.secondMaiinImg {
}

.secondMaiinImg > *:last-child {
    margin-bottom: 0 !important;
}

.secondMaiinImg .iL-tR {
    position: relative;
}

.secondMaiinImg .iR-tL {
    position: relative;
}

.secondMaiinImg p img {
    width: 100%;
}

.secondMaiinImg div.streetView {
    position: relative;
    width: 100%;
    padding-top: 53.33333%;
}

.secondMaiinImg div.streetView iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    vertical-align: bottom;
}

.secondMaiinImg dl {
    background: rgba(238, 238, 238, .9);
    padding: 20px;
}

.secondMaiinImg dt {
    border-left: #2f62ad solid 3px;
    padding-left: 10px;
    font-weight: bold;
    font-size: 1.6em;
    line-height: 1.4em;
    margin-bottom: 10px;
}


/*TABLET*/
@media only screen and (min-width: 600px) {
    .secondMaiinImg dl {
        padding: 30px;
    }

    .secondMaiinImg dt {
        padding-left: 20px;
        margin-bottom: 20px;
    }

}

/*PC*/
@media only screen and (min-width: 1025px) {
    .secondMaiinImg p {
        width: 62.5%;
    }

    .secondMaiinImg div.streetView {
        width: 62.5%;
        padding-top: 400px;
    }

    .secondMaiinImg dl {
        position: absolute;
        bottom: 50%;
        z-index: 1;
        -webkit-transform: translateY(50%);
        -ms-transform: translateY(50%);
        transform: translateY(50%);
        border-radius: 10px;
        -moz-border-radius: 10px;
        -webkit-border-radius: 10px;
        max-width: 50%;
    }

    .secondMaiinImg .iL-tR dl {
        right: 0;
    }

    .secondMaiinImg .iR-tL dl {
        left: 0;
    }

    .secondMaiinImg .iR-tL p {
        margin-left: 37.5%;
    }
}

/*IE*/
@media all and (-ms-high-contrast: none) {
}

/*テキスト中央から左寄せ******************************************/
.txtCtoL {
    text-align: left;
    line-height: 1.4em;
}

/*PC*/
@media only screen and (min-width: 1025px) {
    .txtCtoL {
        text-align: center;
    }
}


/*
ヘッダー
*********************************************************/
#header {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    height: 54px; /*8+8+38*/
    clear: both;
    float: none;
    padding: 8px 100px 8px 0;
    background-color: #fff;
    box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -o-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);

}

#header .logo {
    display: inline-block;
    position: relative;
    z-index: 200;
}

.logo img {
    max-height: 38px;
}

/*
.h-mail{display:none;}
*/
.h-mail {
    display: block;
    position: fixed;
    top: 2px;
    right: 54px;
    width: 50px;
    height: 50px;
    z-index: 201;
}

.h-mail a {
    display: block;
    position: relative;
    height: 100%;
    color: #fff;
    background: #319041;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    text-align: center;
    padding-top: 5px;
}

.h-mail a a:hover,
.h-mail a a:active {
    background: #1d6729;
}

.h-mail i {
    font-size: 28px;
    line-height: 1;
}


/*TABLET*/
@media only screen and (min-width: 600px) {
}

/*PC*/
@media only screen and (min-width: 1140px) {
    #header {
        padding: 14px 0;
        height: 66px; /*14+14+38*/
    }

    .h-mail {
        display: none;
    }

    /*.firstCont{ padding-top:66px;}*/

}

/*IE*/
@media all and (-ms-high-contrast: none) {
}


/*
フッター
*********************************************************/
#footer {
    /*position: absolute; wrapperの一番下に表示 */
    bottom: 0;
    left: 0;
    width: 100%;
    clear: both;
    float: none;
    background: #16407e;
}

.footerWrap {
}

.footerWrap > p {
    margin-bottom: 15px;
}

.f-logo img {
    max-height: 46px;
    margin: auto;
}

.f-tel img {
    max-height: 60px;
    margin: auto;
}

.f-sitemap {
    display: none;
}

.f-links {
    clear: both;
}

.f-links > * {
    border: rgba(255, 255, 255, 0.3) solid 3px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    text-align: center;
    width: 392px;
    max-width: 100%;
    padding: 10px;
    margin: auto;
    margin-bottom: 10px;
}

.f-links a {
    display: block;
    text-decoration: none;
    color: #fff;
}

.f-links p {
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
    padding-right: 10px;
    border-right: rgba(255, 255, 255, 0.3) dotted 3px;
}

.f-links p:last-child {
    margin-right: 0;
    padding-right: 0;
    border-right: none;
}

.f-links p a > * {
    vertical-align: middle;
}

.f-sns i {
    font-size: 2.3rem;
    line-height: 1.2em;
    margin-right: 6px;

}

.f-links a:hover,
.f-links a:active {
    color: #bac6d9;
}

.f-bn {
}

.f-bn a {
    display: block;
    background: #fff;
    padding: 10px;
    border-radius: 5px; /* CSS3対応 */
    -webkit-border-radius: 5px; /* Safari,Google Chrome用 */
    -moz-border-radius: 5px; /* Firefox用 */
}

.f-bn a img {
    margin: auto;
}


.copyright {
    background: #fff;
    padding: 30px 0;
    font-size: 0.7em;
    line-height: 1;
    color: #666;
    text-align: center;
}


/*TABLET*/
@media only screen and (min-width: 600px) {
}

/*PC*/
@media only screen and (min-width: 1140px) {
    .footerWrap {
        display: flex;
        align-items: center;
        padding-bottom: 20px;
        border-bottom: rgba(255, 255, 255, 0.3) solid 1px;
        margin-bottom: 20px;
    }

    .f-logo {
        margin-right: auto;
    }

    .f-tel {
        margin-left: 20px;
    }

    .f-sitemap {
        display: block;
    }

    .f-sitemap a {
        display: block;
        color: #fff;
        text-decoration: none;
    }

    .f-sitemap dl {
        margin-bottom: 20px;
    }

    .f-sitemap dt a {
        background-color: #517ec2;
        text-align: center;
        font-weight: bold;
        padding: 1em 2px;
        border-radius: 5px;
        -moz-border-radius: 5px;
        -webkit-border-radius: 5px;
        margin-bottom: 10px;
    }

    .f-sitemap dt a:hover,
    .f-sitemap dt a:active {
        background-color: #406bae;
    }

    .f-sitemap dd a {
        position: relative;
        border-bottom: rgba(255, 255, 255, 0.3) solid 1px;
        padding: 8px;
        font-size: 0.8em;
        line-height: 1.5em;
    }

    .f-sitemap dd a:before {
        position: absolute;
        bottom: 50%;
        -webkit-transform: translateY(50%);
        -ms-transform: translateY(50%);
        transform: translateY(50%);
        right: 8px;
        display: block;
        font-family: "Font Awesome 6 Free";
        font-weight: 900; /*solid icons*/
        content: "\f054";
    }

    .f-sitemap dd a:hover,
    .f-sitemap dd a:active {
        color: #bac6d9;
    }

    .f-mail_pc a {
        display: block;
        border: #ccc solid 3px;
        padding: 20px 2px;
        margin-bottom: 10px;
        text-align: center;
        font-weight: bold;
        font-size: 1.3em;
        line-height: 1.3em;
        border-radius: 5px;
        -moz-border-radius: 5px;
        -webkit-border-radius: 5px;
    }

    .f-mail_pc span {
        display: block;
        font-weight: 500;
        font-size: 0.6em;
        line-height: 1.3em;
    }

    .f-mail_pc a:hover,
    .f-mail_pc a:active {
        background-color: #072653;
    }

    .f-links > * {
        float: left;
        width: 49%;
        padding: 20px 10px;
        margin: 0 2% 0 0;
    }

    .f-links > *:nth-child(2n) {
        margin-right: 0;
    }
}

/*IE*/
@media all and (-ms-high-contrast: none) {
}


/*********************************************************
index
*/

/*ニュース******************************/
.newsWrap {
    position: relative;
    overflow: hidden;
}

.newsWrap:before {
    display: inline-block;
    content: '';
    position: absolute;
    right: 0;
    top: 9%;
    z-index: -1;
    width: 90%;
    border-bottom: 400px solid #deeff8;
    border-left: 100px solid transparent;
}

.newsCateList {
    text-align: center;
}

.newsCateList p {
    display: inline-block;
    margin: 0 2px;
    min-width: 70px;
}

.newsCateList p a {
    display: block;
    background: #999999;
    color: #fff;
    text-align: center;
    padding: 10px 2px;
    font-size: 1.4rem;
    line-height: 1.2em;
    text-decoration: none;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}

.newsCateList p a:hover,
.newsCateList p a:active,
.newsCateList p a.newsCateActive {
    background: #2f62ad;
}

.newsList {
}

.newsList a {
    display: block;
    text-decoration: none;
    color: #222;
}

.newsList .newsPhoto {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding: 56.25% 0 0;
}

.newsList .newsPhoto img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    object-position: center top;
    font-family: 'object-fit: cover;';
    z-index: 1;
}

.newsList .newsPhoto .newsCate {
    position: absolute;
    top: 10px;
    right: 10px;
    min-width: 75px;
    padding: 4px;
    text-align: center;
    background-color: #999;
    color: #fff;
    font-size: 1.3rem;
    line-height: 1;
    z-index: 2;
}

.newsCate1 {
    background-color: #eb9206 !important;
}

.newsCate2 {
    background-color: #44951d !important;
}

.newsCate3 {
    background-color: #5c7081 !important;
}

.newsTxt {
    padding: 10px;
}

.newsDate {
    color: #666;
    font-size: 1.3rem;
    line-height: 1.5em;
}

.newsTtl {
    position: relative;
    color: #222;
    font-weight: bold;
    padding-right: 1em;
    padding-top: 5px;
    padding-bottom: 5px;
}

a .newsTtl {
    color: #2f62ad;
}

a .newsTtl:after {
    position: absolute;
    right: 0;
    bottom: 55%;
    -webkit-transform: translateY(50%);
    -ms-transform: translateY(50%);
    transform: translateY(50%);
    font-family: "Font Awesome 6 Free";
    font-weight: 900; /*solid icons*/
    content: "\f105";
}

.newsList a:hover .newsTtl,
.newsList a:active .newsTtl {
    color: #cc0000;
}

.newsDtl {
    height: 3em; /*表示は必須*/
    font-size: 1.4rem;
    line-height: 1.5em;
    overflow-wrap: break-word; /*改行文字*/
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /*行数*/
}

/*TABLET*/
@media only screen and (min-width: 600px) {
}

/*PC*/
@media only screen and (min-width: 1140px) {
    .newsWrap:before {
        top: 13%;
        z-index: -1;
        width: 75%;
        border-bottom: 560px solid #deeff8;
        border-left: 200px solid transparent;
    }

    .newsTxt {
        padding: 20px;
    }

}

/*IE*/
@media all and (-ms-high-contrast: none) {
}


/*製品紹介***********************************************/
.topProducts {
}

.topProducts > div {
    background: #fff;
    box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -o-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
}

.topProducts a {
    display: block;
    position: relative;
    text-decoration: none;
    height: 100%;
}

.topProducts .productsImg img {
    max-width: none;
    width: 100%;
}

.topProducts .productsName {
    padding: 10px 2px;
    color: #222;
    font-weight: bold;
    text-align: center;
}

.topProducts a:hover .productsName,
.topProducts a:active .productsName {
    color: #cc0000;
}

.topProducts .productsName i {
    margin-right: 5px;
    color: #123d7c;
}

/*TABLET*/
@media only screen and (min-width: 600px) {
    .topProducts .productsName {
        padding: 20px 2px;
        font-size: 1.16em;
    }
}

/*PC*/
@media only screen and (min-width: 1140px) {
}

/*IE*/
@media all and (-ms-high-contrast: none) {
}

/*サービス***********************************************/
.topServiceWrap {
    background: url(../images/index/topServiceBg.png) center center no-repeat;
    background-size: cover;
}

.topService > div {
    background: #fff;
    box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -o-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
}

.topService a {
    display: block;
    position: relative;
    text-decoration: none;
    height: 100%;
}

.topService .serviceImg img {
    max-width: none;
    width: 100%;
}

.topService dl {
    padding: 10px;
}

.topService .serviceName {
    color: #2f62ad;
    font-weight: bold;
    margin-bottom: 5px;
}

.topService a:hover .serviceName,
.topService a:active .serviceName {
    color: #cc0000;
}

.topService .serviceComment {
    color: #222;
    font-size: 0.9em;
    line-height: 1.5em;
}

/*TABLET*/
@media only screen and (min-width: 600px) {
    .topService dl {
        padding: 15px;
    }

    .topService .serviceName {
        font-size: 1.16em;
        margin-bottom: 10px;
    }
}

/*PC*/
@media only screen and (min-width: 1140px) {
    .topService dl {
        padding: 25px;
    }
}

/*IE*/
@media all and (-ms-high-contrast: none) {
}


/*サステナビリティ***********************************************/
.topSustainabilityWrap {
    position: relative;
}

.sustainabilitySDGs img {
    margin: auto;
}

.topSustainability .btn {
}

.sustainabilityImg {
    position: relative;
    margin-top: 20px;
    padding: 0 4%;
}

.sustainabilityImg:before {
    display: inline-block;
    content: '';
    position: absolute;
    left: 0;
    top: -50px;
    z-index: -1;
    width: 100%;
    border-bottom: 220px solid #deeff8;
    border-right: 100px solid transparent;
}

/*TABLET*/
@media only screen and (min-width: 600px) {
    .sustainabilityImg:before {
        border-bottom: 320px solid #deeff8;
    }

    .sustainabilitySDGs {
        text-align: center;
    }
}

/*PC*/
@media only screen and (min-width: 1025px) {
    .sustainabilitySDGs {
        width: 50%;
        margin-left: 50%;
        text-align: left;
    }

    .topSustainabilityWrap .btn a {
        margin-right: 0;
    }

    .sustainabilityImg {
        position: absolute;
        bottom: 60px;
        width: 49%;
        padding-left: 2%;
        min-height: 400px;
    }

    .sustainabilityImg img {
        margin: auto;
    }

    .sustainabilityImg:before {
        top: 20px;
    }
}

/*IE*/
@media all and (-ms-high-contrast: none) {
}


/*topの用***********************************************/
.topRecruitWrap {
    position: relative;
    text-align: center;
}

.topRecruitWrap a {
    display: block;
    text-decoration: none;
    color: #fff;
}

.topRecruitImg img {
    max-width: none;
    width: 100%;
}

.topRecruitTtl {
    position: absolute;
    bottom: 50%;
    right: 50%;
    -webkit-transform: translate(50%, 50%) skewX(-20deg);
    -ms-transform: translate(50%, 50%) skewX(-20deg);
    transform: translate(50%, 50%) skewX(-20deg);
    width: 70%;
    max-width: 600px;
    text-align: center;
    padding: 10px;
    background-color: rgba(22, 64, 126, 0.9);
    display: inline-block;
}

a:hover .topRecruitTtl,
a:active .topRecruitTtl {
    background-color: #072653;
}

/* 各テキストを正常化する */
.topRecruitTtl p {
    display: inline-block;
    transform: skewX(20deg);
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-size: 1.2em;
    line-height: 1.2em;
}

.topRecruitTtl p span {
    display: block;
    font-size: 0.7em;
}

/*TABLET*/
@media only screen and (min-width: 600px) {
}

/*PC*/
@media only screen and (min-width: 1025px) {
    .topRecruitTtl {
        padding: 20px;
    }

    .topRecruitTtl p {
        font-size: 1.4em;
        line-height: 1.2em;
    }
}

/*IE*/
@media all and (-ms-high-contrast: none) {
}


/*********************************************************
CMS
*/
/*一覧*/
.newsList.column2-3 > * {
    float: left;
    width: 49%;
    margin-right: 2%;
    margin-bottom: 10px;
    box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -o-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
}

.newsList.column2-3 > *:nth-child(2n) {
    margin-right: 0;
}

@media only screen and (min-width: 1025px) {
    .newsList.column2-3 > * {
        width: 32%;
        margin-right: 2%;
        margin-bottom: 20px;
    }
    .newsList.column2-3 > *:nth-child(2n) {
        margin-right: 2%;
    }
    .newsList.column2-3 > *:nth-child(3n) {
        margin-right: 0 !important;
    }
}

@media only screen and (min-width: 1250px) {
    .inner > .newsList.column2-3 > * {
        width: 380px;
        margin-right: 30px;
    }
}

.newsList.column2-3:after {
    display: block;
    content: '';
    clear: both;
    height: 0;
    visibility: hidden;
}

/* ニュースアーカイブ用グリッドレイアウト - 削除（2969行目に統合） */

.CMS_data {
    display: flex;
    align-items: flex-end; /*右寄せ*/
    font-size: 0.9em;
    line-height: 1.2em;
}

.CMS_time {
    font-weight: bold;
    margin-right: auto;
}

.CMS_cate {
    margin-left: auto;
    border: #ccc solid 1px;
    padding: 10px;
    text-align: center;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}

.CMS_ttl {
}

/*h4*/

.CMS_img {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
}

.CMS_img > * {
    display: inline-block;
    height: auto;
    margin: 5px auto;
}

.CMS_kiji {
    padding: 5px;
    margin-bottom: 40px;
}

.CMS_kiji img {
    display: inline-block;
}

.CMS_kiji table {
    table-layout: auto;
    max-width: 100%;
}

/*TABLET*/
@media only screen and (min-width: 600px) {
    .CMS_img > img {
        margin: 10px auto;
    }

    .CMS_kiji {
        padding: 10px;
    }

}

/*PC*/
@media only screen and (min-width: 1025px) {
    .CMS_img > * {
        max-width: 580px;
    }
}

/*IE*/
@media all and (-ms-high-contrast: none) {
}


/*製品一覧から******************************************/
.productsList {
}

.productsList > * {
    background: #fff;
    box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -o-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
}

.productsList a {
    display: block;
    position: relative;
    height: 100%;
    color: #222;
    text-decoration: none;
}

.productsList a:hover,
.productsList a:active {
    color: #c00;
}

.productsListImg {
    position: relative;
    overflow: hidden;
    width: 100%;
    background: #f7f7f7;
    padding-top: 100%;
}

.productsListImg img {
    position: absolute;
    bottom: 50%;
    right: 50%;
    -webkit-transform: translate(50%, 50%);
    -ms-transform: translate(50%, 50%);
    transform: translate(50%, 50%);
    height: 100%;
    width: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    z-index: 1;
}

.productsListTtl,
.productsListTtl2 {
    text-align: center;
    font-weight: bold;
    font-size: 1.2em;
    line-height: 1.3em;
    padding: 10px 2px;
}

.productsListTtl:before {
    display: inline-block;
    vertical-align: middle;
    font-family: "Font Awesome 6 Free";
    font-weight: 900; /*solid icons*/
    content: "\f138";
    margin-right: 5px;
    font-size: 0.8em;
    color: #2f62ad;
}

.productsListTtl2 span {
    display: block;
    font-size: 0.75em;
    line-height: 1.4em;
    text-align: left;
    padding: 10px;
    margin-top: 10px;
    border-top: 1px dotted #ddd;
}

/*TABLET*/
@media only screen and (min-width: 600px) {
    .productsListTtl {
        padding: 15px 2px;
    }
}

/*PC*/
@media only screen and (min-width: 1025px) {
    .productsListImg {
        padding-top: 285px;
    }
}

/*IE*/
@media all and (-ms-high-contrast: none) {
}


/*製品詳細から******************************************/
.productsDtl {
}

.productsDtlImg {
}

.productsDtlTxt {
}

.productsIcon {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 10px;
}

.productsIcon p {
    font-size: 0.8em;
    line-height: 1.2em;
    font-weight: bold;
    padding: 5px;
    text-align: center;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    margin-left: 5px;
    background-color: #999;
    color: #fff;
    min-width: 70px;
}

.productsIcon p.bgOrange {
    background-color: #df7b1a;
}

/*土木*/
.productsIcon p.bgOrange2 {
    background-color: #F60;
}

/*建設機械*/

.productsIcon p.bgGreen {
    background-color: #80a831;
}

/*産業廃棄物*/
.productsIcon p.bgGreen2 {
    background-color: #4b631c;
}

/*リサイクル*/

.productsIcon p.bgBlue {
    background-color: #63a4c6;
}

/*建設関連*/
.productsIcon p.bgBlue2 {
    background-color: #4d636f;
}

/*///// 固定ページ用スタイル /////*/
.page-content {
    line-height: 1.6;
}

.page-content h1,
.page-content h2,
.page-content h3,
.page-content h4,
.page-content h5,
.page-content h6 {
    margin-top: 2em;
    margin-bottom: 1em;
}

.page-content h1:first-child,
.page-content h2:first-child,
.page-content h3:first-child,
.page-content h4:first-child,
.page-content h5:first-child,
.page-content h6:first-child {
    margin-top: 0;
}

.page-content p {
    margin-bottom: 1.5em;
}

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

.page-content ul,
.page-content ol {
    margin-bottom: 1.5em;
    padding-left: 2em;
}

.page-content li {
    margin-bottom: 0.5em;
}

.page-content blockquote {
    margin: 1.5em 0;
    padding: 1em 2em;
    border-left: 4px solid #2f62ad;
    background-color: #f8f9fa;
    font-style: italic;
}

.page-content table {
    width: 100%;
    margin-bottom: 1.5em;
    border-collapse: collapse;
}

.page-content th,
.page-content td {
    padding: 0.75em;
    border: 1px solid #ddd;
    text-align: left;
}

.page-content th {
    background-color: #f8f9fa;
    font-weight: bold;
}

/* ページネーション */
.page-links {
    margin-top: 2em;
    text-align: center;
}

.page-links .page-number {
    display: inline-block;
    margin: 0 0.5em;
    padding: 0.5em 1em;
    background-color: #2f62ad;
    color: white;
    text-decoration: none;
    border-radius: 4px;
}

.page-links .page-number:hover {
    background-color: #1e4078;
}

/* コンテンツが見つからない場合 */
.no-content {
    text-align: center;
    padding: 3em 0;
    color: #666;
}

/*セメント*/
.productsIcon p.bgBlue3 {
    background-color: #069;
}

/*透明・半透明成型*/
.productsIcon p.bgBlue4 {
    background-color: #6cf;
}

/*ガラス繊維*/

.productsIcon p.bgYellow {
    background-color: #dfb335;
}

/*金属*/
.productsIcon p.bgYellow2 {
    background-color: #FC0;
}

/*木材・竹材*/

.productsIcon p.bgPurple {
    background-color: #c742a4;
}

/*紙*/
.productsIcon p.bgPurple2 {
    background-color: #99c;
}

/*切り屑*/

.productsIcon p.bgRed {
    background-color: #c33;
}

/*断熱セラミック*/
.productsIcon p.bgRed2 {
    background-color: #C00;
}

/*金属*/

.productsIcon p.bgGray {
    background-color: #666;
}

/*再利用*/
.productsIcon p.bgGray2 {
    background-color: #333;
}

/*災害用*/
.productsIcon p.bgGray3 {
    background-color: #ddd;
    color: #222;
}

/*一般的*/

.productsIcon p.bgBrown {
    background-color: #963;
}

/*直接製品*/
.productsIcon p.bgBrown2 {
    background-color: #630;
}

/*その他用*/

.productsIconImg img {
    display: inline;
}

.btnIn {
    display: block;
    text-decoration: none;
}


/*TABLET*/
@media only screen and (min-width: 600px) {
}

/*PC*/
@media only screen and (min-width: 1025px) {
    .productsIcon {
        justify-content: flex-end;
    }
}

/*IE*/
@media all and (-ms-high-contrast: none) {
}


/*********************************************************
2nd
*/

/*製品ページ（製品カードレイアウト）
*******************/
.features {
}

.features li {
    border: 3px solid #2f62ad;
    padding: 15px;
    position: relative;
    border-radius: 10px; /* CSS3対応 */
    -webkit-border-radius: 10px; /* Safari,Google Chrome用 */
    -moz-border-radius: 10px; /* Firefox用 */
}

.features li span {
    display: block;
    text-align: center;
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    color: #2f62ad;
    background: #fff;
    padding: 0 10px;
    font-weight: bold;
}

.features li span i {
    font-weight: normal;
}

div.vid_contents {
    width: 100%; /*背景色が変わらないように広くする*/
    text-align: center;
    margin: auto;
    padding: 0; /*上下で画像の時の余白を調整*/
    background: #e6e6e6; /*余白の背景色*/
}

video.vid_main {
    width: 100%;
    max-width: 920px; /*PCでの最大幅*/
}

/*PC*/
@media only screen and (min-width: 1025px) {
    .features li {
        padding: 30px;
    }
}

/**HARDOX
**************************/
.hardoxRead {
    text-align: center;
    padding: 50px 0;
    font-size: 1.4em;
    font-weight: bold;
    line-height: 1.6em;
}


/*********************************************************
お見積り・カタログ
*/
.orderWrap {
}

.order_l {
    float: left;
    width: 30%;
}

.order_r {
    float: right;
    width: 68%;
}

.order_l img {
    margin: auto;
    box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -o-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
}

.order_r {
    margin-bottom: 20px;
}

@media only screen and (min-width: 600px) {
    .order_l {
        float: left;
        width: 20%;
    }

    .order_r {
        float: right;
        width: 78%;
    }
}


.catalogWrap {
}

.catalogWrap > * {
    padding: 10px;
    box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -o-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
}

.catalogWrap a {
    display: block;
    color: #222;
    text-decoration: none;
}

.catalogImg {
    float: left;
    width: 30%;
}

.catalogWrap dl {
    float: right;
    width: 66%;
}

.catalogWrap dt {
    background: #f7f7f7;
    font-weight: bold;
    margin-bottom: 10px;
    padding: 10px;
    font-size: 1.1em;
}

/*PC*/
@media only screen and (min-width: 1025px) {
    .catalogWrap > * {
        padding: 20px;
    }

}


/*********************************************************
��Џ��
*/
.philosophy,
.motto {
    max-width: 800px;
    margin: auto;
    background: #f7f7f7;
    padding: 30px 5px;
    text-align: center;
    /*���� ���E���E�ڂ����E�L����E�F*/
    box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -o-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.3);
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
}

.philosophy dt {
    font-family: "��������", "YuMincho", "������", "Yu Mincho", "�q���M�m���� ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "�q���M�m���� ProN", "Hiragino Mincho ProN", "�q���M�m���� Pro", "Hiragino Mincho Pro", "HGS����E", "�l�r �o����", "MS PMincho", serif;
    font-size: 1.4em;
    line-height: 1.2em;
    font-weight: bold;
    margin-bottom: 20px;
}

.motto ul {
    display: inline-block;
    text-align: left;
}

.motto p {
    font-family: "��������", "YuMincho", "������", "Yu Mincho", "�q���M�m���� ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "�q���M�m���� ProN", "Hiragino Mincho ProN", "�q���M�m���� Pro", "Hiragino Mincho Pro", "HGS����E", "�l�r �o����", "MS PMincho", serif;
    font-size: 1.2em;
    line-height: 1.6em;
    font-weight: bold;
    margin-bottom: 10px;
}


/*TABLET*/
@media only screen and (min-width: 600px) {
    .philosophy dt {
        font-size: 1.8em;
        line-height: 1.2em;
    }
}

/*PC*/
@media only screen and (min-width: 1025px) {
    .philosophy,
    .motto {
        padding: 50px 20px;
    }

    .philosophy dt {
        font-size: 1.6em;
        line-height: 1.2em;
        margin-bottom: 10px;
    }

    .motto {
        font-size: 1.4em;
        line-height: 1.2em;
    }
}

@media all and (-ms-high-contrast: none) {
    .philosophy dt,
    .motto li {
        /* �A���`�G�C���A�X��L���ɂ��������v�f�Ɏw�� */
        -webkit-transform: rotate(.028deg);
        -ms-transform: rotate(.028deg);
        transform: rotate(.028deg);
    }
}

/*沿革************************************/

.historyWrap {
    position: relative;
    margin-left: 20px;
}

.historyGroup {
    position: relative;
    padding-bottom: 20px;
}

.historyGroup:after {
    content: "";
    display: block;
    width: 0;
    height: 100%;
    position: absolute;
    top: 24px;
    left: 8px;
    border-left: 2px solid #F6F6F6;
    z-index: 1;
}

.historyYear {
    position: relativel;
    width: auto;
    padding-left: 30px;
    font-size: 2em;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 10px;
}

.historyYear:after {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    border: 4px solid #FF0000;
    background-color: #ffffff;
    border-radius: 9px;
    position: absolute;
    top: 5px;
    left: 0;
    z-index: 2;
    box-sizing: border-box;
}

.historyEvent {
    padding-left: 30px;
}

.historyImg {
    display: block;
    margin-top: 5px;
    max-width: 200px;
}

.historyImg img {
    max-height: 200px;
}

@media only screen and (min-width: 1025px) {
    .historyGroup {
        padding-bottom: 60px;
    }

    .historyGroup:after {
        left: 200px;
    }

    .historyYear {
        padding: 0;
        font-size: 3em;
        line-height: 1;
        font-weight: 500;
    }

    .historyYear:after {
        left: 192px;
        top: 16px;
    }

    .historyEvent {
        padding-left: 240px;
        margin-top: -44px;
    }
}


/*SDGs取り組み*/
.sdgsWrap {
    position: relative;
}

.sdgsWrap .sustainabilityImg {
    padding: 0;
    padding-bottom: 20px;
    min-height: inherit;
}

.sdgsWrap .sustainabilityImg:before {
    top: 0;
}

.sdgsTxt {
    border-bottom: #999 dotted 1px;
    padding: 15px 0;
}

.sdgsTxt span {
    display: block;
    float: left;
    width: 20%;
    max-width: 160px;
    margin-right: 2%;
}

/*PC*/
@media only screen and (min-width: 1025px) {

    .sdgsWrap .sustainabilitySDGs {
        margin: 0;
        float: right;
    }

    .sdgsWrap .sustainabilityImg {
        position: relative;
        bottom: inherit;
        top: 0;
        float: left;
        width: 48%;
        margin: 0;
        padding: 0;
    }
}


/*********************************************************
�p���������@
*/
.accordionDtl dt {
    font-weight: bold;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px dotted #ddd;
}

.accordionDtl li {
    margin-bottom: 10px;
}

.listTable li {
    display: inline;
    margin-right: 20px;
}

.listTable li a {
    display: inline-block;
    text-decoration: none;
}

.listTable li i {
    margin-right: 10px;
}


.pageContact {
}

.pageContact li {
    padding: 20px;
    text-align: center;
    border-radius: 7px; /* CSS3対応 */
    -webkit-border-radius: 7px; /* Safari,Google Chrome用 */
    -moz-border-radius: 7px; /* Firefox用 */
    font-size: 1.3em;
    font-weight: bold;
    line-height: 1em;
    background: #f7f7f7;
}

.pageContact li span {
    display: block;
    font-size: 1.5em;
    padding: 10px 0;
    color: #2f62ad;
}


/*********************************************************
�R���e�i�ʒu���V�X�e��
*/
.boxRayout li {
    padding: 20px;
    text-align: center;
    border-radius: 7px; /* CSS3対応 */
    -webkit-border-radius: 7px; /* Safari,Google Chrome用 */
    -moz-border-radius: 7px; /* Firefox用 */
    background: #EAF1F9;
    font-size: 1.2em;
    font-weight: bold;
}


/*********************************************************
�������v�����g
*/
.plantNo {
    text-align: center;
    font-size: 0.8em;
    font-weight: bold;
    margin-bottom: 30px;
    line-height: 1em;
}

.plantNo span {
    display: block;
}

.plantNo span:nth-child(1),
.plantNo span:nth-child(2) {
    margin-right: 0;
    margin-bottom: 5px;
}

.plant .listBoxDesign1 dt {
    font-weight: bold;
}

.makerList li {
    display: inline-block;
    margin-right: 10px;
}

.makerList li:last-child {
    margin-right: 0;
}

.device {
}

.device dt {
    margin-bottom: 10px;
}

.device dd {
    text-align: center;
}

.device li a {
    display: block;
}

.plantFloatTxt img {
    margin-bottom: 15px;
}

.plantFloatTxt {
    margin-bottom: 30px;
}

.plantFloatTxt span {
    display: block;
    margin-bottom: 10px;
    font-weight: bold;
}

/*TABLET*/
@media only screen and (min-width: 600px) {
    .plantNo {
        font-size: 0.5em;
    }

    .plantNo span {
        display: inline-block;
    }

    .plantNo span:nth-child(1),
    .plantNo span:nth-child(2) {
        margin-right: 15px;
    }
}

/*PC*/
@media only screen and (min-width: 1025px) {
    .plantNo {
        font-size: 0.8em;
        margin-bottom: 50px;
    }

    .plantFloatTxt img {
        margin-bottom: 30px;
    }
}


/*********************************************************
�������P�����݃`�[���F�A�X�x�X�g
*/
.sprtList li span {
    display: block;
    text-align: center;
    color: #fff;
    background: #222;
    padding: 10px 0;
    line-height: 1em;
    font-size: 0.8em;
}

.sprtList li img {
    margin: auto;
}

.expTxt span {
    display: block;
    width: 45%;
    margin-bottom: 10px;
    text-align: center;
    color: #222;
    background: #ddd;
    line-height: 1em;
    padding: 5px;
    font-size: 0.9em;
}

.reference {
    padding: 15px;
    border: 1px solid #ccc;
    border-radius: 5px; /* CSS3対応 */
    -webkit-border-radius: 5px; /* Safari,Google Chrome用 */
    -moz-border-radius: 5px; /* Firefox用 */
    font-size: 0.8em;
    line-height: 1.2em;
}

/*PC*/
@media only screen and (min-width: 1025px) {
    .expTxt span {
        width: 20%;
    }
}


/*********************************************************
PCB
*/
.law6 dt {
    padding: 10px 0;
    margin-bottom: 10px;
    line-height: 1.4em;
    font-weight: bold;
    color: #2f62ad;
    text-align: center;
    font-size: 0.9em;
    border-bottom: 1px dashed #ccc;
}

.law6 dd {
    font-size: 0.8em;
}

.law6 dd ul {
    margin-bottom: 10px;
}

.law6 dd p {
    padding: 10px;
    background: #f7f7f7;
}

.pref {
    font-size: 0.8em;
    text-align: center;
    line-height: 1.2em;
}

/*PC*/
@media only screen and (min-width: 1025px) {
    .pref {
        font-size: 1em;
    }
}


/*********************************************************
���⍇���t�H�[��
*/
.contactPlate {
    margin-bottom: 40px;
    display: flex; /* �t���b�N�X�{�b�N�X�ɂ��� */
    align-items: stretch;
    /* 縦位置：大きい要素に高さを合わせる */
    justify-content: space-between; /* 横位置：最初と最後を左右・残りは中央出す */
}

.contactPlate > div {
    background: #f7f7f7;
    width: 49%;
    margin-right: 2%;
    text-align: center;
    border-radius: 7px; /* CSS3対応 */
    -webkit-border-radius: 7px; /* Safari,Google Chrome用 */
    -moz-border-radius: 7px; /* Firefox用 */
    padding: 25px;
    font-weight: bold;
    position: relative;
}

.contactPlate > div:last-child {
    margin-right: 0;
}

.contactPlate p a {
    position: absolute;
    bottom: 30px;
    left: auto;
    right: auto;
}

.contactPlate > div ul {
    width: 80%;
    margin: auto;
    text-align: left;
}

.contactPlate dt {
    font-size: 1.4em;
    margin-bottom: 10px;
}

.contactPlate dd a {
    text-decoration: none;
    font-size: 1.8em;
    color: #C00 !important;
}


/*********************************************************
�E�����R���e�i
*/
.jiko {
    display: block;
    align-items: none;
    justify-content: none;
    border: 3px solid #ddd;
    background: #f7f7f7;
    padding: 20px;
}

.jiko > p {
    width: 100%;
    margin-right: 0;
    margin-bottom: 15px;
}

.jiko > p img {
    margin: auto;
}

.jiko > div {
    width: 100%;
}

.jiko > div p:first-child {
    font-size: 1.4em;
    font-weight: bold;
    color: #2f62ad;
    margin-bottom: 10px;
    line-height: 1.2em;
    width: 100%;
}

.jiko > div p:last-child {
    font-size: 1em;
    line-height: 1.4em;
    width: 100%;
}

/*PC*/
@media only screen and (min-width: 1025px) {
    .jiko {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding: 50px;
    }

    .jiko > p {
        width: 30%;
        margin-right: 5%;
    }

    .jiko > div {
        width: 65%;
    }

    .jiko > div p:first-child {
        font-size: 1.6em;
        margin-bottom: 20px;
        line-height: 1.6em;
    }

    .jiko > div p:last-child {
        font-size: 1.3em;
        line-height: 2em;
    }
}


/*********************************************************
����X�y�[�X
*/
.movieBox {
    display: block;
    align-items: none;
    justify-content: none;
    width: 100%; /*背景色が変わらないように広くする*/
    margin: 0 auto 40px;
    padding: 20px;
    background: #f7f7f7;
}

.movieBox div {
    width: 100%;
}

.movieBox div:first-child {
    margin-bottom: 20px;
}

video.vid_main {
    width: 100%;
}

.movieBox video {

}

/*PC*/
@media only screen and (min-width: 1025px) {
    .movieBox {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }

    .movieBox div {
        width: 48%;
    }

    .movieBox div:first-child {
        margin-bottom: 0;
    }
}


.topReadTxt {
    text-align: center;
    color: #fff;
    font-size: 2.3em;
    font-weight: bold;
    margin: auto;
    background: #2f62ad;
    margin: 0 auto;
    padding: 40px 0;
}

.BtnPdfLink {
    display: block;
    margin: auto;
    color: #fff;
    padding: 20px;
    width: 50%;
    background: #16407e;
    text-align: center;
    text-decoration: none;
    font-size: 1.4em;
    font-weight: bold;
    border-radius: 7px; /* CSS3対応 */
    -webkit-border-radius: 7px; /* Safari,Google Chrome用 */
    -moz-border-radius: 7px; /* Firefox用 */
}


/*********************************************************

*/


/*TABLET*/
@media only screen and (min-width: 600px) {
}

/*PC*/
@media only screen and (min-width: 1025px) {
}

/*IE*/
@media all and (-ms-high-contrast: none) {
}

/*---------------------------------------------------------------------------------------------------- �� mainVisual */
.mainVisualWrap {
    width: 100%;
    height: 650px;
    position: relative;
    background-color: #070f34;
    /*margin-top:113px;*/
}

.mainVisualWrap_txt {
    z-index: 999;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    width: 60%;
}

.mainVisualWrap_txt span {
    display: block;
    background: #1c3e7e;
    padding: 20px;
    text-align: center;
    color: #fff;
    font-size: 2.0em;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.2em;
}

.mainVisual {
    width: 100%;
    height: 650px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.mainVisual_left,
.mainVisual_center,
.mainVisual_right {
    position: relative;
    overflow: hidden;
}

.mainVisual_left {
    width: 43.75%;
}

.mainVisual_center {
    width: 28.90625%;
}

.mainVisual_right {
    width: 27.34375%;
}

.swiper-mainVisual_left,
.swiper-mainVisual_right {
    width: 100%;
    height: 650px;
}

.swiper-mainVisual_center_top,
.swiper-mainVisual_center_bottom {
    width: 100%;
    height: 325px;
}

.swiper-mainVisual_left .swiper-slide,
.swiper-mainVisual_center_top .swiper-slide,
.swiper-mainVisual_center_bottom .swiper-slide,
.swiper-mainVisual_right .swiper-slide {
    position: relative;
    overflow: hidden;
}

.swiper-mainVisual_left .swiper-slide img,
.swiper-mainVisual_center_top .swiper-slide img,
.swiper-mainVisual_center_bottom .swiper-slide img,
.swiper-mainVisual_right .swiper-slide img {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
}

.sinceImg {
    position: absolute;
    top: 130px;
    left: 210px;
    z-index: 9999;
}

@media screen and (max-width: 1200px) {
    .mainVisual_left {
        width: 70%;
    }

    .mainVisual_center {
        width: 30%;
    }

    .mainVisual_right {
        display: none;
    }

    .sinceImg {
        top: 115px;
        left: 150px;
    }

    .sinceImg img {
        width: 90%;
    }
}

@media screen and (max-width: 768px) {
    .mainVisualWrap {
        height: 100vh;
        min-height: inherit;
    }

    .mainVisual {
        height: 100vh;
        min-height: inherit;
        display: block;
    }

    .sinceImg {
        top: 250px;
        left: 100px;
    }

    .mainVisualWrap_txt span {
        padding: 25px;
        font-size: 1.8em;
    }

    .mainVisual_left {
        width: 100%;
    }

    .mainVisual_center {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .mainVisual_center_top,
    .mainVisual_center_bottom {
        width: 50%;
    }

    .swiper-mainVisual_left {
        height: 70vh;
        min-height: inherit;
    }

    .swiper-mainVisual_center_top,
    .swiper-mainVisual_center_bottom {
        height: 30vh;
        min-height: inherit;
    }

    .sinceImg {
        top: 150px;
        left: 60px;
    }

    .sinceImg img {
        width: 80%;
    }
}

.text-slide-in span {
    -webkit-animation: text-slide-in 0.5s linear forwards;
    animation: text-slide-in 0.5s linear forwards;
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
}

@-webkit-keyframes text-slide-in {
    0% {
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0);
    }
    100% {
        -webkit-clip-path: inset(0);
        clip-path: inset(0);
    }
}

@keyframes text-slide-in {
    0% {
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0);
    }
    100% {
        -webkit-clip-path: inset(0);
        clip-path: inset(0);
    }
}

.imgWrap3 {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-around;
    margin-bottom: 30px;
}

.imgWrap3 p {
    width: 32%;
}


@media only screen and (min-width: 1025px) {
    .table_sticky > div.table_sticky_scroll {
        overflow-y: auto !important;
        overflow-x: auto !important;
    }
}



.contents.no-padding { padding: 0 !important; }

.delivery-case-single { margin-bottom: 60px; }
.delivery-case-number { font-weight: 700; margin-bottom: 10px; }
.delivery-case-title { margin-bottom: 20px; }
.delivery-case-thumb { margin-bottom: 30px; }
.delivery-case-thumb img { width: 100%; height: auto; }
.delivery-case-section { margin-bottom: 40px; }
.delivery-case-video-embed iframe { width: 100%; max-width: 100%; }
.delivery-case-body { margin-top: 40px; }

/* News templates */
.newsList--archive {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.news-item {
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    overflow: hidden;
}

.news-item__link {
    color: inherit;
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
}

.newsPhoto {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding-top: 56.25%;
    background-color: #f5f5f5;
}

.newsPhoto img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.newsPhoto--placeholder {
    background: repeating-linear-gradient(45deg, #f2f2f2, #f2f2f2 10px, #e6e6e6 10px, #e6e6e6 20px);
}

.newsCateDefault {
    background-color: #666;
}

.newsTxt {
    padding: 16px;
    background: #fff;
    flex: 1;
}

.newsTxt .newsDate {
    font-size: 1.3rem;
    margin-bottom: 6px;
    color: #555;
}

.newsTxt .newsTtl {
    font-size: 1.6rem;
    margin-bottom: 6px;
}

.newsTxt .newsDtl {
    font-size: 1.4rem;
    color: #555;
    line-height: 1.5;
}

.newsCateList .newsCateActive {
    background: #2f62ad;
}

.news-empty {
    text-align: center;
    margin: 40px 0;
}

.newsSingleTitle {
    font-size: 2rem;
    margin-bottom: 20px;
}

.newsSingleThumb img {
    width: 100%;
    height: auto;
}

.newsSingleContent {
    font-size: 1.5rem;
    line-height: 1.8;
}

.newsSingleMeta {
    margin-top: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.newsSingleTerms__label {
    font-weight: bold;
    margin-right: 8px;
}

.newsSingleTerms__items a {
    display: inline-block;
    margin-right: 8px;
    margin-bottom: 4px;
    padding: 4px 10px;
    border-radius: 4px;
    color: #fff;
    font-size: 1.2rem;
}

.newsSingleNav {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.newsSingleNav__prev,
.newsSingleNav__next {
    font-size: 1.4rem;
    color: #2f62ad;
}

@media screen and (max-width: 767px) {
    .newsList--archive {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .newsTxt {
        padding: 12px;
    }
}

/* Responsive YouTube embeds */
.wp-block-embed-youtube iframe,
.wp-block-embed__wrapper iframe {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}


.p-postal-code {
    width: 30% !important;
}


/* scroll-margin-topを削除: JavaScriptで100pxオフセットを適用 */

/*reset*/
ul,li{
	margin:0;
	padding:0;
}

/********************
ページ番号
********************/
ul.pager {
	  text-align:center;
	    letter-spacing:-0.4em;
        margin:30px 0;
	}
ul.pager li {
	display:inline-block;
	letter-spacing:normal;
	list-style: none;
	margin:0 2px;
	}

ul.pager li a {
	display:block;
	padding:5px 10px;
	text-decoration:none;
	background:#517ec2;
	font-weight: bold;
	color:#fff;
}
ul.pager li.pagerActive a,
ul.pager li a:hover,
ul.pager li a:active {
	background:#16407e;
	color:#ffffff;
}
@media all and (-ms-high-contrast:none){
	ul.pager li a {padding:8px 10px 2px;}
}



.wp-block-tanik-image-text-block {
    min-height: 400px;
	margin: 40px 0px;
}