@charset "UTF-8";
/* 会員向けコンテンツ */

.key_content {
    display: inline-block;
}

.key_content span {
    font-size: 0.8em;
    font-weight: normal;
    display: inline-block!important;
}

img.icon-a.mf-icon {
    width: 1em;
    height: auto;
    margin-right: 0;
}


/* tabs IE対応 */

.tabs-a, .tabs-b, .tabs-d {
    flex: 1;
}


/* リンクリスト */

.no_link_list {
    position: relative;
    padding-left: 17px;
}

.no_link_list:before {
    position: absolute;
    top: .65em;
    left: 0;
    display: block;
    width: 6px;
    height: 6px;
    background: #87867e;
    border-radius: 50%;
    content: "";
}


/* flex 2~4カラム */

.div_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 2em;
}

.div_flex .flex_col {
    margin-top: 2em;
    margin-bottom: 2em;
}

.div_flex .f_2col {
    width: 50%;
}

.div_flex .f_3col {
    width: 33.33333%;
}
.div_flex .f_4col {
    width: 25%;
}

.div_flex .f_3col a , .div_flex .f_4col a{
    width: 95%;
    display: block;
    margin: auto;
}

.div_flex .flex_col.bd-g a {
    border: 1px solid #ccc;
}

.div_flex .flex_col .img_col {
    width: 100%;
    margin: 0 auto;
}

.div_flex .flex_col .img_col img {
    width: 100%;
}

.div_flex .flex_col .text_col {
    width: 100%;
    display: inline-block;
    margin: 1em auto
}

.div_flex .flex_col .text_col p.p_title {
    text-align: center;
    position: relative;
    font-size: 1.4em;
    font-weight: bold;
    margin: auto;
}

.div_flex .flex_col a .text_col p.p_title {
    padding-right: 20px;
}

.div_flex .flex_col a .text_col p.p_title::before {
    display: block;
    position: absolute;
    content: "";
    top: 50%;
    right: 12px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #a40e1c;
    border-right: 2px solid #a40e1c;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -6px;
}

.div_flex .flex_col .text_col p.p_summary {
    width: 80%;
    margin: auto;
}

.div_flex .flex_col .col_inner {
    width: 90%;
    margin: auto;
}

@media only screen and (max-width:768px) {
    .div_flex .f_3col, .div_flex .f_4col {
        width: 50%;
    }
}

@media only screen and (max-width:480px) {
    .div_flex .f_4col, .div_flex .f_3col, .div_flex .f_2col {
        width: 100%;
    }
}

.w60-fig{
    width: 60%;
}
.w70-fig{
    width: 70%;
}


@media  only screen and (max-width: 767px){
    .w60-fig, .w70-fig{
        width: 80%;
    }
}

@media  only screen and (max-width: 480px){
    .w60-fig{
        width: 100%;
    }
}



/* 背景#a30b1a時の対応 */

.section.bg-red {
    background-color: #a30b1a;
    color: #fff;
    max-width: 1280px;
    margin: auto;
}

.section.bg-red a {
    color: #fff;
}

.hdg-b.bg-red-hdg-b::before {
    background: #fff;
}

.btn-a.bg-red-btn {
    color: #fff!important;
    background: none;
    border: 1px solid #fff;
}

.btn-a.bg-red-btn::before {
    border-color: #fff;
}

.btn-abg-red-btn:hover, .btn-abg-red-btn:active, .btn-abg-red-btn:focus {
    background: #d11124;
    border: 1px solid #d11124;
}

.c-list-article-a__subtitle {
    display: block;
    font-size: 1.3rem;
    margin-bottom: 1rem;
}


/* for Floating Menu */

#mf-fm {
    width: 100%;
    box-sizing: border-box;
    margin-top: 10px;
}

#mf-fm>.mf-fm-inner {
    display: -webkit-box;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: justify;
    -webkit-box-align: stretch;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: nowrap;
    position: relative;
    width: 100%;
    max-width: 1280px;
    box-sizing: border-box;
    letter-spacing: -1em;
    margin: 0 auto;
}

#mf-fm .mf-fm-section {
    display: -webkit-box;
    -webkit-box-pack: center;
    -webkit-box-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1 1 auto;
    width: calc( 100% / 8);
    box-sizing: border-box;
    letter-spacing: normal;
    margin: 0 1px 0 0;
    padding: 0;
}

#mf-fm .mf-fm-section:last-child {
    margin-right: 0;
}

#mf-fm .mf-fm-section h2 {
    width: 100%;
    height: 100%;
    font-size: 1.6rem;
    line-height: 1.4;
    font-weight: normal;
}

#mf-fm .mf-fm-section h2.mf_nolink {
    display: -webkit-box;
    -webkit-box-pack: center;
    -webkit-box-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 8px 0px;
    background-color: #dad9d5;
    border: none;
    text-align: center;
    text-decoration: none;
}

#mf-fm .mf-fm-section:hover h2.mf_nolink {
    color: #fff;
    background-color: #a30b1a;
}

#mf-fm .mf-fm-section h2 a {
    display: -webkit-box;
    -webkit-box-pack: center;
    -webkit-box-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 8px 0px;
    background-color: #dad9d5;
    border: none;
    text-align: center;
    text-decoration: none;
}

#mf-fm .mf-fm-section:first-child h2 a {
    background: #706f67;
    color: #fff;
}

#mf-fm .mf-fm-section h2 a:hover, #mf-fm .mf-fm-section:first-child h2 a:hover {
    color: #fff;
    background-color: #a30b1a;
}

.mf-lr {
    display: -webkit-box;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: justify;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    margin-top: 1.6rem;
}

#mf-fm .mf-lr-section {
    width: 50%;
}

#mf-fm .mf-lr-section h3 {
    margin-bottom: 1rem
}

@media only screen and (max-width:767px) {
    #mf-fm>.mf-fm-inner {
        flex-wrap: wrap;
    }
    #mf-fm .mf-fm-section {
        width: calc( 100% / 4 - 4px);
        height: 15vw;
        margin: 0 2px 2px 0;
    }
    #mf-fm .mf-fm-section:nth-child(4) {
        margin-right: 0;
    }
    #mf-fm .mf-fm-section:nth-child(n+4) {
        margin-bottom: 0;
    }
    #mf-fm .mf-info, #mf-fm form {
        margin-top: 2em;
    }
    #mf-fm .mf-lr-section {
        width: 100%;
    }
}

@media only screen and (max-width:550px) {
    #mf-fm .mf-fm-section h2 {
        font-size: 3vw;
    }
}

/* contents -------------------------------------------- */

#mf-fm .mf-fm-section .mf-fm-contents {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: auto;
    box-sizing: border-box;
    margin: -1px 0 0 0;
    padding: 0;
    background: rgb(255, 255, 255);
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(238, 238, 238, 1) 100%);
    border: 1px solid #000;
    text-align: left;
    z-index: 100;
    overflow: hidden;
    /* transition */
    visibility: hidden;
    opacity: 0;
    -webkit-transition-property: visibility, opacity;
    transition-property: visibility, opacity;
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
}

#mf-fm .mf-fm-section .mf-fm-contents>.mf-fm-inner {
    position: relative;
    padding: 20px;
    /* transition */
    margin-top: -3em;
    -webkit-transition-property: margin-top;
    transition-property: margin-top;
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
}


/* For transition  */

@media only screen and (min-width:768px) {
    #mf-fm .mf-fm-section:hover .mf-fm-contents {
        visibility: visible;
        opacity: 1;
        -webkit-transition-delay: 0.4s;
        transition-delay: 0.4s;
        -webkit-transition-duration: 0.4s;
        transition-duration: 0.4s;
    }
    #mf-fm .mf-fm-section:hover .mf-fm-contents>.mf-fm-inner {
        margin-top: 0;
        -webkit-transition-delay: 0.4s;
        transition-delay: 0.4s;
        -webkit-transition-duration: 0.4s;
        transition-duration: 0.4s;
    }
}

@media only screen and (max-width:767px) {
    #mf-fm .mf-fm-section.mf-on .mf-fm-contents {
        visibility: visible;
        opacity: 1;
        -webkit-transition-delay: 0.4s;
        transition-delay: 0.4s;
    }
    #mf-fm .mf-fm-section.mf-on .mf-fm-contents>.mf-fm-inner {
        margin-top: 0;
        -webkit-transition-delay: 0.4s;
        transition-delay: 0.4s;
    }
}


/* }For transition  */

@media only screen and (max-width:767px) {
    #mf-fm .mf-fm-section:nth-child(-n+3) .mf-fm-contents {
        top: calc( 50% - 2px);
    }
    #mf-fm .mf-fm-section .mf-fm-contents .mf-fm-inner>p {
        padding-right: 36px;
    }
}


/* Close ------------------------------------------------ */

#mf-fm .mf-fm-section .mf-fm-contents .mf-fm-close {
    display: none;
    position: absolute;
    right: 18px;
    top: 20px;
    font-size: 1rem;
    line-height: 1;
    width: 18px;
    height: 18px;
    display: none;
    overflow: hidden;
    padding: 0;
}

#mf-fm .mf-fm-section .mf-fm-contents .mf-fm-close::before {
    display: block;
    position: absolute;
    content: "";
    right: -2px;
    top: 8px;
    width: 23px;
    height: 2px;
    background: #a30b1a;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#mf-fm .mf-fm-section .mf-fm-contents .mf-fm-close::after {
    display: block;
    position: absolute;
    content: "";
    left: 8px;
    top: -3px;
    width: 2px;
    height: 23px;
    background: #a30b1a;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#mf-fm .mf-fm-section .mf-fm-contents .mf-fm-close span {
    position: absolute;
    opacity: 0;
    left: 0;
    top: 0;
    width: 18px;
    height: 18px;
}

@media only screen and (max-width:767px) {
    #mf-fm .mf-fm-section .mf-fm-contents .mf-fm-close {
        display: block;
    }
}


/* contents common ------------------------------------- */

#mf-fm .mf-fm-section .mf-fm-contents p {
    font-size: 1.6rem;
    margin-bottom: 1.6rem;
}

#mf-fm .mf-fm-moreinfo {
    padding-top: 1.6rem;
    text-align: right;
}

#mf-fm .mf-fm-moreinfo p {
    padding-right: 0;
}

#mf-fm .mf-fm-moreinfo p a {
    position: relative;
    padding-left: 12px;
    text-decoration: none;
    font-size: 1.6rem;
}

#mf-fm .mf-fm-moreinfo>p>a::before {
    display: block;
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 8px;
    height: 8px;
    border-top: 2px solid #a30b1a;
    border-right: 2px solid #a30b1a;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -4px;
}

@media only screen and (min-width:768px) {
    #mf-fm-sp {
        display: none;
    }
}

@media only screen and (max-width:767px) {
    #mf-fm-sp {
        display: block;
    }
}


/* contents overview ------------------------------------ */

#mf-fm .mf-fm-section .mf-fm-contents .mf-fm-c-container {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
}

#mf-fm .mf-fm-section .mf-fm-contents .mf-fm-c-items {
    clear: left;
    display: block;
    width: calc( 100% / 2);
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    text-decoration: none;
    cursor: pointer;
}

#mf-fm .mf-fm-section .mf-fm-contents .mf-fm-c-items:nth-child(odd) {
    padding-right: 40px;
}

#mf-fm .mf-fm-section .mf-fm-contents .mf-fm-c-items:nth-child(n+3) {
    padding-top: 1.6rem;
}

#mf-fm .mf-fm-section .mf-fm-contents .mf-fm-c-items>img {
    float: left;
}

#mf-fm .mf-fm-c-items>.mf-fm-items-h {
    display: block;
    padding-left: 180px;
    font-size: 1.4rem;
    font-weight: 700;
}

#mf-fm .mf-fm-c-items>.mf-fm-items-p {
    display: block;
    padding-left: 180px;
    font-size: 1.4rem;
}

@media only screen and (max-width:767px) {
    #mf-fm .mf-fm-section .mf-fm-contents .mf-fm-c-container {
        padding-left: 20px;
        padding-right: 20px;
    }
    #mf-fm .mf-fm-section .mf-fm-contents .mf-fm-c-items {
        width: 100%;
        padding-top: 0.8rem;
    }
    #mf-fm .mf-fm-section .mf-fm-contents .mf-fm-c-items:nth-child(odd) {
        padding-right: 0;
    }
    #mf-fm .mf-fm-section .mf-fm-contents .mf-fm-c-items:nth-child(n+3) {
        padding-top: 0.8rem;
    }
    #mf-fm .mf-fm-section .mf-fm-contents .mf-fm-c-items>img {
        display: none;
    }
    #mf-fm .mf-fm-c-items>.mf-fm-items-h {
        position: relative;
        padding-left: 0;
    }
    #mf-fm .mf-fm-c-items>.mf-fm-items-p {
        padding-left: 0;
    }
    #mf-fm .mf-fm-c-items>.mf-fm-items-h::before {
        display: block;
        position: absolute;
        content: "";
        top: 1.3rem;
        left: 0;
        width: 8px;
        height: 8px;
        border-top: 2px solid #a30b1a;
        border-right: 2px solid #a30b1a;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        margin-top: -8px;
        margin-left: -16px;
    }
}


/* contents productlineup ------------------------------- */

#mf-fm form {
    margin-top: 0;
}

#mf-fm .search-wrapper {
    display: -webkit-box;
    display: flex;
    max-width: 512px;
    margin: 0;
}

#mf-fm .search-input:placeholder-shown {
    color: #666;
}

#mf-fm .search-input {
    background: #fff;
    border: 1px solid #afaea8;
    padding: 5px 20px 4px;
    font-size: 1.6rem;
    width: 100%;
    min-height: 43px;
}

#mf-fm .search-btn {
    background: #706f67;
    color: #fff;
    position: relative;
    padding: 5px 20px 4px;
    min-width: 120px;
    font-size: 1.6rem;
    transition: background .2s;
}

#mf-fm .search-btn:hover, #mf-fm .search-btn:active, #mf-fm .search-btn:focus {
    background: #57564f;
}

#mf-fm .search-btn::before {
    display: block;
    position: absolute;
    content: "";
    right: 10px;
    top: 50%;
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -3.5px;
}

#mf-fm .mf-fm-section .mf-fm-contents h3 {
    margin-top: 1.6rem;
}

#mf-fm ul.mf-fm-productlineup-c {
    display: -webkit-box;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: justify;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    margin-top: 1.6rem;
}


@media only screen and (max-width:767px) {
    #mf-fm .search-input {
        font-size: 1.0rem;
    }
    #mf-fm .mf-lr-section ul>li {
        width: 100%;
        margin: 0.8rem 0 0 0;
        padding: 0 0 0.8rem 0;
        border-bottom: solid 1px #c6c6c0;
    }
    #mf-fm .mf-lr-section ul>li :last-child {
        border-bottom: none;
    }
}



/* -------------------- TOP -------------------- */

.mf-3pro li a .text-box .title {
    color: #a30b1a;
}

.mf-3pro li a {
    display: inline-block;
    height: 100%;
}

.mf-lineup-col {
    width: 90%;
    margin: auto;
}

.mf-top-case {
    justify-content: center;
    margin-top: 2em;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}

.mf-top-case .c-list-article-a__item {
    background: none;
    max-width: inherit;
    margin: 0;
}

.mf-top-case a.c-list-article-a__box {
    background: #fff;
    height: 100%;
}

.mf-top-case .c-list-article-a__item a div.c-list-article-a__text-wrapper {
    display: inline-block;
    width: 100%;
    padding: 1em;
    margin: 0;
}

.mf-top-case .c-list-article-a__title {
    font-size: 2rem;
}

.mf-top-case .c-list-article-a__title .case-intro {
    font-weight: 100;
    font-size: 1.4rem;
}

.mf-top-case .c-list-article-a__category-list-wrap {
    margin-top: 1em;
}

@media only screen and (max-width: 768px) {
    .mf-lineup-col {
        width: inherit;
    }
    .mf-lineup-col h3.hover-hdg {
        font-size: 2.2rem;
    }
}

@media only screen and (max-width: 767px) {
    .lyt-idx-b.mf-3pro {
        width: 80%;
        margin: auto;
    }
    .lyt-idx-b.mf-3pro>li {
        padding-left: 0;
    }
    .mf-lineup-col h3.hover-hdg {
        font-size: 2.2rem;
    }
    .mf-top-case {
        width: 80%;
        margin: 2em auto;
    }
    .mf-top-case .c-list-article-a__item {
        padding-bottom: 16px;
        padding-left: 0;
    }
}

@media only screen and (max-width: 480px) {
    .lyt-idx-b.mf-3pro {
        width: 90%;
    }
    .mf-top-case {
        width: 90%;
    }
}


/* -------------------- Topics -------------------- */

#topics .news>li {
    padding-left: 20px;
    display: inline-block;
    position: relative;
}

#topics .news>li:before {
    display: block;
    position: absolute;
    content: "";
    top: .5em;
    left: 0;
    width: 8px;
    height: 8px;
    border-top: 2px solid #a30b1a;
    border-right: 2px solid #a30b1a;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* -------------------- マルチクラスタ システム -------------------- */

#multicluster sup a, #multicluster2 sup a{
    display: inherit!important;
}

#multicluster #wrap {
    position: relative;
}

#multicluster #wrap .div_flex{
    width: 93%;
    margin: auto;
}
#multicluster2 #wrap .div_flex{
    width: 100%;
}

#multicluster .div_flex .f_3col .inner_col, #multicluster2 .div_flex .f_3col .inner_col{
    width: 90%;
    margin: auto;
}

#multicluster .div_flex .f_3col .inner_col .text_box, #multicluster2 .div_flex .f_3col .inner_col .text_box{
    width: 100%;
}
#multicluster .div_flex .f_3col .inner_col .text_box .title_box, #multicluster2 .div_flex .f_3col .inner_col .text_box .title_box{
    width: 100%;
    background: #000;
    text-align: center;
    color: #fff;
    border-bottom: 1px solid #fff;
    padding: 10px;
}
#multicluster .div_flex .f_3col .inner_col .text_box .explain_box, #multicluster2 .div_flex .f_3col .inner_col .text_box .explain_box{
    width: 100%;
    background: #eee;
    padding: 10px;
}
#multicluster .div_flex .f_3col .inner_col .fig_box{
    width: 100%;
    padding: 5%;
    text-align: center;
}
#multicluster .div_flex .f_3col .inner_col .fig_box img{
    width: 100%;
}

#multicluster #svg-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    margin-top: 0;
}

#multicluster #svg-bg .sp_back{
    display: none;
}

@media only screen and (max-width:768px) {
    #multicluster #wrap .div_flex, #multicluster2 #wrap .div_flex{
        padding-top: 1em;
        padding-bottom: 5.5em;
    }
    #multicluster .div_flex .f_3col, #multicluster2 .div_flex .f_3col{
        width: 100%;
    }
    #multicluster .div_flex .f_3col .inner_col, #multicluster2 .div_flex .f_3col .inner_col{
        width: 100%;
    }
    #multicluster #svg-bg .sp_back{
        display: block;
    }
    #multicluster #svg-bg .pc_back{
        display: none;
    }
}

#multicluster .multi02{
    flex-direction : row-reverse
}
#multicluster .div_flex .multi02-1{
    width: 30%;
}
#multicluster .div_flex .multi02-2{
    width: 70%;
}

#multicluster .multi02-1 table {
    width:  90%;
    margin: 2em 5%;
}

#multicluster .multi02-1 table thead tr td {
    background:  #000;
    color: #fff;
    padding: 3px 10px;
    font-weight: bold;
    border-bottom: 1px solid #fff;
}

#multicluster .multi02-1 table thead tr td span {
    font-size: 1.3em;
}

#multicluster .multi02-1 table tbody tr:nth-child(even) td {
    background:  #eee;
}

#multicluster .multi02-1 table tbody tr:nth-child(odd) td {
    background: #ccc;
}

#multicluster .multi02-1 table tbody tr td {
    padding:  3px 10px;
}

#multicluster h3.bg_gr {
    padding: 3px 5px;
    background: #ddd;
    margin-bottom: 5px
}


@media only screen and (max-width:768px) {
    #multicluster .multi02{
        display: block;
    }

    #multicluster .div_flex .multi02-1{
        width: 100%;
        display: flex;
    }

    #multicluster .div_flex .multi02-1 table{
        margin: 0 5px 2em;
    }

    #multicluster .div_flex .multi02-2{
        width: 100%;
    }

    #multicluster .div_flex .multi02-2 img{
        margin: auto;
        display: block;
    }

}

@media only screen and (max-width:480px) {
    #multicluster .div_flex .multi02-1{
        display: block;
    }

    #multicluster .div_flex .multi02-1 table{
        width: 100%;
    }

}


/* -------------------- ハード各製品 -------------------- */

.tab-text.prd-tab {
    text-align: right;
}

@media only screen and (max-width:767px) {
  .tab-text.prd-tab {
      text-align: center;
  }
}


/* -------------------- ソフトウェアTOP -------------------- */

.soft-intro {
    background: url(/jp/imagesgig5/1280_480_tcm102-4821396_tcm102-2750236-32.jpg) no-repeat;
    background-position: top center;
    background-size: cover !important;
    max-width: 1280px;
    margin: auto;
}

.b_mask{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.3);
}

@media only screen and (max-width: 768px){
  .b_mask{
      display: none;
  }
}


/* -------------------- ソフト製品一覧 -------------------- */

.soft-t-section {
    padding: 15px 40px 20px 40px
}

.soft-t-section.bg-f3 {
    background: #f3f3f3;
}

.soft-t-section .hdg-b {
    margin-top: 1em;
}

.soft-t-section ul li b {
    font-size: large;
}

@media only screen and (max-width: 480px) {
    .soft-t-section {
        padding: 15px 8px 20px 8px
    }
}

/* -------------------- ソフト各製品 -------------------- */
img.full-fig{
    width: 55%;
    height: auto;
}

@media(max-width: 767px) {
  img.full-fig{
      width: 70%;
  }
}
@media(max-width: 480px) {
  img.full-fig{
      width: 100%;
  }
}

/* -------------------- サービス -------------------- */

/* サービスtop */
#service .phase{
    padding: 0.5rem 16px 3em 16px;
}
#service .phase:nth-child(even){
    background: #eee;
}
#service .lyt-idx-b.diff-col2>li{
    display: flex;
}
#service .lyt-idx-b.diff-lyt-a a, .lyt-idx-b.diff-lyt-a div.nolink_sup{
    flex-wrap: wrap;
    background: #fff;
}
#service .lyt-idx-b.diff-lyt-a div.nolink_sup {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
#service .lyt-idx-b .nolink_sup .text-box::before {
    display: none;
}
#service .lyt-idx-b>* div.nolink_sup {
    display: block;
    text-decoration: none;
    border: 1px solid #c6c6c0;
}
#service .visual.icon-fixed-a-wrapper{
    width: 30%;
    padding: 10px;
}
#service .lyt-idx-b.diff-lyt-a img:not(.icon-a){
    width: 100%;
}
#service .lyt-idx-b.diff-lyt-a .text-box.diff-type-a{
    width: 70%;
}
#service .lyt-idx-b.diff-lyt-a .option {
    width: 100%;
    padding: 27px 32px 27px 24px;
}
#service .lyt-idx-b.diff-lyt-a .merit{
    margin-top: 1em;
}
#service .lyt-idx-b.diff-lyt-a .merit>span{
    margin-bottom: 10px;
    display: inline-block;
}
#service .lyt-idx-b.diff-lyt-a .option .title{
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
}
#service .lyt-idx-b.diff-lyt-a .option .desc{
    margin-top: 8px;
    font-size: 1.5rem;
}
#service .lyt-idx-b.diff-lyt-a .option .desc .merit>span{
    margin-bottom: 3px;
}
#service .lyt-idx-b.diff-lyt-a .option .desc .merit .list-a>li{
    margin-top: 3px;
}

@media only screen and (max-width: 480px){
  #service .visual.icon-fixed-a-wrapper{
      display: none;
  }
  #service .lyt-idx-b.diff-lyt-a .text-box.diff-type-a{
      width: 100%;
  }
}


/* プロダクトプロフェッショナルサービス */
#support .c-list-feature-contents-b{
    justify-content: flex-start;
}
#support .c-list-feature-contents-b__item{
    width: 33.3%;
}

@media screen and (max-width: 767px){
    #support .c-list-feature-contents-b__item{
        width: 50%;
    }
}
@media screen and (max-width: 767px){
    #support .c-list-feature-contents-b__item{
        width: 50%;
    }
}
@media screen and (max-width: 480px){
    #support .c-list-feature-contents-b__item{
        width: 100%;
    }
}

/* -------------------- カタログ -------------------- */

.mf_docs{
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 16px;
}

.mf-doc-box{
    width: 49%;
    margin-bottom: 2vw;
    max-width: 627px;
}

.mf-doc-box a{
    text-decoration: none;
}

.doc-box{
    border: 1px solid #c6c6c0;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.doc_title{
    width: calc(100% - 120px);
    padding: 0 1em;
    font-size: 1.6rem;
}

@media(max-width: 1280px){
    .doc_title{
        font-size: 1.4vw;
    }
}

@media(max-width: 767px){
    .mf_docs{
        display: block;
    }
    .mf-doc-box{
        width: 100%;
        margin-bottom: 2vw;
    }
    .doc_title{
        font-size: 1.4rem;
    }
}

@media(max-width: 480px){
    .mf_docs{
        padding: 0;
    }
    .doc_image{
        width: 30%;
    }
    .doc_title{
        width: 70%;
        font-size: 3.5vw;
        padding: 0 0 0 1em;
    }
}


/* -------------------- イベント・セミナー・教育 -------------------- */

@media only screen and (min-width: 1280px){
 #mf-seminar .content-inner{
      padding-left: 1em;
  }
}
#mf-seminar .content-inner{
    width: 50%;
    z-index: 10;
}
#mf-seminar .content-inner .sub-txt{
    width: 85%;
}
#mf-seminar .lyt-btn-a .btn-a{
    font-size: 2rem;
    min-width: 300px;
    font-weight: normal;
}

@media only screen and (max-width: 767px){
 #mf-seminar .content-inner{
      width: inherit;
  }
  #mf-seminar .content-inner .sub-txt{
      width: inherit;
  }
  #mf-seminar .content-inner .lyt-btn-a>li{
      padding-right: inherit;
  }
  #mf-seminar .lyt-btn-a .btn-a{
      min-width: 400px;
  }
}
@media only screen and (max-width: 480px){
  #mf-seminar .lyt-btn-a .btn-a{
      min-width: inherit;
  }
}

a.btn-b.schedule::before{
    position: absolute;
    top: 50%;
    right: 12px;
    display: block;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.mfseminar_item{
    border-bottom: 1px solid #c6c6c0;
    transition: background .2s;
    padding: 25px 18px;
    color: #000;
}

.mfseminar_item:hover{
    background: #eee;
}

.mfseminar_item a{
    transition: background .2s;
    text-decoration: none;
    display: block;
    color: #000;
}

.mfseminar_item a .list-news-a li{
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-bottom: none;
}

.mfseminar_item a .list-news-a li .date{
    white-space: nowrap;
}

.mfseminar_item a .list-news-a li .icon-area{
    max-width: 123px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

.mfseminar_item a .list-news-a li .icon-area>*{
    display: block;
    margin-top: 2px;
}

.mfseminar_item a .list-news-a li .icon-area .icon-ctg-a.accepting{
    background: #a30b1a;
}

.list-news-a li>*+*{
    margin-left: 38px;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.mfseminar_item a:hover .list-news-a li .news {
    text-decoration: underline;
    width: 100%;
}

.mfseminar_item .lyt-readmore-a.js-read-more {
    margin-top: 1.6rem;
}

.mfseminar_item .lyt-readmore-a.js-read-more .more-content a:hover {
    text-decoration: underline;
}

@media only screen and (max-width: 767px) {
    .tab-a .tabs-a>.tab-panel {
        padding: 40px 0;
    }
}

@media only screen and (max-width: 480px) {
    .mfseminar_item {
        padding: 25px 0;
    }

    .mfseminar_item a .list-news-a li {
        display: block;
    }

    .mfseminar_item a .list-news-a li .icon-area {
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        max-width: inherit;
        margin-bottom: -4px;
        margin-left: -4px;
    }

    .mfseminar_item a .list-news-a li .icon-area>* {
        margin-top: 0;
        margin-bottom: 4px;
        margin-left: 4px;
    }

    .mfseminar_item a .list-news-a li>*+* {
        margin-left: 0;
        margin-top: 10px;
    }

    .mfseminar_item .lyt-readmore-a.js-read-more .more-content {
        margin-left: inherit;
    }
}

/* -------------------- 総合索引 -------------------- */
#sitemap .div_flex>ul{
    padding-right: 10px;
}

/* -------------------- 会員サービス -------------------- */
.members_contents{
    display: flex;
    justify-content: space-between;
    width: 100%;
    flex-wrap: wrap;
    align-items: baseline;
}
.members_contents .icon_content{
    width: 100%;
    text-align: center;
}
.members_contents .text_content{
    width: 100%;
    text-align: center;
    padding: 3%;
}
.members_contents .text_content h3{
    margin-bottom: 0.5em;
}
.members_contents .text_content .explanation{
    width: 95%;
    margin: auto;
}

@media only screen and (max-width: 480px){
    .members_contents{
        display: block;
    }
}

.box {
    width: 24%;
    margin: 0 3%;
    border: 1px solid #ccc;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

@media only screen and (max-width: 1000px){
    .box {
        width: 44%;
    }

}

@media only screen and (max-width: 767px){
    .box {
        width: 90%;
        margin: 5%;
    }

}

.list-order-a.brackets>li::before {
    content: counter(num,decimal) ")";
}

#procedure .members_contents .pcd-outer{
    padding: 0 20px;
    margin-bottom: 1em;
}
#procedure .members_contents .pcd1col{
    width: 100%;
}
#procedure .members_contents .pcd2col{
    width: 50%;
}
#procedure .members_contents .pcd3col{
    width: 33.333%;
    width: calc(100% / 3);
    padding: 0 20px;
}

#procedure .members_contents .pcd-outer .pcd-inner{
    border: 2px solid #aaa;
    border-radius: 30px;
    padding: 2em 10px;
}
.main-contents .c-box-figure__position{
    margin-top: 5px !important;
    font-size: 1.4rem;
}

@media only screen and (max-width: 767px){

    #procedure .members_contents .pcd3col{
        width: 50%;
    }

}

@media only screen and (max-width: 480px){

    #procedure .members_contents .pcd3col, #procedure .members_contents .pcd2col{
        width: 100%;
    }

}

