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

/*
Theme Name: APN
Theme URI: 
Author: ailylab
Author URI: http://www.aily-lab.co.jp
Description:
Version: 1.1
*/

@charset "UTF-8";

@import "css/normalize.css";/* normalize*/

/* index
1.Setting
2.Layout
3.Header,Navi 
4.Main
5.Footer
6.Sidebar
*/

/****************************************
          1.Setting
*****************************************/
body {
    font-family: "Noto Sans JP", 'メイリオ','Meiryo',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,Arial,Sans-Serif,"ＭＳ Ｐゴシック","MS PGothic";
    font-size: 15px;
    color: #000000;
    background: #fff;
    line-height: 1.8;
    overflow-x: hidden;
}
a,a:visited {
    color:#006e36;
    text-decoration: none;
}
a:hover,a:active{
    color: #2c8859;
    text-decoration: underline;
}

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

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

strong {
    color: #dc143c;
    font-size: 1.1em;
    font-weight: bold;
}

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

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

p{line-height:1.5em;}
.small{font-size:80%;}
.accent1{
    font-weight:bold;
    color:#FD2C2C;
}
.accent2{
    font-weight:bold;
    font-size:1.5em;
}
.align_center{
    margin:0px auto;
}
ul{padding-left:20px;}
h2{font-family:'メイリオ','Meiryo',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,Arial,Sans-Serif,"ＭＳ Ｐゴシック","MS PGothic";

}
.font18{font-size:18px;}

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

.section {
    padding: 40px 0px;
}

a.cp_btn {
    display: block;
    padding: 0.8em;
    text-align: center;
    text-decoration: none;
    color: #106D3D;
    border: 2px solid #106D3D;
    border-radius: 3px;
    transition: .4s;
    margin:auto;
}
a.cp_btn:hover {
    background: #106D3D;
    color: #fff;
}
a.cp_btn_red {
    display: block;
    position: relative;
    padding: 1.5em;
    text-align: center;
    text-decoration: none;
    background:#B40404;
    color: #fff;
    border: 2px solid #B40404;
    border-radius: 3px;
    transition: .4s;
    margin:auto;
    font-size:16pt;
    font-weight:bold;
}
a.cp_btn_red:hover {
    background: #fff;
    color: #B40404;
    border: 2px solid #B40404;
    text-decoration: none;
}
a.cp_btn_red::after {
    position: absolute;
    top: 50%;
    right: 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,
.btn_link:visited {
    display: table;
    position: relative;
    padding: 1em 2.5em;
    margin: 30px auto 0px;
    min-width: 15em;
    border: 2px solid #dc143c;
    background-color: #dc143c;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    transition: 0.5s;
}
.btn_link:active,
.btn_link:hover {
    border: 2px solid #ec365a;
    background-color: #ec365a;
    color: #fff;
    text-decoration: none;
}
.btn_link::after {
    position: absolute;
    top: 50%;
    right: 1em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
}

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

.list_policy {
    padding: 0px;
    list-style: none;
}
.list_policy > li {
    padding: 0px 0px 0px 2em;
    position: relative;
}
.list_policy > li + li {
    margin-top: 0.5em;
}
.list_policy > li::before {
    position: absolute;
    top: 0px;
    left: 0px;
    content: "一．";
}

.before_after {
    display: flex;
    justify-content: space-between;
    position: relative;
}

.before_after_image {
    position: relative;
    width: calc(50% - 60px);
}

.before_after_image > img {
    margin: 0px auto;
    max-width: 100%;
}

.before_after_arrow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 60px;
    height: 60px;
    color: #106E3E;
}
.before_after_arrow::before,
.before_after_arrow::after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    content: "";
}
.before_after_arrow::before {
    right: -50px;
    width: 0px;
    height: 0px;
    border: 40px solid transparent;
    border-left: 50px solid currentColor;
}
.before_after_arrow::after {
    left: -10px;
    width: 40px;
    height: 40px;
    background-color: currentColor;
}

.before_after_image_tag {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 0.5em 1em;
    border-radius: 5px;
    background-color: #106E3E;
    color: #fff;
    font-size: 16px;
}

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

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

.list_table > dt {
    background-color: #D6FAE7;
    color: #106e3e;
    font-weight: bold;
}

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

@media screen and (max-width: 767px) {
    .list_table > dd {
        border: 1px solid #d6d6d6;
        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 #d6d6d6;
    }
    .list_table > dt,
    .list_table > dd {
        display: flex;
        flex-direction: column;
        justify-content: center;
        border-top: 1px solid #d6d6d6;
    }
    .list_table > dt {
        width: 20%;
        border-left: 1px solid #d6d6d6;
    }
    .list_table > dd {
        width: 80%;
        border-right: 1px solid #d6d6d6;
    }
}

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

.list_box > li {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.5em;
    margin: 20px 10px 0px;
    border: 2px solid #106E3E;
    width: calc(100% - 20px);
    min-height: 100%;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}

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

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

.list_check > li {
    position: relative;
    padding: 0px 0px 0px 2em;
    margin: 0px;
    font-size: 18px;
    font-weight: bold;
}
.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 #dc143c;
}
.list_check > li::after {
    left: 0.5em;
    transform: translateY(-75%) rotate(45deg);
    width: 0.5em;
    border-bottom: 3px solid #dc143c;
    border-right: 3px solid #dc143c;
}

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

.border_box {
    border: 1px solid #106E3E;
    padding: 30px;
}

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

.speech_balloon + .speech_balloon {
    margin-top: 20px;
}

.speech_balloon_text {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

@media screen and (max-width: 767.98px) {
    .speech_balloon_image img {
        width: 30%;
        max-width: 200px;
        margin: 0px auto;
    }
    .speech_balloon_text {
        position: relative;
        padding: 30px;
        margin: 30px 0px 0px;
        border: 2px solid #106E3E;
        background-color: #fff;
    }
    .speech_balloon_text::before {
        position: absolute;
        top: -16px;
        left: 50%;
        transform: translateX(-50%) rotate(45deg);
        width: 30px;
        height: 30px;
        background-color: #fff;
        border-top: 2px solid #106E3E;
        border-left: 2px solid #106E3E;
        content: "";
    }
}
@media screen and (min-width: 768px) {
    .speech_balloon {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
    .speech_balloon_image {
        width: calc(20% - 30px);
    }
    .speech_balloon_text {
        position: relative;
        padding: 30px;
        margin: 0px 0px 0px 30px;
        width: 80%;
        border: 2px solid #106E3E;
        background-color: #fff;
    }
    .speech_balloon_text::before {
        position: absolute;
        transform: translateY(-50%) rotate(-45deg);
        top: 50%;
        left: -16px;
        width: 30px;
        height: 30px;
        background-color: #fff;
        border-top: 2px solid #106E3E;
        border-left: 2px solid #106E3E;
        content: "";
    }
}

.text_appeal {
    display: table;
    padding: 1em;
    margin: 0px auto;
    border: 4px solid #dc143c;
    width: 80%;
    color: #dc143c;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

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

.columns {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
}

.columns_item {
    width: 48%;
}

.mt0 {
    margin-top: 0px !important;
}

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

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

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

.mb0 {
    margin-bottom: 0px !important;
}

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

.fs18 {
    font-size: 18px !important;
}

.fs20 {
    font-size: 20px !important;
}

.fwb {
    font-weight: bold !important;
}

.center {
    text-align: center;
}

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

.donwload_sample {
    display: flex;
    flex-wrap: wrap;
    padding: 10px;
    margin: 0px;
    border: 1px solid #ddd;
    list-style: none;
}

.donwload_sample li {
    width: 50%;
    min-height: 100%;
}

/****************************************
        2. Layout 
*****************************************/
#wrapper,
.contents {
    padding: 0px 10px;
    margin: 20px auto 0px;
    width: 100%;
}
#contents {
/*
    padding: 0px 10px;
*/
    width: calc(100% - 20px);
}
.mail #wrapper {
    width: 100%;
}

.contents #wrapper {
    padding: 0px;
}

@media print, (min-width: 695px) {
    #contents {
        margin: 0px auto 65px;
        width: 695px;
    }
    .mail #wrapper {
        width: 695px;
    }
}

@media print, (min-width: 960px) {
    #contents {
        margin: 0px 0px 65px 0px;
        float: left;
    }
    #wrapper,
    .contents {
        width: 960px;
    }
    .contents #wrapper {
        width: 100%;
    }
}

.page-contact #contents {
    margin: 0px auto 65px;
    float: none;
}

@media print, (min-width: 695px) {
    .fl_right_pc {
        float: right;
        margin: 0px 0px 0px 20px;
    }
}

.video_wrapper {
    position: relative;
}

.video_wrapper > video {
    width: 100%;
}

/****************************************
        3. header,navi 
*****************************************/
#header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: fixed;
    top: 0px;
    left: 50%;
    z-index: 9999;
    transform: translateX(-50%);
    padding: 10px 0px;
    width: 960px;
    background-color: #fff;
}
#header::before {
    position: absolute;
    top: 0px;
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
    bottom: 0px;
    z-index: -1;
    background-color: #fff;
    content: "";
}
#header_r {
    display: flex;
    justify-content: flex-end;
}
#header_tel {
    margin-right: 10px;
}
.btn_header_download,
.btn_header_download:visited,
.btn_header_mail,
.btn_header_mail:visited {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    margin: 0px auto;
    width: 200px;
    height: 50px;
    color: #fff;
    font-size: 17px;
    font-weight: bold;
    text-align: center;
    line-height: 1.25;
}
.btn_header_mail,
.btn_header_mail:visited {
    background-color: #dc143c;
}
.btn_header_download,
.btn_header_download:visited {
    background-color: #106e3e;
}
.btn_header_download {
    margin: 0px 0px 0px 10px;
}
.btn_header_download:hover,
.btn_header_download:active,
.btn_header_mail:hover,
.btn_header_mail:active {
    color: #fff;
    text-decoration: none;
}
.btn_header_download:hover,
.btn_header_download:active {
    background-color: #169654;
}
.btn_header_mail:hover,
.btn_header_mail:active {
    background-color: #ec365a;
}
.btn_header_download::before,
.btn_header_mail::before {
    display: inline-block;
    margin: 0px 10px 0px 0px;
    width: 1.25em;
    height: 1.25em;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}
.btn_header_download::before {
    background-image: url(./images/head/icon_download.png);
}
.btn_header_mail::before {
    background-image: url(./images/head/icon_mail.png);
}

.header_text{
    font-size:80%;
    font-weight:bold;
    text-align:center;
}
#navi_wrapper {
    position: fixed;
    top: 70px;
    left: 0px;
    z-index: 9999;
    width: 100%;
    background:url('images/menu/gnavi_bg.jpg') 0 0 repeat-x;
}
#g_navi {
    display: flex;
    justify-content: space-between;
    width: 960px;
    padding: 0px;
    margin: 0px auto;
    list-style: none;
}
#g_navi a:hover {
    text-decoration: none;
}
#g_navi > li {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin: 0px;
    width: calc(100% / 7);
    height: 50px;
    border-left: 1px solid #106e3e;
    font-size: 15px;
    font-weight: bold;
    text-align: center
}
#g_navi > li:last-of-type {
    border-right: 1px solid #106e3e;
}
#navi_wrapper.js_active #g_navi > li {
    height: 30px;
    font-size: 14px;
}
#g_navi > li > a {
    display: block;
    width: 100%;
    color: #000;
    line-height: 1.25;
}
#g_navi > li > a:hover {
    color: #106e3e;
}
#g_navi .sub {
    display: none;
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
    padding: 0px;
    list-style: none;
}
#navi_wrapper.js_active #g_navi .sub {
    top: 30px;
}
#g_navi .sub li {
    display: block;
    margin: 0px;
    padding: 5px 10px;
    width: 240px;
    background: #e8e8e8;
    border-bottom: #aaa 1px solid;
}
#g_navi .sub li a {
    display: block;
    font-size: 14px;
}

#header_mb {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 9999;
    width: 100%;
    height: 90px;
    background-color: #fff;
}

#header_mb #logo_mb {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    width: 240px;
}

#header_mb #logo_mb .logo_mb_tel {
    margin: 5px 10px 0px;
    width: 140px;
}

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

#header_mb > .site_title {
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    width: 50%;
}

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

#header_mb > .toggle_area > .g_navi_mb {
    padding: 0px;
    margin: 0px;
    border-bottom: 1px solid #106e3e;
}

#header_mb > .toggle_area > .g_navi_mb li {
    border-top: 1px solid #106e3e;
    list-style-type: none;
}

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

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

#header_mb > .toggle_area > .g_navi_mb > li > .sub_mb {
    display: none;
    padding: 0px;
    margin: 0px;
}

#header_mb > .toggle_area > .g_navi_mb > li > .sub_mb > li > a {
    padding: 1em 3em 1em 3em;
}

#header_mb > .toggle_area .btn_header_download {
    margin: 20px auto 0px;
}

@media screen and (max-width: 959px) {
    #header {
        display: none;
    }
    #navi_wrapper {
        display: none;
    }
    body {
        margin-top: 90px;
    }
}
@media print, (min-width: 960px) {
    #header_mb {
        display: none;
    }
    body {
        margin-top: 120px;
    }
    body.mail {
        margin-top: 40px;
    }
}

/****************************************
        4.Main
*****************************************/
/**************TOP*******************/
.green_bold_h {
    color: #106e3e;
    font-size: 24px;
    line-height: 1.5;
    text-align: center;
    filter: drop-shadow(0px 4px 2px #fff);
}

.top_message {
    position: relative;
    background-image: url("/images/top_contents/top_measage.jpg");
    background-size: cover;
}

.top_message_title {
    color: #106e3e;
    font-size: 24px;
    line-height: 1.5;
    text-align: center;
    filter: drop-shadow(0px 4px 2px #fff);
}

.top_message_box {
    margin-top: 60px;
}

.top_message_box_image {
    position: relative;
}

.top_message_box_image_title {
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    padding: 1em 2em;
    background-color: #000;
    width: 90%;
    max-width: 20em;
    color: #fff;
    font-size: 0.9em;
    font-weight: bold;
    text-align: center;
}

.top_message_box_text {
    border: 5px solid #006e36;
    background-color: #fff;
}

.btn_green {
    display: table;
    position: relative;
    margin: 0px auto;
    background-color: #006e36;
    font-weight: bold;
    text-align: center;
    padding: 1em 3em;
    color: #fff;
}
.btn_green:hover {
    background-color: #169654;
    transition: ease 0.3s;
    color: #fff;
    text-decoration: none;
}

.btn_green span {
    display: inline-block;
}

.btn_green::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 1em;
    width: 10px;
    height: 10px;
    border: 2px solid;
    border-color: #FFF #FFF transparent transparent;
    transform: translateY(-50%) rotate(45deg);
    content: "";
}

.btn_green:visited {
    color: #fff;
}

/*topページ 事業内容*/
.top_service {
    background-color: #f4f4f4;
    padding: 5em 0;
    position: relative;
}

.top_service::before {
    content: "";
    background-image: url(images/top_contents/top_sevice_circuit_before_bg.png);
    position: absolute;
    top: 120px;
    right: 88%;
    width: 475px;
    height: 85px;
    background-repeat: no-repeat;
}

.top_service::after {
    content: "";
    background-image: url(images/top_contents/top_sevice_circuit_after_bg.png);
    position: absolute;
    bottom: 90px;
    left: 88%;
    width: 215px;
    height: 70px;
    background-repeat: no-repeat;
}

@media screen and (max-width: 767.98px) {
    .top_message {
        padding: 10px 10px 40px;
    }
    .top_message_box_text {
        padding: 1em;
    }
}
@media screen and (min-width: 768px) {
    .top_message {
        padding: 60px;
    }
    .top_message_box {
        position: relative;
    }
    .top_message_box_text {
        padding: 2em 4em;
    }
    .top_message_box_image {
        position: absolute;
        top: 50%;
        left: -60px;
        transform: translateY(-50%);
        width: 45%;
    }
    .top_message_box_text {
        margin-left: auto;
        width: 70%;
    }
}
@media screen and (min-width: 992px) {
    .top_message_box_text {
        padding: 2em 6em;
    }
    .top_message_box_image {
        left: -60px;
        max-width: 400px;
    }
}

.wrapper {
    width: 960px;
    padding: 0px 10px;
    margin: 0 auto;
}

@media screen and (max-width: 991.98px) {
    .top_service::before {
        display: none;
    }

    .top_service::after {
        display: none;
    }

    .wrapper {
        width: 100%;
    }
}

.underbar_h {
    font-size: 24px;
    line-height: 1.5;
    text-align: center;
    padding-bottom: 10px;
}

.underbar_h::after {
    content: "";
    border-bottom: 3px solid #346C43;
    width: 80px;
    margin: 0 auto;
    height: 10px;
    display: block;
}


.box_title {
    position: relative;
}

.box_title::before {
    content: "";
    position: absolute;
    border-left: 30px solid #346C43;
    border-bottom: 30px solid transparent;
}

.box_title h4 {
    display: flex;
    align-items: center;
    padding: 1em 0.5em 1em 1.5em;
    color: #346C43;
    background-color: #fff;
    margin-bottom: 0;
    height: 5em;
}

.box_title h4 span {
    line-height: 1.5;
}

@media screen and (max-width: 767.98px) {
    .box_title h4 {
        padding: 1em;
    }
}

.box_main {
    display: block;
    position: relative;
}

.box_main img {
    width: 100%;
    object-fit: contain;
}

.box_main .btn_green {
    position: absolute;
    bottom: 1em;
    transform: translateX(-50%);
    left: 50%;
    width: 70%;
}
.box_main:hover .btn_green {
    background-color: #169654;
    transition: ease 0.3s;
    color: #fff;
    text-decoration: none;
}

/*トップページの課題解決事例の項*/
.sub_visual {
    margin-bottom: 4em;
    height: 200px;
    width: 100%;
    position: relative;
    background-size: cover;
}

.top_solution {
    margin-bottom: 3em;
}

.top_solution .sub_visual {
    background-image: url(images/top_contents/top_solution_mv.jpg);
}

.sub_visual h2 {
    font-size: 28px;
    font-weight: bold;
    color: #fff;
    text-shadow:
        0 0 5px rgba(8, 152, 47, 0.9),
        0 0 10px rgba(8, 152, 47, 0.8),
        0 0 20px rgba(8, 152, 47, 0.7);
    margin: auto;
    width: 7em;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.btn_red {
    background-color: #dc143c;
    color: #fff;
    padding: 1em;
    font-weight: bold;
    width: 80%;
    border-radius: 10px;
    display: block;
    margin: 0 auto;
    text-align: center;
}

.btn_red:hover {
    transition: ease 0.3s;
    opacity: 0.7;
    color: #fff;
    text-decoration: none;
}

.btn_red:visited {
    color: #fff;
}

.top_solution .btn_green,
.top_works .btn_green {
    margin: 3em auto;
    width: 350px;
    text-align: center;
}

.top_works .sub_visual {
    background-image: url(images/top_contents/top_works_sub_visual_bg.jpg);
}

/*トップページの当社についての項*/
.top_about {
    padding: 3em 0;
}

.top_about .green_bold_h {
    margin-bottom: 0px;
}

.top_about_card {
    display: block;
    position: relative;
}

.top_about_card img {
    width: 100%;
    height: 100%;
}

.top_about_card p {
    padding: 1em;
    text-align: center;
    background-color: #346C43;
    color: #fff;
    position: absolute;
    bottom: 0%;
    width: 100%;
    margin: 0;
    font-weight: bold;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.top_about_card p:hover {
    background-color: #169654;
    transition: ease 0.3s;
    color: #fff;
    text-decoration: none;
}

/*トップページ新着情報*/
.top_news {
    margin: 6em 0;
}

#news h2 {
    font-size: 24px;
    font-weight: bold;
    border-bottom: 1px solid #D8D8D8;
    position: relative;
}

#news h2::before {
    content: "";
    border-bottom: 3px solid #346C43;
    width: 6em;
    position: absolute;
    bottom: -2px;
}

#top_menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

#top_menu>div {
    position: relative;
    width: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

#top_design {
    background-image: url('images/top_contents/kiban_off.jpg');
}

#top_process {
    background-image: url('images/top_contents/process_off.jpg');
}

#top_prototype {
    background-image: url('images/top_contents/prototype_off.jpg');
}

#top_result {
    background-image: url('images/top_contents/result_off.jpg');
}

#top_equipment {
    background-image: url('images/top_contents/equipment_off.jpg');
}

#top_digitize {
    background-image: url('images/top_contents/digitize_off.jpg');
}

#top_flow {
    background: url('images/top_contents/flow_off.jpg');
}

#top_aika {
    background: url('images/top_contents/aika_off.jpg');
}

.top_text {
    position: absolute;
    top: 55%;
    left: 30px;
    width: 90%;
}

.top_text h3 {
    background: url('images/top_contents/point.gif') 0px 3px no-repeat;
    color: #006e36;
    font-size: 22px;
    line-height: 15px;
    padding-left: 15px;
    margin: 10px 0px 5px 0px;
}

@media screen and (max-width: 694px) {
    #top_menu>div {
        padding-top: 50%;
    }

    #top_menu>div+div {
        margin: 20px 0px 0px;
    }
}

@media print,
(min-width: 695px) {
    #top_menu {
        margin: -20px -10px 0px;
    }

    #top_menu>div {
        padding-top: 28%;
        margin: 20px 10px 0px;
        width: calc(50% - 20px);
    }
}

.top_main {
    position: relative;
    padding: 6vw 0px;
    background-image: url(./images/top_contents/main_bg3.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.top_main_message_filter {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: rgba(0, 0, 0, 0.2);
    content: "";
}

.top_main_message {
    position: relative;
    z-index: 1;
    text-align: center;
}

.top_main_message>p,
.top_main_message>h1 {
    color: #fff;
    text-align: center;
    line-height: 1.5;
}

.top_main_message>p:nth-of-type(1) {
    display: table;
    padding: 0.5em 1em;
    margin: 0px auto;
    border: 1px solid #fff;
    font-size: 18px;
}

.top_main_message>p:nth-of-type(2) {
    text-align: center;
}

.top_main_message>p:nth-of-type(2)>a {
    color: #fff;
    text-decoration: underline;
}

.top_main_message>p:nth-of-type(2)>a:hover {
    color: #fff;
}

.top_main_message h1 {
    font-size: 52px;
    text-shadow: -2px -2px 6px #006e36, 2px -2px 6px #006e36, 2px 2px 6px #006e36, -2px 2px 6px #006e36;
}

.top_main_message h1 span {
    display: inline-block;
    padding: 10px 1em;
    margin: 1em 0.5em;
    background-color: #006e36;
    color: #fff;
    font-size: 0.5em;
}

.top_main_message_btn {
    display: table;
    position: relative;
    padding: 1em 3em;
    margin: 2em auto 0px;
    border-radius: 10px;
    background-color: #dc143c;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
}
.top_main_message_btn:link,
.top_main_message_btn:visited,
.top_main_message_btn:active {
    color: #fff;
}
.top_main_message_btn:hover {
    color: #fff;
    background-color: #ec365a;
    text-decoration: none;
}

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

.top_main_message_link {
    display: inline-block;
    margin-top: 0.5em;
    color: #fff;
    font-size: 1.5em;
    font-weight: bold;
    text-align: center;
}
.top_main_message_link:link,
.top_main_message_link:visited,
.top_main_message_link:active {
    color: #fff;
}
.top_main_message_link:hover {
    color: #FFF;
    text-decoration: underline;
}

@media screen and (max-width: 1200px) {
    .top_main {
        padding: 4vw;
    }
    .top_main_message h1 {
        font-size: 3vw;
    }
    .top_main_message_btn {
        font-size: 1.75vw;
    }
    .top_main_message_link {
        font-size: 1.5vw;
    }
}
@media screen and (max-width: 767.98px) {
    .top_main {
        padding: 1vw;
    }
    .top_main_message h1 {
        font-size: 4.5vw;
    }
    .top_main_message_btn {
        font-size: 2vw;
    }
    .top_main_message_link {
        font-size: 1.5vw;
    }
}

ul.bxslider li h1 {
    margin: 0px;
    padding: 0px;
}

/************** sub *********************/
.page_ver01 h1{
    margin:0px 0px 1em 0px;
}
.page_ver01 h2 {
    position: relative;
    background-color: #106c3d;
    color: #fff;
    line-height: 1.5;
    margin-top: 50px;
    padding: 8px 1em;
}
.page_ver01 h2:before {
    position: absolute;
    top: 2px;
    left: 2px;
    right: 2px;
    bottom: 2px;
    border: 1px solid #87b69e;
    content: "";
}

.page_ver01 h3 {
    position: relative;
    line-height: 1.5;
    color: #106d3e;
    margin-top: 30px;
    padding-left: 28px;
}
.page_ver01 h3::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background-image: url('images/cont_icon.gif');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.page_ver01 h3.none {
    padding-left: 0px;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #106d3e;
}
.page_ver01 h3.none::before {
    display: none;
}

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

.wp-block-table table th,
.wp-block-table table thead td,
table th {
    padding: 1em;
    border: 1px solid #d6d6d6;
    background: #D6FAE7;
    color: #106e3e;
    font-weight: bold;
}

.wp-block-table table td,
table td {
    padding: 1em;
    border: 1px solid #d6d6d6;
    background-color: #fff;
}

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

.pagemenu {
    border: 1px solid #d6d6d6;
    background: #D6FAE7;
    padding: 0.5em 2em;
}
.arrow img {
    display: block;
    margin: 20px auto;
}

/************** design *******************/
ol.feature{
    width: calc(100% - 20px);
    padding: 0px;
    margin: 30px auto 0px;
}
ol.feature li{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    list-style: none;
    border-bottom: 1px solid #3F8963;
    margin-bottom: 25px;
}
ol.feature li img{
    margin: 0px;
    width: 120px;
}
ol.feature li p{
    width: 100%;
    font-size: 16pt;
    font-weight: bold;
    text-align: center;
}
ol.feature li p span{
    display: inline-block;
}

@media print, (min-width: 695px) {
    ol.feature li p{
        width: auto;
        text-align: left;
    }
    ol.feature li{
        justify-content: flex-start;
    }
}

/************** feature *******************/
.product_flow * {
    box-sizing: border-box;
}
.product_flow_main > ol,
.product_flow_charge > ul,
.product_flow_task > ul {
    list-style: none;
    padding: 0px;
    margin: 0px;
}

.product_flow_main > ol > li {
    position: relative;
    border: 1px solid #d6d6d6;
    background: linear-gradient(#fff, #ededed);
    color: #246904;
    text-align: center;
    line-height: 1.5;
}

.product_flow_charge,
.product_flow_task {
    position: relative;
    border-radius: 10px;
}

.product_flow_charge {
    background-color: #dbf0e5;
}
.product_flow_charge > div {
    background-color: #246904;
    font-weight: bold;
}
.product_flow_charge > ul > li {
    color: #246904;
    font-weight: bold;
    line-height: 1.5;
}

.product_flow_task {
    background-color: #d3dfe6;
}
.product_flow_task > div {
    background-color: #044469;
    font-weight: bold;
}
.product_flow_task > ul > li {
    color: #044469;
    font-weight: bold;
    line-height: 1.5;
}

@media screen and (max-width: 694px) {
    .product_flow {
        display: flex;
    }
    .product_flow_main {
        width: 60%;
        padding: 50px 0px 10px;
    }
    .product_flow_charge,
    .product_flow_task {
        padding: 50px 10px 10px;
        margin: 0px 0px 0px 10px;
        width: 20%;
    }
    .product_flow_main > ol > li {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        height: 60px;
        font-size: 18px;
        font-weight: bold;
    }
    .product_flow_main > ol > li + li {
        margin: 30px 0px 0px;
    }
    .product_flow_main > ol > li + li:before {
        position: absolute;
        top: -25px;
        left: 50%;
        transform: translateX(-50%) rotate(135deg);
        width: 10px;
        height: 10px;
        border-top: 2px solid #246904;
        border-right: 2px solid #246904;
        content: "";
    }
    .product_flow_charge > div,
    .product_flow_task > div {
        position: absolute;
        top: 10px;
        left: 50%;
        transform: translateX(-50%);
        width: 4em;
        border-radius: 10px;
        color: #fff;
        text-align: center;
    }
    .product_flow_charge > ul > li,
    .product_flow_task > ul > li {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        background-color: #fff;
        text-align: center;
    }
    .product_flow_charge > ul > li:nth-of-type(1) {
        font-size: 13px;
    }
    .product_flow_charge > ul > li:nth-of-type(1),
    .product_flow_charge > ul > li:nth-of-type(2) {
        height: 60px;
    }
    .product_flow_charge > ul > li:nth-of-type(3) {
        width: 100%;
        height: 420px;
        writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
    }
    .product_flow_charge > ul > li:nth-of-type(2),
    .product_flow_charge > ul > li:nth-of-type(3) {
        margin: 30px 0px 0px;
    }
    .product_flow_task > ul > li {
        width: 100%;
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
    }
    .product_flow_task > ul > li:nth-of-type(1) {
        height: 150px;
    }
    .product_flow_task > ul > li:nth-of-type(2) {
        margin: 30px 0px 0px;
        height: 420px;
    }
}
@media print, (min-width: 695px) {
    .product_flow_main > ol {
        display: flex;
        margin: 0px 0px 0px 85px;
    }
    .product_flow_main > ol > li {
        display: flex;
        justify-content: center;
        align-items: center;
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        width: 60px;
        height: 300px;
        font-size: 18px;
        font-weight: bold;
    }
    .product_flow_main > ol > li + li {
        margin: 0px 0px 0px 30px;
    }
    .product_flow_main > ol > li + li:before {
        position: absolute;
        top: 50%;
        left: -25px;
        transform: translateY(-50%) rotate(45deg);
        width: 10px;
        height: 10px;
        border-top: 2px solid #246904;
        border-right: 2px solid #246904;
        content: "";
    }
    .product_flow_charge,
    .product_flow_task {
        padding: 10px 10px 10px 85px;
        margin: 10px 0px 0px;
    }
    .product_flow_charge > div,
    .product_flow_task > div {
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 50%;
        left: 10px;
        transform: translateY(-50%);
        width: 4em;
        height: 4em;
        border-radius: 50%;
        color: #fff;
        text-align: center;
    }
    .product_flow_charge > ul,
    .product_flow_task > ul {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }
    .product_flow_charge > ul > li,
    .product_flow_task > ul > li {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 60px;
        background-color: #fff;
        text-align: center;
    }
    .product_flow_charge > ul > li:nth-of-type(1),
    .product_flow_charge > ul > li:nth-of-type(2) {
        width: 60px;
    }
    .product_flow_charge > ul > li:nth-of-type(3) {
        width: 420px;
    }
    .product_flow_charge > ul > li:nth-of-type(2),
    .product_flow_charge > ul > li:nth-of-type(3) {
        margin: 0px 0px 0px 30px;
    }
    .product_flow_task > ul > li:nth-of-type(1) {
        width: 150px;
    }
    .product_flow_task > ul > li:nth-of-type(2) {
        margin: 0px 0px 0px 30px;
        width: 420px;
    }
}

.design_good_flow * {
    box-sizing: border-box;
}

.design_good_flow_title {
    display: table;
    padding: 10px 1em;
    margin: 0px auto;
    border-radius: 10px;
    background-color: #83a833;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    white-space: nowrap;
}

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

.design_good_flow > ul > li {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 10px;
    height: 50px;
    border: 2px solid #106e3e;
    color: #106e3e;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.design_good_flow > ul > li:nth-of-type(n + 2) {
    background-color: #ecfdf4;
}

.design_good_flow_point {
    padding: 0px 0px 0px 2em;
    margin: 0px;
    font-size: 20px;
    color: #c10701;
    font-weight: bold;
    white-space: nowrap;
}
.design_good_flow_point:before {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    width: 1em;
    height: 1em;
    border-radius: 50%;
    border: 4px solid #c10701;
    content: "";
}

@media screen and (max-width: 694px) {
    .design_good_flow {
        position: relative;
        padding: 0px 0px 60px;
    }
    .design_good_flow:before {
        position: absolute;
        top: 170px;
        left: 50%;
        bottom: 50px;
        transform: translateX(-50%);
        width: calc(70% + 20px);
        min-width: 220px;
        border: 2px dashed #c10701;
        content: "";
    }
    .design_good_flow > ul {
        margin: 30px 0px 0px;
    }
    .design_good_flow > ul > li {
        margin: 0px auto;
        width: 70%;
        min-width: 200px;
    }
    .design_good_flow > ul > li + li {
        margin-top: 50px;
    }
    .design_good_flow > ul > li + li:before {
        position: absolute;
        top: -35px;
        left: 50%;
        transform: translateX(-50%) rotate(135deg);
        width: 10px;
        height: 10px;
        border-top: 2px solid #246904;
        border-right: 2px solid #246904;
        content: "";
    }
    .design_good_flow_point {
        position: absolute;
        bottom: 0px;
        left: 50%;
        transform: translateX(-50%);
    }
}
@media print, (min-width: 695px) {
    .design_good_flow {
        position: relative;
    }
    .design_good_flow_title {
        padding: 10px 5em;
    }
    .design_good_flow > ul {
        display: flex;
        align-items: center;
        position: relative;
        margin: 60px auto 0px;
        width: 660px;
    }
    .design_good_flow > ul:before {
        position: absolute;
        top: -10px;
        left: 170px;
        right: -10px;
        bottom: -10px;
        border: 2px dashed #c10701;
        content: "";
    }
    .design_good_flow > ul > li {
        width: 120px;
    }
    .design_good_flow > ul > li + li {
        margin: 0px 0px 0px 60px;
    }
    .design_good_flow > ul > li + li:before {
        position: absolute;
        top: 50%;
        left: -40px;
        transform: translateY(-50%) rotate(45deg);
        width: 10px;
        height: 10px;
        border-top: 2px solid #246904;
        border-right: 2px solid #246904;
        content: "";
    }
    .design_good_flow_point {
        display: table;
        position: absolute;
        top: 60px;
        right: 120px;
    }
}

.design_bad_flow * {
    box-sizing: border-box;
}

.design_bad_flow_title {
    display: table;
    padding: 10px 1em;
    margin: 0px auto;
    border-radius: 10px;
    background-color: #83a833;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    white-space: nowrap;
}

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

.design_bad_flow > ul > li {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 10px;
    height: 50px;
    border: 2px solid #106e3e;
    color: #106e3e;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.design_bad_flow_point {
    position: relative;
    margin: 0px;
    font-size: 20px;
    color: #c10701;
    font-weight: bold;
    text-align: center;
    white-space: nowrap;
}
.design_bad_flow_point:before,
.design_bad_flow_point:after {
    display: block;
    position: absolute;
    top: 0px;
    left: 50%;
    width: 40px;
    height: 8px;
    background-color: #c10701;
    content: "";
}
.design_bad_flow_point:before {
    transform: translateX(-50%) rotate(-45deg);
}
.design_bad_flow_point:after {
    transform: translateX(-50%) rotate(-135deg);
}

@media screen and (max-width: 694px) {
    .design_bad_flow > ul {
        margin: 30px 0px 0px;
    }
    .design_bad_flow > ul > li {
        margin: 0px auto;
        width: 70%;
        min-width: 200px;
    }
    .design_bad_flow > ul > li + li {
        margin-top: 50px;
    }
    .design_bad_flow > ul > li + li:before {
        position: absolute;
        top: -35px;
        left: 50%;
        transform: translateX(-50%) rotate(135deg);
        width: 10px;
        height: 10px;
        border-top: 2px solid #246904;
        border-right: 2px solid #246904;
        content: "";
    }
    .design_bad_flow_point {
        padding: 30px 0px 0px;
    }
}
@media print, (min-width: 695px) {
    .design_bad_flow {
        position: relative;
    }
    .design_bad_flow_title {
        padding: 10px 5em;
    }
    .design_bad_flow > ul {
        display: flex;
        align-items: center;
        position: relative;
        margin: 60px auto 0px;
        width: 660px;
    }
    .design_bad_flow > ul > li {
        width: 120px;
    }
    .design_bad_flow > ul > li + li {
        margin: 0px 0px 0px 60px;
    }
    .design_bad_flow > ul > li + li:before {
        position: absolute;
        top: 50%;
        left: -40px;
        transform: translateY(-50%) rotate(45deg);
        width: 10px;
        height: 10px;
        border-top: 2px solid #246904;
        border-right: 2px solid #246904;
        content: "";
    }
    .design_bad_flow_point {
        position: absolute;
        top: 60px;
        right: 10px;
    }
    .design_bad_flow_point:before,
    .design_bad_flow_point:after {
        top: 40px;
    }
}

/************** process *******************/
ul.process {
    padding-left: 0px;
}

ul.process li {
    padding: 0px 0px 0px 40px;
    background: url(/images/process/merit_li.png) no-repeat left center;
    font-size: 16pt;
    list-style: none;
    color: #1E5539;
    line-height: 1.5;
    letter-spacing: 3px;
    font-weight: bold;
}

ul.process li + li {
    margin: 20px 0px 0px;
}

ul.process li span.strong{
    display: inline-block;
    font-size: 24pt;
    background-image: url(/images/process/strongline_bg.gif);
    background-repeat: repeat-x;
    background-position: top 20px;
}

ul.process li span.sub_text{
    display: inline-block;
    font-size: 12pt;
    margin-left: 20px;
    letter-spacing: 1px;
}

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

.circle_list p {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 10px 10px 0px;
    width: 170px;
    height: 170px;
    border: 1px solid #026D37;
    border-radius: 50%;
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    background: #fff;
}

/************** aika *********************/
#aika_flow dt img{
    display:inline-block;
}
#aika_flow dt{
    float:left;
    margin-right:22px;
}
#aika_flow dd{
    font-size:1.2em;
    font-weight:bold;
    height:130px;
    padding:80px 0px 0px 0px;
}
.price{
    font-size:20px;
    color:#106e3e;
}

ul.aika_photo{
    padding:0px;
    margin: 0px;
}
ul.aika_photo li{
    list-style:none;
    margin-bottom: 17px;
}
ul.aika_photo img{
    width:160px;
}

ul.thumb {
    width:700px;
    margin:10px 0px;
    }
    
ul.thumb li {    
    float:left;
    margin-bottom:20px;
    margin-right:30px;
    text-align:center;
    list-style: none;
    }
    
ul.thumb img{
    margin-bottom:5px;
}    
/************** about *********************/
.column2_r{
    display:block;
    float:left;
    width:360px;
}

.accentbg{
    background-color:#FAB862;
}

.point li{
    list-style:none;
    font-size:1.5em;
}
.point li div {
    display: inline-block;
}

.company_name {
    display: flex;
    margin: -20px -10px 0px;
    font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.company_name > dl {
    position: relative;
    padding: 0px 0px 0px 60px;
}

.company_name > dl > dt {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50px;
    background-color: #106e3e;
    color: #fff;
    font-size: 36px;
}

.company_name > dl > dd {
    margin: 10px 0px 0px;
}

.company_name > dl > dd > span:nth-of-type(1) {
    display: block;
    color: #106e3e;
    font-size: 24px;
    line-height: 1;
}

.company_name > dl > dd > span:nth-of-type(2) {
    color: #106e3e;
    font-size: 13px;
}

/************** digitize.html *********************/
ol.digitize{
    font-size: 1.2em;
}

ul.format{
    width:730px;}
ul.format li{
    list-style: none;
    width:340px;
    margin:10px auto;
    float:left;
}

ul.format li img{
    width:40px;
    float:left;
    margin-right:10px;
}
/************** recruit.html *********************/
.recruit table th{
    width:20%;
}
.recruit td dt{
    font-weight: bold;
}
.recruit td dd{
    margin-left:20px;
}
.recruit ul{
    padding-left:10px;
}
p.tel{
    font-size: 36px;
    letter-spacing: 5px;
    font-weight: bold;
    line-height: 1;
}

/************** solution.html *********************/
.list_qaa dt {
    position: relative;
    padding: 1em 1em 1em 3em;
    background: #f5fffa;
    border-top: 1px solid #106c3d;
    border-bottom: 1px solid #106c3d;
    font-weight: bold;
    color:#106c3d;
}
.list_qaa dt::before {
    position: absolute;
    top: 50%;
    left: 0.5em;
    transform: translateY(-50%);
    font-size: 1.5em;
    content: "Q";
}
.list_qaa dd + dt {
    margin-top: 20px;
}

.list_qaa dd {
    position: relative;
    padding: 1em 1em 1em 3em;
    margin: 0px;
}
.list_qaa dd::before {
    position: absolute;
    top: 50%;
    left: 0.5em;
    transform: translateY(-50%);
    color: red;
    font-size: 1.5em;
    font-weight: bold;
    content: "A";
}

/************** case *********************/
.case_main_catch {
    position: relative;
    padding: 40px 0px;
    background-image: url(./images/case/case_main.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.case_main_catch_filter {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 0;
    background-color: rgba(0, 0, 0, 0.6);
    content: "";
}

.case_main_catch h1 {
    position: relative;
    z-index: 1;
    margin: 0px;
    color: #fff;
    font-size: 32px;
    text-align: center;
    text-shadow: -2px -2px 6px #006e36, 2px -2px 6px #006e36, 2px 2px 6px #006e36, -2px 2px 6px #006e36;
}

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

.list_case > ul > li {
    padding: 20px 10px;
    margin: 20px 10px 0px;
    border: 1px solid #999;
    width: calc(100% - 20px);
    min-height: 100%;
    box-sizing: border-box;
}

.list_case > ul > li > a {
    display: flex;
    flex-direction: column;
    height: 100%;
}

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

.list_case > ul > li > a > img {
    margin: 0px 0px 20px;
}

.list_case_title,
.list_case h2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0px 0px 20px;
    height: 5em;
    color: #000;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
}

.list_case_title span,
.list_case h2 span {
    display: inline-block;
}

.list_case_btn {
    display: table;
    position: relative;
    padding: 1em;
    margin: auto auto 0px;
    border-radius: 10px;
    background-color: #dc143c;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
}

.list_case_btn:hover {
    background-color: #ec365a;
}

.list_case_tag {
    padding: 0px;
    margin: -10px -5px 30px;
    list-style: none;
    text-align: center;
}

.list_case_tag > li {
    display: inline-block;
    padding: 0px 10px;
    margin: 10px 5px 0px;
    border: 1px solid #106e3e;
    font-size: 12px;
}

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

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

.list_work > ul > li {
    padding: 20px 10px;
    margin: 20px 10px 0px;
    border: 1px solid #999;
    width: calc(100% - 20px);
    min-height: 100%;
    box-sizing: border-box;
}

.list_work > ul > li > a {
    display: flex;
    flex-direction: column;
    height: 100%;
}

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

.list_work > ul > li > a > img {
    margin: 0px 0px 20px;
}

.list_work_title,
.list_work h2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0px 0px 20px;
    height: 5em;
    color: #000;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
}

.list_work_title span,
.list_work h2 span {
    display: inline-block;
}

.list_work_btn {
    display: table;
    position: relative;
    padding: 1em;
    margin: auto auto 0px;
    border-radius: 10px;
    background-color: #dc143c;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
}

.list_work_btn:hover {
    background-color: #ec365a;
}

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

.work_link_item {
    display: block;
}
.work_link_item:hover {
    text-decoration: none;
}

.work_link_item span {
    display: block;
    padding: 0.5em;
    font-weight: bold;
    text-align: center;
}

.form_privacy {
    font-size: 14px;
    text-align: center;
}
.form_privacy .mfp_err {
    background-image: none;
    text-align: center;
}

.single-case h2 {
    padding: 0px;
    border-bottom: 1px solid #106e3e;
    color: #106e3e;
    font-size: 24px;
    font-weight: bold;
}

.single-case h3 {
    padding: 0px 0px 0px 0.5em;
    border-left: 0.25em solid #106e3e;
    color: #106e3e;
    font-size: 20px;
    font-weight: bold;
}

h3.fix_height {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 3em;
    margin: 0px;
    color: #106e3e;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
}

h4 {
    font-size: 20px;
}

.single-case .contents p {
    font-size: 16px;
}

/************** circuit-board *********************/
.bg_gray {
    background-color: #efefef;
}

.bg_white {
    background-color: #fff;
    padding: 1em 2em;
    min-height: 160px;
}

.point_red {
    display: table;
    margin: 0px auto;
    padding: 0.5em 2em;
    background-color: #B40404;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.mh_point {
    min-height: 200px;
}

.flex_column {
    display: flex;
    flex-direction: column;
    align-items: center;
}

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

.teikyou_list li {
    background-color: #fff;
    min-width: 18em;
    padding: 1em 1em;
    list-style: none;
    margin: 0.5em 0.5em;
    font-weight: bold;
    text-align: center;
}

.d-table {
    margin: 0 auto;
    display: table;
}

.koe_name {
    font-size: 1.4em;
}

.cb_style h2 {
    padding: 0px!important;
    font-size: 18px!important;
    border: none !important;
}

.bg_f {
    background-color: #fff;
}

/****************************************
        5.Footer 
*****************************************/
.content_contact {
    position: relative;
    padding: 40px 0px;
    margin: 40px 0px;
    background-color: #106e3e;
    color: #fff;
    text-align: center;
}

.content_contact_title {
    font-size: 28px;
    font-weight: bold;
}

.content_contact_text {
    font-size: 18px;
    font-weight: bold;
}

.content_contact_tel > a {
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    text-indent: 1px;
    letter-spacing: 1px;
}
.content_contact_tel > a:hover {
    color: #fff;
    text-decoration: none;
}
.content_contact_tel > a::before {
    display: inline-block;
    margin: 0px;
    width: 1.25em;
    height: 1.25em;
    background-image: url(./images/head/icon_tel.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}

.content_contact_tel > span {
    display: inline-block;
    margin: 0px 1em;
    font-size: 14px;
    font-weight: bold;
}

.content_contact_cta > a {
    display: table;
    position: relative;
    padding: 0.5em 3em;
    margin: 30px auto 0px;
    border-radius: 10px;
    background-color: #dc143c;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    text-decoration: none;
}
.content_contact_cta > a:hover {
    background-color: #ec365a;
    text-decoration: none;
}
.content_contact_cta > a::after {
    position: absolute;
    top: 50%;
    right: 1em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
}

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

.content_pamphlet h2 {
    margin: 0px 0px 20px;
}

#footer_wrapper{
    overflow:hidden;
}
#footer{
    width:960px;
    margin:0px auto 0px ;
}
#footer_logo{
    width:335px;
    float:left;
    margin:35px 38px 100px 0px;
}
#footer address{
    font-size: 12px;
    font-style:normal;
    margin:10px 0px 0px 20px;
}
#footer_logo .text{
    font-size: 12px;
    font-style:normal;
    margin:0px 0px 0px 20px;
}

#footer_menu {
    width: 550px;
    float: left;
    margin-top: 30px;
}

#footer_menu ul {
    display: flex;
    flex-wrap: wrap;
    padding: 0px;
    margin: 10px 0px;
    list-style: none;
}

#footer_menu li {
    padding: 0px 0px 0px 20px;
    width: calc(50% - 20px);
    background: url('images/footer/foot_icon.gif') 0px 5px no-repeat;
}

@media screen and (max-width: 959px) {
    #footer {
        padding: 30px 10px;
        width: calc(100% - 20px);
    }
    #footer_logo {
        float: none;
        margin: 0px;
        width: 100%;
        text-align: center;
    }
    #footer_menu {
        float: none;
        margin: 0px auto;
        width: 30em;
    }
    #footer_menu li {
        width: calc(50% - 25px);
    }
}

.footer_cta {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    bottom: -100%;
    left: 0px;
    right: 0px;
    z-index: 9999;
    padding: 16px;
    background-color: rgba(0, 0, 0, 0.6);
    transition: bottom 0.5s;
}

@media screen and (min-width: 768px) {
    .footer_cta.js_active {
        bottom: 0px;
    }
}

.footer_cta a {
    display: block;
    padding: 0.5em 3em;
    margin: 0px 20px;
    min-width: 300px;
    border-radius: 20px;
    background-color: #dc143c;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
}
.footer_cta a:hover {
    background-color: #ec365a;
    color: #fff;
    text-decoration: none;
}

#btn_scroll_top {
    display: none;
    position: fixed;
    bottom: 90px;
    right: 30px;
    z-index: 9999;
    width: 50px;
    height: 50px;
    background-color: #106e3e;
    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 {
        width: 42px;
        height: 42px;
    }
    #btn_scroll_top:after {
        width: 12px;
        height: 12px;
    }
}

/****************************************
        6.Sidebar
*****************************************/
#sidebar {
    float: right;
    padding: 0px 0px 60px;
}
#sidebar ul {
    display: block;
    padding: 0px;
}
#sidebar ul li {
    list-style: none;
}
#side_kiban {
    margin: -10px -5px 0px;
}
#side_kiban li {
    margin: 10px 5px 0px;
}
#side_aika {
    margin: 10px 0px 0px;
}
#side_aika {
    display: table;
    margin: 10px auto 0px;
}
#side_other {
    margin: 0px -5px 0px;
}
#side_other li {
    margin: 10px 5px 0px;
}
#side_info {
    margin: 10px 0px 0px;
    background: url('images/side/side_info.jpg') 0px 3px no-repeat;
    height: 283px;
}
#side_info address {
    position: relative;
    font-size: 13px;
    font-style: normal;
    top: 70px;
    left: 35px;
}

#side_calendar {
    margin: 10px 0px 0px;
    width: 235px;
}

@media screen and (max-width: 991px) {
    #sidebar {
        display: none;
    }
}

/****************************************
        7.Plugin
*****************************************/
.bx-wrapper .bx-controls-direction a {
    z-index: 9998 !important;
}

.mfp_element_submit,
.mfp_element_reset,
.mfp_element_button {
    text-shadow: none;
    color: #000;
}

/****************************************
        8.Parts
*****************************************/
@media print, (min-width: 695px) {
    .work_flow {
        display: flex;
        justify-content: space-between;
        position: relative;
        z-index: 1;
        padding: 0px;
    }
    .work_flow > li {
        min-height: 12em;
        padding: 1em;
        margin: 0px;
        border: 1px solid #106c3d;
        background-color: #f0fdf6;
        color: #106c3d;
        font-size: 18px;
        font-weight: bold;
        text-align: center;
        writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
        list-style: none;
    }
    .work_flow > li:nth-child(1):before {
        position: absolute;
        top: 50%;
        left: 0px;
        z-index: -1;
        transform: translateY(-50%);
        width: calc(100% - 5em);
        height: 2em;
        border-top-right-radius: 2em;
        border-bottom-right-radius: 2em;
        background-color: #eee;
        content: "";
    }
    .work_flow > li:nth-child(1):after {
        position: absolute;
        top: 50%;
        right: 2em;
        z-index: -1;
        transform: translateY(-50%);
        width: 0px;
        height: 0px;
        border: 2em solid transparent;
        border-left: 2.5em solid #eee;
        content: "";
    }
}
@media screen and (max-width: 694px) {
    .work_flow {
        position: relative;
        z-index: 1;
        padding: 0px;
    }
    .work_flow > li {
        max-width: 80%;
        padding: 1em 2em;
        margin: 0px auto;
        border: 1px solid #106c3d;
        background-color: #f0fdf6;
        color: #106c3d;
        font-size: 18px;
        font-weight: bold;
        text-align: center;
        list-style: none;
    }
    .work_flow > li:nth-child(n + 2) {
        margin: 3em auto 0px;
    }
    .work_flow:before {
        position: absolute;
        top: 0px;
        left: 50%;
        z-index: -1;
        transform: translateX(-50%);
        width: 2em;
        height: calc(100% - 6em);
        border-bottom-left-radius: 2em;
        border-bottom-right-radius: 2em;
        background-color: #eee;
        content: "";
    }
    .work_flow:after {
        position: absolute;
        left: 50%;
        bottom: 3em;
        z-index: -1;
        transform: translateX(-50%);
        width: 0px;
        height: 0px;
        border: 2em solid transparent;
        border-top: 3em solid #eee;
        content: "";
    }
}

.pagination {
    display: flex;
    justify-content: center;
}

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

.pagination > a:link,
.pagination > a:visited,
.pagination > a:active,
.pagination > a:hover {
    color: #106e3e;
    text-decoration: none;
}
.pagination > .prev,
.pagination > .next {
    border: 1px solid transparent;
    background-color: transparent;
}
.pagination > .prev:before,
.pagination > .next:before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.5em;
    height: 0.5em;
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
}
.pagination > .prev:before {
    transform: translateX(-50%) translateY(-50%) rotate(225deg);
}
.pagination > .next:before {
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

.pagination > .current {
    background-color: #106e3e;
    color: #fff;
}

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

.video_wrapper {
    border: 1px solid #ddd;
}

.video_wrapper video {
    display: block;
    width: 100%;
}

.bg-efefef{
    padding: 20px 0px 60px;
    margin: 40px 0px 0px;
    background:#efefef;
}

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

.row.no_mt {
    margin-top: -30px;
}

.bootstrap {
    font-size: 16px;
}

.bootstrap p {
    margin: 0px;
    line-height: 1.75;
}

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

.bootstrap h1 {
    font-weight: bold;
    line-height: 1.5;
}

.page h2:not([class]) {
    padding: 0px 0px 0.5em;
    margin: 0px;
    border-bottom: 2px solid #106E3E;
    color: #106E3E;
    font-size: 28px;
    font-weight: bold;
    text-align: center;
}

.page h3:not([class]) {
    position: relative;
    padding: 0px 0px 1em;
    margin: 0px;
    font-size: 24px;
    font-weight: bold;
    color: #000;
    text-align: center;
}
.page h3:not([class])::after {
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 3em;
    height: 2px;
    background-color: #106E3E;
    content: "";
}

.page h3.feature {
  padding: 0px;
  font-size: 20px;
  font-weight: bold;
  margin-top: 0px !important;
  text-align: left;
}

.page h4 {
    color: #000;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

.archive h2,
.single h2 {
    padding: 0px;
    color: #106E3E;
    text-align: center;
}

.archive h2 {
    font-size: 18px;
}

.single h2 {
    font-size: 28px;
}

.feature_num {
    padding: 5px;
    margin-top:10px;
    background-color: #B40404;
    color:#fff;
    text-align: center;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.page_main {
  background-image: url(images/digitize/main_bg.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  background-color: #464646;
  padding: 60px 0px;
}

.page_main > p:nth-of-type(1) {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

.page_main > p:nth-of-type(2) {
    margin-top: 1em;
    font-size: 18px;
    font-weight: bold;
    text-shadow: -2px -2px 6px #fff, 2px -2px 6px #fff, 2px 2px 6px #fff, -2px 2px 6px #fff;
    text-align: center;
}

.page_main h1 {
    margin:0px 0px 50px 0px;
    text-align: center;
    font-size: 32px;
    font-weight: bold;
    line-height: 1.5;
}

.page_main h1 > span {
    display: inline-block;
}

.digitize_problem h3 {
    text-align:center;
    color:#B40404;
    font-size:18px;
}

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

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

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

.electronics_work li {
    position: relative;
    margin: 20px 10px 0px;
    width: calc(50% - 20px);
    padding-top: calc(50% - 20px);
    border: 4px solid #106E3E;
    background-color: #fff;
}

.electronics_work img {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: auto;
    height: auto;
    max-width: 90%;
    max-height: 110px;
}

.electronics_work p {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    white-space: nowrap;
}

@media screen and (min-width: 680px) {
    .electronics_work li {
        width: calc(33.3% - 20px);
        padding-top: calc(33.3% - 20px);
    }
}
@media screen and (min-width: 960px) {
    .page-laborsaving .electronics_work li,
    .page-electronics .electronics_work li {
        width: calc(25% - 20px);
        padding-top: calc(25% - 20px);
    }
}

.comparison_flow * {
    box-sizing: border-box;
}
.comparison_flow_main > ol,
.comparison_flow_apn > ul {
    list-style: none;
    padding: 0px;
    margin: 0px;
}

.comparison_flow_main > ol > li {
    position: relative;
    border: 1px solid #d6d6d6;
    background: linear-gradient(#fff, #ededed);
    color: #246904;
    text-align: center;
    line-height: 1.5;
}

.comparison_flow_apn {
    position: relative;
    border-radius: 10px;
    background-color: #dbf0e5;
}
.comparison_flow_apn > div {
    background-color: #246904;
    font-weight: bold;
}
.comparison_flow_apn > ul > li {
    color: #246904;
    font-weight: bold;
    line-height: 1.5;
}

@media screen and (max-width: 694px) {
    .comparison_flow {
        display: flex;
    }
    .comparison_flow_main {
        width: 80%;
        padding: 10px 0px;
        margin: 0px 10px;
    }
    .comparison_flow_apn {
        padding: 10px;
        width: 20%;
    }
    .comparison_flow_main > ol > li {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        height: 60px;
        font-size: 18px;
        font-weight: bold;
    }
    .comparison_flow_main > ol > li + li {
        margin: 30px 0px 0px;
    }
    .comparison_flow_main > ol > li + li:before {
        position: absolute;
        top: -25px;
        left: 50%;
        transform: translateX(-50%) rotate(135deg);
        width: 10px;
        height: 10px;
        border-top: 2px solid #246904;
        border-right: 2px solid #246904;
        content: "";
    }
    .comparison_flow_apn > ul > li {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        width: 100%;
        background-color: #fff;
        text-align: center;
        writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
    }
    .comparison_flow_apn > ul > li:nth-of-type(1) {
        height: 150px;
    }
    .comparison_flow_apn > ul > li:nth-of-type(2) {
        margin: 30px 0px 0px;
        height: 330px;
    }
}
@media print, (min-width: 695px) {
    .comparison_flow {
        margin: 0px auto;
        width: 695px;
    }
    .comparison_flow_main {
        margin: 10px 0px;
    }
    .comparison_flow_main > ol {
        display: flex;
        margin: 0px 40px;
    }
    .comparison_flow_main > ol > li {
        display: flex;
        justify-content: center;
        align-items: center;
        writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
        width: 80px;
        height: 300px;
        font-size: 18px;
        font-weight: bold;
    }
    .comparison_flow_main > ol > li + li {
        margin: 0px 0px 0px 30px;
    }
    .comparison_flow_main > ol > li + li:before {
        position: absolute;
        top: 50%;
        left: -25px;
        transform: translateY(-50%) rotate(45deg);
        width: 10px;
        height: 10px;
        border-top: 2px solid #246904;
        border-right: 2px solid #246904;
        content: "";
    }
    .comparison_flow_apn {
        padding: 10px 35px;
    }
    .comparison_flow_apn > ul {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }
    .comparison_flow_apn > ul > li {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 60px;
        background-color: #fff;
        text-align: center;
    }
    .comparison_flow_apn > ul > li:nth-of-type(1) {
        width: 190px;
    }
    .comparison_flow_apn > ul > li:nth-of-type(2) {
        margin: 0px 0px 0px 30px;
        width: 400px;
    }
}

.top_tabiiro {
    margin-top: 20px;
}

.top_tabiiro a {
    display: table;
    margin: 0px auto;
}

.top_tabiiro_pc {
    display: none;
}
.top_tabiiro_mb {
    display: block;
}
@media screen and (min-width: 600px) {
    .top_tabiiro_pc {
        display: block;
    }
    .top_tabiiro_mb {
        display: none;
    }
}

#side_tabiiro {
    display: table;
    margin: 10px auto 0px;
}

#side_tabiiro img {
    width: 235px;
    height: auto;
}

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

.list_download > ul > li {
    margin: 90px 20px 0px;
    width: calc(50% - 40px);
    min-height: 100%;
}

.list_download h2 {
    font-size: 1.5em;
    line-height: 1.5;
}

@media screen and (max-width: 767.98px) {
    .list_download > ul > li {
        width: calc(100% - 20px);
    }
}

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

.btn_dl_banner {
    display: table;
    width: 90%;
    margin: 0px auto;
}
.btn_dl_banner.js_active:hover,
.btn_dl_banner:hover {
    opacity: 0.8;
    transition: opacity 0s;
}

.list_news > dl {
    display: flex;
    flex-wrap: wrap;
}

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

.list_news > dl > dt {
    width: 8em;
    padding: 1em;
}

.list_news > dl > dd {
    width: calc(100% - 10em);
    padding: 1em 1em 1em 2em;
}

.list_news > dl > dd > a:link,
.list_news > dl > dd > a:visited,
.list_news > dl > dd > a:active {
    text-decoration: underline;
}
.list_news > dl > dd > a:hover {
    text-decoration: none;
}

.post_date {
    text-align: right;
}

.article_column {
    margin-top: 40px;
}

.article_column h2 {
    padding: 0.75em 1em;
    margin: 3em 0px 1em;
    background-color: #106E3E;
    color: #fff;
    font-size: 24px;
    text-align: left;
}

.article_column h3 {
    padding: 0.75em 1em;
    margin: 2.5em 0px 1em;
    background-color: #eee;
    border-left: 8px solid #106E3E;
    color: #106E3E;
    font-size: 20px;
}

.article_column h4 {
    padding: 0px 0px 0.5em;
    margin: 2em 0px 1em;
    border-bottom: 1px solid #106E3E;
    color: #106E3E;
    font-size: 18px;
}

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

.list_column > ul > li {
    margin: 20px 10px 0px;
    border: 1px solid #999;
    width: calc(100% - 20px);
    min-height: 100%;
    box-sizing: border-box;
}

.list_column > ul > li > a {
    display: flex;
    flex-direction: column;
    height: 100%;
}

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

.list_column > ul > li > a > img {
    margin: 0px 0px 10px;
}

.list_column > ul > li > a > time {
    padding: 0px 1em;
    font-size: 0.8em;
    text-align: right;
}

.list_column_title,
.list_column h2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 0px 0.5em;
    margin: 0px;
    height: 5em;
    color: #000;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
    text-align: left;
}

.list_column_title span,
.list_column h2 span {
    display: inline-block;
}

.list_column_btn {
    display: block;
    position: relative;
    padding: 0.5em;
    width: 90%;
    margin: auto auto 10px;
    border-radius: 10px;
    background-color: #000;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.list_column_btn:hover {
    background-color: #000;
    opacity: 0.8;
}

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

.form_fv {
    position: relative;
    padding: 20px;
    color: #fff;
}

.form_fv_image {
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
	width: 100%;
    height: 100%;
	z-index: -1;
	overflow: hidden;
}

.form_fv_image img {
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 150%;
    height: auto;
}

.form_fv_cover {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: rgba(0, 0, 0, 0.3);
}
   
.form_fv_container {
    position: relative;
    z-index: 1;
    width: 100%;
	max-width: 1300px;
	margin: 0px auto;
}

.form_fv_catch {
    border: 4px solid #fff;
    background-color: rgba(0, 0, 0, 0.6);
    padding: 10px;
	text-align: center;
}

.form_fv_catch h1 {
    margin-top: 20px;
    font-size: 32px;
	text-align: center;
	line-height: 1.5;
    letter-spacing: 0.05em;
}

.form_fv_catch h1 p + p {
    margin-top: 0.5em;
}

.form_fv_catch h1 p strong {
    display: inline-block;
    margin: 0px 0.1em;
    position: relative;
    color: #fff;
    font-size: 1.5em;
    text-decoration: underline;
    text-decoration-color: #ffaa00;
}

.form_fv_form {
    padding: 20px 20px 0px;
	border: 2px solid #106e3e;
    background-color: #fff;
    color: #010b12;
	opacity: 0.96;
}

.form_fv_form_title {
    text-align: center;
}

.form_fv_form_title p {
    padding: 0.5em 1em;
	margin: 0px;
    background-color: #106e3e;
    color: #fff;
    font-size: 18px;
	font-weight: bold;
    line-height: 1.5;
}

.form_fv_form form#mailformpro .mailform {
	width: 100%;
}

.form_fv_form dl {
    display: flex;
    flex-wrap: wrap;
}

.form_fv_form input,
.form_fv_form textarea {
    max-width: 100%;
}

.form_fv_form form#mailformpro dl dt {
	display: flex;
	align-items: center;
	padding: 1em 0px;
	width: 180px;
}

.form_fv_form form#mailformpro dl dd {
	padding: 1em 0px;
	width: calc(100% - 180px) !important;
}

@media screen and (max-width: 1099.98px) {
    .form_fv_form {
        margin: 20px auto 0px;
		max-width: 700px;
    }
    .form_fv_catch h1 {
        font-size: 24px;
    }
	.form_fv_form form#mailformpro dl dt {
		padding: 4px 0px;
	}
}
@media screen and (max-width: 767.98px) {
    .form_fv_catch h1 {
        font-size: 5.5vw;
    }
    .form_fv_form form#mailformpro dl dt,
    .form_fv_form form#mailformpro dl dd {
        width: 100% !important;
    }
}
@media screen and (min-width: 1100px) {
    .form_fv_container {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }
    .form_fv_catch {
        width: 60%;
    }

    .form_fv_form {
        width: calc(40% - 20px);
		margin-left: 20px;
    }
}

body.page-contact {
    margin-top: 0px;
}

.page-contact .contents {
    margin-top: 0px;
}

.page-contact #header,
.page-contact #navi_wrapper,
.page-contact .content_contact,
.page-contact #footer {
    display: none;
}

.contact_form {
    background-color: #fafafa;
    padding: 20px;
    border-radius: 10px;
}

.contact_form dl {
    margin: 0px;
}

.contact_form form#mailformpro {
    padding: 0px;
}

.contact_form form#mailformpro dl {
    display: flex;
    flex-wrap: wrap;
    margin: 0px;
    list-style: none;
    width: 100%;
}

.contact_form form#mailformpro dl dt {
    display: flex;
    align-items: center;
    padding: 1em 0px 1em 10px;
    width: 180px;
}

.contact_form form#mailformpro dl dd {
    padding: 1em 0px;
    width: calc(100% - 180px) !important;
}

.contact_form form#mailformpro .mfp_element_text,
.contact_form form#mailformpro .mfp_element_number,
.contact_form form#mailformpro .mfp_element_select-one,
.contact_form form#mailformpro .mfp_element_email,
.contact_form form#mailformpro .mfp_element_tel,
.contact_form form#mailformpro .mfp_element_textarea {
    font-size: 15px;
    padding: 0.5em;
    height: auto;
}

.contact_tel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    text-align: center;
    color: #106e3e;
    border-radius: 10px;
    background-color: #fafafa;
    padding: 10px;
}

.contact_tel a {
    color: #106e3e;
    font-size: 28px;
    text-decoration: none;
}

.contact_tel p {
    margin: 0px;
    font-size: 16px;
    font-weight: normal;
    text-align: center;
}
