/*
Theme Name: main
Theme URI: 
Description: 
Author: ailylab
Author URI: 
Version: 1.0.0
*/

img[src=""] {
    display: block;
    position: relative;
    width: 100%;
    padding-bottom: 70%;
    border: 1px solid #eee;
}
img[src=""]:after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    font-size: 24px;
    white-space: nowrap;
    content: "※画像準備中※";
}

/****************************************
1.Setting
*****************************************/
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, address, em, img, dl, dt, dd, ol, ul, li, form, label, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figcaption, figure, footer, header, menu, nav, section, time, video {
    margin: 0px;
    padding: 0px;
    border: none;
    outline: none;
    box-sizing: border-box;
}

body {
    background-color: #f5f5f5;
    color: #232323;
    font-size: 15px;
    font-family: "Noto Sans Japanese", "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    line-height: 1.5;
}

a {
    color: #206fc0;
    text-decoration: underline;
}

a:hover {
    color: #206fc0;
}

img {
    display: block;
    max-width: 100%;
    margin: 0px auto;
}

p {
    line-height: 2;
}

.page article p {
    margin-bottom:10px;
}

p.paragraph:nth-of-type(n + 2) {
    margin: 1.5em 0px 0px;
}

figcaption {
    margin-top: 0.5em;
    text-align: center;
}

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

table th,
table td {
    padding: 10px;
    border: 1px solid #d6d6d6;
}

table th {
    background-color: #f0f0f0;
}

address {
    font-style: normal;
}

ol.list,
ul.list {
    margin: 0px 0px 0px 1.5em;
}

p + ol.list,
p + ul.list {
    margin: 0.5em 0px 0px 1.5em;
}

ol.list + p,
ul.list + p {
    margin: 0.5em 0px 0px;
}

ol.list > li + li,
ul.list > li + li {
    margin: 1em 0px 0px;
}

ol.list > li > ul,
ul.list > li > ul {
    margin: 1em 0px 0px 1.5em;
}

dl.list {
    border: 1px solid #ccc;
    border-top: none;
}

dl.list > dt,
dl.list > dd {
    padding: 1em;
    margin: 0px;
    border-top: 1px solid #ccc;
}

dl.list > dt {
    background-color: #ecf8fe;
    color: #231815;
    font-weight: bold;
}

.cf:after {
    display: block;
    clear: both;
    content: "";
}

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

#breadcrumb{
    width:92%;
    display:flex;
    margin:0px auto;
}

#breadcrumb li {
  display:inline;/*横に並ぶように*/
  list-style: none;
}

#breadcrumb li:after {/* ▶を表示*/
  font-family: "Font Awesome 5 Free";
  content: '\f0da';
  padding: 0 10px;
  color: silver;
}

#breadcrumb li:last-child:after {
  content: '';
}

#breadcrumb li a {
  text-decoration: none;
  color: #888;
}

#breadcrumb li:first-child a:before {
  /*家アイコン*/
  font-family: "Font Awesome 5 Free";
  content: '\f015';
  font-weight: normal;
  font-size: 1.1em;
  color: #f3948f;
}

#breadcrumb li a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 991px) {
    .pc {
        display: none !important;
    }
}
@media screen and (max-width: 767px) {
    .tb {
        display: none !important;
    }
}
@media screen and (min-width: 768px) {
    .mb {
        display: none !important;
    }
}

.center {
    text-align: center;
}

.blk_center {
    display: table;
    margin-left: auto;
    margin-right: auto;
}

.right {
    text-align: right;
}

.em {
    display: inline-block;
    margin: 0px 0.5em 0px 0.5em;
    transform: scaleX(1.5);
}

.text_lead {
    text-align: center;
}
.text_lead > p > span {
    display: inline-block;
}

.if_wrapper {
    position: relative;
    padding-bottom: 56.25%;
}
.if_wrapper iframe {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
}

.flex_item {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.pagination {
    display: flex;
    justify-content: center;
    margin: 60px 0px 0px;
}

.pagination > a,
.pagination > span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2em;
    height: 2em;
    margin: 0px 0.5em;
    border: 1px solid #006bbb;
    font-weight: bold;
}

.pagination > a:link,
.pagination > a:visited,
.pagination > a:active,
.pagination > a:hover {
    color: #006bbb;
    text-decoration: none;
}
.pagination > a.prev,
.pagination > a.next {
    border: 1px solid transparent;
    background-color: transparent;
}

.pagination > .current {
    background-color: #006bbb;
    color: #fff;
}

.link_prev_next {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.link_prev_next > a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 1em 60px;
    width: 80%;
    border: 1px solid #006bbb;
    text-align: center;
    text-decoration: none;
}
.link_prev_next > a:nth-of-type(2) {
    margin: 30px 0px 0px;
}
.link_prev_next > a:before {
    position: absolute;
    top: 50%;
    width: 30px;
    height: 30px;
    border-top: 1px solid #006bbb;
    border-right: 1px solid #006bbb;
    content: "";
}
.link_prev_next > a:nth-of-type(1):before {
    left: 30px;
    transform: translateY(-50%) rotate(225deg);
}
.link_prev_next > a:nth-of-type(2):before {
    right: 30px;
    transform: translateY(-50%) rotate(45deg);
}
.link_prev_next > a:hover > p:nth-of-type(2) {
    text-decoration: underline;
}

@media print, (min-width: 1200px) {
    .link_prev_next {
        justify-content: space-between;
    }
    .link_prev_next > a {
        width: 49%;
    }
    .link_prev_next > a:nth-of-type(2) {
        margin: 0px;
    }
}

.btn_link,
.btn_link_blue,
.btn_link_dl,
.btn_link_206fc0 {
    display: table;
    padding:0.5em 1em;
    margin: 30px auto 0px;
    border-radius: 2em;
    background-color: #fff;
    min-width: 16em;
    width: auto;
    color: #016dc0;
    text-align: center;
    text-decoration: none;
    transition: 0.5s;
    text-shadow:none!important;
}
.btn_link:hover{
    background-color: #016dc0;
    color: #fff;
}

.btn_link_orange{
    color: #FFF;
    text-decoration: none;
    background-color: #EF7900;
    padding: 1.5em 4em;
    border-radius: 7px;
    display: block;
    margin: 3em auto 0em;
    text-align: center;
}

.btn_link_orange:hover{
    color:#FFF;
    background-color: #EF7900;
    transition: all 0.5s;
	opacity: 0.5;
}

.btn_link_blue {
/*
    border: 1px solid #016DC0;
    background-color:#016DC0;
*/
    border: 1px solid #197503;
    background-color:#197503;
    color:#ffffff;
}
.btn_link_blue:hover {
    background-color: #fff;
/*
    background-color: #fff;
    color:#016dc0;
*/
    background-color: #fff;
    color:#197503;
}
.btn_link_blue[href*="/contact/"] {
    border: 1px solid #ef7900;
    background-color:#ef7900;
    color:#ffffff;
}
.btn_link_blue[href*="/contact/"]:hover {
    background-color: #fff;
    color:#ef7900;
}

.btn_link_dl {
    border: 1px solid #206fc0;
    background-color:#206fc0;
    color:#ffffff;
}
.btn_link_dl:hover {
    background-color: #fff;
    color:#206fc0;
}

.btn_link_206fc0 {
    border: 1px solid #206fc0;
    background-color:#206fc0;
    color:#ffffff;
    padding:1em 5em;
    font-size:18px;
    font-weight:bold;
}
.btn_link_206fc0:hover {
    background-color: #fff;
    color:#206fc0;
}

.link_mail,
.link_seikinet {
    position: relative;
}
.link_mail:before,
.link_seikinet:before {
    margin: 0px 0.5em 0px 0px;
    color: #77bfff;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.link_seikinet:before {
    content: "\f002";
}
.link_mail:before {
    content: "\f0e0";
}

.links_bg_text {
    list-style: none;
}

.links_bg_text > li {
    position: relative;
    margin: 30px auto 0px;
    width: 80%;
    height: 200px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.links_bg_text > li:nth-of-type(1) {
    background-image: url(images/etc/navi_key_about.jpg);
}
.links_bg_text > li:nth-of-type(2) {
    background-image: url(images/etc/navi_key_standard.jpg);
}
.links_bg_text > li:nth-of-type(3) {
    background-image: url(images/etc/navi_key_customize.jpg);
}
.links_bg_text > li:nth-of-type(4) {
    background-image: url(images/etc/navi_key_pullout.jpg);
}
.links_bg_text > li:nth-of-type(5) {
    background-image: url(images/etc/navi_key_fixed_key.jpg);
}
.links_bg_text > li:nth-of-type(6) {
    background-image: url(images/etc/navi_key_consulting.jpg);
}
.links_bg_text > li:nth-of-type(7) {
    background-image: url(images/etc/navi_key_product.jpg);
}
.links_bg_text > li:nth-of-type(8) {
    background-image: url(images/etc/navi_key_case.jpg);
}

.links_bg_text > li > a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    color: #fff;
    text-shadow: -2px -2px 6px #000, 2px -2px 6px #000, 2px 2px 6px #000, -2px 2px 6px #000;
    text-decoration: none;
}
.links_bg_text > li > a:hover {
    background-color: rgba(255, 255, 255, 0.2);
}

.links_bg_text > li > a > p {
    position: absolute;
    bottom: 1em;
    left: 0px;
    width: 100%;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}

.links_bg_text > li > a > p:after {
    margin: 0px 0px 0px 1em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
}

@media print, (min-width: 768px) {
    .links_bg_text {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        margin: 0px -15px;
    }
    .links_bg_text > li {
        margin: 30px 15px 0px;
        width: calc(50% - 30px);
    } 
}

@media print, (min-width: 992px) {
    .links_bg_text > li {
        width: calc(25% - 30px);
    }
}

.links_bg_text_bar {
    list-style: none;
}

.links_bg_text_bar > li {
    position: relative;
    z-index: 1;
    margin: 30px auto 0px;
    width: 80%;
    height: 200px;
    overflow: hidden;
}
.links_bg_text_bar > li:before {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 2em;
    z-index: -1;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transition: transform 0.5s;
    content: "";
}
.links_bg_text_bar > li:nth-of-type(1):before {
    background-image: url(images/top/about_01.jpg);
}
.links_bg_text_bar > li:nth-of-type(2):before {
    background-image: url(images/top/about_02.jpg);
}
.links_bg_text_bar > li:nth-of-type(3):before {
    background-image: url(images/top/about_03.jpg);
}
.links_bg_text_bar > li:nth-of-type(4):before {
    background-image: url(images/top/about_04.jpg);
}
.links_bg_text_bar > li:nth-of-type(5):before {
    background-image: url(images/top/about_05.jpg);
}
.links_bg_text_bar > li:nth-of-type(6):before {
    background-image: url(images/top/about_06.jpg);
}
.links_bg_text_bar > li:hover:before {
    transform: scale(1.2);
}

.links_bg_text_bar > li > a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.links_bg_text_bar > li > a > p {
    position: absolute;
    bottom: 0px;
    left: 0px;
    padding: 0.5em;
    width: 100%;
    background-color: #fff;
    color: #232323;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}

.links_bg_text_bar > li > a > p:after {
    margin: 0px 0px 0px 1em;
    color: #006bbb;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
}

@media print, (min-width: 768px) {
    .links_bg_text_bar {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        margin: 0px -15px;
    }
    .links_bg_text_bar > li {
        margin: 30px 15px 0px;
        width: calc(50% - 30px);
    } 
}

@media print, (min-width: 992px) {
    .links_bg_text_bar > li {
        width: calc(32.5% - 30px);
    }
/*
    .links_bg_text_bar > li:nth-of-type(1) {
        margin: 30px 15px 0px 30px;
    }
    .links_bg_text_bar > li:nth-of-type(2) {
        margin: 30px 30px 0px 15px;
*/
}

.links_inner {
    display: none;
}

@media print, (min-width: 768px) {
    .links_inner {
        display: block;
        position: fixed;
        top: 0px;
        left: 0px;
        z-index: 9998;
        width: 100vw;
        padding: 0.5em;
        background-color: #dff2ff;
        transition: visibility,opacity 500ms 0s ease;
        visibility: hidden;
        opacity: 0;
    }

    .links_inner.js_active {
        visibility: visible;
        opacity: 1;
    }

    .links_inner > ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        width: 100%;
        list-style: none;
    }

    .links_inner > ul > li {
        position: relative;
        padding: 0px 0px 0px 1em;
        margin: 0.5em 1em;
        font-size: 10px;
    }
    .links_inner > ul > li:before {
        position: absolute;
        top: 50%;
        left: 0px;
        transform: translateY(-50%);
        color: #006bbb;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f105";
    }
    .links_inner > ul > li > a {
        text-decoration:none;
    }
    .links_inner > ul > li > a:hover {
        text-decoration:underline;
    }

}
@media print, (min-width: 992px) {
    .links_inner > ul > li {
        font-size: 12px;
    }
}

.list_circle_point {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: -1em -1em 0px;
    list-style: none;
}

.list_circle_point > li {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 1em 1em 0px;
    width: 10em;
    height: 10em;
    border-radius: 50%;
    background-color: #eef8ff;
    font-weight: bold;
    text-align: center;
}

.list_headline_circle_point {
    list-style: none;
}

.list_headline_circle_point > li {
    position: relative;
    margin: 1em 3em 0px;
    width: 12em;
    height: 12em;
    border-radius: 50%;
    background-color: #eef8ff;
    font-weight: bold;
    text-align: center;
    white-space: nowrap;
}

.list_headline_circle_point > li > p:nth-of-type(1) {
    position: absolute;
    top: -2em;
    left: 50%;
    transform: translateX(-50%);
    color: #206fc0;
    font-size: 20px;
    font-weight: bold;
}
.list_headline_circle_point > li > p:nth-of-type(2) {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

@media print, (min-width: 768px) {
    .list_headline_circle_point {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        margin: -1em -3em 0px;
    }
}

@media screen and (max-width: 767px) {
    .list_headline_circle_point > li {
        margin: 0px auto;
    }
    .list_headline_circle_point > li + li {
        margin-top: 60px;
    }
}

.text_box_point {
    padding: 2em 1em;
    margin: 30px auto 0px;
    border: 1px solid #206fc0;
    color: #206fc0;
    font-weight: bold;
    text-align: center;
}

.text_box_point > span {
    display: inline-block;
}

@media print, (min-width: 768px) {
    .text_box_point {
        width: 90%;
    }
}

.list_dia_point {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    list-style: none;
}

.list_dia_point > li {
    position: relative;
    z-index: 1;
    padding: 1em;
    margin: 1em 1em 0px;
    width: 8em;
    font-weight: bold;
    text-align: center;
}
.list_dia_point > li:before {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    z-index: -1;
    transform: skewX(-20deg);
    background-color: #eef8ff;;
    content: "";
}

.list_underline {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
}

.list_underline > li {
    padding: 5px 0px;
    border-bottom: 1px solid #206fc0;
}
.list_underline > li + li:before {
    margin: 0px 0.5em;
    content: "/";
}

.box_30_70 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
@media print, (min-width: 768px) {
    .box_30_70 > div:nth-of-type(1) {
        width: 30%;
    }
    .box_30_70 > div:nth-of-type(2) {
        width: 70%;
    }
}

.list_circle_headline {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    list-style: none;
}

.list_circle_headline > li {
    position: relative;
    padding: 6em 0px 0px;
    margin: 0px 1%;
    width: 31.3%;
}

.list_circle_headline > li > p {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 7em;
    height: 7em;
    border-radius: 50%;
    background-color: #206fc0;
    color: #fff;
    line-height: 1.5;
}

.list_circle_headline > li > p > span {
    font-size: 11px;
}

.list_box_headline,.list_box_headline_bg {
    list-style: none;
}
.list_box_headline > dt,
.list_box_headline > dd,
.list_box_headline_bg > dt,
.list_box_headline_bg > dd {
    padding: 1em;
}
.list_box_headline > dt {
    border: 1px solid #206fc0;
    color: #206fc0;
    font-weight: bold;
    text-align: center;
}
.list_box_headline_bg > dt {
    border:none;
    background:#F1F8FE;
    color:#206FC1;
    font-weight:bold;
}
.list_box_headline > dt:nth-of-type(n + 2) {
    margin: 30px 0px 0px;
}

@media print, (min-width: 768px) {
    .list_box_headline,.list_box_headline_bg {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .list_box_headline > dt,
    .list_box_headline > dd,
    .list_box_headline_bg > dt,
    .list_box_headline_bg > dd {
        margin: 30px 0px 0px;
    }
    .list_box_headline > dt,
    .list_box_headline_bg > dt {
        display: flex;
        flex-wrap: wrap;
        justify-content: left;
        align-items: center;
        width: 50%;
    }
    .list_box_headline > dd,
    .list_box_headline_bg > dd {
        width: 50%;
    }
}

.list_balloon_headline {
    list-style: none;
}

.list_balloon_headline > li {
    margin: 30px 0px 0px;
}

.list_balloon_headline > li > p {
    position: relative;
    padding: 1em;
    border: 2px solid currentColor;
    background-color: #fff;
    color: #206fc0;
    font-weight: bold;
    text-align: center;
}
.list_balloon_headline > li > p:before {
    position: absolute;
    bottom: -11px;
    left: 50%;
    transform: translateX(-50%) rotate(-135deg);
    width: 20px;
    height: 20px;
    background-color: #fff;
    border-top: 2px solid currentColor;
    border-left: 2px solid currentColor;
    content: "";
}

.list_balloon_headline > li > div {
    margin: 1em 0px 0px;
}

@media print, (min-width: 768px) {
    .list_balloon_headline {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .list_balloon_headline > li {
        margin: 1em 1% 0px;
        width: 48%;
    }
}

.page-fixed-key .list_balloon_headline > li {
    padding: 30px;
    background-color: rgba(255, 0, 0, 0.1);
}

.page-fixed-key .list_balloon_headline > li > p {
    color: red;
}

.box_list_balloon_headline {
    padding: 30px;
    background-color: #eef8ff;
}

.box_list_balloon_headline > h3 {
    color: #206fc0;
    font-size: 18px;
    text-align: center;
}

.faq_category {
    margin-top: 30px;
}

.faq_category:first-child {
    margin-top: 0;
}

.faq_category_title {
    color: #206fc0;
    font-size: 18px;
    font-weight: bold;
    text-align: left;
    padding-bottom: 10px;
    border-bottom: 2px solid #206fc0;
    margin-bottom: 20px;
}

.faq_list {
    margin-top: 0;
    list-style: none;
}

.faq_list > dt {
    margin-top: 20px;
    padding: 15px;
    background-color: #fff;
    border-left: 4px solid #206fc0;
    color: #333;
    font-weight: bold;
    font-size: 16px;
}

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

.faq_list > dd {
    margin-top: 10px;
    padding: 15px;
    background-color: #fff;
    color: #666;
    line-height: 1.8;
    font-size: 14px;
}

.list_flow_number {
    list-style: none;
    counter-reset: list_num;
}

.list_flow_number > li {
    position: relative;
}
.list_flow_number > li:before {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 2em;
    height: 2em;
    background-color: #206fc0;
    color: #fff;
    counter-increment: list_num;
    content: counter(list_num);
}
.list_flow_number > li:after {
    color: #206fc0;
    font-size: 30px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.list_flow_number > li > p {
    padding: 0.5em;
    font-weight: bold;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .list_flow_number > li + li {
        margin: 40px 0px 0px;
    }
    .list_flow_number > li:after {
        position: absolute;
        bottom: -30px;
        left: 50%;
        transform: translateX(-50%);
        content: "\f309";
    }
    .list_flow_number > li:last-of-type:after {
        content: "";
    }
}
@media print, (min-width: 768px) and (max-width: 991px) {
    .list_flow_number {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
    .list_flow_number > li {
        width: 45%;
    }
    .list_flow_number > li:nth-of-type(even) {
        margin: 0px 0px 0px 10%;
    }
    .list_flow_number > li:nth-of-type(even):after {
        position: absolute;
        top: 50%;
        left: -15%;
        transform: translateY(-50%);
        content: "\f30b";
    }
    .list_flow_number > li:nth-of-type(n + 3) {
        margin-top: 30px;
    }
}
@media print, (min-width: 992px) {
    .list_flow_number {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
    .list_flow_number > li {
        width: 28%;
    }
    .list_flow_number > li:nth-of-type(3n - 1),
    .list_flow_number > li:nth-of-type(3n) {
        margin: 0px 0px 0px 8%;
    }
    .list_flow_number > li:nth-of-type(3n - 1):after,
    .list_flow_number > li:nth-of-type(3n):after {
        position: absolute;
        top: 50%;
        left: -20%;
        transform: translateY(-50%);
        content: "\f30b";
    }
    .list_flow_number > li:nth-of-type(n + 4) {
        margin-top: 30px;
    }
}

.list_archive {
    list-style: none;
}

.list_archive > li {
    padding: 0px 0px 30px 0px;
    border-bottom: 1px solid #d6d6d6;
}

.list_archive > li + li {
    margin: 30px 0px 0px;
}

.list_archive > li > a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    color: #231714;
    text-decoration: none;
}

.list_archive_info {
    width: 100%;
}

.list_archive_info > h2 {
    color: #206fc0;
    font-size: 18px;
}

.list_archive_info > h2 + p {
    margin: 1em 0px 0px;
}

.list_archive_info_link {
    text-align: right;
}
.list_archive_info_link:before {
    margin: 0px 0.5em 0px 0px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    text-decoration: none;
    content: "\f105";
}
.list_archive > li:hover .list_archive_info_link {
    color: #206fc0;
}

.list_infograph {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0px -2%;
    list-style: none;
}

.list_infograph > li {
    position: relative;
    background-color: #eef8ff;
}

.list_infograph > li > p {
    line-height: 1.5;
}
.list_infograph > li > p:nth-of-type(1) {
    font-weight: bold;
    text-align: center;
}
.list_infograph > li > p:nth-of-type(2) {
    color: #206fc0;
    font-weight: bold;
    text-align: center;
    white-space: nowrap;
}
.list_infograph > li > p:nth-of-type(2) > span:nth-of-type(1) {
    display: inline-block;
    transform: scaleX(1.2);
    margin: 0px 5px 0px 0px;
}
.list_infograph > li:nth-of-type(4) > p:nth-of-type(2) > span:nth-of-type(1) {
    margin: 0px 15px 0px 0px;
}

.list_infograph > li > img {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 70%;
}
.list_infograph > li:nth-of-type(2) > img {
    bottom: 60px;
}
.list_infograph > li:nth-of-type(4) > img {
    max-width: 60px;
}
.list_infograph > li:nth-of-type(3) > img,
.list_infograph > li:nth-of-type(5) > img {
    bottom: -10px;
}
.list_infograph > li:nth-of-type(6) > img {
    bottom: -20px;
}

.list_infograph_big {
    padding: 30px 10px 180px;
    margin: 30px 2% 0px;
    width: 96%;
}

.list_infograph_big > p:nth-of-type(1) {
    font-size: 22px;
}
.list_infograph_big > p:nth-of-type(2) > span:nth-of-type(1) {
    font-size: 48px;
}
.list_infograph_big > p:nth-of-type(2) > span:nth-of-type(2) {
    font-size: 32px;
}

.list_infograph_small {
    padding: 30px 10px 60px;
    margin: 30px 2% 0px;
    width: 46%;
}

.list_infograph_small > p:nth-of-type(1) {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 3em;
    font-size: 18px;
}
.list_infograph_small > p:nth-of-type(2) > span:nth-of-type(1) {
    font-size: 32px;
}
.list_infograph_small > p:nth-of-type(2) > span:nth-of-type(2) {
    font-size: 20px;
}

@media print, (min-width: 768px) {
    .list_infograph_big {
        margin: 30px 2% 0px;
        width: 46%;
    }
    .list_infograph_small {
        margin: 30px 2% 0px;
        width: 21%;
    }
}

.list_product_item {
    list-style: none;
}

.list_product_item > li > a {
    display: block;
    text-align: center;
    text-decoration: none;
}
.list_product_item > li > a:hover {
    opacity: 0.8;
}

@media screen and (max-width: 767px) {
    .list_product_item > li + li {
        margin: 1em 0px 0px;
    }
}
@media print, (min-width: 768px) {
    .list_product_item {
        display: flex;
        flex-wrap: wrap;
        margin: -1em -1em 0px;
    }
    .list_product_item > li {
        margin: 1em 1em 0px;
        width: calc(33.3% - 2em);
    }
}
@media print, (min-width: 992px) {
    .list_product_item > li {
        width: calc(25% - 2em);
    }
}

.schematic_consistent {
    position: relative;
    z-index: 1;
}

.schematic_consistent > p {
    color: #6085d1;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.schematic_consistent > ol {
    list-style: none;
}

.schematic_consistent > ol > li {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 9em;
    height: 9em;
    border-radius: 50%;
    background-color: #6085d1;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .schematic_consistent > ol > li {
        margin: 30px auto 0px;
    }
    .schematic_consistent > .arrow {
        position: absolute;
        top: 60px;
        right: 30px;
        bottom: 30px;
        z-index: -1;
        background-color: #c3d3fd;
        width: 30px;
    }
    .schematic_consistent > .arrow:before {
        position: absolute;
        bottom: -60px;
        left: 50%;
        transform: translateX(-50%);
        width: 0px;
        height: 0px;
        border: 30px solid transparent;
        border-top: 40px solid #c3d3fd;
        content: "";
    }
}
@media print, (min-width: 768px) {
    .schematic_consistent > ol {
        display: flex;
        justify-content: space-around;
        align-items: center;
        padding: 0px 30px 10px 0px;
    }
    .schematic_consistent > ol > li {
        margin: 1em 0px 0px;
        font-size: 1.8vw;
    }
    .schematic_consistent > .arrow {
        position: absolute;
        left: 0px;
        right: 30px;
        bottom: 0px;
        z-index: -1;
        background-color: #c3d3fd;
        height: 30px;
    }
    .schematic_consistent > .arrow:before {
        position: absolute;
        top: 50%;
        right: -60px;
        transform: translateY(-50%);
        width: 0px;
        height: 0px;
        border: 30px solid transparent;
        border-left: 40px solid #c3d3fd;
        content: "";
    }
}
@media print, (min-width: 992px) {
    .schematic_consistent > ol > li {
        font-size: 18px;
    }
}

.key_navi{
	background:#DFF2FF;

}
.key_navi ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	list-style: none;
	padding:8px 0;
}
.key_navi>ul>li{
	position: relative;
	padding: 0px 0px 0px 1em;
	margin: 0.5em 1em;
	font-size: 12px;
}
.key_navi>ul>li>a{
	color: #206fc0;
	text-decoration:none;
}
.key_navi>ul>li>a:hover{
	color: #206fc0;
	text-decoration:underline;
}
.key_navi>ul>li:before{
	position: absolute;
	top: 50%;
	left: 0px;
	transform: translateY(-50%);
	color: #006bbb;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f105";
}

.box_circle {
    position: relative;
    padding-top: 100%;
    width: 100%;
    border-radius: 50%;
    background-color: #eef8ff;
}

.box_circle > p {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 90%;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

/****************************************
2. Layout 
*****************************************/
.section {
    padding: 60px 0px 60px 0px;
}

.section .section {
    padding: 30px 0px 0px 0px;
}

div[class="col"],
div[class^="col-"] {
    margin-top: 30px;
}

div[class="col"] > div:nth-child(n + 2),
div[class^="col"] > div:nth-child(n + 2) {
    margin-top: 30px;
}

.container {
    width: 100%;
}
@media print, (min-width: 992px) {
    .container {
        margin-left: auto;
        margin-right: auto;
        width: 80%;
    }
}
@media (min-width: 768px) {
    .container {
        max-width: 100%;
    }
}
@media (min-width: 992px) {
    .container {
        max-width: 80%;
    }
}
@media (min-width: 1300px) {
    .container {
        max-width: 1040px;
    }
}

.error404 article > .container,
.archive article > .container,
.single article > .container,
.page article > .container {
    background-color: #fff;
}

@media print, (min-width: 768px) {
    .error404 article > .container,
    .archive article > .container,
    .single article > .container,
    .page article > .container {
        margin-top: -60px;
    }
}

.base {
    margin: 0px auto;
    width: 90%;
}

@media print, (min-width: 768px) {
    .base {
/*
        width: 80%;
*/
        width: 92%;

    }
}

.error404 h2,
.archive h2,
.single h2,
.page h2 {
    padding: 0.5em 1em;
    border-left: 6px solid #206fc0;
    background-color: #f4f4f4;
    font-size: 24px;
}

.error404 h3,
.archive h3,
.single h3,
.page h3 {
    font-size: 18px;
    padding: 6px 20px;
    border-left:solid 6px #206fc0;
}

.img_back{
    padding: 1em;
    background-color: #F1F8FE;
}
.none_bg{
    background: none!important;
    }

@media screen and (max-width: 767px) {
    .col2_sub {
        margin: 60px 0px 0px;
    }
}
@media print, (min-width: 768px) {
    .col2 {
        display: flex;
    }
    .col2_main {
        order: 2;
        width: calc(100% - 200px);
    }
    .col2_sub {
        order: 1;
        margin: 0px 20px 0px 0px;
        width: 180px;
    }
}

/****************************************
3. header,nav
*****************************************/
.header {
    background-color: #fff;
}

.header_pc {
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    width: 100%;
    z-index: 9999;
    background-color: #fff;
}

@media screen and (max-width: 767px) {
    .header_pc {
        display: none;
    }
}

@media print, (min-width: 992px) {
    .header_pc_base {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        width: 80%;
        margin: 0px auto;
    }

    .header_pc_title {
        width: 25%;
    }

    .header_pc_menu {
        width: 75%;
    }
}
@media print, (min-width: 1300px) {
    .header_pc_base {
        width: 1040px;
    }
}

.header_pc_title {
    padding: 10px 10px 10px 0px;
}

.header_pc_title > p {
    font-size: 10px;
    text-align: center;
}

.header_pc_title_logo {
    display: table;
    margin: 0px auto;
}

.header_pc_title_logo > img {
    max-width: 150px;
}
@media print, (min-width: 1200px) {
    .header_pc_title > p {
        font-size: 12px;
    }
    .header_pc_title_logo > img {
        max-width: 200px;
    }
}

.header_pc_title .btn_english {
    display: none;
}
@media print, (min-width: 768px) {
    .header_pc_title {
        position: relative;
    }
    .header_pc_title .btn_english {
        display: block;
        position: absolute;
        top: 0.5em;
        right: 1em;
        font-size: 12px;
        text-decoration:none;
    }
}
@media print, (min-width: 992px) {
    .header_pc_base {
        position: relative;
    }
    .header_pc_title {
        position: static;
    }
    .header_pc_title .btn_english {
        right: -5em;
    }
}

.header_pc_menu_cta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-size: 12px;
}

.header_pc_menu_cta > address,
.header_pc_menu_cta > a {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 25%;
    height: 3.5em;
    text-align: center;
}

.header_pc_menu_cta > a {
    color: #fff;
    text-decoration: none;
}

.header_pc_menu_cta > a > p {
    line-height: 1;
}

.header_pc_menu_cta > .menu_catalog {
    background-color: #1b7bd1;
}
.header_pc_menu_cta > .menu_catalog:hover {
    background-color: #1e87e5;
}

.header_pc_menu_cta > .menu_seikinet {
    background-color: #005aab;
}
.header_pc_menu_cta > .menu_seikinet:hover {
    background-color: #0065c0;
}

.header_pc_menu_cta > .menu_seikinet > p:nth-of-type(1) {
    font-size: 10px;
}
.header_pc_menu_cta > .menu_seikinet > p:nth-of-type(2) {
    margin: 5px 0px 0px;
}
.header_pc_menu_cta > .menu_seikinet > p:nth-of-type(2):before {
    margin: 0px 0.5em 0px 0px;
    color: #77bfff;
    font-size: 16px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f002";
}

.header_pc_menu_cta > .menu_contact {
    background-color:#ef7900;
}
.header_pc_menu_cta > .menu_contact:hover {
    background-color:#ff7f01;
}

.header_pc_menu_cta > address {
    background-color: #f5f5f5;
}

.header_pc_menu_cta > address > p {
    line-height: 1;
}

.header_pc_menu_cta > address > p:nth-of-type(1) {
    font-size: 14px;
    font-weight: bold;
    text-indent: 2px;
    letter-spacing: 2px;
}
.header_pc_menu_cta > address > p:nth-of-type(1):before {
    display: inline-block;
    margin: 0px 0.5em 0px 0px;
    transform: scaleX(-1);
    color: #006bbb;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f095";
}
.header_pc_menu_cta > address > p:nth-of-type(2) {
    margin: 5px 0px 0px;
    font-size: 10px;
}

.header_pc_menu > .menu {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0px;
    margin: 0px;
}

.header_pc_menu > .menu {
    border-left: 1px solid #e0e0e0;
    border-right: 1px solid #e0e0e0;
}

.header_pc_menu > .menu > li {
    position: relative;
    width: 20%;
    border-bottom: 2px solid transparent;
    list-style-type: none;
}
.header_pc_menu > .menu > li + li {
    border-left: 1px solid #e0e0e0;
}

.header_pc_menu > .menu > li > a {
    display: block;
    padding: 1em;
    color: #232323;
    font-size: 10px;
    text-align: center;
    text-decoration: none;
}
@media print, (min-width: 1200px) {
    .header_pc_menu > .menu > li > a {
        font-size: 12px;
    }
}

.header_pc_menu .sub-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    padding: 0px 0px 30px;
    margin: 0px -1%;
    width: 100vw;
    background-color: rgba(0, 110, 191, 0.8);
    list-style: none;
    opacity: 0;
    transition: opacity 0.5s;
    pointer-events: none;
}

.header_pc_menu .sub-menu.js_active {
    opacity: 1;
    pointer-events: auto;
}

.header_pc_menu .sub-menu > li {
    margin: 30px 1% 0px;
    width: 22%;
}

.header_pc_menu .sub-menu > li > a {
    position: relative;
    display: block;
    padding: 150px 0px 0px;
    color: #fff;
    text-align: center;
    text-decoration: none;
}
.header_pc_menu .sub-menu > li > a:before,
.header_pc_menu .sub-menu > li > a:after {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 140px;
    content: "";
}
.header_pc_menu .sub-menu > li > a:before {
    background-color: #fff;
    z-index: -1;
}
.header_pc_menu .sub-menu > li > a:after {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.header_pc_menu .sub-menu > li > a:hover:after {
    opacity: 0.8;
}
.header_pc_menu .sub-menu > li > a[href*="/feature/"]:after {
    background-image: url(images/etc/navi_key_feature.jpg);
}
.header_pc_menu .sub-menu > li > a[href*="/key/"]:after {
    background-image: url(images/etc/navi_key_about.jpg);
}
.header_pc_menu .sub-menu > li > a[href*="/standard/"]:after {
    background-image: url(images/etc/navi_key_standard.jpg);
}
.header_pc_menu .sub-menu > li > a[href*="/customize/"]:after {
    background-image: url(images/etc/navi_key_customize.jpg);
}
.header_pc_menu .sub-menu > li > a[href*="/consulting/"]:after {
    background-image: url(images/etc/navi_key_consulting.jpg);
}
.header_pc_menu .sub-menu > li > a[href*="/product/"]:after {
    background-image: url(images/etc/navi_key_product.jpg);
}
.header_pc_menu .sub-menu > li > a[href*="/case/"]:after {
    background-image: url(images/etc/navi_key_case.jpg);
}
.header_pc_menu .sub-menu > li > a[href*="/pullout/"]:after {
    background-image: url(images/etc/navi_key_pullout.jpg);
}
.header_pc_menu .sub-menu > li > a[href*="/fixed-key/"]:after {
    background-image: url(images/etc/navi_key_fixed_key.jpg);
}
.header_pc_menu .sub-menu > li > a[href*="/facility/"]:after {
    background-image: url(images/etc/navi_key_facility.jpg);
}
.header_pc_menu .sub-menu > li > a[href*="/quality/"]:after {
    background-image: url(images/etc/navi_key_quality.jpg);
}

.header_pc_menu .sub-menu > li > a[href*="/company/"]:after {
    background-image: url(images/company/company.jpg);
}

.header_pc_menu .sub-menu > li > a[href*="/precision_machine_key/"]:after {
    background-image: url(images/key/navi_precision_machine_key.jpg);
}

@media screen and (min-width: 768px) {
    .header_pc_menu .sub-menu > li {
        width: 14%;
    }
}
@media print, (min-width: 1400px) {
    .header_pc_menu .sub-menu {
        padding: 0px 10% 30px;
    }
}
@media print, (min-width: 1700px) {
    .header_pc_menu .sub-menu {
        padding: 0px 18% 30px;
    }
}

.header_mb {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 9999;
    width: 100%;
    height: 90px;
    background-color: #fff;
}
@media screen and (max-width: 767px) {
    body {
        margin-top: 90px;
    }
}
@media print, (min-width: 768px) {
    .header_mb {
        display: none;
    }
}

.header_mb > .btn_nav {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    background-color: #006bbb;
}
.header_mb > .btn_nav > span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 3px;
    transform: translateX(-50%) translateY(-50%);
    background-color: #fff;
    transition: 0.2s;
}
.header_mb > .btn_nav > span:before,
.header_mb > .btn_nav > span:after {
    display: block;
    position: absolute;
    left: 0px;
    width: 30px;
    height: 3px;
    background-color: #fff;
    transition: 0.3s;
    content: "";
}
.header_mb > .btn_nav > span:before {
    top: 12px;
}
.header_mb > .btn_nav > span:after {
    top: -12px;
}
.header_mb > .btn_nav.js_active:after {
    content: "";
}
.header_mb > .btn_nav.js_active > span {
    background: transparent;
}
.header_mb > .btn_nav.js_active > span:before,
.header_mb > .btn_nav.js_active > span:after {
    top: 0px;
}
.header_mb > .btn_nav.js_active > span:before {
    transform: rotate(-45deg);
}
.header_mb > .btn_nav.js_active > span:after {
    transform: rotate(-135deg);
}

.header_mb_title {
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    width: 50%;
}

.header_mb > .toggle_area {
    display: none;
    position: fixed;
    top: 90px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 9999;
    padding: 0px 0px 30px;
    background-color: #fff;
    overflow-y: scroll;
}

.header_mb > .toggle_area > .menu {
    padding: 0px;
    margin: 0px;
    border-bottom: 1px solid #006bbb;
}

.header_mb > .toggle_area > .menu li {
    border-top: 1px solid #006bbb;
    list-style-type: none;
}

.header_mb > .toggle_area > .menu li a {
    display: block;
    position: relative;
    padding: 1em 3em 1em 2em;
    font-size: 5vw;
    color: #000;
    text-decoration: none;
}
.header_mb > .toggle_area > .menu li a:before,
.header_mb > .toggle_area > .menu li a:after {
    position: absolute;
    top: 50%;
    right: 2em;
    content: "";
}

.header_mb > .toggle_area > .menu li a:before {
    width: 0.5em;
    height: 0.5em;
    border-top: 2px solid #006bbb;
    border-right: 2px solid #006bbb;
    transform: translateY(-50%) rotate(45deg);
}
.header_mb > .toggle_area > .menu li.menu-item-has-children > a:before {
    width: 0.75em;
    height: 2px;
    transform: translateX(50%) translateY(-50%);
    border: none;
    background-color: #006bbb;
}
.header_mb > .toggle_area > .menu li.menu-item-has-children > a:after {
    width: 2px;
    height: 0.75em;
    transform: translateX(50%) translateY(-50%);
    background-color: #006bbb;
}
.header_mb > .toggle_area > .menu li.menu-item-has-children.js_active > a:after {
    background-color: transparent;
}

.header_mb > .toggle_area > .menu > li > .sub-menu {
    display: none;
    padding: 0px;
    margin: 0px;
}

.header_mb > .toggle_area > .menu > li > .sub-menu > li > a {
    padding: 1em 3em 1em 3em;
}

.header_mb_cta > a {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 30px auto 0px;
    width: 80%;
    height: 3.5em;
    font-size: 5vw;
}

.header_mb_cta > a {
    color: #fff;
    text-decoration: none;
}

.header_mb_cta > a > p {
    line-height: 1;
}

.header_mb_cta > .menu_catalog {
    background-color: #1b7bd1;
}
.header_mb_cta > .menu_catalog:hover {
    background-color: #1e87e5;
}

.header_mb_cta > .menu_seikinet {
    background-color: #005aab;
}
.header_mb_cta > .menu_seikinet:hover {
    background-color: #0065c0;
}

.header_mb_cta > .menu_seikinet > p:nth-of-type(1) {
    font-size: 3vw;
}
.header_mb_cta > .menu_seikinet > p:nth-of-type(2) {
    margin: 5px 0px 0px;
}
.header_mb_cta > .menu_seikinet > p:nth-of-type(2):before {
    margin: 0px 0.5em 0px 0px;
    color: #77bfff;
    font-size: 5vw;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f002";
}

.header_mb_cta > .menu_contact {
    background-color:#ef7900;
}
.header_mb_cta > .menu_contact:hover {
    background-color:#ff7f01;
}

.header_mb_link {
    margin: 30px 0px 0px;
    text-align: center;
}

.page_title {
    position: relative;
    z-index: -1;
    height: 150px;
    background-image: url(./images/pagetitle/common.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.page-product-system .page_title {
    background-image: url(./images/pagetitle/facility.jpg);
}
.page-feature .page_title {
    background-image: url(./images/pagetitle/feature.jpg);
}
.page-machine .page_title {
    background-image: url(./images/pagetitle/machine.jpg);
}
.page-magazine .page_title {
    background-image: url(./images/pagetitle/magazine.jpg);
}
.page-consulting .page_title {
    background-image: url(./images/pagetitle/consulting.jpg);
}
.page-key .page_title {
    background-image: url(./images/pagetitle/key.jpg);
}
.page-quality .page_title {
    background-image: url(./images/pagetitle/quality.jpg);
}
.page-customize .page_title {
    background-image: url(./images/pagetitle/customize.jpg);
}
.page-standard .page_title {
    background-image: url(./images/pagetitle/standard.jpg);
}
.page-company .page_title {
    background-image: url(./images/pagetitle/company.jpg);
}
.page-recruit .page_title {
    background-image: url(./images/pagetitle/recruit.jpg);
}
.page-catalog-download .page_title,
.page-catalog-request .page_title,
.page-catalog-request-child .page_title {
    background-image: url(./images/pagetitle/catalog.jpg);
}
.page-contact .page_title,
.page-contact-child .page_title {
    background-image: url(./images/pagetitle/contact.jpg);
}
.single-product .page_title,
.post-type-archive-product .page_title {
    background-image: url(./images/pagetitle/product.jpg);
}
.single-case .page_title,
.post-type-archive-product .page_title {
    background-image: url(./images/pagetitle/case.jpg);
}
.page-sitemap .page_title {
    background-image: url(./images/pagetitle/sitemap.jpg);
}
.page-privacy .page_title {
    background-image: url(./images/pagetitle/privacy.jpg);
}

.page_title > h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 100%;
    padding: 1em 3em;
    color: #fff;
    font-size: 18px;
    text-align: center;
    text-shadow: -2px -2px 6px #000, 2px -2px 6px #000, 2px 2px 6px #000, -2px 2px 6px #000;
}

@media print, (min-width: 768px) {
    .page_title {
        height: 300px;
    }
    .page_title > h1 {
        transform: translateX(-50%) translateY(-50%);
        letter-spacing:2px;
    }
}

/****************************************
4. sidebar
*****************************************/
.sidebar > h6 {
    padding: 1em;
    border: 1px solid #206fc0;
    color: #206fc0;
    font-size: 15px;
    font-weight: bold;
    text-align: center;
}
.sidebar > h6:nth-of-type(n + 2) {
    margin: 30px 0px 0px;
}

.sidebar > ul {
    padding: 1em;
    margin: 20px 0px 0px;
    background-color: #eef8ff;
    list-style: none;
}

.sidebar > ul > li > a {
    position: relative;
    padding: 0px 0px 0px 1em;
    color: #232323;
    text-decoration: none;
}
.sidebar > ul > li > a:before {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    color: #006bbb;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
}

.sidebar > ul > li > a:hover{
	text-decoration:underline #006bbb;
}
.sidebar > ul > li + li {
    margin: 1em 0px 0px;
}

/****************************************
5. contents
****************************************/
.main_slider > li {
    position: relative;
}

.main_slider > li > h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    z-index: 1;
    color: #fff;
/*
    font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
*/
    text-shadow: -2px -2px 6px #333, 2px -2px 6px #333, 2px 2px 6px #333, -2px 2px 6px #333;
    text-align: center;
    white-space: nowrap;
}

.main_slider > li > h1 > p.catch_sub {
    display: table;
    position: relative;
    padding: 0px 3em;
    margin: 0px auto;
    font-size: 16px;
    font-weight: normal;
    text-indent: 6px;
    letter-spacing: 6px;
}
.main_slider > li > h1 > p.catch_sub:before,
.main_slider > li > h1 > p.catch_sub:after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1em;
    height: 1px;
    background-color: #fff;
    content: "";
}
.main_slider > li > h1 > p.catch_sub:before {
    left: 0px;
}
.main_slider > li > h1 > p.catch_sub:after {
    right: 0px;
}
.main_slider > li > h1 > p.catch_main {
    font-size: 28px;
}

@media print, (min-width: 768px) {
    .main_slider > li > h1 > p.catch_sub {
        font-size: 24px;
    }
    .main_slider > li > h1 > p.catch_main {
        font-size: 42px;
    }
}

@media print, (min-width: 992px) {
    .main_slider > li > h1 {
        left: 15%;
        transform: translateY(-50%);
    }
}

.top_catch h2 {
    color: #006bbb;
    font-size: 28px;
/*
    font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
*/
    text-align: center;
}

.top_catch_logo {
    margin: 30px auto 0px;
    width: 120px;
}

.top_catch {
    padding: 60px 0px;
    background:#fff;
}

.top_catch .text_lead {
    margin: 30px 0px 0px;
}

.top_catch_product {
    position: relative;
    z-index: 1;
    padding: 0px 0px 10px;
    margin: 30px 0px 0px;
}
.top_catch_product:before {
    position: absolute;
    bottom: 0px;
    left: 50%;
    z-index: -1;
    transform: translateX(-50%) skewX(-45deg);
    width: 85%;
    height: 60px;
    background-color: #006bbb;
    content: "";
}
@media print, (min-width: 768px) {
    .top_catch_product:before {
        width: 90%;
        height: 80px;
    }
}

.top_catch_product > img {
    max-height: 160px;
}

.top_feature {
    padding: 60px 30px;
    background-image: url(images/top/bg_point.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.top_feature_list {
    display: table;
    padding: 30px;
    margin: 0px auto;
/*
    background-color: rgba(72, 145, 220, 0.5);
*/
    background:url(/wp-content/themes/main/images/top/bg_grade.png) repeat-y;
    background-size:contain;
    color: #fff;
    font-size: 18px;
/*
    font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
*/
    font-weight: bold;
    list-style: none;
}

.top_feature_list > li + li {
    margin: 30px 0px 0px;
}

.top_feature_list > li > p:nth-of-type(1) {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0px auto;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #0848cf;
    font-size: 12px;
}

.top_feature_list > li > p:nth-of-type(1) > span {
    margin: 0px 0px 0px 4px;
    font-size: 24px;

}

.top_feature_list > li > p:nth-of-type(2) {
    margin: 0px 0px 0px 1em;
    text-align: center;
    text-shadow: -2px -2px 6px #007ad6, 2px -2px 6px #007ad6, 2px 2px 6px #007ad6, -2px 2px 6px #007ad6;
}

@media print, (min-width: 768px) {
    .top_feature {
        padding: 60px;
    }
    .top_feature_list {
        padding: 60px;
    }
    .top_feature_list > li {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }
    .top_feature_list > li > p:nth-of-type(1) {
        margin: 0px;
    }
    .top_feature_list > li > p:nth-of-type(2) {
        text-align: left;
    }
}

@media print, (min-width: 992px) {
    .top_feature {
        padding: 60px 0px 240px;
    }
    .top_feature_list {
        padding: 60px 180px;
        margin: 0px;
        letter-spacing:2px;
    }
}

.top_key {
    padding: 60px 0px;
    background-color: #deedff;
}

.top_key h2 {
    position: relative;
    padding: 0px 0px 1em;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}
.top_key h2:before {
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 1em;
    height: 2px;
    background-color: #006bbb;
    content: "";
}

.top_key_seikinet {
    margin: 30px 0px 0px;
    padding: 60px 0px;
    background-image: url(images/top/bg_seikinet.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.top_key_seikinet > p {
    color: #fff;
    text-align: center;
    text-indent: 2px;
    letter-spacing: 2px;
}
.top_key_seikinet > p:nth-of-type(1) {
    font-size: 14px;
}
.top_key_seikinet > p:nth-of-type(2) {
    font-size: 18px;
}
@media print, (min-width: 768px) {
	section.top_link{
		display:flex;
		font-weight:bold;
	}
	.top_machine,
	.top_barrel{
		width:50%;
	}
}

.top_machine {
    padding: 120px 0px;
    background-image: url(images/top/bg_machine.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.top_machine > p,
.top_barrel > p {
    color: #fff;
    text-align: center;
}

.top_barrel {
    padding: 120px 0px;
    background-image: url(images/top/bg_barrel.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.top_about {
    padding: 60px 0px 180px;
    background-image: url(images/top/bg_about.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.top_news h2,
.top_about h2 {
    font-size: 24px;
    text-align: center;
}

.top_news h2 + p,
.top_about h2 + p {
    color: #006bbb;
    font-size: 13px;
    font-weight: bold;
    text-align: center;
}

.top_about .links_bg_text_bar {
    margin-top: 30px;
}

.top_news {
    padding: 60px 0px;
    background-color: #f3f3f3;
}

.top_news_box {
    padding: 30px;
    background-color: #fff;
}
@media print, (min-width: 768px) {
    .top_news_box {
        padding: 60px 90px;
    }
}

.list_news {
    margin: 30px 0px 0px;
}

.list_news > dt,
.list_news > dd {
    display: flex;
    align-items: center;
    padding: 1em;
    margin: 0px;
}

.list_news > dt {
    padding: 1em 1em 0px 1em;
}

.list_news > dd {
    padding: 1em;
    border-bottom: 1px solid #c9c9c9;
}

.list_news > dd > a {
    color: #232323;
    text-decoration: none;
}
.list_news > dd > a:hover {
    color: #616161;
}

@media print, (min-width: 768px) {
    .list_news {
        display: flex;
        flex-wrap: wrap;
    }
    .list_news > dt {
        width: 6em;
        padding: 1em 0px;
        border-bottom: 1px solid #c9c9c9;
    }
    
    .list_news > dd {
        width: calc(100% - 6em);
        padding: 1em 1em 1em 3em;
    }
}

.top_information {
    padding: 60px 0px 0px;
}

.top_information a {
    display: block;
    position: relative;
    padding: 30px;
    background-color: #206fc0;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
}
.top_information a:hover {
    opacity: 0.8;
}
.top_information a::before {
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
    border: 1px solid #fff;
    content: "";
}
.top_information a::after {
    margin: 0px 0px 0px 1em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
}

.top_information a > span {
    display: inline-block;
}

.archive_product {
    list-style: none;
}

.archive_product > li {
    padding: 20px;
    margin: 10px 0px 0px;
}

.archive_product > li > a {
    color: #232323;
    text-align: center;
    text-decoration: none;
}

.archive_product > li > a > h3 {
    margin: 1em 0px 0px;
}

.archive_product > li:hover {
    background-color: #f5f5f5;
}

.archive_product h3{
	font-size:16px;
	text-align:left;
	padding:6px 10px;
	min-height:60px;
}

@media print, (min-width: 768px) {
    .archive_product {
        display: flex;
        flex-wrap: wrap;
    }
    .archive_product > li {
        width: 50%;
    }
}
@media print, (min-width: 992px) {
    .archive_product > li {
        width: 33.3%;
    }
}

.archive_report {
    list-style: none;
}

.archive_report > li {
    padding: 20px;
    margin: 10px 0px 0px;
}

.archive_report > li > a {
    color: #232323;
    text-align: center;
    text-decoration: none;
}

.archive_report > li > a > h3 {
    margin: 1em 0px 0px;
}

.archive_report > li:hover {
    background-color: #f5f5f5;
}

.archive_report h3{
	font-size:16px;
	text-align:left;
	padding:6px 10px;
	min-height:60px;
}

@media print, (min-width: 768px) {
    .archive_report {
        display: flex;
        flex-wrap: wrap;
    }
    .archive_report > li {
        width: 50%;
    }
}
@media print, (min-width: 992px) {
    .archive_report > li {
        width: 25%;
    }
}

.post_product_main_image {
    margin: 30px 0px 0px;
}

.post_product_sub_image {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 30px -1% 0px;
}

.post_product_sub_image > a {
    margin: 0px 1%;
    width: 31.3%;
}

.post_product_tech {
    margin: 30px 0px 0px;
}

.post_product_tech > div {
    margin: 1em 0px 0px;
}

.post_product_spec {
    margin: 30px 0px 0px;
}

.post_product_spec > ul {
    list-style: none;
}

.post_product_spec > ul > li {
    margin: 1em 0px 0px;
}
.post_product_spec dl{
	width:100%;
	border:1px solid #d6d6d6;
}
.post_product_spec dl dt{
	background-color: #f0f0f0;
	padding: 10px;
	border-bottom:1px solid #d6d6d6;
	font-weight:bold;
	text-align:center;
}
.post_product_spec dl dd{
	padding: 10px;
	vertical-align: middle;
	min-height:70px;
	text-align:center;
}


@media print, (min-width: 768px) {
    .post_product_spec > ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        margin: 0px -1%;
    }
    .post_product_spec > ul > li {
        margin: 1em 1% 0px;
        width: 31.3%;
    }
}

.post_case_outline {
    margin: 30px 0px 0px;
}

.post_case_result,
.post_case_proposal {
    margin: 30px 0px 0px;
}

.post_case_result > div,
.post_case_proposal > div {
    margin: 1em 0px 0px;
}

@media screen and (max-width: 767px) {
    .post_case_result > div > p,
    .post_case_proposal > div > p {
        margin: 1em 0px 0px;
    }
}

@media print, (min-width: 768px) {
    .post_case_result > div > img,
    .post_case_proposal > div > img {
/*
        float: left;
        margin: 0px 1em 1em 0px;
        max-width: 200px;
*/
        margin: 0px auto 1em auto;
        max-width: 70%;
    }
}

table.allcenter th,table.allcenter td{
	text-align:center;
	padding-left:0;
	padding-right:0;
}

table.jis-table td{
	padding:2px 10px;
}

table.pullout td,
table.pullout th {
	text-align:center;
	padding-left:0;
	padding-right:0;
}

table.pullout th {
	background:#e9e9e9;
}

table.pullout td {
	background: #f3f3f3;
}
table.pullout tr:nth-child(odd) td {
	background: #fff;
}

.list_table {
    margin: 30px 0px 0px;
}

.list_table > dt,
.list_table > dd {
    display: flex;
    align-items: center;
    padding: 1em;
    margin: 0px;
}

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

.list_table > dd {
    padding: 1em;
}

@media print, (min-width: 768px) {
    .list_table {
        display: flex;
        flex-wrap: wrap;
        width: 90%;
        margin: 0 auto;
    }
    .list_table > dt {
        width: 20%;
        border-bottom: 1px solid #206fc0;
    }
    .list_table > dd {
        width: 80%;
        border-bottom: 1px solid #206fc0;
    }
}

.privacy_box {
    width: 90%;
    margin: 30px auto 0px;
}
.privacy_box ul {
    display: table;
    margin: 30px auto 0px;
}

.list_img_text {
    list-style: none;
}

.list_img_text > li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 10px;
    height: 120px;
    border: 2px solid #016DC0;
}

.list_img_text > li > img {
    padding: 2%;
    width: 30%;
    max-width: 90px;
}

.list_img_text > li > div {
    width: 70%;
    font-weight: bold;
    text-align: center;
}

.list_img_text > li.img_wide > img {
    width: 40%;
    max-width: 120px;
}

.list_img_text > li.img_wide > div {
    width: 60%;
}

.list_img_text > li > div > p {
    margin: 0px;
}

@media screen and (max-width: 767px) {
    .list_img_text > li + li {
        margin: 30px 0px 0px;
    }
}

@media print, (min-width: 768px) {
    .list_img_text {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: -20px -10px 0px;
    }
    .list_img_text > li {
        margin: 20px 10px 0px 10px;
        width: calc(50% - 20px);
    }
}
@media print, (min-width: 992px) {
    .list_img_text > li {
        margin: 20px 10px 0px 10px;
        width: calc(35% - 20px);
    }
    .list_img_text > li:nth-of-type(5n - 2),
    .list_img_text > li:nth-of-type(5n - 1),
    .list_img_text > li:nth-of-type(5n) {
        width: calc(33.3% - 20px);
    }
}

.page-sitemap .section .menu {
    margin: -1em 0px 0px 1.5em;
}

.page-sitemap .section .sub-menu {
    margin: 0px 0px 0px 2em;
}

.page-sitemap .section .menu > li {
    margin: 1em 0px 0px;
    font-size: 17px;
}

.page-sitemap .section .sub-menu > li {
    margin: 0.5em 0px 0px;
    font-size: 15px;
}

.contact-tell .txt-tell,.contact-tell .txt-faxx,.contact-tell .txt-tell-honsha {
    font-size: 36px;
    font-weight:bold;
    letter-spacing: 5px;
    border-bottom: 1px solid #206fc0;
    text-align:center;
}

.contact-tell .txt-tell-honsha{
	border:none;
}
.txt-tell:before,.txt-tell-honsha:before {
    margin: 0px 5px 0px 0px;
    color: #206fc0;
    font-family: FontAwesome;
    content: "\f095";
}
.txt-faxx:before {
    margin: 0px 5px 0px 0px;
    color: #206fc0;
    font-family: FontAwesome;
    content: "\f1ac";
}
@media screen and (max-width: 767px) {
    .contact-tell .txt-tell,.contact-tell .txt-faxx,.contact-tell .txt-tell-honsha {
        font-size: 24px;
    }
}

.contact-tell .txt-tell + p,.contact-tell .txt-faxx + p,.contact-tell .txt-tell-honsha + p {
    margin-top: 0px;
    font-size: 18px;
    text-align: center;
}

.contact-tell .txt-fax {
    font-size: 20px;
    text-align: center;
}

.contact-tell .txt-tell-honsha {
    font-size: 28px;
    text-align: center;
}



/****************************************
6. Footer 
****************************************/
.footer {
    background-color: #fff;
}

.footer_link {
    display: flex;
    flex-wrap: wrap;
    padding: 0px 0px 30px;
}

.footer_link > div {
    margin: 30px 0px 0px;
}
.footer_link_product {
    width: 100%;
}
.footer_link_about {
    width: 70%;
}
.footer_link_contact {
    width: 30%;
}

.footer_link > div > p {
    color: #006bbb;
    font-size: 16px;
    font-weight: bold;
}

@media print, (min-width: 1200px) {
    .footer_link_product {
        width: 45%;
    }
    .footer_link_about {
        width: 35%;
    }
    .footer_link_contact {
        width: 20%;
    }
}

.footer_link .menu {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    list-style: none;
}
@media print, (min-width: 768px) {
    .footer_link .menu {
        height: 14em;
    }
}

.footer_link .menu > li {
    position: relative;
    padding: 0px 0px 0px 1em;
    margin: 1em 0px 0px;
    line-height: 1.5;
}
.footer_link .menu > li:before {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    color: #006bbb;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105";
}

.footer_link .menu > li > a {
    color: #232323;
    text-decoration: none;
    line-height: 1;
}
.footer_link .menu > li > a:hover {
	text-decoration:underline #006bbb;
}
.footer_info {
    padding: 10px 0px 30px;
    margin: 0px -10px;
    background-color: #001a44;
    color: #fff;
    font-size: 13px;
}
/* バナーメニューの矢印アイコン（Font Awesome）を非表示にする */
.footer_link .menu > li.no-arrow:before {
    content: none !important;
}

/* 矢印が消えた分、左側の余白（画像の位置）を左に詰める調整 */
.footer_link .menu > li.no-arrow {
    padding-left: 0 !important;
}

.footer_info > .container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.footer_info_name {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 200px;
}

.footer_info_name > img:nth-of-type(1) {
    width: 60px;
}
.footer_info_name > img:nth-of-type(2) {
    margin: 0px 0px 0px 10px;
    width: 130px;
}

.footer_info_name,
.footer_info_address,
.footer_info_tel,
.footer_info_copyright {
    margin: 20px 10px 0px;
    text-align: center;
    line-height: 1;
}

.footer_info_tel > span {
    margin: 0px 10px;
}

@media print, (min-width: 1300px) {
    .footer_info > .container {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: flex-end;
    }
}

.content_cta > div {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    color: #fff;
    padding: 60px 0px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    text-align: center;
}

.content_cta > div > p {
    font-size: 18px;
}

.content_cta_seikinet {
    background-image: url(images/etc/bg_seikinet.jpg);
}

.content_cta_seikinet > p:nth-of-type(1) {
    font-size: 13px;
}

.content_cta_contact {
    background-image: url(images/etc/bg_contact.jpg);
}

.content_cta_contact > p:nth-of-type(1) {
    margin: 1em 0px 0px;
}

@media print, (min-width: 768px) {
    .content_cta {
        display: flex;
    }
    .content_cta > div {
        width: 50%;
    }
}

.slide_window {
    position: fixed;
    right: -100%;
    z-index: 9999;
    padding: 30px 10px;
    border: 2px solid #206fc1;
    background-color: #fff;
    text-align: center;
    opacity: 0;
    transition: 1s;
}
.slide_window.js_active {
    right: 10px;
    z-index: 9999;
    opacity: 1;
}
.slide_window_close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 20px;
    height: 20px;
    transform: rotate(45deg);
    border: none;
    background: none;
    outline: none;
}
.slide_window_close:before,
.slide_window_close:after {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 3px;
    height: 3px;
    background-color: #206fc1;
    content: "";
}
.slide_window_close:before {
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
}
.slide_window_close:after {
    left: 50%;
    transform: translateX(-50%);
    height: 100%;
}
.slide_window_close:hover {
    cursor: pointer;
}

.btn_slide_window {
    position: fixed;
    right: -100%;
    padding: 10px 30px;
    border: none;
    border-radius: 5px;
    background: none;
    background-color: #1b7bd1;
    outline: none;
    transition: 0.5s;
}
.btn_slide_window.js_active {
    right: 30px;
    z-index: 9999;
    opacity: 1;
}
.btn_slide_window:hover {
    cursor: pointer;
}
.btn_slide_window::after {
    position: absolute;
    top: 50%;
    left: 5px;
    transform: translateY(-50%) rotate(-45deg);
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    content: "";
}

.btn_slide_window p {
    position: relative;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
}
.btn_slide_window p:nth-of-type(2) {
    margin: 10px 0px 0px;
}
.btn_slide_window p:nth-of-type(2)::after {
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 90%;
    height: 1px;
    background-color: #fff;
    content: "";
}

@media screen and (max-width: 767px) {
    .slide_window,
    .btn_slide_window {
        bottom: 10px;
    }
    .slide_window {
        width: calc(100% - 20px);
    }
    .slide_window_content > p {
        display: none;
    }
    .slide_window_content > .btn_link_blue {
        margin: 0px auto;
    }
    .slide_window_content > .btn_link_blue:nth-of-type(2) {
        margin: 20px auto 0px;
    }
}
@media print, (min-width: 768px) {
    .slide_window,
    .btn_slide_window {
        bottom: 130px;
    }
    .slide_window_content > p {
        color: #206fc1;
        font-weight: bold;
    }
    .slide_window_content > p:nth-of-type(2) {
        margin: 20px 0px 0px;
    }
    .slide_window_content > .btn_link_blue {
        margin: 10px auto 0px;
    }
}

#btn_scroll_top {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 9998;
    width: 70px;
    height: 70px;
    background-color: #006bbb;
    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: 4px solid #fff;
    border-top: 4px solid #fff;
    content: "";
}

/****************************************
7. single
****************************************/

/*####  barrel  ####*/

@media print, (min-width: 1300px){
.page-barrel-20210528 .header_pc_base,
.page-barrel-20210528-child .header_pc_base {
    width: 1200px!important;
}
}
.header_tel{
	font-weight:bold;
	padding:0px!important;
	font-size:21px;
	text-align:right;
}
.header_tel:before {
    margin: 0px 5px 0px 0px;
    font-family: FontAwesome;
    content: "\f095";
}

.header_tel span{
	font-size:10px;
}

.contact_btn{
    width:100%;
}
.contact_btn a{
    display:block;
    width:100%;
    height:100%;
    text-decoration: none;
    background:#006EC1;
    text-align:center;
    border:1px solid #FFFFFF;
    color:#FFFFFF;
    font-size:14px;
    font-weight:bold;
    border-radius:6px;
    -webkit-border-radius:10px;
    -moz-border-radius:10px;
    transition: all 0.7s ease;
    padding:20px 0;
}
.contact_btn a:hover{
    background:#FFFFFF;
    color:#006EC1;
    margin-left:0px;
    margin-top:0px;
    border:1px solid #006EC1;
    box-shadow:none;
}

p.company-catch{
	font-size:11px;
}

.header_pc_base ul {
	display:flex;
	justify-content: space-between;
	padding-left:20px;
}
.header_pc_base ul li{
	list-style:none;
	font-weight:bold;
	font-size:16px;
}
.header_pc_base ul li a:link{
	text-decoration:none;
}
.header_pc_base ul li a:hover{
	text-decoration:none;
	color:#67B0E8;
}

a.anchor {
    display: block;
    padding-top: 102px;
    margin-top: -102px;
}

.barrel_slider > li {
    position: relative;
}

.barrel_slider > li > h1,
.main_slider > li > h1.barrel {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    z-index: 1;
    color: #fff;
/*
    font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
*/
    text-shadow: -2px -2px 6px #333, 2px -2px 6px #333, 2px 2px 6px #333, -2px 2px 6px #333;
    text-align: center;
    white-space: nowrap;
}

.main_slider > li > h1.barrel > p.catch_sub_top,
.main_slider > li > h1.barrel > p.catch_sub_bottom,
.barrel_slider > li > h1 > p.catch_sub_top,
.barrel_slider > li > h1 > p.catch_sub_bottom {
    display: table;
    position: relative;
    padding: 0px 3em;
    margin: 0px auto;
    font-size: 16px;
    font-weight: normal;
    text-indent: 6px;
    letter-spacing: 6px;
}
.barrel_slider > li > h1 > p.catch_sub_bottom,
.main_slider > li > h1.barrel > p.catch_sub_bottom {
    font-size: 15px;
}
.barrel_slider > li > h1 > p.catch_sub_top:before {
    left: 0px;
}
.barrel_slider > li > h1 > p.catch_sub_top:after {
    right: 0px;
}
.barrel_slider > li > h1 > p.catch_main,
.main_slider > li > h1.barrel > p.catch_main {
    font-size: 20px;
}
.main_slider > li > h1.barrel > a.btn_link {
	font-size: 24px;
}

@media print, (min-width: 768px) {
    .barrel_slider > li > h1 > p.catch_sub_top,
    .main_slider > li > h1.barrel > p.catch_sub_top {
        font-size: 24px;
    }
    .barrel_slider > li > h1 > p.catch_sub_bottom,
    .main_slider > li > h1.barrel > p.catch_sub_bottom {
        font-size: 18px;
    }
    .barrel_slider > li > h1 > p.catch_main,
    .main_slider > li > h1.barrel > p.catch_main {
        font-size: 40px;
    }
}

@media print, (min-width: 992px) {
    .barrel_slider > li > h1 > p.catch_sub_top,
    .main_slider > li > h1.barrel > p.catch_sub_top {
        font-size: 36px;
    }
    .barrel_slider > li > h1 > p.catch_sub_bottom,
    .main_slider > li > h1.barrel > p.catch_sub_bottom {
        font-size: 24px;
    }
    .barrel_slider > li > h1 > p.catch_main,
    .main_slider > li > h1.barrel > p.catch_main {
        font-size: 60px;
    }
}

@media print,
(min-width: 992px) {
  .page-barrel-20210528 .container,
  .page-barrel-20210528-child .container{
    width: 85%;
  }
}

@media (min-width: 1300px) {
  .page-barrel-20210528 .container,.page-barrel-20210528-child .container {
    max-width: 1200px;
  }
}

@media print, (min-width: 768px){
  .page-barrel-20210528 article > .container,.page-barrel-20210528-child article > .container {
    margin-top: 0px!important;
  }
}

.barrel_slider_link {
    display: block;
    position: absolute;
    top: calc(50% + 4em);
    left: 50%;
    transform: translateX(-50%);
    padding: 0.75em 3em;
    border: 1px solid #dc143c;
    border-radius: 2em;
    background-color:#dc143c;
    color:#fff;
    font-size: 15px;
    font-weight: bold;
    text-decoration: none;
    white-space: nowrap;
    transition: 0.5s;
}
.barrel_slider_link:hover {
    background-color: #fff;
    color:#dc143c;
}

@media print, (min-width: 768px) {
    .barrel_slider_link {
        top: calc(50% + 7em);
        font-size: 18px;
    }
}
@media print, (min-width: 992px) {
    .barrel_slider_link {
        font-size: 24px;
    }
}

.container_bg {
  width: 100%;
  background: #eee;
}

.page-barrel-20210528,.page-barrel-20210528-child {
  background: none;
}

.page-barrel-20210528 article > .container,.page-barrel-20210528-child article > .container {
  background: none;
}

.appeal_box {
  padding: 2em 1em;
  margin: 30px auto 0px;
  border: 1px solid #206fc0;
  color: #206fc0;
  font-weight: bold;
  text-align: center;
}

.appeal_box h2{
	background:none;
	margin-bottom:20px;
	border:none;
}

.page-barrel-20210528 h2,.page-barrel-20210528-child h2 {
  border: none;
  background: none;
  margin-bottom: 30px;
  color: #206fc0;
  text-align: center;
}

.page-barrel-20210528 h3,.page-barrel-20210528-child h3 {
  border: none;
  padding: 0 0 20px 0;
}

i.attention {
  position: relative;
  left: 0;
  width: 100%;
  text-align: center;
  color: #cc0000;
}

.page-barrel h3.feature{
	display:flex;
	border:none;
	padding:6px 0px;
	align-items: center;
}
.page-barrel h3.feature p{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background-color: #0848cf;
    font-size: 12px;
    width:60px;
    height:60px;
    margin-right:10px;
    color:#ffffff;
}

.page-barrel h3.feature p span{
	font-size: 24px;
}

section.trouble h3 {
  text-align: center;
  padding: 15px 0px;
  border:none;
  font-size: 16px;
}

table.facility {
  text-align: center;
  table-layout: auto;

}

table.facility tr:first-child {
  background: #808080;
  font-weight: bold;
  color: #ffffff;
}

table.facility tr:nth-child(2) {
  background: #d9d9d9;
}

table.facility tr td:nth-of-type(1) {
  width: 30% !important;
}

table.facility tr td:nth-of-type(2) {
  width: 50% !important;
}

table.facility tr td:nth-of-type(3) {
  width: 20% !important;
}

.cta_bg{
	width:100%;
    padding: 60px 30px;
    background-image: url(images/barrel/cta-bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    color:#ffffff;
}
.cta_bg h2{
    color:#ffffff;
    margin:0;
    background:none;
    text-align:center;
    border:none;
}
.cta_bg p{
	padding-top:15px;
	margin:0!important;
}
.tel-barrel{
	font-size:25pt;
	font-weight:bold;
	padding: 0 15px!important;
	
}
.tel-barrel:before {
    margin: 0px 5px 0px 0px;
    color: #ffffff;
    font-family: FontAwesome;
    content: "\f095";
}

.circle_front{
    position: absolute;
    z-index: 1;
    top: 30%;
    left: 50%;
    width: 100%;
    transform: translateY(-50%) translateX(-50%);
    padding: 0 2em;
}

.circle_background{
    position: relative;
    margin-top: 0px;
    width: 12em;
    height: 12em;
    border-radius: 50%;
    background-color: #eef8ff;
    top: 30%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}

.under_circle{
    margin: 0 auto;
    width: 12em;
}

.barel_case{
    margin-top: 35px;
}

.barel_cta{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 30px;
}

.paycia{
    margin-bottom: 20px;
    padding: 0!important;
    color: #206fc0;
    font-size: 20px!important;
}

@media screen and (max-width: 767px) {
    .barel_cta{
    display: block;
}
    .tel-barrel{
    padding: 0px!important;
}
.barrel_slider > li > h1 > p.catch_sub_bottom {
    letter-spacing: 0px;
}
}

/****************************************
8. WP
****************************************/

/****************************************
9. Print
****************************************/

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

#gr_checkbox {
    display: table;
    margin: 10px auto;
}

#gr_submit:disabled {
    pointer-events: none;
}

/****************************************
11. Font 
*****************************************/
.red  {color:#e70033;}
.blue {color:#0B64BF;}
.tel  {color:#0B64BF;font-weight:bold;font-size:40px;text-align:center;}
.fs18 {font-size: 18px;}


/****************************************
12. Background
*****************************************/
.bgclr_blue{
	background:#EEF8FF;
}
.bgclr_blue h3{
	border-left:none;
  position: relative;
  text-align:center;
}
.bgclr_blue h3:before{
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10px; /*下線の上下位置調整*/
  display: inline-block;
  width: 50px; /*下線の幅*/
  height: 2px; /*下線の太さ*/
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); /*位置調整*/
  background-color: #4993D3; /*下線の色*/
}
/****************************************
13. margin,padding
*****************************************/
.p10{padding:10px !important;}
.pb20{padding-bottom:20px !important;}
.mt0 {margin-top:0px !important;}
.mt10 {margin-top:10px !important;}
.mt20{margin-top:20px !important;}
.mt30{margin-top:30px !important;}
.mb20{margin-bottom:20px !important;}
.ml20{margin-left:20px !important;}
.mb30{margin-bottom:30px !important;}
.mt3em{margin-top: 3em;}
.mtb2em{
    margin: 2em 0;}
.mt7em{margin-top: 7em;}
@media screen and (max-width: 767.98px) {
    .mt7em{margin-top: 2em;}
}

/****************************************
14. border
*****************************************/
.border_t{border-top:1px solid #CCCCCC;}
.border_b{border-bottom:1px solid #CCCCCC;}

/****************************************
15. width
*****************************************/
.w20per{width:20%;}
.w30per{width:30%;}

/****************************************
16. メールフォームプロ用スタイル
****************************************/
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{
    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 {
    padding-left: 52px;
/*
    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;
    }
}



/****************************************
その他追加CSS
*****************************************/


/*精密マシンキーページのサブタイトル箱*/
.subtitle{
    margin: 3em auto;
    width: 70%;
    border: 1px solid #DCDCDC;
    padding: 2em 3em;
}

@media screen and (max-width: 767.98px) {
    .subtitle{
        margin: 3em auto;
        width: 95%;
        border: 1px solid #DCDCDC;
        padding: 2em 3em;
    }
}

/*精密マシンキーページのサブタイトル箱のタイトル*/
.subtitle_tex{
    font-weight: bold;
    font-size: 1.5em;
    text-align: center;
}

/*精密マシンキーページのカラムのタイトル*/
.coltitle{
    padding: 0.5em;
    font-weight: bold;
    text-align: center;
    font-size: 1.2em;
    background-color: #e3e3e3;
    min-height: 6em;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
}

/*精密マシンキーページのカラムのテキスト*/
.coltex{
    border: 1px solid #e3e3e3;
    padding: 1em;
    min-height: 16em;
}

@media screen and (max-width: 767.98px) {
    .coltex{
        border: 1px solid #e3e3e3;
        padding: 1em;
        min-height: 5em;
    }
}

.tx12emb{
    font-size: 1.2em;
    font-weight: bold;
}


/*精密マシンキーページの表スタイル*/

.decotable{
    border: 2px solid #016dc0;
    text-align: center;
}

.decotable th{
    background-color:#D3EDFB ;
    border:1px solid #016dc0;
    font-weight: bold;
}

.decotable tr{
    border:1px solid #016dc0;
}

.decotable td{
    border:1px solid #016dc0;
}

.decotable td:nth-child(2){
    background-color: #e6e6e6;
}

.decotable td:nth-child(3){
    background-color: rgb(255, 255, 173);
    font-weight: bold;
    font-size:1.5em;
}

.table{
    border: 2px solid #016dc0;
    text-align: center;
}

.table th{
    background-color:#D3EDFB ;
    border:1px solid #016dc0;
    font-weight: bold;
}

.table tr{
    border:1px solid #016dc0;
}

.table td{
    border:1px solid #016dc0;
}

.catalog_pdf_dl{
    max-height: 278px;
    border: 1px solid #7d7d7d;
}

.h4_bold {
    color: #206fc0;
    font-size: 1.3em;
    text-align: center;
}

.infograph {
    border: 2px solid #206fc0;
    border-radius: 1em;
}

.recruit_gallery_thumbnail {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 20px -5px 0px;
    list-style: none;
}

.recruit_gallery_thumbnail > li {
    width: calc((100% / 7) - 10px);
    margin: 10px 5px 0px;
}

.recruit_gallery_thumbnail > li > a {
    display: block;
    position: relative;
    padding-top: 75%;
}

.recruit_gallery_thumbnail > li > a > img {
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    max-width: 100%;
    max-height: 100%;
}

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

@media screen and (max-width: 767.98px) {
    .recruit_gallery_thumbnail > li {
        width: calc(100% / 4);
    }
}

.kadomaru {
    padding: 2em;
    border: 2px solid #206fc0;
    border-radius: 1em;
}

.step3_flow {
    list-style: none;
}

.step3_flow_block,
.step3_flow_arrow {
    min-height: 100%;
}

.step3_flow_block {
    padding: 1em;
    border: 2px solid #206fc0;
}

.step3_flow_arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #206fc0;
    font-size: 2em;
}
.step3_flow_arrow::before {
    font-family: FontAwesome;
    content: "\f054";
}

@media screen and (max-width: 767.98px) {
    .step3_flow_arrow {
        margin: 0.5em 0px;
    }
    .step3_flow_arrow::before {
        content: "\f078";
    }
}
@media screen and (min-width: 768px) {
    .step3_flow {
        display: flex;
    }
    .step3_flow_block {
        width: 30%;
    }
    .step3_flow_arrow {
        width: 10%;
    }
}

.flow_arrow {
    list-style: none;
}

.flow_arrow_block {
    padding: 1em;
    border: 2px solid #206fc0;
}

.flow_arrow_down {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0.5em 0px;
    color: #206fc0;
    font-size: 2em;
}
.flow_arrow_down::before {
    font-family: FontAwesome;
    content: "\f078";
}

.h4_underbar {
    padding: 0px 0px 0.5em;
    font-size: 1.25em;
    font-weight: bold;
    border-bottom: 2px solid #206fc0;
}

.recruit_qa dt {
    margin-top: 1.5em;
    color: #206fc0;
    font-weight: bold;
}

.recruit_qa dt + dd {
    margin-top: 0.5em;
}
