/*
Theme Name: main
Theme URI: 
Description: 
Author: ailylab
Author URI: 
Version: 1.0.0
*/
@font-face {
  font-family: "iconfont"; /* Project id  */
  src: url('iconfont.ttf?t=1679214611638') format('truetype');
}
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, a, 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;
	line-height:180%;
    border: none;
    outline: none;
    box-sizing: border-box;
}

body {
    color: #040505;
    font-size: 15px;
    font-weight: 500;
	font-family:"microsoft yahei";
    overflow-x: hidden;
}
textarea{
	font-family:"microsoft yahei";
	}
@media all and (-ms-high-contrast: none) {
    body {
        font-family: "メイリオ", Meiryo, sans-serif;
    } 
}

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

a {
    color: #040505;
	text-decoration: none;
}

a:hover {
    color: #76b6dd;
}

a[href="#none"] {
    color: #040505;
    text-decoration: none;
    pointer-events: none;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0px auto;
    -webkit-backface-visibility: hidden; 
    -ms-transform: translateZ(0); /* IE 9 */
    -webkit-transform: translateZ(0); /* Chrome, Safari, Opera */
    transform: translateZ(0);
}

/* Chromeで縮小したアイコン画像がぼやける現象への対策 */
img[src$=".png"],
img[src$=".gif"] {
    -webkit-backface-visibility: hidden;
}

img.border {
    border: 1px solid #a9acaf;
}



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

strong {
    color: #0071bc;
    font-size: 16px;
}

figcaption {
    padding: 0.5em;
    color: #1d4676;
    font-weight: bold;
    text-align: center;
}

a:hover > figure > img {
    opacity: 0.8;
}

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

table th,
table td {
    position: relative;
    padding: 10px;
    height: 100%;
    border: 1px solid #a9acaf;
}

table th {
    background-color: #e8e8e8;
}

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



.fixed_table_header_left,
.fixed_table_header_right,
.fixed_table_body_left,
.fixed_table_body_right {
    position: absolute;
    -ms-overflow-style: none;   /* IE, Edge 対応 */
    scrollbar-width: none;      /* Firefox 対応 */
}

.fixed_table_header_right,
.fixed_table_body_right {
    overflow-x: scroll;
}

.fixed_table_body_left {
    overflow: hidden;
}

.fixed_table_body_right {
    overflow-y: scroll;
}

.fixed_table_body_right a {
    position: relative;
    z-index: 1;
}

.fixed_table_header_left::-webkit-scrollbar,
.fixed_table_header_right::-webkit-scrollbar,
.fixed_table_body_left::-webkit-scrollbar,
.fixed_table_body_right::-webkit-scrollbar {
    display: none;  /* Chrome, Safari 対応 */
}

.fixed_table table {
    width: auto;
    height: auto;
    font-size: 11px;
}

.fixed_table table th,
.fixed_table table td {
    padding: 2px 4px;
    font-weight: normal;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
}

.fixed_table_scroll_left,
.fixed_table_scroll_right,
.fixed_table_scroll_up,
.fixed_table_scroll_down {
    display: block;
    position: absolute;
    z-index: 10;
    width: 20px;
    height: 20px;
    border-right: 3px solid #0f5498;
    border-top: 3px solid #0f5498;
    cursor: pointer;
}
.fixed_table_scroll_left {
    top: 50%;
    left: 20px;
    transform: translateY(-50%) rotate(225deg);
}
.fixed_table_scroll_right {
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
}
.fixed_table_scroll_up {
    top: 20px;
    left: 50%;
    transform: translateX(-50%) rotate(315deg);
}
.fixed_table_scroll_down {
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%) rotate(135deg);
}
.fixed_table_scroll_left::before,
.fixed_table_scroll_right::before,
.fixed_table_scroll_up::before,
.fixed_table_scroll_down::before {
    position: absolute;
    top: -20px;
    left: -20px;
    right: -20px;
    bottom: -20px;
    content: "";
}






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



.fixed_table1_header_left,
.fixed_table1_header_right,
.fixed_table1_body_left,
.fixed_table1_body_right {
    position: absolute;
    -ms-overflow-style: none;   /* IE, Edge 対応 */
    scrollbar-width: none;      /* Firefox 対応 */
}

.fixed_table1_header_right,
.fixed_table1_body_right {
    overflow-x: scroll;
}

.fixed_table1_body_left {
    overflow: hidden;
}

.fixed_table1_body_right {
    overflow-y: scroll;
}

.fixed_table1_body_right a {
    position: relative;
    z-index: 1;
}

.fixed_table1_header_left::-webkit-scrollbar,
.fixed_table1_header_right::-webkit-scrollbar,
.fixed_table1_body_left::-webkit-scrollbar,
.fixed_table1_body_right::-webkit-scrollbar {
    display: none;  /* Chrome, Safari 対応 */
}

.fixed_table1 table {
    width: auto;
    height: auto;
    font-size: 11px;
}

.fixed_table1 table th,
.fixed_table1 table td {
    padding: 2px 4px;
    font-weight: normal;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
}

.fixed_table1_scroll_left,
.fixed_table1_scroll_right,
.fixed_table1_scroll_up,
.fixed_table1_scroll_down {
    display: block;
    position: absolute;
    z-index: 10;
    width: 20px;
    height: 20px;
    border-right: 3px solid #0f5498;
    border-top: 3px solid #0f5498;
    cursor: pointer;
}
.fixed_table1_scroll_left {
    top: 50%;
    left: 20px;
    transform: translateY(-50%) rotate(225deg);
}
.fixed_table1_scroll_right {
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
}
.fixed_table1_scroll_up {
    top: 20px;
    left: 50%;
    transform: translateX(-50%) rotate(315deg);
}
.fixed_table1_scroll_down {
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%) rotate(135deg);
}
.fixed_table1_scroll_left::before,
.fixed_table1_scroll_right::before,
.fixed_table1_scroll_up::before,
.fixed_table1_scroll_down::before {
    position: absolute;
    top: -20px;
    left: -20px;
    right: -20px;
    bottom: -20px;
    content: "";
}



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

.fixed_table2_header_left,
.fixed_table2_header_right,
.fixed_table2_body_left,
.fixed_table2_body_right {
    position: absolute;
    -ms-overflow-style: none;   /* IE, Edge 対応 */
    scrollbar-width: none;      /* Firefox 対応 */
}

.fixed_table2_header_right,
.fixed_table2_body_right {
    overflow-x: scroll;
}

.fixed_table2_body_left {
    overflow: hidden;
}

.fixed_table2_body_right {
    overflow-y: scroll;
}

.fixed_table2_body_right a {
    position: relative;
    z-index: 1;
}

.fixed_table2_header_left::-webkit-scrollbar,
.fixed_table2_header_right::-webkit-scrollbar,
.fixed_table2_body_left::-webkit-scrollbar,
.fixed_table2_body_right::-webkit-scrollbar {
    display: none;  /* Chrome, Safari 対応 */
}

.fixed_table2 table {
    width: auto;
    height: auto;
    font-size: 11px;
}

.fixed_table2 table th,
.fixed_table2 table td {
    padding: 2px 4px;
    font-weight: normal;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
}

.fixed_table2_scroll_left,
.fixed_table2_scroll_right,
.fixed_table2_scroll_up,
.fixed_table2_scroll_down {
    display: block;
    position: absolute;
    z-index: 10;
    width: 20px;
    height: 20px;
    border-right: 3px solid #0f5498;
    border-top: 3px solid #0f5498;
    cursor: pointer;
}
.fixed_table2_scroll_left {
    top: 50%;
    left: 20px;
    transform: translateY(-50%) rotate(225deg);
}
.fixed_table2_scroll_right {
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
}
.fixed_table2_scroll_up {
    top: 20px;
    left: 50%;
    transform: translateX(-50%) rotate(315deg);
}
.fixed_table2_scroll_down {
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%) rotate(135deg);
}
.fixed_table2_scroll_left::before,
.fixed_table2_scroll_right::before,
.fixed_table2_scroll_up::before,
.fixed_table2_scroll_down::before {
    position: absolute;
    top: -20px;
    left: -20px;
    right: -20px;
    bottom: -20px;
    content: "";
}


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

.fixed_table3_header_left,
.fixed_table3_header_right,
.fixed_table3_body_left,
.fixed_table3_body_right {
    position: absolute;
    -ms-overflow-style: none;   /* IE, Edge 対応 */
    scrollbar-width: none;      /* Firefox 対応 */
}

.fixed_table3_header_right,
.fixed_table3_body_right {
    overflow-x: scroll;
}

.fixed_table3_body_left {
    overflow: hidden;
}

.fixed_table3_body_right {
    overflow-y: scroll;
}

.fixed_table3_body_right a {
    position: relative;
    z-index: 1;
}

.fixed_table3_header_left::-webkit-scrollbar,
.fixed_table3_header_right::-webkit-scrollbar,
.fixed_table3_body_left::-webkit-scrollbar,
.fixed_table3_body_right::-webkit-scrollbar {
    display: none;  /* Chrome, Safari 対応 */
}

.fixed_table3 table {
    width: auto;
    height: auto;
    font-size: 11px;
}

.fixed_table3 table th,
.fixed_table3 table td {
    padding: 2px 4px;
    font-weight: normal;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
}

.fixed_table3_scroll_left,
.fixed_table3_scroll_right,
.fixed_table3_scroll_up,
.fixed_table3_scroll_down {
    display: block;
    position: absolute;
    z-index: 10;
    width: 20px;
    height: 20px;
    border-right: 3px solid #0f5498;
    border-top: 3px solid #0f5498;
    cursor: pointer;
}
.fixed_table3_scroll_left {
    top: 50%;
    left: 20px;
    transform: translateY(-50%) rotate(225deg);
}
.fixed_table3_scroll_right {
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
}
.fixed_table3_scroll_up {
    top: 20px;
    left: 50%;
    transform: translateX(-50%) rotate(315deg);
}
.fixed_table3_scroll_down {
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%) rotate(135deg);
}
.fixed_table3_scroll_left::before,
.fixed_table3_scroll_right::before,
.fixed_table3_scroll_up::before,
.fixed_table3_scroll_down::before {
    position: absolute;
    top: -20px;
    left: -20px;
    right: -20px;
    bottom: -20px;
    content: "";
}



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

.fixed_table2b_header_left,
.fixed_table2b_header_right,
.fixed_table2b_body_left,
.fixed_table2b_body_right {
    position: absolute;
    -ms-overflow-style: none;   /* IE, Edge 対応 */
    scrollbar-width: none;      /* Firefox 対応 */
}

.fixed_table2b_header_right,
.fixed_table2b_body_right {
    overflow-x: scroll;
}

.fixed_table2b_body_left {
    overflow: hidden;
}

.fixed_table2b_body_right {
    overflow-y: scroll;
}

.fixed_table2b_body_right a {
    position: relative;
    z-index: 1;
}

.fixed_table2b_header_left::-webkit-scrollbar,
.fixed_table2b_header_right::-webkit-scrollbar,
.fixed_table2b_body_left::-webkit-scrollbar,
.fixed_table2b_body_right::-webkit-scrollbar {
    display: none;  /* Chrome, Safari 対応 */
}

.fixed_table2b table {
    width: auto;
    height: auto;
    font-size: 11px;
}

.fixed_table2b table th,
.fixed_table2b table td {
    padding: 2px 4px;
    font-weight: normal;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
}

.fixed_table2b_scroll_left,
.fixed_table2b_scroll_right,
.fixed_table2b_scroll_up,
.fixed_table2b_scroll_down {
    display: block;
    position: absolute;
    z-index: 10;
    width: 20px;
    height: 20px;
    border-right: 3px solid #0f5498;
    border-top: 3px solid #0f5498;
    cursor: pointer;
}
.fixed_table2b_scroll_left {
    top: 50%;
    left: 20px;
    transform: translateY(-50%) rotate(225deg);
}
.fixed_table2b_scroll_right {
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
}
.fixed_table2b_scroll_up {
    top: 20px;
    left: 50%;
    transform: translateX(-50%) rotate(315deg);
}
.fixed_table2b_scroll_down {
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%) rotate(135deg);
}
.fixed_table2b_scroll_left::before,
.fixed_table2b_scroll_right::before,
.fixed_table2b_scroll_up::before,
.fixed_table2b_scroll_down::before {
    position: absolute;
    top: -20px;
    left: -20px;
    right: -20px;
    bottom: -20px;
    content: "";
}


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

.fixed_table3b_header_left,
.fixed_table3b_header_right,
.fixed_table3b_body_left,
.fixed_table3b_body_right {
    position: absolute;
    -ms-overflow-style: none;   /* IE, Edge 対応 */
    scrollbar-width: none;      /* Firefox 対応 */
}

.fixed_table3b_header_right,
.fixed_table3b_body_right {
    overflow-x: scroll;
}

.fixed_table3b_body_left {
    overflow: hidden;
}

.fixed_table3b_body_right {
    overflow-y: scroll;
}

.fixed_table3b_body_right a {
    position: relative;
    z-index: 1;
}

.fixed_table3b_header_left::-webkit-scrollbar,
.fixed_table3b_header_right::-webkit-scrollbar,
.fixed_table3b_body_left::-webkit-scrollbar,
.fixed_table3b_body_right::-webkit-scrollbar {
    display: none;  /* Chrome, Safari 対応 */
}

.fixed_table3b table {
    width: auto;
    height: auto;
    font-size: 11px;
}

.fixed_table3b table th,
.fixed_table3b table td {
    padding: 2px 4px;
    font-weight: normal;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
}

.fixed_table3b_scroll_left,
.fixed_table3b_scroll_right,
.fixed_table3b_scroll_up,
.fixed_table3b_scroll_down {
    display: block;
    position: absolute;
    z-index: 10;
    width: 20px;
    height: 20px;
    border-right: 3px solid #0f5498;
    border-top: 3px solid #0f5498;
    cursor: pointer;
}
.fixed_table3b_scroll_left {
    top: 50%;
    left: 20px;
    transform: translateY(-50%) rotate(225deg);
}
.fixed_table3b_scroll_right {
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg);
}
.fixed_table3b_scroll_up {
    top: 20px;
    left: 50%;
    transform: translateX(-50%) rotate(315deg);
}
.fixed_table3b_scroll_down {
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%) rotate(135deg);
}
.fixed_table3b_scroll_left::before,
.fixed_table3b_scroll_right::before,
.fixed_table3b_scroll_up::before,
.fixed_table3b_scroll_down::before {
    position: absolute;
    top: -20px;
    left: -20px;
    right: -20px;
    bottom: -20px;
    content: "";
}



@media screen and (min-width: 768px) {
    .fixed_table_scroll_up,
    .fixed_table_scroll_down {
        display: none;
    }
}

@media screen and (min-width: 768px) {
    .fixed_table1_scroll_up,
    .fixed_table1_scroll_down {
        display: none;
    }
}

@media screen and (min-width: 768px) {
    .fixed_table2_scroll_up,
    .fixed_table2_scroll_down {
        display: none;
    }
}

@media screen and (min-width: 768px) {
    .fixed_table3_scroll_up,
    .fixed_table3_scroll_down {
        display: none;
    }
}
@media screen and (min-width: 768px) {
    .fixed_table2b_scroll_up,
    .fixed_table2b_scroll_down {
        display: none;
    }
}

@media screen and (min-width: 768px) {
    .fixed_table3b_scroll_up,
    .fixed_table3b_scroll_down {
        display: none;
    }
}

.tbl_main_th {
    position: relative;
    width: 100%;
    height: 100%;
}
.tbl_main_th::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%) rotate(30deg);
    width: 30%;
    height: 1px;
    background-color: #fff;
    content: "";
}

.tbl_main_th > span {
    position: absolute;
}
.tbl_main_th > span:nth-of-type(1) {
    top: 1em;
    right: 1em;
}
.tbl_main_th > span:nth-of-type(2) {
    bottom: 1em;
    left: 1em;
}

@media screen and (max-width: 767.98px) {
    .fixed_table table {
        font-size: 7px;
    }
}

@media screen and (max-width: 767.98px) {
    .fixed_table1 table {
        font-size: 7px;
    }
}

@media screen and (max-width: 767.98px) {
    .fixed_table2 table {
        font-size: 7px;
    }
}

@media screen and (max-width: 767.98px) {
    .fixed_table3 table {
        font-size: 7px;
    }
}


address {
    font-style: normal;
}

.video_wrapper {
    position: relative;
}

.video_wrapper > video {
    width: 100%;
}

.bg_gray,
.bg_gray th {
    background-color: #f7f7f7;
}

th.bg_lv1,
.bg_lv1 th {
    background-color: #1d4676;
    color: #fff;
}
th.bg_lv2,
.bg_lv2 th {
    background-color: #83909f;
    color: #fff;
}
th.bg_lv3,
.bg_lv3 th {
    background-color: #e2eaf2;
}
th.bg_lv4,
.bg_lv4 th {
    background-color: #e4e7ea;
}

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: 0.5em 0px 0px;
}

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

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

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

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

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;
}

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

.center {
    text-align: center;
}

@media screen and (min-width: 768px) {
    .pc_center {
        text-align: center;
    }
}

.right {
    text-align: right;
}

.em {
    font-size: 16px;
    font-weight: bold;
}

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

.pagination {
	text-align: center;
	padding-top:15px;
}
.page-item {
	display: inline-block;
	padding: 5px;
	background:#f1f1f1;
	border: 1px solid rgba(0,0,0,.1);
}
.page-num {
	padding: 5px 4px;
	display: inline-block;
	margin: 0 2px;
	background:#f1f1f1;
	border: 1px solid rgba(0,0,0,.1);
}
.pagination a:hover {
	color: #fff;
	background:#0f5498;
}
.page-num-current {
	color: #fff;
	background:#0f5498;
}

.link_prev_next {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: -10px -10px 0px;
}

.link_prev_next a {
    padding: 0.5em 3em;
    margin: 10px 10px 0px;
    background-color: #015B9F;
    color: #fff;
    text-decoration: none;
}
.link_prev_next a:hover {
    background-color: #136bc1;
}

.link_prev,
.link_next {
    position: relative;
    padding: 0px 1em;
}

.link_prev:before,
.link_next:after {
    position: absolute;
    top: 50%;
    width: 0.5em;
    height: 0.5em;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    content: "";
}
.link_prev:before {
    left: 1em;
    transform: translateY(-50%) rotate(225deg);
}
.link_next:after {
    right: 1em;
    transform: translateY(-50%) rotate(45deg);
}

.link_prev_next a[href="dummy"] {
    visibility: hidden;
}

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

.list_slash {
    list-style: none;
}

.list_slash > li {
    display: inline-block;
    position: relative;
}
.list_slash > li:not(:last-child)::after {
    margin: 0px 0.5em;
    content: "/";
}

@media screen and (max-width: 767.98px) {
    .box_imgtxt_text {
        margin-top: 30px;
    }
}
@media screen and (min-width: 768px) {
    .box_imgtxt::after {
        display: block;
        clear: both;
        content: "";
    }
    .box_imgtxt_image {
        float: left;
        margin: 0px 1em 1em 0px;
        min-width: 50%;
    }    
}

.btn_link {
    display: table;
    margin: 30px auto 0px;
    position: relative;
    padding: 0.75em 4em 0.75em 5em;
    border-radius: 2em;
    background-color: #0f5498;
    color: #fff;
    font-size: 17px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
}
.btn_link:hover {
    background-color: #136bc1;
    color: #fff;
}
.btn_link::before {
    position: absolute;
    top: 50%;
    left: 3em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
}

.btn_link_inline {
    display: inline-block;
    position: relative;
    padding: 0px 1.5em 0px 2em;
    margin: 0px 2em;
    color: #fff;
    text-decoration: none;
    line-height: 1;
    white-space: nowrap;
}
.btn_link_inline::before {
    position: absolute;
    top: -0.5em;
    left: 0px;
    right: 0px;
    bottom: -0.5em;
    z-index: -1;
    border-radius: 2em;
    background-color: #0f5498;
    content: "";
}
.btn_link_inline::after {
    position: absolute;
    top: 50%;
    left: 1em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
}

.btn_link_calc {
    display: table;
    position: relative;
    padding: 2em;
    border: 1px solid #0071bc;
    background-image: url(images/common/bg_btn_calc.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    color: #040505;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    line-height: 1.25;
    white-space: nowrap;
}
.btn_link_calc:hover {
    color: #040505;
    opacity: 0.8;
}
.btn_link_calc::after {
    position: absolute;
    top: 50%;
    right: 1em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid #0071bc;
    border-top: 2px solid #0071bc;
    content: "";
}

.btn_link_calc > span:nth-of-type(1) {
    font-size: 15px;
}
.btn_link_calc > span:nth-of-type(2) {
    font-size: 24px;
}

@media screen and (max-width: 767.98px) {
    .btn_link_calc {
        margin: 0px auto;
    }
}
@media screen and (min-width: 768px) {
    .btn_link_calc {
        padding: 2em 5em 2em 6em;
    }
    .btn_link_calc::before {
        position: absolute;
        top: 50%;
        left: 1em;
        transform: translateY(-50%);
        width: 4em;
        height: 4em;
        border-radius: 50%;
        background-color: #1b5d9e;
        background-image: url(images/common/icon_calc_white.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: 50%;
        content: "";
    }
}

.btn_link_small {
    display: inline-block;
    margin: 1em 1em 0px;
    position: relative;
    padding: 0.5em 1em 0.5em 2em;
    border-radius: 2em;
    background-color: #0f5498;
    color: #fff;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
}
.btn_link_small:hover {
    background-color: #136bc1;
    color: #fff;
}
.btn_link_small::before {
    position: absolute;
    top: 50%;
    left: 1em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
}

.col-md-6 .btn_link_calc {
    margin: 30px auto 0px;
}

.btn_pdf,
.btn_pdf1,
.btn_cad {
    display: inline-block;
    padding: 0px 5px;
    margin: 0px auto;
    border-radius: 5px;
    width: 5em;
    color: #fff;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
	cursor:pointer;
}
.btn_pdf:hover,
.btn_pdf1:hover,
.btn_cad:hover {
    color: #fff;
    opacity: 0.8;
}

.btn_pdf,
.btn_pdf1{
    background-color: #cb5a5b;
}
.btn_pdf::before,
.btn_pdf1::before{
    display: inline-block;
    width: 1em;
    height: 1em;
    transform: translateY(0.1em);
    background-image: url(images/common/icon_pdf.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}
.btn_cad {
    background-color: #8094a8;
}

.bg_tcg,
.bg_hpr,
.bg_psr,
.bg_idx {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.bg_tcg {
    background-image: url(images/product/bg_tcg.jpg);
}
.bg_hpr,
.bg_psr {
    background-image: url(images/product/bg_gensoku.jpg);
}
.bg_idx {
    background-image: url(images/product/bg_index.jpg);
}

.bg_blue {
    position: relative;
}
.bg_blue::before {
    position: absolute;
    top: 0px;
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
    bottom: 0px;
    z-index: -1;
    background-color: #eff8ff;
    content: "";
}

.bg_navy {
    position: relative;
}
.bg_navy::before {
    position: absolute;
    top: 0px;
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
    bottom: 0px;
    z-index: -1;
    background-color: #e2eaf2;
    content: "";
}

.bg_navy .title_bc_bar,
.bg_blue .title_bc_bar {
    background-color: transparent;
}

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

.inner_links > ul > li {
    position: relative;
}
.inner_links > ul > li::before {
    position: absolute;
    top: 0px;
    left: -1em;
    right: -2em;
    bottom: 0px;
    z-index: -1;
    border-radius: 4em;
    background-color: #0f5498;
    content: "";
}

.inner_links > ul > li > a {
    display: block;
    position: relative;
    padding: 1em 0px 1em 1em;
    color: #fff;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}
.inner_links > ul > li > a::after {
    display: inline-block;
    margin: 0px 0px 0px 2em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(135deg);
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transition: right 0.5s;
    content: "";
}

.inner_links.js_active > ul > li > a {
    padding: 5px 0px 5px 1em;
}

@media screen and (min-width: 768px) {
    .inner_links.js_active {
        position: fixed;
        top: 100px;
        left: 50%;
        z-index: 9998;
        transform: translateX(-50%);
    }
    .inner_links > ul > li {
        width: 25%;
    }
    .inner_links > ul > li + li::after {
        position: absolute;
        top: 50%;
        left: 0px;
        transform: translateY(-50%);
        width: 1px;
        height: 1em;
        background-color: #fff;
        content: "";
    }
}

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

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

.list_table > dt {
    background-color: #1d4676;
    color: #fff;
    font-weight: bold;
}

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

@media screen and (max-width: 767px) {
    .list_table > dd {
        border: 1px solid #a9acaf;
        border-top: none;
    }
    .list_table > dt,
    .list_table > dd {
        text-align: center;
    }
    .list_table > dd > ul {
        text-align: left;
    }
}
@media print, (min-width: 768px) {
    .list_table {
        display: flex;
        flex-wrap: wrap;
        border-bottom: 1px solid #a9acaf;
    }
    .list_table > dt,
    .list_table > dd {
        display: flex;
        flex-direction: column;
        justify-content: center;
        border-top: 1px solid #a9acaf;
    }
    .list_table > dt {
        width: 30%;
    }
    .list_table > dd {
        width: 70%;
        border-right: 1px solid #a9acaf;
    }
    .col-md-6 .list_table > dt {
        width: 40%;
    }
    .col-md-6 .list_table > dd {
        width: 60%;
    }
    .list_table.lt_dt8em > dt {
        width: 8em;
    }
    .list_table.lt_dt8em > dd {
        width: calc(100% - 8em);
    }
}

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

.list_table_fixrow {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #a9acaf;
}

.list_table_fixrow > dt,
.list_table_fixrow > dd {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1em;
    margin: 0px;
    border-top: 1px solid #a9acaf;
}

.list_table_fixrow > dt {
    width: 70%;
    background-color: #1d4676;
    color: #fff;
    font-weight: bold;
}

.list_table_fixrow > dd {
    width: 70%;
    background-color: #fff;
    border-right: 1px solid #a9acaf;
}

.list_table_fixrow.num_table dt {
    width: 3em;
    text-align: center;
}

.list_table_fixrow.num_table dd {
    width: calc(100% - 3em);
}

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

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

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

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

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

.list_table_col4 > dt {
    background-color: #1d4676;
    color: #fff;
    font-weight: bold;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .list_table_col4 > dd {
        border: 1px solid #a9acaf;
        border-top: none;
    }
    .list_table_col4 > dt,
    .list_table_col4 > dd {
        text-align: center;
    }
    .list_table_col4 > dd > ul {
        text-align: left;
    }
}
@media print, (min-width: 768px) {
    .list_table_col4 {
        display: flex;
        flex-wrap: wrap;
        border-bottom: 1px solid #a9acaf;
    }
    .list_table_col4 > dt,
    .list_table_col4 > dd {
        display: flex;
        flex-direction: column;
        justify-content: center;
        border-top: 1px solid #a9acaf;
    }
    .list_table_col4 > dt {
        width: 30%;
    }
    .list_table_col4 > dd {
        border-left: 1px solid #a9acaf;
    }
    .list_table_col4 > dt + dd {
        width: calc(40% - 8em);
    }
    .list_table_col4 > dt + dd + dd {
        width: 30%;
    }
    .list_table_col4 > dt + dd + dd + dd {
        padding: 0px;
        width: 8em;
        border-right: 1px solid #a9acaf;
    }
    .list_table_col4 .btn_link_inline {
        margin: 0px auto;
    }
}

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

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

.list_table_col5 > dt {
    background-color: #1d4676;
    color: #fff;
    font-weight: bold;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .list_table_col5 > dd {
        border: 1px solid #a9acaf;
        border-top: none;
    }
    .list_table_col5 > dt,
    .list_table_col5 > dd {
        text-align: center;
    }
    .list_table_col5 > dd > ul {
        text-align: left;
    }
}
@media print, (min-width: 768px) {
    .list_table_col5 {
        display: flex;
        flex-wrap: wrap;
        border-bottom: 1px solid #a9acaf;
    }
    .list_table_col5 > dt,
    .list_table_col5 > dd {
        display: flex;
        flex-direction: column;
        justify-content: center;
        border-top: 1px solid #a9acaf;
    }
    .list_table_col5 > dt {
        width: 6em;
    }
    .list_table_col5 > dt + dt {
        width: calc(30% - 6em);
        border-left: 1px solid #a9acaf;
    }
    .list_table_col5 > dd {
        border-left: 1px solid #a9acaf;
    }
    .list_table_col5 > dt + dd {
        width: calc(40% - 8em);
    }
    .list_table_col5 > dt + dd + dd {
        width: 30%;
    }
    .list_table_col5 > dt + dd + dd + dd {
        padding: 0px;
        width: 8em;
        border-right: 1px solid #a9acaf;
    }
    .list_table_col5 .btn_link_inline {
        margin: 0px auto;
    }
}

.arrow {
    display: inline-block;
    position: relative;
    width: 3em;
    height: 3em;
    color: #1d4676;
    font-size: 10px;
}
.arrow::before,
.arrow::after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    content: "";
}
.arrow::before {
    right: -1em;
    width: 0px;
    height: 0px;
    border: 1em solid transparent;
    border-left: 1.5em solid currentColor;
}
.arrow::after {
    left: 0px;
    width: 2em;
    height: 1em;
    background-color: currentColor;
}

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

.list_check > li {
    position: relative;
    padding: 0px 0px 0px 2em;
    margin: 0px;
    font-size: 17px;
}
.list_check > li::before,
.list_check > li::after {
    position: absolute;
    top: 50%;
    height: 1em;
    content: "";
}
.list_check > li::before {
    left: 0px;
    transform: translateY(-50%);
    width: 1em;
    border: 1px solid #0071bc;
}
.list_check > li::after {
    left: 0.5em;
    transform: translateY(-75%) rotate(45deg);
    width: 0.5em;
    border-bottom: 3px solid #0071bc;
    border-right: 3px solid #0071bc;
}

.list_check > li + li {
    margin: 1em 0px 0px;
}

.list_box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: -20px -10px 0px;
    list-style: none;
}

.list_box > li {
    padding: 0.5em;
    margin: 20px 10px 0px;
    border: 1px solid #0071bc;
    font-size: 17px;
    text-align: center;
}

@media screen and (max-width: 767.98px) {
    .list_box > li {
        width: calc(100% - 20px);
    }
}
@media screen and (min-width: 768px) {
    .list_box > li {
        width: calc(50% - 20px);
    }
}
@media screen and (min-width: 992px) {
    .list_box > li {
        width: calc(33.3% - 20px);
    }
}

.txt_box {
    padding: 1em;
    border: 1px solid #e6f3fb;
    background-color: #e6f3fb;
    font-size: 17px;
    font-weight: bold;
    text-align: center;
}
.txt_box > span {
    color: #1d4676;
}
.txt_box > span:nth-of-type(2) {
    font-size: 15px;
}

.txt_border {
    padding: 1em;
    border: 1px solid #0f5498;
    color: #0f5498;
    font-size: 17px;
    font-weight: bold;
    text-align: center;
}

.txt_bg_blue {
    padding: 1em;
    background-color: #eff8ff;
    text-align: center;
}

.list_model {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 10px;
    border: 1px solid #000;
}

.list_model > dl {
    margin: 0px 5px;
}

.list_model > dl.lm_bar {
    margin: 0px 5px 0px 25px;
}

.list_model > dl > dt,
.list_model > dl > dd {
    font-weight: bold;
    text-align: center;
}

.list_model > dl > dt {
    position: relative;
    font-size: 24px;
    border-bottom: 1px solid #000;
}
.list_model > dl.lm_noline > dt {
    border-bottom: 1px solid transparent;
}
.list_model > dl.lm_bar > dt::before {
    position: absolute;
    top: 50%;
    left: -20px;
    transform: translateY(-50%);
    width: 10px;
    height: 2px;
    background-color: currentColor;
    content: "";
}

.list_model > dl > dd {
    margin-top: 5px;
    font-size: 18px;
}

@media screen and (max-width: 767.98px) {
    .list_model > dl > dt {
        font-size: 3.5vw;
    }
    .list_model > dl > dd {
        font-size: 3vw;
    }
}

/****************************************
2. Layout 
*****************************************/
.nomargin {
    margin: 0px !important;
}

.mt1em {
    margin-top: 1em !important;
}

.mt2em {
    margin-top: 2em !important;
}

.ml1em {
    margin-left: 1em !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mt50 {
    margin-top: 50px !important;
}

.mt60 {
    margin-top: 60px !important;
}

.w3em {
    width: 3em;
}

.w4em {
    width: 4em;
}

.w5em {
    width: 5em;
}

.fwb {
    font-weight: bold;
}

.fs11 {
    font-size: 11px;
}

.fs12 {
    font-size: 12px;
}

.fs14 {
    font-size: 14px;
}

.fs18 {
    font-size: 18px;
}

.fs20 {
    font-size: 20px;
}

.fwb {
    font-weight: bold;
}

.pb0 {
    padding-bottom: 0px !important;
}

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

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

.row .no_mt {
    margin-top: -30px;
}
.bu_mt{
	margin-top:0px !important;
	}
.container {
    width: 100%;
}
@media print, (min-width: 992px) {
    .container {
        margin-left: auto;
        margin-right: auto;
    }
}
@media (min-width: 576px) {
    .container {
        max-width: 100%;
    }
}
@media (min-width: 768px) {
    .container {
        max-width: 100%;
    }
}
@media (min-width: 992px) {
    .container {
        max-width: 100%;
    }
}
@media (min-width: 1100px) {
    .container {
        max-width: 1100px;
    }
}
@media (min-width: 1300px) {
    .container {
        max-width: 1100px;
    }
}

.container_s {
    padding: 0px 15px;
    width: 100%;
}
@media print, (min-width: 992px) {
    .container_s {
        margin-left: auto;
        margin-right: auto;
        width: 80%;
    }
}
@media (min-width: 768px) {
    .container_s {
        max-width: 768px;
    }
}

@media print, (min-width: 768px) {
    .col2 {
        display: flex;
        padding: 0px 0px 60px;
    }
    .col2_main {
        order: 2;
        width: 73%;
    }
    .col2_side {
        order: 1;
        margin: 0px 40px 0px 0px;
        width: calc(27% - 40px);
    }
}

@media screen and (max-width: 767.98px) {
    .col2_side {
        margin: 30px 0px 0px;
    }
}

/****************************************
3. header,nav
*****************************************/
@media screen and (max-width: 767.98px) {
    body {
        margin-top: 0px !important;
    }
    .header_guide,
    .header_cta,
    .header_menu {
        display: none !important;
    }
    .header_title {
        display: table;
        padding: 10px 0px;
        margin: 0px auto;
    }
}
@media screen and (min-width: 768px) {
    .header {
        position: fixed;
        top: 0px;
        left: 0px;
        right: 0px;
        z-index: 9999;
        width: 100%;
        background-color: #fff;
    }
    .header > .container {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        position: relative;
        padding: 0px 10px;
    }
    .header_title {
        display: flex;
        align-items: center;
        padding: 5px 0px 10px;
        height: 80px;
    }
    .header_menu {
        width: 65%;
    }
    .header.js_active {
        transform: translateY(-38px);
    }
}
@media print, (min-width: 1100px) {
    .header > .container {
        padding: 0px;
    }
}

.header_guide {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: relative;
    padding: 5px 0px;
    width: 100%;
    height: 38px;
}
.header_guide::before {
    position: absolute;
    top: 0px;
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
    bottom: 0px;
    z-index: -1;
    background-color: #0068b7;
    content: "";
}

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

.header_guide_lang > li {
    padding: 0px 1.5em;
}
.header_guide_lang > li + li {
    position: relative;
}
.header_guide_lang > li + li::before {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    width: 1px;
    height: 0.75em;
    background-color: #fff;
    content: "";
}

.header_guide_lang > li > a {
    color: #7Cb1ea;
    font-size: 13px;
    text-decoration: none;
    line-height: 1;
}
.header_guide_lang > li > a:not([class]):hover {
    color: #fff;
    text-decoration: underline;
}

.header_guide_lang > li > .current_lang {
    color: #fff;
}

.box_search input {
    padding: 0px;
    border: none;
    outline: none;
    width: 10em;
}

.box_search button {
    padding: 0px;
    border: none;
    outline: none;
    background: none;
    appearance: none;
}

.box_search_form {
    display: flex;
    align-items: center;
    padding: 0px 0px 0px 1em;
    width: 12em;
    border-radius: 2em;
    background-color: #fff;
    overflow: hidden;
}

.box_search_icon {
    display: block;
    position: relative;
    width: 2em;
    height: 2em;
    border-radius: 2em;
    background-color: #fff;
    cursor: pointer;
	background: url(images/common/wzss.jpg) no-repeat center ;
}
.box_search_icon::before {
    position: absolute;
    top: 50%;
    left: 50%;
	
    
}

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

.header_title_logo > a,
.header_title_logo > a:hover {
    color: #040505;
    text-decoration: none;
}

.header_title_logo > a > img {
    margin: 0px;
}

@media screen and (max-width: 1039.98px) {
    .header_title_logo > a > img {
        max-width: 100px;
    }
}
@media print, (min-width: 1040px) {
    .header_title_logo > a > img {
        max-width: 150px;
    }
}

.header.js_active .header_title {
    height: 60px;
}

.header.js_active .header_title_logo > a > span {
    display: none;
}

.header.js_active .header_title_logo > a > img {
    max-width: 120px;
}

.header_menu > .menu {
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0px;
    margin: 0px;
    height: 80px;
}

.header_menu > .menu > li {
    list-style-type: none;
}

.header_menu > .menu > li > a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    padding: 0px 1.25em 0px 0px;
    color: #040505;
    font-size: 17px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    line-height: 1;
}
.header_menu > .menu > li.menu-item-has-children > a::after {
    position: absolute;
    top: 50%;
    right: 0px;
    width: 0.4em;
    height: 0.4em;
    transform: translateY(-75%) rotate(135deg);
    border-right: 2px solid #1b5d9e;
    border-top: 2px solid #1b5d9e;
    content: "";
}
@media screen and (max-width: 991px) {
    .header_menu > .menu > li > a {
        font-size: 14px;
    }
}

.header_menu > .menu > .current-menu-ancestor > a,
.header_menu > .menu > .current-menu-item > a,
.header_menu > .menu > li:hover > a {
    color: #1764b1;
}

.header_menu .sub-menu {
    display: block;
    position: absolute;
    bottom: 0px;
    left: 0px;
    transform: translateY(100%);
    width: 100%;
    padding: 10px 0px 20px 25%;
    background-color: rgba(0, 104, 183, 0.9);
    list-style: none;
    white-space: nowrap;
    visibility: hidden;
    opacity: 0;
    /*
    transition: 0.5s;
    */
}
.header_menu .sub-menu h2 {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    width: 25%;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    white-space: pre;
    content: "";
}
.header_menu a[href="#gnavi_product"] + .sub-menu::before {
    /* 製品情報 */
    content: "\88FD\54C1\60C5\5831";
}
.header_menu a[href="#gnavi_technology"] + .sub-menu::before {
    /* 技術情報 */
    content: "\6280\8853\60C5\5831";
}
.header_menu a[href="#gnavi_case"] + .sub-menu::before {
    /* 事例 */
    content: "\4e8b\4f8b";
}
.header_menu a[href="#gnavi_support"] + .sub-menu::before {
    /* サポート */
    content: "\30B5\30DD\30FC\30C8";
}
.header_menu a[href="#gnavi_company"] + .sub-menu::before {
    /* 会社案内 */
    content: "\4f1a\793e\6848\5185";
}
.header_menu .sub-menu::after  {
    /* マウスオーバーの認識範囲を広げる */
    position: absolute;
    top: -40px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    z-index: -1;
    width: 100%;
    content: "";
}

.header_menu .menu-item-has-children.js_active > .sub-menu {
    visibility: visible;
    opacity: 1;
}

.header_menu .sub-menu > li > a {
    display: block;
    position: relative;
    padding: 0.5em 2.5em 0.5em 0px;
    border-bottom: 1px solid #6690be;
    color: #fff;
    font-size: 16px;
    text-decoration: none;
}
.header_menu .sub-menu > li > a:hover {
    color: #fff;
}
.header_menu .sub-menu > li > a::after {
    position: absolute;
    top: 50%;
    right: 1.5em;
    width: 0.5em;
    height: 0.5em;
    z-index: -1;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transition: right 0.5s;
    content: "";
}
.header_menu .sub-menu > li > a:hover::after {
    right: 0.5em;
}

@media screen and (min-width: 992px) {
    .header_menu .sub-menu {
        display: flex;
        flex-wrap: wrap;
    }
    .header_menu .sub-menu > li {
        margin: 0px 20px;
        width: calc(50% - 40px);
    }
}

.header.js_active .header_menu > .menu {
    height: 60px;
}

.header_cta_contact {
    padding: 1em 3em;
    border-radius: 2em;
    background-color: #015B9F;
    color: #fff;
    font-size: 13px;
    font-weight: bold;
	border:none;
    text-decoration: none;
}
.header_cta_contact:hover {
    color: #fff;
    opacity: 0.8;
}
.form-control{
	height: 48px;
    line-height: 48px;
    padding: 0 46px 0 13px;
    width: 100%;
	margin-top:20px;
    border: 1px solid #d5d5d5;
    font-size: 14px;
	}	
.form-content{
	height:100px;
	}	
.zxly{
	margin-top:20px;
	}
.zxly ul{
	line-height:200%;
	}
@media screen and (max-width: 991px) {
    .header_cta_contact {
        font-size: 11px;
    }
}

.page_title h1 {
    position: relative;
    padding: 0.5em 0px;
    border-bottom: 2px solid #d6d6d6;
    font-size: 28px;
    font-weight: bold;
}
.page_title h1::before {
    position: absolute;
    bottom: -2px;
    left: 0px;
    width: 2em;
    height: 2px;
    background-color: #0071bc;
    content: "";
}

.page_title_jirei {
    position: relative;
}
.page_title_jirei::before {
    position: absolute;
    top: 0px;
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
    bottom: 0px;
    z-index: -1;
    background-color: #f7f7f7;
    content: "";
}

.page_title_jirei h1 {
    position: relative;
    padding: 1.5em 0px 1.5em 1em;
    font-size: 28px;
}
.page_title_jirei h1::before {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    width: 4px;
    height: 1em;
    background-color: #0071bc;
    content: "";
}

@media screen and (max-width: 767.98px) {
    .page_title h1,
    .page_title_jirei h1 {
        font-size: 5vw;
    }
}

/****************************************
4. sidebar
*****************************************/
.sidebar {
    margin-top: 30px;
}

.sidebar_title {
    padding: 1em;
    background-color: #0f5498;
    color: #fff;
    font-size: 17px;
    font-weight: bold;
}
.sidebar_title:nth-of-type(n + 2) {
    margin-top: 30px;
}

.sidebar_link {
    list-style: none;
}

.sidebar_link > li > a {
    display: block;
    position: relative;
    padding: 1em 2em 1em 1em;
    border-bottom: 1px solid #b2b2b2;
    color: #040505;
    text-decoration: none;
}
.sidebar_link > li > a:hover {
    background-color: #eff8ff;
}

.sidebar_link > li > a::after {
    position: absolute;
    top: 50%;
    right: 1em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid #0f5498;
    border-top: 2px solid #0f5498;
    content: "";
}

/****************************************
5. contents
****************************************/
.title_bc_bar,
.single-product h2,
.page h2 {
    position: relative;
    padding: 0.5em 0.5em 0.5em 1.5em;
    background-color: #f7f7f7;
    font-size: 20px;
}
.conatctg .section{
	padding:30px 0 60px 0;
	}
.conatctgn{
	 background-color: #f7f7f7;
	 padding:20px;
	}
.conatctgwx div ul{
	border:1px solid #ddd;
	padding:20px;
	line-height:180%;
	}
.conatctgwx div ul img{
	width:180px;
	max-width:100%;
	margin:0px;
	}
.conatctg .section h1{
	background-color: #f7f7f7;
    font-size: 20px;
	padding: 0.5em 0.5em 0.5em 0.5em;
	}
.conatctg h2{
	position: relative;
    padding: 0.5em 0.5em 0.5em 1.5em;
    background-color: #f7f7f7;
    font-size: 15px;
	}

.title_bc_bar::before,
.single-product h2::before,
.page h2::before , .conatctg h2::before {
    position: absolute;
    top: 50%;
    left: 0.5em;
    transform: translateY(-50%);
    width: 4px;
    height: 1em;
    background-color: #0071bc;
    content: "";
}

.page h3 {
    position: relative;
    padding: 0.5em 0.5em 0.5em 1.5em;
    font-size: 18px;
}
.page h3::before {
    position: absolute;
    top: 50%;
    left: 0.5em;
    transform: translateY(-50%);
    width: 4px;
    height: 1em;
    background-color: #0071bc;
    content: "";
}

.page h4 {
    font-size: 18px;
}

.page h5 {
    font-size: 17px;
}

.home h2 {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
}

.home h3 {
    position: relative;
    padding: 0.5em 0px;
    border-bottom: 2px solid #d6d6d6;
    font-size: 24px;
    font-weight: bold;
}
.home h3::before {
    position: absolute;
    bottom: -2px;
    left: 0px;
    width: 2em;
    height: 2px;
    background-color: #0071bc;
    content: "";
}

.home h3 .btn_link {
    display: inline-block;
    padding: 6px 2em;
    margin: 0px 0px 0px 40px;
    transform: translateY(-5px);
    background-color: #52799f;
    font-size: 12px;
    line-height: 1;
}
.home h3 .btn_link:hover {
    background-color: #6a8cad;
}
.home h3 .btn_link::before {
    left: 1em;
}

.single-solution h2,
.single-case h2,
.tax-tax_solution_type h2,
.tax-tax_case_type h2,
.post-type-archive-qaa h2,
.post-type-archive-solution h2,
.post-type-archive-case h2 {
    padding: 0.5em 0px;
    border-bottom: 1px solid #0071bc;
    font-size: 24px;
}

@media screen and (max-width: 767.98px) {
    .home h2 {
        font-size: 20px;
    }
    .home h3 {
        font-size: 18px;
    }
    .home h3 .btn_link {
        margin: 0px 0px 0px 1em;
    }
    .title_bc_bar,
    .single-product h2,
    .page h2 {
        font-size: 20px;
    }
    .page h3 {
        font-size: 18px;
    }
    .page h4 {
        font-size: 18px;
    }
    .single-solution h2,
    .single-case h2,
    .tax-tax_solution_type h2,
    .tax-tax_case_type h2,
    .post-type-archive-solution h2,
    .post-type-archive-case h2 {
        font-size: 20px;
    }
}

.top_main_catch {
    position: relative;
    height: 320px;
    background-color: #000;
    background-image: url(images/top/mainvisual.jpg);
    background-repeat: no-repeat;
    background-position: center right 10%;
    background-size: cover;
}

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

.top_main_catch_message h1 {
    font-size: 52px;
    font-weight: bold;
    letter-spacing: 0.1em;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
}

.top_main_catch_message p {
    margin-top: 20px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    text-shadow: -2px -2px 6px #000, 2px -2px 6px #000, 2px 2px 6px #000, -2px 2px 6px #000;
}
.top_main_catch_message p {
    font-size: 28px;
}

@media screen and (max-width: 1199.98px) {
    .top_main_catch_message h1 {
        font-size: 32px;
    }
    .top_main_catch_message p {
        font-size: 20px;
    }
}
@media screen and (max-width: 500px) {
    .top_main_catch {
        height: 200px;
    }
    .top_main_catch_message h1 {
        font-size: 5vw;
    }
    .top_main_catch_message p {
        font-size: 3vw;
    }
}

.top_main img {
    width: 100%;
}

.top_main_slider_wrapper {
    padding: 30px 0px;
    background-color: #f7f7f7;
    overflow: hidden;
}

.top_main_slider_wrapper .bx-viewport {
    overflow: visible !important;
}

.top_main_slider_wrapper .top_main_slider {
    margin: 0px auto;
    max-width: 30%;
    width: 30%;
}

.top_main_slider li a {
    display: block;
    position: relative;
    margin: 0px auto;
    width: calc(100% - 40px);
    height: auto;
}

.top_main_slider img {
    box-shadow:
        0px 5px 5px rgba(0, 0, 0, 0.2),
        5px 0px 5px rgba(0, 0, 0, 0.1),
        -5px 0px 5px rgba(0, 0, 0, 0.1);
}
.top_main_slider img:hover {
    opacity: 0.8;
}

.top_main_slider .bx-wrapper .bx-controls-direction a {
    position: absolute;
    top: 50%;
    z-index: 9998;
    margin: 0px;
    width: 70px;
    height: 70px;
    background: none;
}
.top_main_slider .bx-wrapper .bx-controls-direction a::before {
    position: absolute;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    border-right: 4px solid #1b5d9e;
    border-top: 4px solid #1b5d9e;
    content: "";
}

.top_main_slider .bx-wrapper .bx-controls-direction .bx-prev {
    left: -30px;
    transform: translateY(-50%) rotate(225deg);
}
.top_main_slider .bx-wrapper .bx-controls-direction .bx-next {
    right: -30px;
    transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 600px) {
    .top_main_slider_wrapper .top_main_slider {
        max-width: 90%;
        width: 90%;
    }
}

.top_product {
    padding: 30px 0px;
}

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

.top_product_col2item,
.top_product_col3item {
    display: block;
    overflow: hidden;
}

.top_product_col2item h4,
.top_product_col3item h4 {
    margin-top: 10px;
    color: #040505;
    font-size: 17px;
    text-align: center;
}
.top_product_col2item:hover h4,
.top_product_col3item:hover h4 {
    color: #1764b1;
}

.top_product_col2item:hover img,
.top_product_col3item:hover img {
    opacity: 0.8;
}

@media screen and (max-width: 600px) {
    .top_product_col2item h4,
    .top_product_col3item h4 {
        font-size: 3vw;
    }
}

.top_special {
    padding: 60px 0px;
    background-image: url(images/top/bg_special.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.top_support {
    padding: 60px 0px;
}

.top_support_link {
    padding: 30px 60px;
    background-color: #e6f3fb;
}

.top_support_link > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: -30px -15px 0px;
    list-style: none;
}

.top_support_link > ul > li {
    position: relative;
    margin: 30px 15px 0px;
}

.top_support_link > ul > li > a {
    display: block;
    position: relative;
    padding-top: 90%;
    background-color: #fff;
}
.top_support_link > ul > li > a:hover {
    opacity: 0.8;
}

.top_support_link > ul > li > a > i {
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    padding-top: 50%;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: contain;
}

.top_support_link_catalog {
    top: 20%;
    background-image: url(images/common/icon_catalog.svg);
}
.top_support_link_cad {
    top: 15%;
    background-image: url(images/common/icon_cad.svg);
}
.top_support_link_calc {
    top: 15%;
    background-image: url(images/common/icon_calc.svg);
}
.top_support_link_meeting {
    top: 20%;
    background-image: url(images/common/icon_meeting.svg);
}

.top_support_link > ul > li > a > span {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    color: #040505;
    font-weight: bold;
    text-align: center;
    white-space: nowrap;
}
.top_support_link > ul > li > a:hover > span {
    color: #1764b1;
}

@media screen and (max-width: 767.98px) {
    .top_support_link {
        padding: 30px;
    }
    .top_support_link > ul > li {
        width: calc(50% - 30px);
    }
}
@media screen and (max-width: 991.98px) {
    .top_support_link > ul > li > a > span {
        bottom: 10px;
    }
}
@media screen and (min-width: 768px) {
    .top_support_link > ul > li {
        width: calc(25% - 30px);
    }
}

.top_support_info_box {
    padding: 30px;
    height: 100%;
    background-color: #0068b7;
    box-shadow:
        0px 10px 5px rgba(0, 0, 0, 0.2),
        5px 0px 5px rgba(0, 0, 0, 0.1),
        -5px 0px 5px rgba(0, 0, 0, 0.1);
}

.top_support_info_box > h2 {
    position: relative;
    padding: 0px 0px 0.5em;
    color: #fff;
}
.top_support_info_box > h2::after {
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 1em;
    height: 2px;
    background-color: #fff;
    content: "";
}

.top_support_info_box > p {
    margin-top: 1em;
    color: #fff;
}

.top_support_info_box > ul {
    padding: 10px 10px 30px;
    margin-top: 20px;
    background-color: #fff;
    list-style: none;
}

.top_support_info_box > ul > li > a {
    display: block;
    position: relative;
    padding: 1em 1.5em 1em 0px;
    border-bottom: 1px solid #d5d5d5;
    color: #040505;
    text-decoration: none;
}
.top_support_info_box > ul > li > a::after {
    position: absolute;
    top: 50%;
    right: 0.5em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid #1b5d9e;
    border-top: 2px solid #1b5d9e;
    transition: right 0.5s;
    content: "";
}
.top_support_info_box > ul > li > a:hover::after {
    right: 0px;
}

@media screen and (min-width: 992px) {
    .top_support_info_box > ul {
        display: flex;
        flex-wrap: wrap;
        margin-left: -10px;
        margin-right: -10px;
    }
    .top_support_info_box > ul > li {
        margin: 0px 10px;
        width: calc(50% - 20px);
    }
}

.top_case {
    padding: 60px 0px;
}

.top_solution {
    padding: 60px 0px;
}

.case_item,
.solution_item {
    display: block;
    height: 100%;
    text-decoration: none;
}

.case_item_image,
.solution_item_image {
    display: block;
    position: relative;
    padding-top: 95%;
    background-color: #fff;
    overflow: hidden;
}

.case_item_image > img,
.solution_item_image > img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 150%;
}

.case_item:hover img,
.solution_item:hover img {
    opacity: 0.8;
}

.case_item_info,
.solution_item_info {
    padding: 10px;
}
.caseg_img {
	width:100%;
	}
.caseg_img img{
	width:600px;
	max-width:100%;
	border:1px solid #ddd;
	margin:auto;
	display:block;
	}
.caseg_img h1{
	font-size:24px;
	text-align:center;
	padding:15px 0;
	}
.caseg_nr h2{
	margin-bottom:15px;
	}
.case_item {
    background-color: #2f3740;
}

.case_item_image {
    border: 1px solid #2f3740;
}

.solution_item {
    background-color: #83909f;
}

.solution_item_image {
    border: 1px solid #83909f;
}

.case_item_info h4,
.solution_item_info h4 {
    color: #fff;
    font-size: 16px;
    text-align: center;
}

.case_item_info ul,
.solution_item_info ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    list-style: none;
}

.case_item_info ul > li,
.solution_item_info ul > li {
    padding: 2px 1em;
    margin: 5px 5px 0px;
}

.case_item_info ul > li,
.solution_item_info ul > li {
    padding: 2px 1em;
    color: #fff;
    font-size: 13px;
}

.case_item_info ul > li {
    background-color: #414f5d;
}

@media screen and (max-width: 600px) {
    .case_item_info h4,
    .solution_item_info h4 {
        font-size: 3vw;
    }
}

.solution_item_info ul > li {
    background-color: #637386;
}

.top_news {
    padding: 60px 0px;
}

.list_news {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #d6d6d6;
}

.list_news > dt,
.list_news > dd {
    display: flex;
    align-items: center;
    margin: 0px;
    border-bottom: 1px solid #d6d6d6;
}

.list_news > dt {
    width: 4em;
    padding: 0em 0px;
    color: #52799f;
    font-weight: bold;
}

.list_news > dd {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 0em 1em 0em 4em;
    width: calc(100% - 4em);
}

.list_news_category {
    display: inline-block;
    padding: 2px 1em;
    margin: 10px 2em 10px 0px;
    background-color: #52799f;
    color: #fff;
    font-size: 13px;
    text-decoration: none;
    white-space: nowrap;
}

.list_news_title {
    display: inline-block;
    color: #040505;
    text-decoration: none;
    line-height: 1.5;
}

.home .list_news {
    border-top: none;
}

.top_news .btn_link {
    display: table;
    padding: 6px 2em;
    margin: 10px 0px 0px auto;
    background-color: #52799f;
    font-size: 12px;
    line-height: 1;
}
.top_news .btn_link:hover {
    background-color: #6a8cad;
}
.top_news .btn_link::before {
    left: 1em;
}

.top_link {
    padding: 20px 10px;
    background-color: #e6f3fb;
}

.top_footer_slider a {
    display: block;
    position: relative;
    padding-top: 50%;
    background-color: #fff;
}

.top_footer_slider a img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    max-width: 100%;
    max-height: 90%;
}

.top_footer_slider .bx-wrapper .bx-controls-direction a {
    position: absolute;
    top: 0px;
    z-index: 9997;
    padding: 0px;
    margin: 0px;
    width: 30px;
    height: 100%;
    background: none;
    background-color: #1b5d9e;
}
.top_footer_slider .bx-wrapper .bx-controls-direction a::before {
    position: absolute;
    width: 15px;
    height: 15px;
    top: 50%;
    left: 50%;
    z-index: 9998;
    border-right: 4px solid #fff;
    border-top: 4px solid #fff;
    content: "";
}

.top_footer_slider .bx-wrapper .bx-controls-direction .bx-prev {
    left: -32px;
}
.top_footer_slider .bx-wrapper .bx-controls-direction .bx-prev::before {
    transform: translateX(-40%) translateY(-50%) rotate(225deg);
}
.top_footer_slider .bx-wrapper .bx-controls-direction .bx-next {
    right: -32px;
}
.top_footer_slider .bx-wrapper .bx-controls-direction .bx-next::before {
    transform: translateX(-60%) translateY(-50%) rotate(45deg);
}

.list_product > ul {
    display: flex;
    flex-wrap: wrap;
    margin: -90px -10px 0px;
    list-style: none;
}

.list_product > ul > li {
    margin: 90px 10px 0px;
}

.list_product_item {
    display: block;
    color: #040505;
    text-decoration: none;
}
.list_product_item:hover {
    color: #040505;
    opacity: 0.8;
}

.list_product_item h2,
.list_product_item h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 0px 2em;
    height: 4em;
    font-size: 17px;
    text-align: center;
}
.list_product_item h2::before,
.list_product_item h3::before {
    position: absolute;
    top: 50%;
    right: 1em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid #0071bc;
    border-top: 2px solid #0071bc;
    content: "";
}

.list_product_item_image {
    min-height: 0%;
    overflow: hidden;
}

.list_product_item:hover img {
    opacity: 0.8;
}

.list_product_item_spec {
    padding: 1em;
    margin-top: auto;
    background-color: #f7f7f7;
}

.list_product_item_spec_title {
    color: #0f5498;
    font-weight: bold;
}

.list_product_item .list_table {
    font-size: 13px;
}

.list_product_item .list_table dt span,
.list_product_item .list_table dd span {
    display: inline-block;
}

.list_product_item .list_table dd p + p {
    margin-top: 10px;
}

@media screen and (max-width: 600px) {
    .list_product_item h2,
    .list_product_item h3 {
        height: 6em;
        font-size: 3vw;
    }
}
@media screen and (max-width: 991.98px) {
    .list_product > ul > li {
        width: calc(50% - 20px);
    }
}
@media screen and (min-width: 992px) {
    .list_product > ul > li {
        width: calc(33.3% - 20px);
    }
}

@media screen and (max-width: 767.98px) {
    .fig_mdf_genri .arrow {
        display: none;
    }
}
@media screen and (min-width: 768px) {
    .fig_mdf_genri {
        position: relative;
    }
    .fig_mdf_genri .arrow {
        position: absolute;
        right: -3em;
        z-index: 1;
    }
    .fig_mdf_genri .arrow:nth-of-type(1) {
        top: 25%;
    }
    .fig_mdf_genri .arrow:nth-of-type(2) {
        bottom: 25%;
        transform: scaleX(-1);
    }
    .list_product_item .list_table dt {
        width: 10em;
    }
    .list_product_item .list_table dd {
        width: calc(100% - 10em);
    }
    .list_product_item .list_table.lt50p dt,
    .list_product_item .list_table.lt50p dd {
        width: 50%;
    }
}

.product_case {
    position: relative;
}
.product_case::before {
    position: absolute;
    top: 0px;
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
    bottom: 0px;
    z-index: -1;
    background-image: url(images/product/bg_case.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
}

.product_navi {
    position: fixed;
    bottom: 0px;
    left: 0px;
    right: 0px;
    z-index: 9999;
    transform: translateY(100%);
    padding: 20px 0px 0px;
}
.product_navi::before {
    position: absolute;
    top: 0px;
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
    bottom: 0px;
    z-index: -1;
    background-color: rgba(47, 55, 64, 0.28);
    content: "";
}

.product_navi.js_active {
    position: relative;
}

.product_navi_link {
    padding: 0px 15px;
    margin: 0px auto;
    max-width: 1100px;
}

.product_navi.js_active .product_navi_link {
    padding: 0px;
}

.product_navi_link > ul {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0px -10px;
    list-style: none;
}

.product_navi_link > ul > li > a {
    display: block;
    position: relative;
    padding: 1em;
    border-top-left-radius: 1em;
    border-top-right-radius: 1em;
    background-color: #2f3740;
    color: #fff;
    font-size: 17px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}
.product_navi_link > ul > li > a:hover {
    opacity: 0.8;
}
.product_navi_link > ul > li > a::before {
    position: absolute;
    top: 50%;
    left: 1em;
    transform: translateY(-50%);
    width: 2em;
    height: 2em;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}
.product_navi_catalog::before {
    background-image: url(images/common/icon_catalog_gray.svg);
}
.product_navi_manual::before {
    background-image: url(images/common/icon_manual_gray.svg);
}
.product_navi_cad::before {
    background-image: url(images/common/icon_cad_gray.svg);
}

.product_navi_link > ul > li {
    margin: 0px 10px;
    width: calc(33.3% - 20px);
}

@media screen and (max-width: 767.98px) {
    .product_navi {
        bottom: 80px;
    }
    .product_navi.js_active {
        bottom: 0px;
    }
    .product_navi_link > ul > li > a {
        padding: 1em;
    }
    .product_navi_link > ul > li > a > span {
        font-size: 3vw;
    }
    .product_navi_link > ul > li > a::before {
        background: none;
    }
}
@media screen and (min-width: 992px) {
    .product_navi_link > ul > li > a::before {
        left: 3em;
    }
}

.product_navi {
    animation: product_navi_anime 0.5s ease 1s 1 normal both running;
}

@keyframes product_navi_anime {
    0% {
        transform: translateY(100%);
    }
    100% {
        transform: translateY(0%);
    }
}

.list_tag > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    list-style: none;
    margin: -10px 5px 0px;
}

.list_tag > ul > li {
    padding: 2px 1em;
    margin: 10px 5px 0px;
    border-radius: 5px;
    border: 1px solid #aaa;
    background-color: #aaa;
    color: #fff;
    font-size: 13px;
}


.custom_main {
    position: relative;
    padding: 60px 0px;
    text-align: center;
}
.custom_main::before {
    position: absolute;
    top: 0px;
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
    bottom: 0px;
    z-index: -1;
    background-image: url(images/special/bg_main.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
}

.custom_main > p {
    font-weight: bold;
    line-height: 1.75;
}

.custom_main > p:nth-of-type(1) {
    position: relative;
    font-size: 18px;
}
.custom_main > p:nth-of-type(1)::before {
    display: inline-block;
    margin: 0px 1em 0px 0px;
    width: 2em;
    height: 2em;
    transform: translateY(0.5em);
    background-image: url(images/common/icon_ex_right.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}
.custom_main > p:nth-of-type(2) {
    margin-top: 1em;
    font-size: 28px;
}

.list_exclamation {
    position: relative;
    padding: 30px 0px;
}

.list_exclamation > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: -20px -10px 0px;
    list-style: none;
}
.list_exclamation > ul > li {
    position: relative;
    padding: 1em 30px;
    margin: 20px 10px 0px;
    background-color: #fff;
    color: #0f5498;
    font-weight: bold;
    text-align: center;
}

@media screen and (max-width: 767.98px) {
    .list_exclamation > ul > li {
        width: calc(100% - 20px);
    }
}
@media screen and (min-width: 768px) {
    .list_exclamation > ul > li {
        width: calc(50% - 20px);
    }
}
@media screen and (min-width: 992px) {
    .list_exclamation > ul > li {
        width: calc(33.3% - 20px);
    }
}

.list_exclamation_icon {
    display: block;
    padding-top: 6em;
    position: relative;
}
.list_exclamation_icon::before {
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 5em;
    height: 5em;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    fill: #ffaa00;
    content: "";
}
.list_exclamation_icon.lei_gear::before {
    background-image: url(images/common/icon_gear.svg);
}
.list_exclamation_icon.lei_1n::before {
    background-image: url(images/common/icon_1n.svg);
}
.list_exclamation_icon.lei_pen::before {
    background-image: url(images/common/icon_pen.svg);
}

.title_point {
    display: flex;
    align-items: center;
    padding: 20px 10px;
    border: 1px solid #0f5498;
}

.title_point_num {
    position: relative;
    width: 60px;
    padding-top: 60px;
    margin: 0px 10px 0px 0px;
    border-radius: 50%;
    background-color: #0f5498;
}

.title_point_num > span {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    width: 100%;
    color: #fff;
    font-size: 10px;
    font-weight: bold;
    text-align: center;
    white-space: nowrap;
}

.title_point > p {
    padding: 0px 1em;
    width: calc(100% - 60px - 10px);
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
}

.step_custom {
    position: relative;
    padding: 60px 0px;
}

.step_custom > ol {
    display: flex;
    flex-wrap: wrap;
    margin: -30px -15px 0px;
    list-style: none;
}
.step_custom > ol > li {
    margin: 30px 15px 0px;
    background-color: #fff;
}

.step_custom_num {
    padding: 0px 0px 1em;
    background-color: #e2eaf2;
    color: #0f5498;
    font-weight: bold;
    text-align: center;
}

.step_custom_num > span:nth-of-type(1) {
    font-size: 12px;
}
.step_custom_num > span:nth-of-type(2) {
    margin: 0px 0px 0px 5px;
    font-size: 18px;
}

.step_custom_box {
    position: relative;
    padding: 20px;
    background-color: #fff;
}

.step_custom_box_title {
    padding: 0.5em;
    border-bottom: 1px solid #0f5498;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}

.step_custom_box_icon {
    position: relative;
    padding-top: 70%;
}
.step_custom_box_icon::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
    content: "";
}
.step_custom_box_icon.scbi_soudan::before {
    background-image: url(images/common/icon_soudan.svg);
}
.step_custom_box_icon.scbi_mitsumori::before {
    background-image: url(images/common/icon_mitsumori.svg);
}
.step_custom_box_icon.scbi_seisan::before {
    background-image: url(images/common/icon_seisan.svg);
}
.step_custom_box_icon.scbi_nouhin::before {
    background-image: url(images/common/icon_nouhin.svg);
}

@media screen and (max-width: 767.98px) {
    .step_custom > ol > li {
        width: calc(100% - 30px);
    }
    .step_custom > ol > li:not(:nth-last-of-type(1)) > .step_custom_box::after {
        position: absolute;
        bottom: -30px;
        left: 50%;
        transform: translateX(-50%);
        border: 15px solid transparent;
        border-top: 20px solid #fff;
        content: "";
    }
}
@media screen and (min-width: 768px) {
    .step_custom > ol > li {
        width: calc(50% - 30px);
    }
    .step_custom > ol > li:not(:nth-last-of-type(1)) > .step_custom_box::after {
        position: absolute;
        top: 50%;
        right: -30px;
        transform: translateY(-50%);
        border: 15px solid transparent;
        border-left: 20px solid #fff;
        content: "";
    }
}
@media screen and (min-width: 992px) {
    .step_custom > ol > li {
        width: calc(25% - 30px);
    }
}

.list_qaa > dt {
    position: relative;
    padding: 1em 0px 1em 40px;
    border-bottom: 1px solid #0f5498;
    font-size: 17px;
    font-weight: bold;
}
.list_qaa > dt::before {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    width: 1.5em;
    height: 1.5em;
    background-image: url(images/common/icon_question.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}

.list_qaa > dd + dt {
    margin-top: 20px;
}

.list_qaa > dd {
    padding: 0px 0px 0px 40px;
    margin-top: 1em;
}

.img_model_num {
    border: 1px solid #a9acaf;
    padding: 20px;
}

@media screen and (min-width: 768px) {
    .img_model_num {
        margin: 0px;
    }
}

.list_feature {
    padding: 30px;
    background-color: #f7f7f7;
}

.list_feature > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: -10px -5px 0px;
    list-style: none;
}

.list_feature > ul > li {
    padding: 1em;
    margin: 10px 5px 0px;
    background-color: #fff;
}

.list_feature h3 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    height: 4em;
    color: #0f5498;
    font-size: 20px;
}

@media screen and (max-width: 767.98px) {
    .list_feature > ul > li {
        width: calc(100% - 10px);
    }
}
@media screen and (min-width: 768px) {
    .list_feature > ul > li {
        width: calc(50% - 10px);
    }
}
@media screen and (min-width: 992px) {
    .list_feature > ul > li {
        width: calc(33.3% - 10px);
    }
}

.box_download_title {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 4em;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.box_download_title span {
    line-height: 1.4;
}

.box_download_info {
    padding: 10px 10px 20px;
    border: 1px solid #d6d6d6;
}

.box_download_info p:nth-of-type(n + 2) {
    margin-top: 10px;
}

.box_download_info_link {
    position: relative;
    padding: 0px 0px 0px 5.5em;
}

.box_download_info_link .btn_pdf,
.box_download_info_link .btn_pdf1{
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
}

.box_download_info_link a:not([class]) {
    color: #040505;
    font-weight: bold;
    text-decoration: none;
}
.box_download_info_link a:not([class]):hover {
    color: #359ddd;
}

.box_download_info_image {
    padding: 20px;
}

.box_download_info_detail {
    margin-top: 10px;
}

.box_tel {
    display: table;
    margin: 0px auto;
    padding: 20px 30px;
    border: 1px solid #0071bc;
}

.box_tel > a {
    color: #0071bc;
    font-size: 30px;
    font-weight: bold;
    text-decoration: none;
    letter-spacing: 0.1em;
    line-height: 1;
    white-space: nowrap;
}
.box_tel > a:hover {
    color: #0071bc;
}
.box_tel > a::before {
    display: inline-block;
    margin: 0px 5px 0px 0px;
    transform: scaleX(-1);
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f095";
}

.box_tel > a > span:nth-of-type(2) {
    font-size: 16px;
}

.box_tel > p {
    text-align: center;
}

@media screen and (max-width: 767.98px) {
    .box_tel {
        display: block;
        padding: 1em;
    }
    .box_tel > a {
        font-size: 18px;
    }
}

.txt_philosophy {
    display: table;
    padding: 60px 90px;
    margin: 0px auto;
    font-size: 20px;
    text-align: center;
}

.txt_philosophy > p + p {
    margin-top: 1em;
}

@media screen and (max-width: 767.98px) {
    .txt_philosophy {
        padding: 60px 1em;
        font-size: 18px;
    }
}

@media print, (min-width: 768px) {
    .page-history .list_table > dt {
        padding-left: 2em;
        width: 10em;
    }
    .page-history .list_table > dd {
        padding-left: 1em;
        width: calc(100% - 10em);
    }
}

.section_sentei .result-table input[type="text"] {
    width: 100%;
    border: none;
}

.section_sentei .btn_submit {
    /* リセット */
    border: none;
    border-radius: 0;
    outline: none;
    appearance: none;
    background: transparent;
    cursor: pointer;

    display: inline-block;
    position: relative;
    padding: 0.75em 4em 0.75em 5em;
    margin: 0px 1em;
    border-radius: 2em;
    background-color: #0f5498;
    color: #fff;
    font-size: 17px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
}
.section_sentei .btn_submit:hover {
    background-color: #136bc1;
    color: #fff;
}

.section_sentei .is-disabled {
    opacity: 0.6;
    pointer-events: none;
}

.section_sentei .inner {
    margin-top: 30px;
    text-align: center;
}

.section_sentei .text_result {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.section_contact {
    padding: 60px 0px;
    background-color: #0f5498;
}

.section_contact_text {
    color: #fff;
    font-size: 20px;
    text-align: center;
}

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

.section_contact_cta_tel > a {
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    text-decoration: none;
    letter-spacing: 0.1em;
    line-height: 1;
    white-space: nowrap;
}
.section_contact_cta_tel > a:hover {
    color: #fff;
}
.section_contact_cta_tel > a::before {
    display: inline-block;
    margin: 0px 5px 0px 0px;
    transform: scaleX(-1);
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f095";
}

.section_contact_cta_tel > span {
    margin: 0px 1em;
    color: #fff;
}

.section_contact_cta_mail .btn_link {
    margin: 0px auto;
    background-color: #fff;
    color: #0f5498;
}
.section_contact_cta_mail .btn_link:hover {
    background-color: #dff0fd;
}

@media screen and (max-width: 991.98px) {
    .section_contact_cta_tel,
    .section_contact_cta_mail {
        margin-top: 30px;
    }
}
@media screen and (min-width: 992px) {
    .section_contact_cta {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        margin-top: 30px;
    }
}

.sitetitle {
    margin-top: 20px;
    text-align: center;
}

.sitetitle > a {
    color: #040505;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
}

.list_search {
    list-style: none;
}

.list_search > li + li {
    margin-top: 30px;
}

.list_search > li > a {
    color: #040505;
    text-decoration: none;
}
.list_search > li > a:hover {
    text-decoration: underline;
}

.list_search > li > a > span {
    display: block;
}
.list_search > li > a > span:nth-of-type(1) {
    font-size: 18px;
    font-weight: bold;
}

.page-sitemap .container .menu {
    margin: 30px 0px 0px 1.5em;
}

.page-sitemap .container .menu > li + li {
    margin: 0.5em 0px 0px;
}

.section_special {
    padding: 30px 0px;
    margin-bottom: 60px;
    background-image: url(images/top/bg_special.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    text-align: center;
}

.section_special_title {
    font-size: 20px;
    font-weight: bold;
}

.section_special_text {
    font-size: 16px;
    font-weight: bold;
}

/****************************************
6. Footer 
****************************************/
.footer {
    padding: 30px 0px;
    background-color: #f7f7f7;
	margin-top:50px;
}

.footer > .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.footer_title_link {
    display: table;
    padding: 0px 20px 0px 0px;
}

.footer_title_link > a {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    color: #040505;
    font-size: 24px;
    font-weight: bold;
    text-decoration: none;
    text-indent: 1px;
    letter-spacing: 1px;
}

.footer_title_link > a > img {
    margin: 0px 10px 0px 0px;
}

.footer_menu_link {
    display: flex;
    margin: 0px -20px;
}

.footer_menu_link_item {
	margin:0 60px 0 20px;
}

.footer_menu_link_item_title {
    font-size: 16px;
    font-weight: bold;
    white-space: nowrap;
}

.footer_menu_link_item > .menu {
    margin-top: 10px;
    list-style: none;
}

.footer_menu_link_item > .menu > li + li {
    margin-top: 5px;
}

.footer_menu_link_item > .menu > li > a {
    color: #040505;
    font-size: 13px;
    text-decoration: none;
    line-height: 1;
    white-space: nowrap;
}
.footer_menu_link_item > .menu > li > a:hover {
    color: #808080;
}

.footer_link {
    display: none;
    margin-top: 30px;
}

.home .footer_link {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.footer_link > a > img {
    max-width: 150px;
}

.footer_link > p {
    display: inline-block;
    margin: 0px 0px 0px 1em;
    font-size: 13px;
    font-weight: bold;
}

.copyright {
    padding: 10px 0px;
}

.copyright span , .copyright a{
    display: inline-block;
    font-size: 10px;
    letter-spacing: 0.1em;
}

@media screen and (max-width: 767.98px) {
    .footer {
        display: none;
    }
    .home .footer {
        display: block;
    }
    .home .footer_title,
    .home .footer_menu_link {
        display: none;
    }
    .home .footer_link {
        margin-top: 0px;
    }
    .copyright {
        padding: 0px 0px 10px;
        text-align: center;
    }
}
@media screen and (max-width: 991.98px) {
    .footer_title {
        width: 100%;
    }
    .footer_title_link {
        margin: 0px auto;
    }
    .footer_menu {
        margin: 30px auto 0px;
    }
}

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

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

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

.mnavi > ul > li > a,
.mnavi > ul > li > button {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    font-size: 2.5vw;
}
.mnavi > ul > li > a:before,
.mnavi > ul > li > button:before {
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 32px;
    font-family: "iconfont" !important;
    font-weight: 900;
}
.mnavi_home > a:before {
    content: "\e62e";
}
.mnavi_contact > a:before {
    content: "\e6d3";
}
.mnavi_tel > a:before {
    content: "\e94d";
}
.mnavi_menu > button:before {
    content: "\e77d";
	top: -8px !important;
}

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

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

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

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

.mnavi_menu_area_title {
    padding: 1em 2em;
    background-color: #0f5498;
    color: #fff;
    font-size: 5vw;
}

.mnavi_menu_area > .menu {
    list-style-type: none;
    border-top: 1px solid #fff;
}

.mnavi_menu_area > .menu > li {
    border-bottom: 1px solid #fff;
}

.mnavi_menu_area > .menu li > a {
    display: block;
    position: relative;
    padding: 1em 2em;
    color: #fff;
    font-size: 4vw;
    text-decoration: none;
}
.mnavi_menu_area > .menu li:not(.menu-item-has-children) > a::after {
    position: absolute;
    top: 50%;
    right: 1.5em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
}
.mnavi_menu_area > .menu li.menu-item-has-children > a::after {
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    font-size: 5vw;
    content: "+";
}
.mnavi_menu_area > .menu li.menu-item-has-children.js_active > a::after {
    content: "-";
}

.mnavi_menu_area .sub-menu {
    display: none;
    list-style: none;
}

.mnavi_menu_area .sub-menu > li {
    border-top: 1px solid #fff;
}

.mnavi_menu_area .sub-menu > li > a {
    background-color: #999;
    padding: 1em 2em 1em 3em;
}

#btn_scroll_top {
    display: none;
    position: fixed;
    bottom: 100px;
    right: 20px;
    z-index: 9999;
    width: 50px;
    height: 50px;
    background-color: #012f93;
    text-decoration: none;
    outline: none;
}
#btn_scroll_top:after {
    position: absolute;
    top: 40%;
    left: 50%;
    width: 20px;
    height: 20px;
    transform: translateX(-50%) rotate(-45deg);
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    content: "";
}
@media print, (min-width: 768px) {
    #btn_scroll_top {
        bottom: 30px;
        right: 90px;
        width: 42px;
        height: 42px;
    }
    #btn_scroll_top:after {
        width: 12px;
        height: 12px;
    }
}

/****************************************
7. single
****************************************/
.single-post p + p {
    margin: 1em 0px 0px;
}

@media screen and (max-width: 767.98px) {
    .single-post img {
        margin: 1em auto 0px;
    }
}
@media print, (min-width: 768px) {
    .single-post img {
        margin: 1em 0px 0px;
    }
    
    .single-post .alignleft {
        display: inline-block;
    }
    
    .single-post .alignleft + .alignleft {
        margin: 1em 0px 0px 1em;
    }
    
    .single-post .aligncenter {
        margin: 1em auto 0px;
    }
    
    .single-post .alignright {
        margin: 1em 0px 0px 100%;
        transform: translateX(-100%);
    }
}

.single-news h2 {
    text-align: center;
}

.news_link {
    padding: 30px;
    margin-top: 60px;
    border: 1px solid #b2b2b2;
}

.news_link h3 {
    display: table;
    padding: 5px 1em;
    background-color: #0068b7;
    color: #fff;
}

.news_link ul {
    margin-top: 20px;
    list-style: none;
}

.news_link li + li {
    margin-top: 10px;
}

.news_link a::after {
    display: inline-block;
    margin: 0px 0px 0px 1em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f35d";    
}

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

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

/****************************************
10. Plugin
****************************************/
.no_must {
    display: block;
    background-color: #fc0;
    padding: 4px 5px;
    font-size: 13px;
    color: #fff;
    float: left;
    margin: 0px 5px;
    border-radius: 4px;
    box-shadow: 0px 0px 5px #ccc;
}

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

.bx-wrapper .bx-controls-auto,
.bx-wrapper .bx-pager {
    bottom: -20px;
}

.bx-wrapper .bx-pager.bx-default-pager a {
    background: #c9e2ff;
    margin: 0px 8px;
}

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

/****************************************
10. Tweak
****************************************/

/****************************************
11. コンタクトフォーム7用スタイル
****************************************/
.wrapper_form {
    margin: 0px auto;
    max-width: 900px;
}

.ctform-row {
    display: flex;
    margin-top: 1em;
}

div[data-class="wpcf7cf_group"] {
    margin-top: 1em;
}

.ctform-title {
    position: relative;
    padding: 0px 0px 0px 5em;
    width: 40%;
}

.ctform-title.required::before {
    position: absolute;
    top: 2px;
    left: 0px;
    padding: 0px 0.75em;
    background-color: #83909f;
    color: #fff;
    font-size: 0.75em;
    content: "\5fc5\9808";
}

.ctform-data {
    width: 60%;
}

.ctform-data-harf {
    width: 25%;
}

.ctform-data input[type="tel"],
.ctform-data input[type="text"],
.ctform-data input[type="email"],
.ctform-data textarea {
    padding: 5px 10px;
    border: none;
    background-color: #f7f7f7;
    width: 80%;
}

.ctform-data label {
    cursor: pointer;
}

.ctform-data-select {
    display: table;
    position: relative;
    width: 80%;
}
.ctform-data-select::before {
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 1;
    width: 30px;
    height: 24px;
    background-color: #ddd;
    pointer-events: none;
    content: "";
}
.ctform-data-select::after {
    position: absolute;
    top: 8px;
    right: 8px;
    bottom: 0px;
    z-index: 2;
    width: 0px;
    height: 0px;
    border: 6px solid transparent;
    border-top: 8px solid #acacac;
    pointer-events: none;
    content: "";
}

.ctform-data-select select {
    padding: 5px 10px;
    border: none;
    background-color: #f7f7f7;
    width: 100%;
    -webkit-appearance: none;
    appearance: none;
}
.ctform-data-select select::-ms-expand {
    display: none;
}

.button-wrap {
    margin-top: 20px;
    text-align: center;
}

.ctform-submit input {
    /* デフォルトデザインリセット */
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
}

.ctform-submit input {
    display: table;
    margin: 30px auto 0px;
    position: relative;
    padding: 0.75em 1em;
    width: 28em;
    max-width: 90%;
    border-radius: 2em;
    background-color: #0f5498;
    color: #fff;
    font-size: 17px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
}
.ctform-submit input:hover {
    background-color: #136bc1;
    color: #fff;
}
.ctform-submit {
    display: table;
    position: relative;
    margin: 0px auto;
}
.ctform-submit::before {
    position: absolute;
    top: 50%;
    left: 3em;
    z-index: 1;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    content: "";
}

.cf_switch_item {
    display: flex;
    align-items: center;
    width: 80%;
}

.cf_switch_item + .cf_switch_item {
    margin-top: 10px;
}

.cf_switch_item:nth-of-type(n + 2) {
    display: none;
}

.cf_switch_item.js_active {
    display: flex;
}

.cf_switch_item .wpcf7-form-control-wrap {
    width: calc(100% - 5em)
}

.cf_switch_item .wpcf7-form-control-wrap input {
    width: 100%;
}

.cf_switch_item_plus,
.cf_switch_item_minus {
    position: relative;
    margin: 0px 0px 0px 1em;
    width: 1.5em;
    height: 1.5em;
    border-radius: 2px;
    background-color: #83909f;
    cursor: pointer;
}
.cf_switch_item_plus::before,
.cf_switch_item_plus::after,
.cf_switch_item_minus::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    background-color: #fff;
    content: "";
}
.cf_switch_item_plus::before,
.cf_switch_item_minus::before {
    width: 60%;
    height: 15%;
}
.cf_switch_item_plus::after {
    width: 15%;
    height: 60%;
}

@media screen and (max-width: 767.98px) {
    .wpcf7 {
        font-size: 11px;
    }
    .ctform-submit input {
        font-size: 12px;
    }
}
.jbfz img{
	margin-bottom:10px;
	}
.mian_left_nr{
	margin:15px;
	}	
.HISTORY{
	border-bottom:1px dashed #999;
	border-top:1px dashed #999;
	margin-top:20px;
	width:100%;
	margin:0 15px;
	}	
.HISTORY_bt{
	border-bottom:1px dashed #999;
	color: #065e99;
	padding:15px 20px;
	font-size:14px;
	font-weight:bold;
	}	
.HISTORY_nr{
	padding:20px;
	background:#fafafa;
	}	
.left{
	float:left;
	}
.right{
	float:right;
	text-align:left;
	}	
.clear{
	clear:both;
	}
.HISTORY_wz{
	width:75%;
	line-height:22px;
	}	
	
.HISTORY_tp{
	width:23%;
	text-align:center;
	color: #065e99;
	line-height:28px;
	}		
.HISTORY_tp1{
	width:400px;
	}
.bo_bot{
	border-bottom:1px dashed #dddd;
	padding:15px 0;
	}
.neixuxianleft{
	width:15%;
	text-align: right;
	color:#065e99;
	float:left;
	}
.neixuxianright{
	width:33%;
	float:left;
	margin-left:2%;
	}
.wtda table td{
	word-wrap: break-word !important;
	}
@media screen and (max-width: 767.98px) {
  .HISTORY_wz , .HISTORY_tp{
	width:100%;
	}
	.HISTORY_tp img{
	margin:15px auto;
	}
.neixuxianleft{
	width:28%;
	padding:10px 0;
	}
.neixuxianright{
	width:70%;
	padding:10px 0;
	}
.bo_bot{
	border:0px;
	padding:0px;
	}
.wtda{
	overflow:auto;
	}
.wtda table{
	width:800px;
	}
.breadcrumb{
	display:inline-block;
	}
}
.btn_pdf , .btn_pdf1 , .btn_cad{
	margin:auto;
	display:block;
	}
.foot_gnav{
	text-align:center;
	}
.foot_gnav .btn_link{
	display:inline-block;
    padding: 0.75em 2em 0.75em 3em;
	}
.foot_gnav .btn_link::before{
	left: 1.8em;
	}

@media screen and (max-width: 767.98px) {
	.foot_gnav .btn_link{
		font-size:15px;
		
		}
	}
.hydlbiaoge{
	margin-top:30px;
	}
.hydlbiaoge div{
	width:100%;
	height:68px;
	}
.hydlbiaoge label{
	width:30%;
	text-align:right;
	line-height:48px;
	float:left;
	}
.hydlbiaoge .form-control{
	float:left;
	width:40%;
	margin-top:0px;
	margin-left:3%;
	}
.hydlbiaoge .checkcode{
	width:20%;
	margin-right:3%;
	}
.hydlbiaoge .yzmimg{
	height:48px;
	float:left;
	}
.hydlbiaoge .header_cta_contact{
	border-radius:0px;
	margin-left:33%;
	margin-right:1%;
	}

.hydlbiaoge  .sjyzm{
	height:48px;
	float:left;
	margin-left:0%;
	background:#999;
	}
.hydlbiaoge  .invalid-feedback{
	float:left;
	width:25%;
	margin-left:1%;
	line-height:48px;
	}

@media screen and (max-width: 767.98px) {
	.hydlbiaoge{
	margin-top:10px;
	}

.hydlbiaoge label{
	width:20%;
	line-height:48px;
	}
.hydlbiaoge .form-control{
	width:74%;
	}
.hydlbiaoge .checkcode{
	width:30%;
	margin-right:1%;
	}
.hydlbiaoge .yzmimg{
	height:48px;
	float:left;
	}
.hydlbiaoge .header_cta_contact{
	border-radius:0px;
	line-height:28px;
	margin-right:1%;
	margin-left:19%;
	}

.hydlbiaoge  .sjyzm{
	line-height:28px;
	margin-left:0%;
	}
.hydlbiaoge  .invalid-feedback{
	display:none;
	}
	}
.cptop_link{
	cursor: pointer;
	}
.xhxx{
	text-decoration:underline;
	}













