@charset "UTF-8";
/*=================================================
　　　   　　　
 　   ≪ オンライン法人掛売り決済サービス ≫　
 　　　    株式会社portia(ポーシャ)

　　　　　   
　　　　 Web : http://www.portia.co.jp

0. 共通パーツ
    0-1. ヘッダー
    0-2. フッター
1. TOPページ
2. PortiaPAYとは？
3. forサプライヤー
4. fotバイヤー
5. 導入事例
6. パートナー
7. お問い合わせ

=================================================*/


/* =================================================

    0. 共通パーツ

================================================= */
:root {
    --portia-theme-blue: #1e7ab6;
    --portia-theme-yellow: #ffcc00;
}

::selection {
    background: #1b9fa5;
    /* Safari */
    color: #FFFFFF;
}

::-moz-selection {
    background: #1b9fa5;
    /* Firefox */
    color: #FFFFFF;
}

html {
    margin: 0;
    padding: 0;
    height: 100%;
    font-size: 10px;
    overflow-x: hidden !important;
    scroll-behavior: smooth;
}

@font-face {
    font-family: 'kosugi';
    src: url(/common/font/KosugiMaru-Regular.ttf);
}

@font-face {
    font-family: 'nunito';
    src: url(/common/font/Nunito-VariableFont_wght.ttf);
}

body {
    font-family: "nunito", "kosugi";
}

body.hidden {
    overflow: hidden;
}


.text-blue {
    color: var(--portia-theme-blue) !important;
}

.text-yellow {
    color: var(--portia-theme-yellow) !important;
}

.lh-1 {
    line-height: 1 !important;
}

.lh-sm {
    line-height: 1.25 !important;
}

.lh-base {
    line-height: 1.5 !important;
}

.lh-lg {
    line-height: 2 !important;
}

.mb-100 {
    margin-bottom: 100px !important;
}

.mb-50 {
    margin-bottom: 50px !important;
}

.mb-30 {
    margin-bottom: 30px !important;
}

.pt-100 {
    padding-top: 100px !important;
}

.pt-50 {
    padding-top: 50px !important;
}

.pt-30 {
    padding-top: 30px !important;
}

@media(min-width: 768px) {
    .mb-md-100 {
        margin-bottom: 100px !important;
    }

    .mb-md-50 {
        margin-bottom: 50px !important;
    }

    .mb-md-30 {
        margin-bottom: 30px !important;
    }

    .pt-md-100 {
        padding-top: 100px !important;
    }

    .pt-md-50 {
        padding-top: 50px !important;
    }

    .pt-md-30 {
        padding-top: 30px !important;
    }
}

.section-inner {
    max-width: 980px;
    width: 100%;
    margin: 0 auto;
    padding-left: 16px;
    padding-right: 16px;
}

.p_button_area {
    margin: 20px 0;
}

.p_button a {
    color: #c55a11;
    background: #fc0;
    line-height: 1;
    width: 100%;
    text-align: center;
    display: block;
    font-size: 12px;
    letter-spacing: 0.09rem;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    padding: 1em;
}

.p_button a:hover {
    text-decoration: none;
    background: #CCA300;
    letter-spacing: 0.2rem;
    color: black !important;
    filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.3));
}

#case .p_button a,
#product .p_button a {
    color: #1e7ab6;
    background: #e0e0e0;
    line-height: 3.5rem;
    width: 100%;
    text-align: center;
    display: block;
    font-size: 12px;
    letter-spacing: 0.09rem;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    padding: 0 16px;
    line-height: 1;
    padding: 1em;
}

#case .p_button a:hover,
#product .p_button a:hover {
    text-decoration: none;
    background: #cccccc;
    letter-spacing: 0.2rem;
    color: black !important;
    filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.3));
}

.p_button_white a {
    color: #333;
    line-height: 3.5rem;
    width: 100%;
    text-align: center;
    display: block;
    font-size: 16px;
    letter-spacing: 0.2rem;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    background: white;
    font-weight: bold;
}

.p_button_white a:hover {
    color: black !important;
    text-decoration: none;
    background: #cccccc;
    letter-spacing: 0.4rem;
    filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.3));
}

.p_button_contact {
    background: #a98557;
}

.p_button_contact a {
    color: white !important;
    line-height: 3.5rem;
    width: 100%;
    text-align: center;
    display: block;
    font-size: 18px;
    letter-spacing: 0.2rem;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    padding: 0 15px;
}

.p_button_contact a:hover {
    background: #4c3416;
    letter-spacing: 0.4rem;
    text-decoration: none;
}

h1 span {
    margin: 0 0 15px;
    position: relative;
    padding: 30px 0 15px 0;
    display: block;
    font-size: 2.4rem;
}

h1 span:after {
    content: '';
    position: absolute;
    left: calc(50% - 30px);
    bottom: 0;
    width: 60px;
    height: 5px;
    background: #fc0;
}

h1 span.left-side {
    display: block;
    padding: 30px 0 6px 17px;
    font-weight: 500;
}

h1 span.left-side:after {
    content: '';
    position: absolute;
    left: 0px;
    bottom: 50%;
    margin-bottom: -27px;
    width: 5px;
    height: 30px;
    background: #fc0;
}

p {
    font-size: 1.2rem;
}

p span.pack {
    margin: 0 -0.5em;
}

.portia-yellow {
    color: #fabd1b !important;
}

.portia-blue {
    color: #1e7ab6 !important;
}

body::-webkit-scrollbar-thumb {
    background: #0e5381;
}

body::-webkit-scrollbar {
    width: 6px;
    background-color: #e3e3e3;
}

.text-wrapper {
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
}

.caption {
    margin: 40px 0;
}

.img {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
}

@media(min-width:768px) {

    #case .p_button a,
    #product .p_button a {
        color: #1e7ab6;
        background: #e0e0e0;
        line-height: 3.5rem;
        width: 100%;
        text-align: center;
        display: block;
        font-size: 16px;
        letter-spacing: 0.09rem;
        transition: all .2s ease;
        line-height: 1;
    }

    .p_button a {
        color: #c55a11;
        background: #fc0;
        line-height: 1;
        width: 100%;
        text-align: center;
        display: block;
        font-size: 16px;
        letter-spacing: 0.09rem;
        transition: all .2s ease;
        padding: 1em;
    }

    .p_button_area {
        margin: 50px 0;
    }

    .p_flow .caption {
        margin: 0 0 50px;
        padding: 28px 0 0;
    }

    .caption {
        margin: 85px 0;
    }

    h1 span.left-side {
        display: block;
        padding: 60px 0 15px 17px;
    }

    h1 span.left-side:after {
        content: '';
        position: absolute;
        left: 0px;
        bottom: 50%;
        margin-bottom: -37px;
        width: 5px;
        height: 30px;
        background: #fc0;
    }
}

.fade_inview {
    opacity: 0;
}

/*
title
*/
.title {
    overflow: hidden;
    padding: 50px 0;
    display: flex;
    justify-content: center;
    min-height: 300px;
}

.title img {
    position: absolute;
    z-index: -2;
}

.title img.bg {
    object-fit: cover;
    width: 100%;
    height: 100%;
    object-position: center;
    top: 0;
    left: 0;
}

.title img.left {
    object-fit: contain;
    left: 0;
    top: 0;
    height: 100%;
}

.title img.right {
    object-fit: contain;
    right: 0;
    top: 0;
    height: 100%;
}

.title .overlay {
    position: absolute;
    z-index: -1;
    background: rgba(0, 0, 0, 0.25);
    top: 0;
    left: 0;
}

.title h2 {
    margin: 0;
    text-align: center;
    color: white;
    font-weight: 400;
    letter-spacing: .1em;
}

.title p {
    color: white;
    text-align: center;
    padding-top: 1em;
    margin: 0;
    font-weight: 300;
}

@media(max-width:767px) {

    .top_message_bg,
    .top_products_bg,
    .top_news_bg,
    .top_company_bg,
    .top_faq_bg {
        height: 200px !important;
    }

    .sp-text-justify {
        text-align: justify !important;
    }

    .title {
        padding: 30px 0;
        min-height: 160px;
    }

    .title h2 {
        font-size: 16px;
    }
}

@media(min-width:767px) {
    html {
        font-size: 13px;
    }
}

/* _/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣

    0-1. ヘッダー

_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣ */
a.sub_links::after {
    content: '';
    width: 7.5px;
    height: 7.5px;
    border-top: solid 2px white;
    border-right: solid 2px white;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 15px;
    right: 15px;
}


.overlay h3 {
    position: absolute;
    top: 50%;
    left: 30%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin: 0;
    padding: 0;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.2rem;
}

.overlay h3 span {
    font-size: 1.5rem;
    text-align: center;
    display: block;
    background: #1e7ab6;
    border-radius: 20px;
    line-height: 3rem;
    margin-top: 15px;
    font-weight: 400;
}

header {
    float: left;
    width: 100%;
}

#fixed_menu {
    float: left;
    width: 100%;
    position: fixed;
    top: 0;
    background: white;
    z-index: 10;
}

#home li.selected {
    border-bottom: 3px solid #1e7ab6;
}

#home li.selected:hover>a {
    color: black !important;
}

#home .menu a.selected {
    color: black;
}

#home .menu a.selected:hover {
    color: black !important;
}

@media(min-width:768px) {
    header {
        height: 95px;
    }

    header .logo {
        float: left;
        padding: 0 15px;
        padding-top: 14.5px;
    }

    header .logo img {
        height: 27px;
        margin-bottom: 2px;
    }

    #home .hover__menu {
        width: 100%;
        max-width: 980px;
        margin: 0 auto;
    }

    #home .menu {
        font-size: 15px;
        position: relative;
        list-style: none;
        padding: 0.1em 0 5px;
        float: right;
        margin-bottom: 0;
        width: 100%;
    }

    .menu>li {
        float: left;
        line-height: 1.414;
        border-radius: 3px 3px 0 0;
        width: 16.666666%;
    }

    .menu:hover>li:hover {
        background: #1e7ab6;
    }

    .menu:hover>li.selected:hover {
        background: white;
        color: black;
    }

    .menu:hover>li:hover a {
        color: white;
    }

    .menu>li a {
        display: block;
        color: #13191b;
        text-align: center;
        font-weight: 400;
        padding: 10px 1em;
        letter-spacing: 0.1rem;
        cursor: pointer;
        font-size: 1.1rem;
    }

    .menu>li a.portia_about::after,
    .menu>li a.portia_supplier::after,
    .menu>li a.portia_buyer::after,
    .menu>li a.portia_cases::after,
    .menu>li a.portia_partner::after {
        content: "";
        width: 1px;
        height: 16px;
        background: #d7d8d9;
        position: absolute;
        top: 12px;
        right: 0;
        transform: rotate(25deg);
        z-index: -1;
    }

    .menu>li a:hover {
        text-decoration: none;
        color: white!important;
    }

    ul.menu__second-level {
        visibility: hidden;
        opacity: 0;
        z-index: 1;
        padding: 0;
        list-style: none;
    }

    ul.menu__third-level {
        visibility: hidden;
        opacity: 0;
    }

    ul.menu__fourth-level {
        visibility: hidden;
        opacity: 0;
    }

    /*.menu> li:hover {
            -webkit-transition: all .5s;
            transition: all .5s;
        }*/
    .menu__second-level li a:hover {
        background: #0b4e7a;
        color: #fff;
    }

    .menu__third-level li a:hover {
        background: #0b4e7a;
        color: #FFF;
    }

    .menu__fourth-level li a:hover {
        background: #0b4e7a;
    }

    /* floatクリア */
    .menu:before,
    .menu:after {
        content: " ";
        display: table;
    }

    .menu:after {
        clear: both;
    }

    .menu {
        *zoom: 1;
    }

    .menu>li.menu__single {
        position: relative;
    }

    li.menu__single ul.menu__second-level {
        position: absolute;
        top: 40px;
        width: 100%;
        background: #1e7ab6;
        -webkit-transition: all .2s ease;
        transition: all .2s ease;
        padding: 0;
        list-style: none;
    }

    li.menu__single ul.menu__second-level>li a {
        color: #fff;
        -webkit-transition: all .2s ease;
        transition: all .2s ease;
    }

    li.menu__single ul.menu__second-level>li a:hover {
        background: #0b4e7a;
        color: #fff;
        text-decoration: none;
    }

    li.menu__single:hover ul.menu__second-level {
        top: 40px;
        visibility: visible;
        opacity: 1;
    }

    .menu>li.menu__multi {
        position: relative;
    }

    li.menu__multi ul.menu__second-level {
        position: absolute;
        top: 40px;
        width: 100%;
        background: #1e7ab6;
        -webkit-transition: all .2s ease;
        transition: all .2s ease;
    }

    li.menu__multi ul.menu__second-level>li a {
        color: #fff;
        background: #1e7ab6;
        -webkit-transition: all .2s ease;
        transition: all .2s ease;
    }

    li.menu__multi ul.menu__second-level>li a:hover {
        color: #fff;
        background: #0b4e7a;
    }

    li.menu__multi:hover ul.menu__second-level {
        top: 40px;
        visibility: visible;
        opacity: 1;
    }

    li.menu__multi ul.menu__second-level li {
        position: relative;
        background: #1e7ab6;
    }

    li.menu__multi ul.menu__second-level li:hover {
        background: #0b4e7a;
    }

    li.menu__multi ul.menu__second-level li ul.menu__third-level {
        position: absolute;
        top: 0px;
        left: 100%;
        width: 100%;
        background: #1e7ab6;
        -webkit-transition: all .2s ease;
        transition: all .2s ease;
        list-style: none;
        padding: 0;
    }

    li.menu__multi ul.menu__second-level li ul.menu__third-level:hover {
        background: #0b4e7a;
        text-decoration: none;
    }

    li.menu__multi ul.menu__second-level li ul.menu__third-level>li a {
        color: #fff;
    }

    li.menu__multi ul.menu__second-level li ul.menu__third-level>li a:hover {
        color: #fff;
    }

    li.menu__multi ul.menu__second-level li:hover ul.menu__third-level {
        visibility: visible;
        opacity: 1;
    }

    li.menu__multi ul.menu__second-level li ul.menu__third-level li {
        position: relative;
    }

    li.menu__multi ul.menu__second-level li ul.menu__third-level li:hover {
        background: #0b4e7a;
    }

    li.menu__multi ul.menu__second-level li ul.menu__third-level li ul.menu__fourth-level {
        position: #1d79b6;
        top: -1px;
        left: 100%;
        width: 100%;
        background: #fff;
        -webkit-transition: all .2s ease;
        transition: all .2s ease;
    }

    li.menu__multi ul.menu__second-level li ul.menu__third-level li:hover ul.menu__fourth-level {
        visibility: visible;
        opacity: 1;
        text-decoration: none;
    }

    .init-right:after {
        content: '';
        display: inline-block;
        width: 6px;
        height: 6px;
        margin: 0 0 0 15px;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        color: #56598A;
    }

    .sp_menu {
        display: none;
    }

    ul.login_menu {
        height: 39px;
        padding: 0;
        position: relative;
        float: right;
        margin: 10px 0 0;
    }

    .login_menu li {
        float: left;
        list-style: none;
        background: #fc0;
        border-radius: 3px;
        margin: 0 5px;
    }

    .login_menu li.login {
        background: #1e7ab6;
    }

    .login_menu li a {
        color: #c55a11;
        display: block;
        padding: 7px 38px;
        font-weight: bold;
        line-height: 1.41;
    }

    .login_menu li.login a {
        color: white;
    }

    .login_menu li a:hover {
        text-decoration: none;
    }
}

@media(max-width:767px) {
    header {
        height: 54px;
    }

    #fixed_menu {
        height: 55px;
    }

    .logo img {
        height: 33px;
        display: block;
        padding: 5px 0 0 5px;
    }

    .navbar-header{
        background-color: #fff;
        padding-top: 1rem;
        padding-left: .5em;
    }

    .navbar-header.active{
        background-color: #fffef2;
    }

    .navbar-body{
        background: #fffef2;
        transition: all 0.5s;
    }
    
    header .navbar-toggler-icon {
        width: 2em;
        height: 2em;
        position: relative;
        background: none;
        appearance: none;
        cursor: pointer;
    }

    header .navbar-toggler-icon span{
        display: inline-block;
        transition: all 0.4s;
        box-sizing: border-box;
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: rgba(165, 165, 165, 1);
        border-radius: 1px;
    }

    header .navbar-toggler[aria-expanded='true'] span.navbar-toggler-icon span:nth-last-of-type(1){
        transform: translateY(-15px) rotate(315deg);
    }

    header .navbar-toggler[aria-expanded='true'] span.navbar-toggler-icon span:nth-last-of-type(2){
        opacity: 0;
    }

    header .navbar-toggler[aria-expanded='true'] span.navbar-toggler-icon span:nth-last-of-type(3){
        transform: translateY(5px) rotate(-315deg);
    }

    header .navbar-toggler-icon span:nth-of-type(1){
        top: 5px;
    }
    header .navbar-toggler-icon span:nth-of-type(2){
        top: 15px;
    }
    header .navbar-toggler-icon span:nth-of-type(3){
        top: 25px;
    }

    header .navbar-light .navbar-toggler {
        margin-top: 0.2em;
        border-color: rgba(0, 0, 0, 0);
        outline: none;
    }

    header .navbar-light .navbar-toggler-icon{
        background-image: none;
    }

    header .navbar-light .navbar-nav .nav-item {
        margin-top: 10px;
    }

    header .navbar-light .navbar-nav .nav-link {
        color: rgba(0, 0, 0, 0.8);
        font-weight: 500;
        font-size: 20px;
        position: relative;
        display: inline-block;
    }

    header .navbar-light .navbar-nav .nav-link::after{
        content: '';
        position: absolute;
        bottom: 0;
        left: 10%;
        width: 80%;
        height: 2px;
        background-color: rgba(0, 0, 0, 0.8);
        transition: transform 0.3s;
        transform: scale(0, 1);
        transform-origin: center top;
    }

    header .navbar-light .navbar-nav .nav-link:hover::after {
        transform: scale(1, 1);
    }


    header .navbar-light .navbar-nav .nav-link.btn-login,
    header .navbar-light .navbar-nav .nav-link.btn-entry{
        display: block;
    }

    header .navbar-light .navbar-nav .nav-link.btn-login::after,
    header .navbar-light .navbar-nav .nav-link.btn-entry::after{
        content: none;
    }

    header .navbar-nav {
        padding: 1em;
        text-align: center;
        height: 100vh;
    }

    header .btn-login {
        color: white !important;
        background: #1e7ab6;
        margin-top: 1em;
    }

    header .btn-entry {
        background: #fc0;
        color: #c55a11 !important;
        margin-top: 1em;
    }

    .pc_menu {
        display: none;
    }

    li,
    ul {
        list-style: none;
        line-height: 2.3rem;
        font-size: 1.2rem;
        width: 100%;
    }

    #accordion {
        width: 100%;
        margin: 0;
    }

    #accordion dt.first__class_icon {
        width: 54px;
        height: 54px;
        position: fixed;
        right: 0;
        top: 0;
        padding: 0;
    }

    #accordion dt.first__class_icon_second {
        width: 54px;
        height: 54px;
        position: fixed;
        right: 0;
        top: 0;
        padding: 0;
        /*background: #fc0;*/
    }

    #accordion dt.first__class_icon_second .account_nav {
        background-image: url(/image/account.svg);
        width: 25px;
        height: 25px;
        margin: 15px;
        margin-left: 15px;
        padding: 10px;
        border-radius: 50%;
    }

    #accordion .menu_humb {
        height: 25px;
        width: 25px;
        padding-top: 17px;
        padding-left: 12px;
    }

    #accordion .menu_bar {
        height: 2px;
        width: 18px;
        background: black;
        float: left;
        margin-top: 3px;
        margin-left: 5px;
        border-radius: 3px;
        -webkit-transition: all .2s ease;
        transition: all .2s ease;
    }

    #accordion .active_menu .bar01 {
        transform: rotate(-405deg);
        -moz-transform: rotate(-405deg);
        -webkit-transform: rotate(-405deg);
        margin-top: 9px;
    }

    #accordion .active_menu .bar03 {
        transform: rotate(405deg);
        -moz-transform: rotate(405deg);
        -webkit-transform: rotate(405deg);
        margin-top: -2px;
    }

    #accordion .active_menu .bar02 {
        display: none;
    }

    #accordion a {
        color: white;
        display: block;
    }

    #accordion a.portia_contact {
        padding: 11px 20px 11px 50px;
        font-weight: bold;
        font-size: 12px;
    }

    #accordion a.portia_contact:hover {
        text-decoration: none;
        color: #fc0;
    }

    #accordion dt {
        cursor: pointer;
        background-image: url(images/toggle_demo01/plus.gif);
        background-repeat: no-repeat;
        background-position: 350px center;
        font-size: 12px;
        color: #656565;
        padding: 18px 20px 18px 50px;
    }

    #accordion dt.second__class {
        padding: 0;
        color: white;
        padding: 11px 20px 11px 50px;
        background: #1e7ab6;
    }

    #accordion li+li {
        border-top: 1px solid #0b4e7a;
    }

    #accordion .menu__single dt.second__class span {
        width: 15px;
        height: 15px;
        border: 0px;
        border-bottom: solid 2px white;
        border-right: solid 2px white;
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        float: right;
        margin-right: 10px;
    }

    #accordion .menu__single dt.active span {
        width: 15px;
        height: 15px;
        border: 0px;
        border-top: solid 2px white;
        border-left: solid 2px white;
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        float: right;
        margin-top: 7px;
    }

    #accordion .menu__single dt.active {
        box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
        color: #fc0;
    }

    #accordion dd {
        display: none;
        font-size: 12px;
        line-height: 0;
        margin: 0;
        color: #656565;
        max-height: 400px;
        overflow-x: hidden;
    }

    #accordion dd.right_side {
        background: none;
    }

    #accordion dt.over {
        color: #fc0;
        text-decoration: none;
    }

    #accordion li.menu__third-level a {
        display: block;
        padding: 10px 20px 10px 50px;
    }

    #accordion li.menu__third-level a:hover {
        text-decoration: none;
        background: #003254;
    }

    #accordion dd.third-level_wrapper {
        background: #0b4e7a;
    }

    #accordion #accordion_button {
        border-top: 1px solid #b5b5b5;
        padding: 5px 0px;
        background: rgba(255, 255, 255, 0.8);
        height: 66px;
    }

    #accordion #accordion_button li {
        padding: 6px 15px;
        border-top: none;
        width: 50%;
        float: left;
    }

    #accordion #accordion_button li a {
        background: #fc0;
        color: #c55a11;
        font-weight: bold;
        text-align: center;
        line-height: 43px;
        border-radius: 3px;
    }

    #accordion #accordion_button li.portia_login a {
        background: #1e7ab6;
        color: white;
    }

    #accordion #accordion_button a {
        text-decoration: none;
    }

    #accordion li.support {
        background: #1e7ab6;
    }
}

.about__second__third {
    width: 250px !important;
}

.sup__first__first {
    width: 317px !important;
}

.buy__first__first {
    width: 240px !important;
}

.example__first__first {
    width: 250px !important;
}

.case__first__first {
    width: 200px !important;
}

header nav.navbar {
    z-index: 9999;
    position: fixed;
    width: 100%;    
    display: block;
    padding: initial;
}

header nav.navbar button {
    float: right;
}

@media(min-width:768px) {
    header nav.navbar {
        display: none;
    }
}

/*================================================

    0-2. フッター

================================================*/
footer {
    float: left;
    width: 100%;
    background: #1e7ab6;
}

footer ul {
    padding: 0;
    margin: 0;
}

footer li {
    list-style: none;
    line-height: 1.41;
    font-size: 1rem;
    font-weight: 200;
}

@media (min-width: 768px) {
    footer .menu {
        margin: 0;
        color: white;
        font-size: 12px;
    }
}

footer li a,
footer li a:hover {
    color: white;
    letter-spacing: 0;
}

footer li a::before {
    content: '・';
}

footer .hover__menu_bottom {
    float: left;
    width: 100%;
    background: white;
    line-height: 0;
}

footer .hover__menu {
    margin: 50px 0;
}

footer p {
    text-align: center;
    color: white;
}

footer h6 {
    font-weight: 500;
    font-size: 15px;
    width: 100%;
    margin-top: 1em;
    display: inline-block;
}

footer h6 a {
    color: white;
}

footer h6 a:hover {
    color: white;
}

footer #footerarea {
    padding: 50px 15px;
    max-width: 1180px;
    width: 100%;
    margin: 0 auto;
    color: white;
}

footer #footerarea h4 {
    font-weight: 500;
    margin-top: 1em;
    font-size: 16px;
    margin-bottom: .5em;
    border-bottom: 1px solid #fc0;
    line-height: 1.41;
    color: #fc0;
    padding: .3em 0;
}

footer #footerarea h4 a {
    color: #fc0;
}

footer p.copyright {
    text-align: center;
    color: #656565;
    margin: 0;
    font-size: 13px;
    line-height: 3;
    padding: 0 10px;
}

footer .contact_button {
    width: 100%;
    border: 1px solid white;
    margin-bottom: 5px;
}

footer .contact_button a {
    width: 100%;
    display: block;
    text-align: center;
    font-size: 12px;
    padding: 5px 10px;
    color: white;
    text-decoration: none;
}

footer .footer_area_l {
    float: left;
    padding: 20px 0;
}

footer .request-modal {
    width: 359px;
    bottom: 12px;
    right: 70px;
    background: #1e7ab6;
    border-radius: 3px;
    padding: 19px 32px 16px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .4);
    transition: opacity 450ms ease-in-out, transform 450ms ease-in-out, ease-in-out 300ms;
    visibility: hidden;
    transform: translateY(70px);
    opacity: 0;
    z-index: -1;
}

footer .request-modal.active {
    opacity: 1;
    z-index: 2;
    transform: translateY(0);
    visibility: visible;
}

footer .request-modal .close-icon {
    position: absolute;
    width: 24px;
    height: 24px;
    right: 5px;
    top: 7px;
    cursor: pointer;
}

footer .request-modal .close-icon svg {
    color: white;
}

footer .request-modal h3 {
    font-size: 19px;
    color: white;
    text-align: center;
}

footer .request-modal .image .square {
    width: 105px;
    height: 105px;
    border-radius: 50%;
}

footer .request-modal .image .square img {
    width: 100%;
}

footer .request-modal .text {
    width: calc(100% - 105px);
}

footer .request-modal .text p {
    margin-bottom: .5em;
    line-height: 1.4;
    text-align: left;
    font-size: 14px;
}

footer .request-modal .text a {
    background: rgba(249, 188, 18, 1);
    line-height: 1.4;
    color: #1e7ab6;
    font-size: 15px;
    font-weight: bold;
}

footer .request {
    width: 314px;
    bottom: 0;
    right: 70px;
    background: #1e7ab6;
    border-radius: 3px 3px 0 0;
    padding: 14px 32px 9px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .4);
    cursor: pointer;
    transition: opacity 450ms ease-in-out, transform 450ms ease-in-out, ease-in-out 300ms;
    visibility: hidden;
    transform: translateY(70px);
    opacity: 0;
    z-index: -1;
}

footer .request.active {
    opacity: 1;
    z-index: 2;
    transform: translateY(0);
    visibility: visible;
}

footer .request .image {
    width: 56px;
    height: 56px;
    position: absolute;
    top: -17px;
    left: 18px;
    background-color: white;
    border-radius: 50%;
    padding: 11px;
    border: 3px solid #1e7ab6;
}

footer .request .text p {
    margin: 0;
    padding-left: 35px;
    line-height: 1.4;
    font-size: 13px;
}

footer .request svg {
    width: 24px;
    height: 24px;
    position: absolute;
    top: 10px;
    right: 22px;
    color: white;
}

@media(max-width: 767px) {}

/*================================================

    右下3連ボタン

================================================*/
#page-contact {
    position: fixed;
    bottom: 10px;
    right: 0;
    font-size: 77%;
    z-index: 9999;
    height: 110px;
    margin: 0;
}

#page-contact a {
    background-size: contain;
    background: #f6f6f6;
    font-weight: 500;
    text-decoration: none;
    color: rgb(66, 72, 70);
    text-align: center;
    display: block;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    font-size: 0.9rem;
    letter-spacing: 0.09rem;
    margin: 10px;
    line-height: 30px;
    margin: 0;
    padding: 5px 0;
    font-size: 0.8rem;
}

#page-contact>a+a {
    border-top: 1px solid white;
    border-left: 0;
}

#page-contact {
    bottom: 165px;
}

#page-contact a {
    width: 100%;
    line-height: 55px;
    padding: 0;
    font-size: 1.1rem;
    border-radius: 3px 0px 0px 3px;
}

#page-contact .page-contact-tp {
    width: 250px;
    height: 55px;
    box-shadow: -5px 7.5px 10px rgba(0, 0, 0, 0.2);
    position: absolute;
    right: -196px;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    top: 0;
    cursor: pointer;
}

#page-contact .page-contact-tp .tp-bg {
    background: url(/image/tp-bg.png);
    background-size: 80% auto;
    background-position: center center;
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
    float: left;
}

#page-contact .page-contact-fr {
    width: 250px;
    height: 55px;
    box-shadow: -5px 7.5px 10px rgba(0, 0, 0, 0.2);
    position: absolute;
    right: -196px;
    top: 55px;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    cursor: pointer;
}

#page-contact .page-contact-fr .fr-bg {
    background: url(/image/fr-bg.png);
    background-size: 80% auto;
    background-position: center center;
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
    float: left;
}

#page-contact .page-contact-fd {
    width: 250px;
    height: 55px;
    box-shadow: -5px 7.5px 10px rgba(0, 0, 0, 0.2);
    position: absolute;
    right: -196px;
    top: 110px;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    cursor: pointer;
}

#page-contact .page-contact-fd .fd-bg {
    background: url(/image/fd-bg.png);
    background-size: 80% auto;
    background-position: center center;
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
    float: left;
}

#page-contact a:hover {
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

footer .footer_contact {
    height: 200px;
}

footer .footer_contact_image {
    height: 120px;
}

footer #page-contact-sp {
    position: fixed;
    bottom: 176px;
    right: 0;
    width: 50px;
    height: 50px;
    background-color: #f6f6f6;
    box-shadow: -5px 7.5px 10px rgba(0, 0, 0, 0.2);
    border-radius: 3px 0px 0px 3px;
    background-image: url(/image/tp-bg.png);
    background-size: 80% auto;
    background-position: center center;
    background-repeat: no-repeat;
    z-index: 9998;
}

footer #page-contact-sp a {
    display: block;
    height: 100%;
}

footer #page-request-sp {
    position: fixed;
    bottom: 127px;
    right: 0;
    width: 50px;
    height: 50px;
    background-color: #f6f6f6;
    box-shadow: -5px 7.5px 10px rgba(0, 0, 0, 0.2);
    border-radius: 3px 0px 0px 3px;
    background-image: url(/image/fd-bg.png);
    background-size: 80% auto;
    background-position: center center;
    background-repeat: no-repeat;
    z-index: 9998;
}

footer #page-request-sp a {
    display: block;
    height: 100%;
}

/*================================================

    QRコード

================================================*/
footer .app-wrapper {
    float: left;
    width: 100%;
    background: white;
    margin: 1em 0;
    padding: 1em;
}

footer .app-logo {
    height: 1.4rem;
    width: 7.5rem;
    float: left;
}

footer .app-wrapper h3 {
    text-align: center;
    color: #1e7ab6;
    font-size: 0.9rem;
    font-weight: bold;
    margin: 0;
    margin-bottom: 1em;
}

footer .app-wrapper .qr-code {
    width: 50%;
    float: left;
}

footer #footerarea img {
    width: 100%;
}

footer p.model {
    text-align: center;
    color: #656565;
    margin: 0;
    font-size: 1rem;
    font-weight: bold;
    padding: 0;
}

@media(max-width:767px) {
    #page-contact {
        display: none !important;
    }
}

@media(min-width:768px) {
    #page-contact-sp {
        display: none !important;
    }
}

@media(max-width:767px) {
    footer ul.menu li a {
        color: #a98557;
    }

    footer #logo small.r-side {
        width: 100%;
    }

    footer #logo {
        float: left;
        padding: 15px 10px 50px;
        width: 100%;
    }

    footer p.copyright {
        font-size: 12px;
        line-height: 35px;
        text-align: center;
        width: 100%;
    }

    footer ul.menu li {
        display: block;
        text-align: center;
    }

    footer ul.menu {
        height: auto;
    }

    .over-lay {
        height: 100vh;
        width: 100vw;
        position: fixed;
        top: 120px;
        left: 0;
        left: 0;
        right: 0;
        background: rgba(0, 0, 0, 0.50);
        z-index: 99;
    }
}

/*================================================

    1.TOPページ

================================================*/
#pmain {
    position: relative;
}

#pmain img.bg {
    height: 100%;
    width: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

#pmain .inner {
    max-width: 980px;
    width: 100%;
    margin: 0 auto;
    position: relative;
}

#pmain .inner .logo {
    max-width: 400px;
    margin: 0 auto;
    padding: 100px 0 50px;
}

#pmain .inner .logo img {
    max-width: 265px;
    display: block;
    margin: 0 auto 1em;
    width: 100%;
}

#pmain .inner .logo p {
    margin: 0;
    font-size: 22px;
    font-weight: 500;
}

#pmain .inner .round-wrap {
    display: flex;
    justify-content: center;
}

#pmain .inner .round {
    background: #ffcc01;
    aspect-ratio: 1/1;
    border-radius: 50%;
    padding: 80px;
    display: flex;
}

#pmain .inner .round .txt {
    align-self: center;
    text-align: center;
}

#pmain .inner .round .txt h3 {
    font-size: 30px;
    margin: 0 0 1em;
    line-height: 1.41;
}

#pmain .inner .round .txt img {
    margin: 0 0 1.5em;
}

#pmain .inner .round .txt h2 {
    color: white;
    font-size: 26px;
}

#pmain .inner .which {
    padding-top: 20px;
}

#pmain .inner .person {
    width: 50%;
    position: relative;
    padding: 0 16px;
    margin-bottom: 50px;
}

#pmain .inner .person a img {
    width: 100%;
    height: 130px;
    object-fit: contain;
    animation: bound ease 1s infinite alternate;
}

@keyframes bound {
    0% {
        margin-top: -10px;
        margin-bottom: 10px;
    }

    100% {
        margin-top: 10px;
        margin-bottom: -10px;
    }
}

#pmain .inner .person.sup a img {
    object-position: left;
}

#pmain .inner .person.buy a img {
    object-position: right;
}

#pmain .inner .person img.shake {
    height: 500px;
    width: 100%;
    object-fit: contain;
    margin-bottom: 30px;
}

#pmain .inner .bubble {
    background: white;
    padding: 2em 30px;
    border: 1px solid #1d79b6;
    width: 100%;
    position: relative;
}

#pmain .inner .bubble::after {
    content: '';
    width: 27.5px;
    height: 27.5px;
    border-top: solid 1px #1d79b6;
    border-right: solid 1px #1d79b6;
    transform: rotate(-45deg);
    position: absolute;
    top: -15px;
    right: 50%;
    margin-right: -16.5px;
    display: block;
    background: white;
}

#pmain .inner .bubble::before {
    content: '';
    width: 27.5px;
    height: 27.5px;
    border-top: solid 1px #1d79b6;
    border-right: solid 1px #1d79b6;
    transform: rotate(-45deg);
    position: absolute;
    top: -15px;
    right: 50%;
    margin-right: -16.5px;
    display: block;
    background: white;
}

#pmain .inner .bubble p span {
    font-weight: 500;
    font-size: 130%;
    color: #1d79b6;
    padding-right: .25em;
}

#pmain .inner .bubble a {
    color: #c55a11;
    background: #fc0;
    width: 100%;
    text-align: center;
    display: block;
    font-size: 16px;
    letter-spacing: 0.09rem;
    transition: all .2s ease;
    padding: .5em 1em;
}

#pmain .inner .bubble .video-link {
    cursor: pointer;
    z-index: 2;
}

#pmain .inner .bubble .video-overlay {
    display: flex;
    justify-content: center;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .35);
}

#pmain .inner .bubble .video-overlay img {
    width: 120px;
    height: 120px;
    align-self: center;
}

#pmain .inner .bubble p {
    font-weight: 300;
}

@media(max-width: 767px) {
    #pmain .inner .logo {
        padding: 30px 0 1em;
    }

    #pmain .inner .logo p {
        font-size: 17px;
    }

    #pmain .inner .person {
        margin-bottom: 30px;
        padding: 0 8px;
    }

    #pmain .inner .person a img {
        height: 66px;
    }

    #pmain .inner .person img.shake {
        height: 257px;
        margin-bottom: -20px;
    }

    #pmain .inner .bubble {
        padding: 1.5em 12px;
    }

    #pmain .inner .bubble p {
        font-size: 12px;
    }

    #pmain .inner .round .txt h3 {
        font-size: 20px;
    }

    #pmain .inner .round .txt h2 {
        font-size: 17px;
    }

    #pmain .inner .round {
        padding: 45px;
    }

    #pmain .inner .bubble a {
        font-size: 13px;
    }

    #pmain .inner .bubble .video-overlay img {
        width: 50px;
        height: 50px;
    }
}

body.about #banner .bg-img {
    background-image: url(/image/S_portiapay.png);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #ffd88d;
}

body.supplier #banner .bg-img {
    background-image: url(/image/sap01.png);
    background-size: contain;
    background-position: left bottom 0px;
    background-repeat: no-repeat;
}

body.buyer #banner .bg-img {
    background: url(/image/buy01.png);
    background-size: contain;
    background-position: right bottom 0px;
    background-repeat: no-repeat;
}

body.case #banner .bg-img {
    background-image: url(/image/portia_s_dounyuu_new.png);
    background-size: contain;
    background-position: left center;
    background-repeat: no-repeat;
    background-color: #d3daad;
}

body.technology #banner .bg-img {
    background-image: url(/image/main-technology.png);
    background-size: contain;
    background-position: right center;
    background-repeat: no-repeat;
    background-color: #ffe1ec;
}

body.contact #banner .bg-img {
    background: url(/image/main-contact.png);
    background-size: contain;
    background-position: bottom 0px left;
    background-repeat: no-repeat;
}




#sample {
    float: left;
    width: 100%;
}

#sample h1 {
    color: #13191b;
    margin: 40px 0;
}

#sample h1,
#sample h4 {
    text-align: center;
}

#sample .point_bg {
    height: 300px;
    background: url('/image/point01.png');
    z-index: -1;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 33.3333333%;
}

#sample p {
    color: #333;
    text-align: center;
    line-height: 2.5rem;
}

#sample .over-ray h1 {
    font-size: 2.3rem;
}

#sample .blue_section_button h1,
#sample .yellow_section h1,
#sample .yellow_section h3 {
    color: #1d79b6;
    text-align: center;
    margin: 10px 0;
}

#sample .yellow_section h3 {
    font-weight: 300;
}

#sample .over-ray h3 {
    font-weight: 500;
}

#sample .over-ray {
    background: rgba(0, 0, 0, 0);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
}

#sample .point_one {
    border: 2px solid white;
    padding: 15px;
    margin: 50px 0;
}

#sample .point_one img {
    width: 100%;
}

#sample .yellow_section img {
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    left: 0;
    top: 0;
}

#sample .blue_section {
    position: relative;
    display: flex;
    overflow: hidden;
}

#sample .blue_section img {
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    left: 0;
}

#sample .blue_section .blue_section_button {
    background: #1e7ab6;
    float: left;
    width: 100%;
    background: url('/image/chara_button.png');
    z-index: -1;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

#sample .blue_section .blue_section_button h1,
#sample .blue_section .blue_section_button .p_button_area {
    margin: 10px 0;
    color: #1e7ab6;
    font-size: 1.8rem;
    width: 100%;
    max-width: 673px;
    padding: 0 16px;
    line-height: 1.41;
}

#sample .blue_section .blue_section_button .p_button_area .p_button {
    max-width: 277px;
    display: block;
    margin: 0 auto;
}

#sample .yellow_section_inner {
    width: 66.6666666%;
}

#sample .blue_section_inner {
    width: 66.6666666%;
}

#sample .text_area {
    width: 100%;
}

#sample .text_wrapper {
    height: 300px;
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
    position: relative;
}

#sample img {
    width: 100%;
}

#sample .function {
    padding: 50px 0 0;
    background-color: #fffef2;
}

#sample .function img {
    width: 100%;
    margin: 0;
    height: auto;
}

#sample .function_image {
    float: left;
    width: 100%;
}

#sample .function_title {
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    float: left;
    width: 100%;
    margin: 16px 0;
}

@media(max-width:991px) {
    #sample .point_bg {
        width: 30%;
        height: 250px;
    }

    #sample .yellow_section_inner,
    #sample .blue_section_inner {
        width: 70%;
    }

    #sample .text_wrapper {
        height: 250px;
    }

    #sample p {
        font-size: 1.5rem;
    }
}

#slider {
    float: left;
    width: 100%;
    margin: 50px 0;
}

#slider h1 {
    color: #13191b;
    margin: 40px 0;
}

#slider h1,
#slider h4 {
    text-align: center;
    letter-spacing: 0.2rem;
}

#slider p {
    color: #13191b;
    text-align: center;
    margin: 50px 0;
}

.top_products_one {
    border: 2px solid white;
    padding: 15px;
    margin: 50px 0;
}

.top_products_one img {
    width: 100%;
}

.frame {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin-bottom: 50px;
}

.frame-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

#slider .swiper-slide {
    cursor: pointer;
}

#slider .swiper-button-prev,
#slider .swiper-button-next {
    display: none !important;
}

#slider .section-swiper {
    width: 100%;
    float: left;
}

#slider .section-inner-swiper {
    width: 100%;
    margin: 0 auto;
}

#slider .swiper-slide {
    background: #FFF;
}

#slider .swiper-text {
    width: 100%;
    padding: 15px;
}

#slider .swiper-slide p {
    font-size: 13px;
    color: #000;
}

#slider .swiper-slide h6 {
    font-size: 15px;
    line-height: 2;
    color: #9A263B;
    margin: 0;
}

#slider .swiper-slide img {
    width: 100%;
    cursor: pointer;
    height: auto;
}

#slider .swiper-slide a {
    cursor: pointer;
}

@media (min-width: 768px) {

    #slider .swiper-button-prev,
    #slider .swiper-button-next {
        display: block;
    }
}

#fee {
    float: left;
    width: 100%;
    margin: 50px 0;
}

#fee h1 {
    color: #13191b;
    margin: 40px 0 0;
    width: 100%;
    float: left;
}

#fee h1,
#fee h4 {
    text-align: center;
    letter-spacing: 0.5rem;
}

#fee .fee,
.uiux,
#fee .voice,
.docs {
    position: relative;
    overflow: hidden;
    text-align: center;
    cursor: pointer;
}

#fee img {
    position: absolute;
    z-index: 0;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: all .3s ease-out;
}

#fee>div:hover img {
    opacity: .8;
    transform: scale(1.1);
}

#fee .fee .inner,
#fee .uiux .inner,
#fee .voice .inner,
#fee .docs .inner {
    z-index: 1;
    position: relative;
    height: 100%;
}

body.top #fee p {
    margin: 0;
    padding: 0 1em;
    font-weight: 300;
}

#fee p {
    color: white;
    text-align: center;
    margin: 0;
    width: 100%;
}

#fee a {
    color: #ffcc00;
    font-weight: bold;
}

#fee a.wrapper-link {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
}

#fee a.wrapper-link:hover {
    text-decoration: none;
}

#fee p.bwhite {
    color: #424846;
}

#fee .fee,
#fee .voice,
#fee .uiux,
#fee .docs {
    height: 400px;
    margin-bottom: 15px;
}

@media(min-width:768px) {

    #fee .fee,
    #fee .voice,
    #fee .uiux,
    #fee .docs {
        height: 550px;
    }

    #fee h1 {
        margin: 40px 0 20px;
    }
}

#news {
    float: left;
    width: 100%;
    background: #f6f6f6;
}

#news ul {
    list-style: none;
    padding: 0;
    float: left;
    width: 100%;
    margin: 0;
    height: 120px;
    display: inline-block;
    overflow: hidden;
    transition: all 0.2s;
}

#news li {
    background: white;
    float: left;
    width: 100%;
    display: inline-block;
    font-size: 1rem;
    box-sizing: border-box;
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

#news h1 {
    color: #13191b;
    margin: 40px 0;
    text-align: center;
}

#news .background_wrapper {
    float: left;
    width: 100%;
    margin: 50px 0;
    background: #1e7ab6;
}

#news .news_box {
    width: 100%;
    float: left;
    height: 85px;
    background: #1e7ab6;
    position: relative;
    z-index: 1;
}

#news span.newsDate {
    float: left;
    width: 97px;
    text-align: center;
}

#news span.newsTxt {
    overflow: hidden;
    white-space: nowrap;
    padding-left: 16px;
}

#news span.categoryBadge {}

#news span.category_news {
    background: #1e79b6 !important;
    color: white;
    border-color: #1e79b6 !important;
}

#news span.category_press {
    background: #fabd1b !important;
    border-color: #fabd1b !important;
}

#news li a {
    display: none;
}

#news a.newsLink {
    overflow: hidden;
    white-space: nowrap;
    display: block;
    float: left;
    width: 100%;
    color: black;
    line-height: 40px;
    height: 40px;
    padding-right: 0px;
    transition: all 0.2s;
}

#news a.newsLink:hover {
    padding-left: 20px;
    box-shadow: 0px 0px 15px 0px #AAA;
    -moz-box-shadow: 0px 0px 15px 0px #AAA;
    -webkit-box-shadow: 0px 0px 15px 0px #AAA;
    position: relative;
    z-index: 2;
}

#news li+li {
    border-top: 1px solid #eee;
}

#news .text_wrapper {
    height: 85px;
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
    color: white;
    font-size: 1.8rem;
    letter-spacing: 0.2rem;
}

#news button#feed {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    width: 100%;
    height: 29px;
    position: absolute;
    bottom: 0;
}

#news button#feed::after {
    content: '';
    width: 15.5px;
    height: 15.5px;
    border-top: solid 2px white;
    border-right: solid 2px white;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
    top: 0px;
    right: 50%;
    margin-right: -6px;
}

#news button.active::after {
    -webkit-transform: rotate(-45deg) !important;
    transform: rotate(-45deg) !important;
    position: absolute;
    top: 8px !important;
    right: 50%;
    margin-right: -6px;
}

#news ul.active {
    height: auto;
}

@media(min-width:768px) {
    #news .news_box {
        width: 300px;
        float: left;
        height: 180px;
        background: #1e7ab6;
        position: relative;
        z-index: 1;
    }

    #news ul {
        width: calc(100% - 300px);
        height: 180px;
    }

    #news li {
        font-size: 1.2rem;
    }

    #news .text_wrapper {
        height: 180px;
    }

    #news a.newsLink {
        height: 60px;
        line-height: 60px;
    }

    #news span.newsDate {
        width: 130px;
    }

    #news button#feed {
        height: 50px;
    }

    #news button#feed::after {
        top: 11px;
    }

    #news button.active::after {
        top: 20px !important;
    }

    #news a.newsLink {
        padding-right: 40px;
    }
}

@media(max-width: 767px) {

    #fee .fee,
    #fee .voice,
    #fee .uiux,
    #fee .docs {
        height: 200px;
    }

    #fee .fee .inner,
    #fee .uiux .inner,
    #fee .voice .inner,
    #fee .docs .inner {
        background: rgba(255, 255, 255, .55);
    }
}

/*_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣ 
　　　   　　　
2. About

_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣ */
#ec-link,
#invoice-link,
#apps-link,
#register-link,
#subsc-link,
#api-link {
    margin-bottom: 100px;
}

body.about #banner {
    width: 100%;
    position: relative;
    height: 33.33333vh;
}

#about-page {
    float: left;
    width: 100%;
    margin: 0 0 50px;
}

#about-page h1 {
    color: #13191b;
    margin: 1em 0;
}

#about-page h1,
#about-page h4 {
    text-align: center;
}

#about-page h3 {
    color: #1e7ab6;
    text-align: center;
    font-weight: 500;
    font-size: 1.3rem;
    margin: 0.8em 0;
}

#about-page p {
    text-align: center;
    color: black;
    margin: 40px 0;
    font-weight: 300;
}

p.bracket {
    position: relative;
    padding: 0 30px;
}

#about-page p.bracket {
    position: relative;
    padding: 0 30px;
    color: #1e7ab6;
    display: block;
    margin: 40px 0;
    font-size: 2.3rem;
    text-align: center;
    font-weight: 400;
}

p.bracket::after {
    content: '';
    width: 23.5px;
    height: 23.5px;
    border-bottom: solid 4px #334154;
    border-left: solid 4px #334154;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -12px;
    margin-left: 0;
}

p.bracket::before {
    content: '';
    width: 23.5px;
    height: 23.5px;
    border-top: solid 4px #334154;
    border-right: solid 4px #334154;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -12px;
    margin-right: 0;
}

@media(min-width:768px) {
    #about-page p.bracket::after {
        left: 0;
    }

    #about-page p.bracket::before {
        right: 0;
    }

    #product p.bracket::after {
        left: 50%;
        margin-left: -300px;
    }

    #product p.bracket::before {
        right: 50%;
        margin-right: -300px;
    }

    #scene p.bracket::after {
        left: 50%;
        margin-left: -284px;
    }

    #scene p.bracket::before {
        right: 50%;
        margin-right: -284px;
    }
}

#about-page p.big {
    font-size: 160%;
    color: #1e7ac8;
    font-weight: 500;
}

#about-page p.gaiyou {
    margin-top: 0;
}

#about-page .top_products_one {
    border: 2px solid white;
    padding: 15px;
    margin: 50px 0;
}

#about-page .p_gaiyou img {
    width: 100%;
    display: block;
    margin: 0 auto;
}

#about-page .p_flow img {
    width: 100%;
    display: block;
    margin: 0 auto;
}

#about-page .blue_inner {
    background: #689fc4;
    padding: 50px 0;
    margin: 50px 0 0;
}

#about-page .arrow_section {
    width: 100%;
    float: left;
}

#about-page .target {
    width: 85%;
    position: relative;
}

#about-page .target::after {
    content: '';
    width: 23.5px;
    height: 23.5px;
    border-top: solid 4px #7598cc;
    border-right: solid 4px #7598cc;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    display: block;
    position: absolute;
    top: 50%;
    right: -30px;
    margin-top: -10px;
}

#about-page .last {
    width: 85%;
    position: relative;
}

#about-page .text-wrapper {
    height: 100%;
}

#about-page .p_flow {
    background: #fafafa;
    float: left;
    width: 100%;
}

@media(min-width:768px) {
    #about-page h3 {
        font-size: 22px;
    }

    #about-page .p_gaiyou img {
        width: 50%;
        display: block;
        margin: 0 auto;
    }
}

#product {
    float: left;
    width: 100%;
}

#product h1 {
    color: #13191b;
    margin: 40px 0;
}

#product h1,
#product h4 {
    text-align: center;
}

#product h2 {
    text-align: center;
    font-size: 2.5rem;
    letter-spacing: .2em;
}

#product h2 span {
    display: block;
    font-size: 80%;
    padding: 0.5em 0;
    font-weight: 300;
}

#product .point_bg {
    height: 450px;
    background: url('https://image.shutterstock.com/z/stock-photo-black-smart-phone-with-blank-screen-isolated-on-white-background-1019200663.jpg');
    z-index: -1;
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
    /*width: 50%;*/
}

#product p {
    text-align: center;
    color: black;
    margin: 1em 0 50px;
    line-height: 2.5rem;
    font-weight: 300;
}

#product p b {
    color: #1e7ab6;
    display: block;
    margin-bottom: -0.5em;
}

#product p.bracket {
    font-size: 1.5rem;
    margin-bottom: 4em;
}

#product .point_one {
    border: 2px solid white;
    padding: 15px;
    margin: 50px 0;
}

#product .point_one img {
    width: 100%;
}

#product .blue_section {
    float: left;
    width: 100%;
}

#product .yellow_section {
    float: left;
    width: 100%;
}

#product .text_area {
    padding: 25px;
    width: 100%;
}

#product .text_wrapper {
    height: 450px;
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
}

#product .p_button_area {
    width: 100%;
    margin: 0 auto;
}

#product img {
    width: 80%;
    display: block;
    margin: 0 auto 30px;
}

#product img:hover {
    opacity: 0.8;
}

#scene {
    background: #fafafa;
    float: left;
    width: 100%;
    margin: 50px 0 0;
    padding-bottom: 50px;
}

#scene h1 {
    color: #13191b;
    margin: 40px 0;
}

#scene h1,
#scene h4 {
    text-align: center;
    letter-spacing: 0.5rem;
}

#scene h4 {
    padding: 8px 0;
    font-weight: bold;
    /*color: white;*/
    font-size: 2rem;
    margin-top: 50px;
    /*background: #1e7ab6;*/
}

#scene .scene_bg p {
    font-size: 2.0rem;
}

#scene p {
    text-align: center;
    color: black;
    margin: 40px 0;
    font-weight: 500;
    font-size: 1.5rem;
}

#scene img {
    width: 100%;
}

#scene .scene_one {
    background: url('/image/kihon02_saitan.png');
}

#scene .scene_two {
    background: url('/image/kihon02_gendo.png');
}

#scene .scene_three {
    background: url('/image/kihon02_jyoukyou.png');
}

#scene .scene_four {
    background: url('/image/kihon02_yoshin.png');
}

#scene .scene_five {
    background: url('/image/kihon02_up.png');
}

#scene .scene_six {
    background: url('/image/kihon02_ai.png');
}

#scene .scene_bg {
    height: 100px;
    z-index: -1;
    /*background-attachment: fixed;*/
    background-position: center center;
    /*background-size: cover;*/
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    margin: 16px 0;
    z-index: 2;
}

#scene .text_wrapper {
    height: 450px;
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
}

#scene .overlay {
    background: rgba(255, 255, 255, 0.6);
    width: 100%;
    height: 100%;
}

#scene .function_wrapper {
    float: left;
    width: 100%;
    border: 1px solid #1e7ab6;
    height: 100%;
    background: white;
    padding: 1.2em 0;
}

#scene .function_number {
    width: 50px;
    height: 50px;
    float: left;
    text-align: center;
    border-radius: 50%;
    vertical-align: middle;
    line-height: 50px;
    background: white;
    color: #1e7ab6;
    font-size: 20px;
    border: 1px solid #1e7ab6;
    position: absolute;
    top: 5px;
    left: 21px;
}

#scene .function_title {
    text-align: center;
    font-size: 2rem;
    font-weight: 500;
    margin: 0 0 1em;
    line-height: 1.2;
}

#scene .function_wrapper p {
    margin: 0 0 1em;
    line-height: 1.41;
    font-size: 1.2rem;
    font-weight: 300;
}

#scene .function_wrapper p span {
    margin: 0 -0.5em;
}

@media(min-width:768px) {
    #scene .scene_bg {
        height: 100px;
    }
}

#technology {
    float: left;
    width: 100%;
    margin: 50px 0;
}

#technology h1 {
    color: #13191b;
    margin: 40px 0;
}

#technology h1,
#technology h4 {
    text-align: center;
    letter-spacing: 0.5rem;
}

#technology .function_wrapper {
    float: left;
    width: 100%;
    border: 1px solid #1e7ab6;
    height: 100%;
    padding: 8px 0 16px;
}

#technology .function_wrapper p {
    margin: 0 0 1em;
    line-height: 1.41;
    font-size: 1.2rem;
    font-weight: 300;
}

#technology .function_title {
    text-align: center;
    font-size: 2rem;
    font-weight: 500;
    margin: 15px 0;
}

#technology .scene_bg {
    height: 100px;
    z-index: -1;
    /*background-attachment: fixed;*/
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    float: left;
    width: 100%;
    margin-bottom: 1em;
}

#technology .image01 {
    background-image: url('/image/powered-by-aws.png');
}

#technology .image02 {
    background-image: url('/image/about-lock.png');
}

#technology .image03 {
    background-image: url('/image/product02.png');
}

#technology .image04 {
    background-image: url('/image/about_technology02.png');
}

#technology .text-wrapper {
    height: 100%;
}

#technology {
    float: left;
    width: 100%;
    margin: 50px 0;
}

#technology .contact {
    margin-top: 98px;
}

#technology .plus {
    background: #d35f5f;
    color: white;
    width: 60px;
    line-height: 60px;
    text-align: center;
    font-size: 4rem;
    font-weight: bold;
    border-radius: 3px;
    position: absolute;
    left: 50%;
    margin-left: -30px;
    top: -76px;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
}

#technology .contact .txt-wrapper::before {
    content: '';
    background-image: url(/image/about/Portiapay02.svg);
    height: 70px;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    width: calc(100% - 4em);
    top: -35px;
}

#technology .contact .txt-wrapper::after {
    content: '';
    background-image: url(/image/need02.png);
    height: calc(100% + 97px + 1em);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    width: 130px;
    right: -32px;
    top: -50px;
}

#technology .contact .txt-wrapper p {
    font-size: 1.2rem;
    line-height: 1.5;
    font-weight: 300;
}

#technology .contact .txt-wrapper p span {
    font-size: 130%;
    color: #1e7ab6;
}

#technology .contact a {
    background: #1e7ab6;
    color: white;
    padding: 0.5em 2em;
    display: block;
}

#technology .contact .txt-wrapper {
    width: 100%;
    border: 1px solid #1e7ab6;
    position: relative;
    padding: 50px 88px 1em 2em;
    margin: 50px 0 3em;
}

#support .support01 {
    background: url('/image/about_support01.png');
    z-index: 2 !important;
}

@media(min-width:768px) {
    #technology .scene_bg {
        height: 100%;
    }

    #technology .contact .txt-wrapper::after {
        width: 260px;
        right: -100px;
    }

    #technology .contact .txt-wrapper::before {
        height: 100px;
        top: -50px;
        width: calc(100% - 2em);
    }

    #technology .contact .txt-wrapper {
        padding: 70px 130px 1em 2em;
    }
}

@media(max-width:767px) {
    #technology .scene_bg {
        height: 100px !important;
    }
}

#support {
    float: left;
    width: 100%;
    margin: 50px 0;
    background: #fafafa;
    padding-bottom: 30px;
}

#support h1 {
    color: #13191b;
    margin: 40px 0;
}

#support h1,
#support h4 {
    text-align: center;
    letter-spacing: 0.5rem;
}

#support h3 {
    font-size: 1.2rem;
    color: #1e7ab6;
}

#support .function_wrapper {
    float: left;
    width: 100%;
    border: 1px solid #1e7ab6;
    height: 100%;
    padding: 16px 0;
    background: white;
}

#support .function_wrapper p {
    margin: 0 0 1em;
    line-height: 1.41;
    font-size: 15px;
    font-weight: 300;
}

#support .function_title {
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    margin: 1.5rem 0 3.5rem;
    position: relative;
    z-index: 2;
}

#support .function_title::after {
    content: '';
    background-image: url(/image/under-line.png);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    z-index: -2;
    width: 100%;
    height: 30px;
    left: 0;
    bottom: -18px;
    opacity: 0.8;
}

#support .scene_two {
    background: url('/image/point01.png');
}

#support .scene_bg {
    height: 100px;
    z-index: -1;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    float: left;
    width: 100%;
    margin: 50px 0 1em;
    bottom: 0;
}

#support .scene_bg::before {
    content: '・インターネットが苦手なご年配の方\A・大企業などの複数の社員でご利用される方\Aなどなど、どなた様でも「ご案内はお任せください！」\A\A';
    white-space: pre-line;
    background-image: url(/image/bubble03.png);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    width: 100%;
    height: 160px;
    top: -160px;
    left: 0;
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
    color: white;
    font-size: 1.1rem;
    text-align: center;
    padding: 0 0 1em;
    font-weight: bold;
}

#support .text-wrapper {
    height: 100%;
}

#support .popular {
    float: left;
    width: 100%;
    margin-bottom: 3em;
}

#support .image {
    background-position: center center;
    background-size: 65%;
    background-repeat: no-repeat;
    height: 85px;
    background-color: #fffef2;
    border-radius: 12px;
    margin-bottom: 1em;
}

#support .image01 {
    background-image: url(/image/helpdesk01.svg);
}

#support .image02 {
    background-image: url(/image/helpdesk02.svg);
}

#support .image03 {
    background-image: url(/image/helpdesk03.svg);
}

#support .image-wrapper h2 {
    text-align: center;
    font-size: 1.3rem;
    color: #1e7ab6;
    font-weight: 500;
    margin: 0;
}

@media(min-width:768px) {
    #support .image {
        height: 145px;
    }

    #support .scene_bg {
        height: 200px;
        z-index: -1;
        background-position: center center;
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        float: left;
        width: calc(100% - 32px);
        margin: 1em 0 50px;
        bottom: 0;
    }

    #support .scene_bg::before {
        position: absolute;
        width: calc(100% + 50px);
        height: 240px;
        top: -300px;
        left: -50px;
        padding: 0 0 1em;
    }
}

@media(max-width:767px) {
    #support .function_wrapper {
        padding-top: 70px;
    }
}

body.about #fee-list {
    float: left;
    width: 100%;
    margin: 50px 0;
}

body.about #fee-list h1 {
    color: #13191b;
    margin: 1em 0;
}

body.about #fee-list h1,
body.about #fee-list h4 {
    text-align: center;
}

body.about #fee-list h3 {
    color: #424846;
    text-align: center;
}


body.about #fee-list p.detail {
    margin: 1em 0;
    font-weight: 100;
    line-height: 1.41;
}

body.about #fee-list p.detail small {
    font-weight: 100;
}

body.about #fee-list img {
    width: 100%;
}

body.about #fee-list .p_button a {
    color: #1e7ab6;
    background: #e0e0e0;
    line-height: 3.5rem;
    width: 100%;
    text-align: center;
    display: block;
    font-size: 1.3rem;
    letter-spacing: 0.09rem;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

body.about #fee-list .charge {
    width: 100%;
    border-top: 2px solid #1e75aa;
    display: flex;
}

body.about #fee-list .charge table {
    width: 100%;
    text-align: center;
    font-weight: bold;
    font-size: 1rem;

}

body.about #fee-list .charge table th,
body.about #fee-list .charge table td {
    border: 1px #1e75aa solid;
}

body.about #fee-list .charge table th.item-child,
body.about #fee-list .charge table td.item-child {
    border-left: 2px white solid;
}

body.about #fee-list .charge table th {
    padding: 1.2em;
    width: 30%;
    position: relative;
}

body.about #fee-list .charge table tr.item {
    background-color: #1e75aa;
    color: white;
}

body.about #fee-list .charge table tr.span {
    background-color: #fffdf1;
}

body.about #fee-list .charge table td.quote {
    font-size: 1rem;
    padding: 0 0.5em;
}

body.about #fee-list .charge table td.quote span {
    font-size: 1.5rem;
    color: #c70a08;
}

body.about #fee-list .charge table th.renew .fee-camp {
    position: absolute;
    width: 100%;
    left: 0;
    background: rgba(243, 184, 31, 0.85);
    color: white;
    text-align: left;
    padding: 0.5em 0.6em;
    font-size: 1.1rem;
    /* transform: rotate(-24deg); */
    z-index: 2;
    /* margin-left: 2%; */
    top: 0;
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
}

@media(min-width:768px) {
    body.about #fee-list .charge table th.renew .fee-camp {
        font-size: 1.7rem;
        white-space: pre-wrap;
    }

    body.about #fee-list .charge {
        border-top: 3px solid #1e75aa;
    }

    body.about #fee-list .charge table {
        font-size: 1.3rem;
    }

    body.about #fee-list .charge table td.quote span {
        font-size: 2.5rem;
    }

    body.about #fee-list .charge table td.quote {
        font-size: 1.7rem;
        padding: 0 0.5em;
    }

    body.about #fee-list .charge table th,
    body.about #fee-list .charge table td {
        border: 3px #1e75aa solid;
    }

    body.about #fee-list .charge table th.item-child,
    body.about #fee-list .charge table td.item-child {
        border-left: 4px white solid;
    }
}

/*
共通サブメニュー
*/
.menu-sub-wrapper {
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
}

.menu-sub {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.menu-sub ul {
    display: flex;
    padding: 0;
    list-style: none;
    margin: 0;
}

.menu-sub ul li {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.menu-sub ul li a {
    font-size: 14px;
    padding: 20px 1.4em;
    color: #13191b;
    text-decoration: none;
}

.menu-sub.buyer ul li:hover {
    background-color: #1e7ab6;
}

.menu-sub.buyer ul li:hover a {
    color: white;
}

.menu-sub.supplier ul li:hover {
    background-color: #fc0;
}

.menu-sub.supplier ul li:hover a {
    color: #c55a11;
}

/*
共通サブサブメニュー
*/
.menu-sub-sub-wrapper {
    background-color: #fc0;
    position: relative;
}

.menu-sub-sub-wrapper::after {
    content: '';
    border-top: 15px solid #fc0;
    border-right: 20px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 20px solid transparent;
    position: absolute;
    left: 50%;
    margin-left: -20px;
}

.menu-sub-sub {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.menu-sub-sub ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 20px 0;
    flex-wrap: wrap;
}

.menu-sub-sub ul li {
    padding: 0 1em;
}

.menu-sub-sub ul li a {
    color: #424846;
    font-size: 16px;
    text-decoration: none;
}

.menu-sub-sub ul li a:hover {
    font-weight: bold;
}

.menu-sub-sub ul li a::before {
    content: '・';
}

/*_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣ 
　　　   　　　
3. サプライヤー　/supplier/

_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣ */

body.supplier #banner {
    width: 100%;
    position: relative;
    height: 33.33333vh;
    background: #1e7ab6;
}

body.supplier .bg-img {
    position: absolute;
    height: 33.33333vh;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    /*background-attachment: fixed;*/
    background: url(/top/img/sap01.png);
    background-position: 20px 0px;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 99
}

body.supplier #banner .text_wrapper {
    height: 33.33333vh;
    display: -moz-flex;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.2rem;
    text-align: center;
}

body.supplier #banner .text_wrapper p {
    text-align: center;
    font-size: 1rem;
    letter-spacing: 0.09rem;
    margin: 0;
}

body.supplier .overlay {
    background: rgba(0, 0, 0, 0.25);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

body.supplier #banner span {
    font-size: 1.7rem;
    letter-spacing: 0.09rem;
    display: block;
    margin-bottom: 1em;
    line-height: 1.2;
}



/*=========================================
 
  ポーシャペイとは？　/supplier/

===========================================*/

#first {
    float: left;
    width: 100%;
    margin: 0 0 50px;
}

#first h1 {
    color: #13191b;
}

#first h1 {
    text-align: left;
}

#first h4 {
    margin: 0 0 4em;
    line-height: 1.5;
    font-size: 1.3rem;
    font-weight: 300;
}

#first h3 {
    color: #1e7ab6;
    text-align: justify;
    line-height: 1.5;
    margin: 0 0 1em;
}

#first p {
    color: black;
    margin: 2em 0 75px;
    line-height: 1.5;
    font-size: 1.3rem;
    font-weight: 300;
}

.top_products_one {
    border: 2px solid white;
    padding: 15px;
    margin: 50px 0;
}

#first img {
    width: 100%;
}

#first .blue_inner {
    background: #689fc4;
    padding: 50px 0;
    margin: 50px 0 0;
}

#first .first-wrapper {
    float: left;
    width: 100%;
    margin: 3em 0 125px;
    display: flex;
    flex-wrap: wrap;
}

#first .first-inner {
    width: 90%;
    margin-left: 5% !important;
    background: #f6f6f6;
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
    border-radius: 50%;
    margin: 0 0 1em;
}

#first .image {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    width: 60%;
    height: 80px;
    margin-bottom: 0.5em
}

#first h2 {
    text-align: center;
    font-size: 1.5rem;
    font-weight: bold;
    margin: 0;
    line-height: 1;
}

#first .image01 {
    background-image: url(/image/about_about03.png);
}

#first .image02 {
    background-image: url(/image/about_about02.png);
}

#first .image03 {
    background-image: url(/image/about_about06.png);
}

#patent {
    float: left;
    width: 100%;
    margin: 0 0 50px;
}

#patent h1 {
    color: #13191b;
}

#patent h1,
#patent h4 {
    text-align: left;
}

#patent h3 {
    color: #1e7ab6;
    text-align: left;
}

#patent p {
    text-align: justify;
    color: black;
    margin: 1em 0 2em;
    line-height: 1.41;
    font-weight: 300;
    font-size: 1.3rem;
}

#patent .image {
    width: 100%;
    height: 100%;
    background: url(/image/patent.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    min-height: 200px;
}

.top_products_one {
    border: 2px solid white;
    padding: 15px;
    margin: 50px 0;
}

#patent img {
    width: 100%;
}

#patent .blue_inner {
    background: #689fc4;
    padding: 50px 0;
    margin: 50px 0 0;
}

@media(min-width:768px) {
    #first .image {
        height: 130px;
    }
}

/*=========================================
 
  サプライヤーソリューション　/supplier/solution/

===========================================*/

#header_sub {
    width: 100%;
}

#header_sub a {
    display: block;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

#header_sub .supplier-header a:hover {
    background-color: #1e7ab6;
}

#header_sub .active h4 {
    color: white !important;
}

#header_sub .background_wrapper {
    float: left;
    width: 100%;
    margin: 50px 0 0;
}

#header_sub h1 {
    color: #13191b;
    margin: 1em 0;
}

#header_sub h1,
#header_sub h4 {
    text-align: left;
}

#header_sub h3 {
    color: #424846;
    text-align: center;
}

#header_sub p {
    text-align: justify;
    color: black;
    margin: 40px 0;
    line-height: 2.5rem;
}

#header_sub img {
    width: 100%;
}

#header_sub .blue_inner {
    background: #689fc4;
    padding: 50px 0;
    margin: 50px 0 0;
}

#header_sub .solution_one {
    border: 1px solid #1e7ab6;
    padding: 12px 0 5px;
    margin-bottom: 1em;
}

#header_sub .text_wrapper {
    height: 100%;
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
}

#header_sub .scene_ec {
    background-image: url(/image/scene_ec.png);
}

#header_sub .scene_invoice {
    background-image: url(/image/scene_invoice.png);
}

#header_sub .scene_regi {
    background-image: url(/image/scene_regi.png);
}

#header_sub .scene_app {
    background-image: url(/image/scene_app.png);
}

#header_sub .scene_sbsc {
    background-image: url(/image/scene_sbsc.png);
}

#header_sub .scene_api {
    background-image: url(/image/scene_api.png);
}

#header_sub .bg-content {
    height: 50px;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    margin-bottom: 0px;
}

#header_sub h4 {
    text-align: justify;
    color: #1e7ab6;
    padding: 5px 0;
    letter-spacing: 0.09rem;
    font-size: 1.2rem;
    margin: 0;
}

#header_sub a {
    text-decoration: none;
}

#header_sub a .bg-content:hover {
    opacity: 0.8;
}

#header_sub span {
    float: left;
    width: 100%;
    margin-bottom: 1em;
}

@media(min-width:768px) {
    #header_sub .bg-content {
        height: 150px;
        background-size: contain;
    }

    #header_sub .solution_one {
        padding: 5px 0;
    }
}

.exception {
    background: white !important;
    z-index: -1;
}

.exception::after {
    content: none !important;
}

body.supplier .section {
    float: left;
    width: 100%;
}

body.supplier #ec,
body.supplier #invoice,
body.supplier #apps,
body.supplier #register,
body.supplier #sbsc,
body.supplier #api {
    margin: 50px 0;
}

body.supplier .section h1 {
    color: #13191b;
}

body.supplier .section h1,
body.supplier .section h4 {
    text-align: left;
}

body.supplier .section h3 {
    color: #424846;
    text-align: center;
}

body.supplier .section p {
    color: black;
    line-height: 1.41;
    font-weight: 300;
}

body.supplier .section .top_products_one {
    border: 2px solid white;
    padding: 15px;
    margin: 50px 0;
}

body.supplier .section img {
    width: 100%;
}

body.supplier .section .blue_inner {
    background: #689fc4;
    padding: 50px 0;
    margin: 50px 0 0;
}

body.supplier .section .function_wrapper {
    float: left;
    width: 100%;
    border: 1px solid #1e7ab6;
    height: 100%;
    padding: 2em 1em 1em;
}

body.supplier .section .function_title {
    text-align: center;
    font-size: 22px;
    font-weight: 500;
    float: left;
    width: 100%;
    margin: 0 0 0.5em;
    line-height: 1.2;
}

body.supplier .section .function_wrapper p {
    float: left;
    width: 100%;
    line-height: 1.5;
    font-size: 1.2rem;
}

body.supplier .section .scene_bg {
    height: 100%;
    z-index: -1;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
}

@media(min-width:768px) {
    body.supplier .section .function_wrapper {
        padding: 1em;
    }
}

@media (min-width: 576px) {
    body.supplier .section .scene_bg {
        height: 138px;
        margin: 0 0 0.5em;
    }
}

/*=========================================
 
    サプライヤーFAQ　/supplier/faq/

===========================================*/
#faq {
    float: left;
    width: 100%;
    margin: 0 0 50px;
}

#faq h1 {
    color: #13191b;
}

#faq h1,
#faq h4 {
    text-align: left;
}

#faq h3 {
    color: #424846;
    text-align: center;
}

#faq p {
    text-align: justify;
    color: black;
    margin: 0;
    line-height: 1.5;
}

#faq .answer_text p {
    font-weight: 400;
}

.top_products_one {
    border: 2px solid white;
    padding: 15px;
    margin: 50px 0;
}

#faq img {
    width: 100%;
}

#faq .blue_inner {
    background: #689fc4;
    padding: 50px 0;
    margin: 50px 0 0;
}

.portia_faq {
    background: rgb(255, 255, 255);
}

.portia_faq h1 {
    font-weight: 400;
    font-size: 40px;
}

.portia_faq .logo {
    display: flex;
}

.portia_faq .text {
    font-weight: 500;
    text-align: center;
    margin: 30px 15px;
}

.portia_faq h4 {
    text-align: center;
}

.portia_faq h3 {
    margin-top: 75px;
}

@media (max-width: 767px) {
    .portia_faq h1 {
        font-weight: bold;
        font-size: 18px;
        margin: 5px 0;
    }

    .portia_faq {
        padding: 15px 0;
    }

    .portia_faq .text {
        font-size: 13px;
        font-weight: 500;
    }

    .portia_faq .detail_link a .button__bw__text {
        text-align: center;
    }
}

#accordion_faq dt {
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: 350px center;
    border: dotted 1px #ccc;
    padding: 15px 60px 15px 15px;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    font-size: 15px;
    text-align: justify;
    margin: 10px 0;
}

#accordion_faq dt span,
#accordion_faq dd span {
    margin-bottom: 0.5em;
}

#accordion_faq dt span.question {
    background: #1e7ab6;
    color: white;
    padding: 0 15px;
    margin-right: 10px;
    border-radius: 3px;
    display: inline-flex;
}

#accordion_faq dd span.answer {
    background: #fc0;
    font-weight: bold;
    padding: 0 15px;
    margin-right: 10px;
    border-radius: 3px;
    display: inline-flex;
}

#accordion_faq dt::after {
    content: '';
    width: 15px;
    height: 15px;
    border: 0px;
    border-bottom: solid 2px #1e7ab6;
    border-right: solid 2px #1e7ab6;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    right: 50px;
    margin-top: 0px;
}

#accordion_faq dd {
    display: none;
    margin: 0;
    padding: 15px;
    font-size: 15px;
    text-align: justify;
}

#accordion_faq dt.active::after {
    content: '';
    width: 15px;
    height: 15px;
    border: 0px;
    border-top: solid 2px #1e7ab6;
    border-left: solid 2px #1e7ab6;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    right: 50px;
    margin-top: 7px;
}

#accordion_faq img {
    margin: 50px 0 15px;
}

#accordion_faq dt.over {
    background-color: #CCC;
}

.portia_faq .detail_link {
    float: left;
    border: 2px solid #56598A;
    margin: 15px 0;
    width: 100%;
}

.portia_faq .detail_link a {
    padding: 40px 15px;
    color: #56598A;
    font-weight: 500;
    display: block;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    float: right;
    width: 100%;
}

.portia_faq .detail_link a .button__bw__text {
    margin: 28px 0;
    font-weight: 500;
    font-size: 17px;
}

.portia_faq .detail_link a:hover {
    color: #fff;
    background: #56598A;
}

.portia_faq .button__bw {
    width: 100%;
    float: left;
}

.portia_faq .contact_button span {
    margin-top: 15px;
    width: 100%;
    display: block;
    text-align: center;
    box-shadow: 1px 2px 4px #999999;
    color: #fff;
    border-radius: 3px;
    background: #56598A;
}

.portia_faq .contact_button span a {
    display: block;
    line-height: 65px;
    color: #fff;
    font-weight: 500;
    padding: 0 15px;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

.portia_faq .contact_button span a:hover {
    display: block;
    color: #fff;
    font-weight: 500;
    padding: 0 15px;
    background: #343660;
    border: 0px solid #fff;
    border-radius: 3px;
}

.portia_faq .answer_text {
    display: inline-flex;
    width: calc(100% - 20px);
}

.portia_faq .question_text {
    display: inline-flex;
    width: calc(100% - 12px);
    font-weight: 300;
}

/*_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣ 
　　　   　　　
4. for バイヤー

_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣ */

#about-buyer {
    float: left;
    width: 100%;
    margin: 0 0 50px;
}

#about-buyer h1 {
    color: #13191b;
}

#about-buyer h1,
#about-buyer h4 {
    text-align: left;
}

#about-buyer h3 {
    color: #424846;
    text-align: left;
    padding: 0.7em 0;
    line-height: 1.5;
}

#about-buyer p {
    color: black;
    font-weight: 300;
}

#about-buyer p small {
    display: block;
    font-weight: 100;
    text-indent: -1em;
    padding-left: 1em;
}

#about-buyer .top_products_one {
    border: 2px solid white;
    padding: 15px;
    margin: 50px 0;
}

#about-buyer img {
    width: 100%;
}

#about-buyer .blue_inner {
    background: #689fc4;
    padding: 50px 0;
    margin: 50px 0 0;
}

#about-buyer .portia_fee {
    margin: 20px 0;
}

#about-buyer .portia_fee h3 {
    padding: 0;
    margin: 0;
    position: absolute;
    bottom: 0;
    right: 0;
    font-weight: bold;
}

#about-buyer .portia_fee h2 {
    margin: 0;
    font-weight: bold;
    font-size: 4rem;
    text-align: center;
    width: 100%;
    letter-spacing: 0.2rem;
}

#about-buyer .portia_fee h2 span {
    font-size: 40%;
    padding: 0 0.1em;
}

#about-buyer .side-about-img01 {
    width: 100%;
    height: 100%;
    background: url(/image/donna_01.jpg);
    background-position: right center;
    background-repeat: no-repeat;
    background-size: contain;
}

#about-buyer .side-about-img02 {
    width: 100%;
    height: 100%;
    background: url(/image/donna_02.jpg);
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
}

#about-buyer .about-buyer-inner {
    border: 2px solid #1e7ab6;
    padding: 0em 16px 2.5em;
}

#about-buyer .about-buyer-inner p {
    text-align: center;
}

body.buyer #banner {
    width: 100%;
    position: relative;
    height: 33.33333vh;
    background: #fabd1b;
}

body.buyer .bg-img {
    position: absolute;
    height: 33.33333vh;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    /*background-attachment: fixed;*/
    background: url(/top/img/buy01.png);
    background-position: right 0px;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 99
}

body.buyer #banner .text_wrapper {
    height: 33.33333vh;
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
    color: white;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.2rem;
    text-align: center;
}

body.buyer #banner .text_wrapper p {
    text-align: center;
    font-size: 1rem;
    letter-spacing: 0.09rem;
    margin: 0;
}

body.buyer .overlay {
    background: rgba(0, 0, 0, 0.25);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
}

body.buyer #banner span {
    font-size: 1.7rem;
    letter-spacing: 0.09rem;
    display: block;
    margin-bottom: 1em;
    line-height: 1.2;
}

@media(min-width:768px) {
    #about-buyer .portia_fee h2 {
        font-size: 8rem;
    }

    #about-buyer .about-buyer-inner {
        padding: 2em 16px 4.5em;
    }
}

#condition {
    float: left;
    width: 100%;
}

#condition h1 {
    color: #13191b;
}

#condition h1,
#condition h4 {
    text-align: left;
}

#condition h3 {
    color: #424846;
    text-align: center;
    padding: 1em 0 0;
    font-size: 2rem;
    margin: 0;
}

#condition h3 span {
    -webkit-text-emphasis: filled dot #1e7ab6;
    text-emphasis: filled dot #1e7ab6;
}

/* safari */
#condition h3 span ruby rt {
    -webkit-display: none;
}

/* chrome opera */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
    #condition h3 span ruby rt {
        display: none;
    }
}

#condition p {
    text-align: justify;
    color: black;
}

#condition .top_products_one {
    border: 2px solid white;
    padding: 15px;
    margin: 50px 0;
}

#condition img {
    width: 100%;
}

#condition .blue_inner {
    background: #689fc4;
    padding: 50px 0;
    margin: 50px 0 0;
}

#condition .recomend {
    padding: 15px;
}

#condition .recomend h3 {
    margin: 0px 0 15px;
    text-align: left;
    padding: 0 15px;
    line-height: 2.8rem;
    background: #1e7ab6;
    color: white;
}

#condition .recomend p {
    float: left;
    padding: 10px 15px;
    font-size: 23px;
    font-weight: bold;
}

#condition .recomend span {
    width: 33px;
    height: 30px;
    float: left;
    background: url(https://image.shutterstock.com/z/stock-vector-tick-check-mark-icon-741314323.jpg)center center no-repeat;
    background-size: cover;
    margin-right: 24px;
}

#condition .recomend font {
    font-size: 2rem;
    margin-right: 15px;
    font-weight: bold;
}

#flow-page {
    float: left;
    width: 100%;
    margin: 50px 0;
}

#flow-page h1 {
    color: #13191b;
}

#flow-page h1 {
    text-align: left;
}

#flow-page h2 {
    text-align: center;
    margin: 1em 0;
}

#flow-page h3 {
    color: #424846;
    text-align: center;
}

#flow-page p {
    text-align: center;
    color: black;
    line-height: 1.41;
    font-weight: 300;
}

#flow-page small {
    text-align: right;
    width: 100%;
    display: block;
    font-weight: 100;
}

#flow-page .top_products_one {
    border: 2px solid white;
    padding: 15px;
    margin: 50px 0;
}

#flow-page img {
    width: 100%;
}

#flow-page .blue_inner {
    background: #689fc4;
    padding: 50px 0;
    margin: 50px 0 0;
}

#flow-page .flow_frame {
    border: 5px solid #e8ebe9;
    padding: 50px 0;
}

#flow-page .flow_detail {
    float: left;
    width: 100%;
}

#flow-page .flow_detail p {
    text-align: justify;
    font-size: 1.1rem;
    line-height: 1.5rem;
    margin: 1em 0;
    float: left;
}

#flow-page .flow_detail small {
    float: left;
    float: right;
    font-weight: 100;
}

#flow-page .flow_detail h3 {
    text-align: justify;
    font-weight: 500;
    font-size: 1.4rem;
    float: left;
    padding-top: 0.7em;
}

#flow-page h4 {
    margin: 30px 0 0;
    float: left;
    width: 100%;
}

#flow-page .flow_detail_title {
    float: left;
}

#flow-page .flow_detail_title span {
    float: left;
    margin-right: 15px;
}

#flow-page .flow_detail_title span b {
    width: 35px;
    text-align: center;
    background: #1e7ab6;
    color: white;
    float: left;
    line-height: 35px;
    border-radius: 50%;
    font-size: 18px;
}

#flow-page .arrow {
    width: 50px;
    height: 50px;
    margin: 7px auto;
    position: relative;
    transform: rotate(90deg);
}

#flow-page .arrow_parts01 {
    width: 25px;
    height: 20px;
    background: #fc0;
    position: absolute;
    right: 50%;
    top: 50%;
    margin-top: -10px;
}

#flow-page .arrow_parts02 {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 25px 0 25px 25px;
    border-color: transparent transparent transparent #fc0;
    position: absolute;
    left: 50%;
}

#payment {
    float: left;
    width: 100%;
    margin: 0 0 50px;
}

#payment .payment-wrapper {
    background: #f6f6f6;
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
    border-radius: 50%;
    margin: 1em 0;
}

#payment .image {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    width: 60%;
    height: 200px;
}

#payment h2 {
    text-align: center;
    font-size: 1.2rem;
}

#payment .image01 {
    background-image: url(/image/payment01.png);
}

#payment .image02 {
    background-image: url(/image/payment02.png);
}

#payment .image03 {
    background-image: url(/image/payment03.png);
}

@media(min-width:768px) {
    #flow-page .arrow {
        margin: 0 auto;
        transform: rotate(54deg);
    }

    #flow-page .flow_detail h3 {
        padding-top: 0.4em;
    }

    #payment h2 {
        text-align: center;
        font-size: 1.8rem;
    }
}

#header_sub {
    width: 100%;
    background: #fc0;
}

#header_sub::after {
    content: '';
    border-top: 15px solid #fc0;
    border-right: 20px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 20px solid transparent;
    position: absolute;
    left: 50%;
    margin-left: -20px;
}

#header_sub h1 {
    color: #13191b;
    margin: 1em 0;
}

#header_sub h1,
#header_sub h4 {
    text-align: left;
}

#header_sub h3 {
    color: #424846;
    text-align: center;
}

#header_sub p {
    text-align: justify;
    color: black;
    margin: 40px 0;
    line-height: 2.5rem;
}

#header_sub img {
    width: 100%;
}

#header_sub .blue_inner {
    background: #689fc4;
    padding: 50px 0;
    margin: 50px 0 0;
}

#header_sub ul {
    margin: 27px auto;
    padding: 0;
    width: 100%;
    max-width: 470px;
}

body.supplier #header_sub ul {
    max-width: 570px;
}

body.technology #header_sub ul {
    max-width: 720px;
}

#header_sub li {
    display: inline-block;
    padding: 0 15px;
    font-size: 1.3rem;
    line-height: 3rem;
    letter-spacing: 0.09rem;
}

#header_sub li a {
    color: #424846;
    font-weight: bold;
}

#header_sub li a:hover {
    text-decoration: none;
}

#ease {
    float: left;
    width: 100%;
    margin: 0 0 50px;
}

#ease h1 {
    color: #13191b;
}

#ease h4 {
    padding: 8px 0;
    font-weight: bold;
    color: #1d79b6;
    font-size: 2rem;
    margin-top: 50px;
}

#ease .scene_bg p {
    font-size: 2.0rem;
}

#ease p {
    text-align: center;
    color: black;
    margin: 40px 0;
    line-height: 2.5rem;
}

#ease img {
    width: 100%;
}

#ease .scene_one {
    background-image: url('/image/buyer-ease01.svg');
}

#ease .scene_two {
    background-image: url('/image/buyer-ease02.svg');
}

#ease .scene_three {
    background-image: url('/image/buyer-ease03.svg');
}

#ease .scene_four {
    background-image: url('/image/buyer-ease04.svg');
}

#ease .scene_five {
    background-image: url('/image/buyer-ease05.svg');
}

#ease .scene_bg {
    height: 34px;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    margin: 1em 0;
    width: 100%;
}

#ease .text_wrapper {
    height: 450px;
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
}

#ease .overlay {
    background: rgba(255, 255, 255, 0.6);
    width: 100%;
    height: 100%;
}

#ease .function_wrapper {
    float: left;
    width: 100%;
    /*border: 1px solid #1e7ab6;*/
    height: 100%;
}

#ease .function_title {
    text-align: center;
    font-size: 1rem;
    width: 100%;
    color: #1e7ab6;
}

#ease .function_wrapper p {
    margin: 1em 0;
    line-height: 1.41;
    font-size: 16px;
    text-align: left;
}

#ease .ease-wrapper {
    background-color: #e7f1fa;
    display: -moz-flex;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    margin: 1em 0;
    width: 100%;
}

@media(min-width:768px) {
    #ease .function_title {
        font-size: 1.5rem;
    }

    #ease .scene_bg {
        height: 100px;
    }
}

/*_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣ 
　　　   　　　
5. Cases

_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣ */

#case {
    float: left;
    width: 100%;
    background: white;
}

#case .background_wrapper {
    float: left;
    width: 100%;
    margin: 50px 0;
}

#case h2 {
    color: #13191b;
    margin-bottom: 0.5em;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.41;
}

#case span {
    font-size: 1.4rem;
    font-weight: 500;
}

#case p {
    color: black;
    margin: 1em 0;
    font-size: 15px;
    font-weight: 300;
}

#case p b {
    margin: 1em 0;
    display: block;
}

#case img {
    width: 100%;
}

#case .case_wrapper {
    padding: 2.5em;
    float: left;
    background: #f6f6f6;
    height: 100%;
}

#case .case_wrapper img {
    margin-bottom: 16px;
    border: 1px solid #e0e0e0;
}

#case #closed .case_wrapper {
    padding: 0;
}

#case .margin-bottom {
    margin-bottom: 50px;
}

#case .image {
    height: 264px;
    width: 100%;
    background-size: contain;
    background-color: #f6f6f6;
    background-position: center center;
    background-repeat: no-repeat;
    margin-bottom: 16px;
    border: 1px solid #e0e0e0;
    background-color: white;
}

#case .text-area {
    margin: 0 0 1em;
}

#case .p_button_area {
    margin: 0;
    float: left;
    width: 100%;
}

body.case #banner {
    width: 100%;
    position: relative;
    height: 33.33333vh;

}

body.case .bg-img {
    position: absolute;
    height: 33.33333vh;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    /*background-attachment: fixed;*/
    background: url(/image/portia_s_dounyuu.png);
    background-position: left center;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 99;
}

body.case #banner .text_wrapper {
    height: 33.33333vh;
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
    color: white;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.2rem;
    text-align: center;
}

body.case #banner .text_wrapper p {
    text-align: center;
    font-size: 1rem;
    margin: 0;
}

body.case #banner span {
    font-size: 1.7rem;
    letter-spacing: 0.09rem;
    display: block;
    margin-bottom: 1em;
}

body.case .overlay {
    background: rgba(0, 0, 0, 0.25);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
}

#case #closed .bg-image {
    background-image: url(/image/partner-close.jpg);
    background-position: right center;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: white;
}

#case #closed h2 {
    text-align: center;
    color: #1e7ab6;
    font-weight: bold;
    margin: 1em 0;
}

#case #closed h3 {
    font-size: 1.5rem;
    padding: 4em 1em;
    font-weight: bold;
}

#case #closed h3 b {
    -webkit-text-emphasis: filled dot #13191b;
    text-emphasis: filled dot #13191b;
}

/* safari */
#case #closed h3 b ruby rt {
    -webkit-display: none;
}

/* chrome opera */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
    #case #closed h3 b ruby rt {
        display: none;
    }
}

#case #closed h3 {
    text-align: justify;
}

#case #cases-contact h2 {
    text-align: center;
    color: #13191b;
    font-size: 1.7rem;
    font-weight: bold;
    margin: 0 0 1em;
}

#case #closed .text {
    padding: 1em 2em;
}

/*_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣ 
　　　   　　　
6. Partner

_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣ */

#flow {
    float: left;
    width: 100%;
    margin: 0;
}

#flow h1 {
    color: #13191b;
}

#flow h1,
#flow h4 {
    text-align: left;
}

#flow .scene_bg p {
    font-size: 2.0rem;
}

#flow .scene_text {
    float: left;
    width: 100%;
}

#flow p {
    color: #13191b;
}

#flow .overlay p {
    color: white;
    text-align: center;
    margin: 50px 0 0;
    float: left;
    width: 100%;
}

#flow img {
    width: 100%;
}

#flow .system_bg {
    background: url('/image/kigyoukann.png');
    z-index: -1;
    /*background-attachment: fixed;*/
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    margin-bottom: 50px;
}


#flow .text_wrapper {
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
}

#flow .overlay {
    background: rgba(0, 0, 0, 0);
    width: 100%;
    height: 100%;
}

#flow .flow_wrapper {
    float: left;
    width: 100%;
    margin: 30 0 30px;
    background: white;
    padding: 10px;
    border-radius: 3px;
}

#flow table {
    width: 100%;
    height: 100%;
}

#flow .flow_wrapper .order {
    width: 16%;
    text-align: center;
    background: #1e7ab6;
    padding: 2em 0.5em;
    height: 100%;
    font-weight: 500;
    border-radius: 3px;
    color: white;
    font-size: 1.1rem;
}

#flow .flow_wrapper .arrow {
    text-align: center;
    width: 5%;
    height: 100%;
    color: white;
    position: relative;
}

#flow .flow_wrapper .arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 40%;
    margin-top: -9px;
    border: 11px solid transparent;
    border-left: 9px solid black;
    z-index: 1;
}

@media(max-width:767px) {

    #flow .flow_wrapper table,
    #flow .flow_wrapper tbody,
    #flow .flow_wrapper tr,
    #flow .flow_wrapper td,
    #flow .flow_wrapper th {
        display: block !important;
        width: 100% !important;
    }

    #flow .flow_wrapper .arrow::after {
        left: 50%;
        margin-top: -4px;
        transform: rotate(90deg);
        margin-left: -10px;
    }

    #flow .flow_wrapper .order {
        padding: 1em 0.5em;
    }
}

#partner-contact {
    float: left;
    width: 100%;
    margin: 50px 0;
}

#partner-contact p {
    padding: 0 0 1em;
    margin: 0;
    color: #845837;
    font-size: 1.3rem;
    text-align: right;
}

#partner-contact .scene_bg {
    background-color: #f3f6fd;
    z-index: -2;
}

#partner-contact .scene_bg-inner {
    height: 100%;
    background-image: url('/image/kigyoukann.png');
    z-index: -1;
    background-position: left center;
    background-size: contain;
    background-repeat: no-repeat;
}

#partner-contact .p_button_area {
    margin: 0;
}

#partner-contact .partner-contact-wrapper {
    width: 100%;
    padding: 4em 0;
}

@media(min-width:768px) {
    #partner-contact p {
        text-align: left;
    }
}

#intro {
    float: left;
    width: 100%;
    background: #f6f6f6;
}

#intro .background_wrapper {
    float: left;
    width: 100%;
    margin: 0;
}

#intro h1 {
    color: #13191b;
}

#intro h1,
#intro h4 {
    text-align: left;
}

#intro .scene_bg p {
    font-size: 2.0rem;
}

#intro .scene_text {
    float: left;
    width: 100%;
}

#intro p {
    color: #13191b;
    font-weight: 300;
    margin: 0;
}

#intro .overlay p {
    color: white;
}

#intro img {
    width: 100%;
}

#intro .partner_wrapper {
    float: left;
    margin-bottom: 30px;
}

#intro .partner_wrapper a {
    display: block;
}

#intro .partner_wrapper a:hover {
    text-decoration: none;
}

#intro .partner_wrapper a:hover>.partner_one {
    background-color: #f3f6fd;
}

#intro .partner_one {
    background: white;
    padding: 35px;
    margin-bottom: 16px;
    border-radius: 40px 0 40px 0;
}

#intro .partner_one span {
    border: 2px solid #1e7ab6;
    border-radius: 50%;
    float: left;
    margin: 1em 0 8px;
    padding: 2px 6px;
    color: #1e7ab6;
    height: 57px;
    width: 57px;
    text-align: center;
    font-size: 0.8rem;
    line-height: 1;
}

#intro .partner_one span+span {
    margin-left: 7px;
}

#intro .partner_one .image {
    height: 80px;
    z-index: -1;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
}

#intro .partner_one .company_one {
    background-image: url('/image/ecrider.jpg');
}

#intro .partner_one .company_two {
    background-image: url('/image/ecnext.png');
}

#intro .partner_one .company_three {
    background-image: url('/image/PARKINGPAY_tate02.png');
}

#intro .partner_one .company_four {
    background-image: url('/image/spreadoffice.png');
}

#intro .partner_one .co-name {
    float: left;
    padding: 9px 0px;
    padding-left: 66px;
    padding-right: 21px;
    position: relative;
}

#intro .partner_one .co-name::before {
    content: '';
    width: 45px;
    height: 68px;
    background: url('/image/intro-ec.png');
    background-size: contain;
    position: absolute;
    background-repeat: no-repeat;
    background-position: center center;
    left: 0;
    top: 50%;
    margin-top: -34px;
}

#intro .partner_one .co-name-smart::before {
    background: url('/image/intro-smart.png');
    background-size: contain;
    background-repeat: no-repeat;
}

#intro .partner_one .co-name-spread::before {
    background: url('/image/intro-spread.png');
    background-size: contain;
    background-repeat: no-repeat;
}

#intro .partner_one .co-name h3 {
    font-size: 2.2rem;
    margin-bottom: 0;
    color: #13191b;
}

#intro .partner_one .co-name h4 {
    font-size: 1rem;
    color: #13191b;
    font-weight: 300;
    padding-top: 0.25em;
}

#intro .partner_one .co-status {
    float: left;
    margin-bottom: 0.5em;
    width: 100%;
    text-align: center;
}

#intro .partner_one .co-status .co-status-inner {
    display: inline-block;
}

#intro .partner_one .co-address {
    border-top: 3px dotted #f5bf2c;
    text-align: right;
    margin-top: 1.5em;
    padding-top: 0.75em;
}

#intro .partner_one .co-address p {
    display: inline;
    padding-left: 1em;
}

#paysle {
    position: relative;
}

/*#paysle::after{
content: '2020年春頃\APortiaPAYアプリ導入完了予定';
    white-space: pre;
    position: absolute;
    background: #fc0;
    color: #13191b;
    font-size: 11.5px;
    padding: 1em;
    top: -5px;
    left: -12px;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
    line-height: 1.2;
    font-weight: 500;
}*/
@media(min-width:768px) {
    #intro .partner_one .image {
        height: 170px;
    }

    #intro .partner_one span {
        margin: 0 0 8px;
        height: 86px;
        width: 86px;
        line-height: 1.5;
    }

    #intro .partner_one .co-status {
        float: right;
        margin-bottom: 1em;
        width: auto;
    }

    /*#paysle::after{
    font-size: 13.5px;
    left: -16px;   
    }*/
}

#else-plat {
    float: left;
    width: 100%;
    background: #f6f6f6;
}

#else-plat .background_wrapper {
    float: left;
    width: 100%;
    margin: 0 0 50px;
}

#else-plat h2 {
    text-align: center;
    font-size: 1.2rem;
    font-weight: 300;
    margin: 0;
    position: relative;
    margin: 0 0 1em;
}

#else-plat h2::before {
    content: '';
    width: 80%;
    height: 1px;
    background: #ccc;
    position: absolute;
    left: 50%;
    margin-left: -40%;
    top: -7px;
}

#else-plat .plat-circle {
    background: white;
    border-radius: 50%;
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
}

#else-plat .img {
    width: 60%;
    height: 85px;
}

#else-plat .image01 {
    background-image: url(/image/cscart.jpg);
}

#else-plat .image02 {
    background-image: url(/image/eccube.png);
}

#else-plat .image03 {
    background-image: url(/image/ecbeing.jpg);
}

#else-plat .image04 {
    background-image: url(/image/aladdinec.png);
}

@media(min-width:768px) {
    #else-plat .img {
        width: 60%;
        height: 120px;
    }
}

body.technology #banner {
    width: 100%;
    position: relative;
    height: 33.33333vh;

}

body.technology .bg-img {
    position: absolute;
    height: 33.33333vh;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    /*background-attachment: fixed;*/
    background: url(/image/portia_s_Developer_Partner.png);
    background-position: right center;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 99;
}

body.technology #banner .text_wrapper {
    height: 33.33333vh;
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
    color: white;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.2rem;
    text-align: center;
}

body.technology #banner span {
    font-size: 1.7rem;
    letter-spacing: 0.09rem;
    display: block;
    margin-bottom: 1em;
}

body.technology #banner .text_wrapper p {
    text-align: center;
    font-size: 1rem;
    margin: 0;
}

body.technology #banner .overlay {
    background: rgba(0, 0, 0, 0.25);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
}

body.technology #partner-contact .overlay {
    background: rgba(0, 0, 0, 0);
}

#system {
    float: left;
    width: 100%;
    margin: 0;
}

#system h1 {
    color: #13191b;
}

#system h1,
#system h4 {
    text-align: left;
}

#system .scene_bg {
    height: 130px;
    z-index: -1;
    /*background-attachment: fixed;*/
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    margin-bottom: 100px;
}

#system .scene_bg p {
    font-size: 2.0rem;
}

#system .scene_text {
    width: 100%;
}

#system p {
    color: #13191b;
    font-weight: 300;
    margin: 1em 0;
}

#system .overlay p {
    color: white;
}

#system img {
    width: 100%;
}

#system .text_wrapper {
    height: 250px;
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
}

#system .overlay {
    background: rgba(0, 0, 0, 0.25);
    width: 100%;
    height: 100%;
}

#system .scene_wrapper {
    float: left;
    width: 100%;
    padding: 16px;
}

#system .scene_wrapper span {
    width: 2.5rem;
    height: 2.5rem;
    float: left;
    text-align: center;
    background: #1e7ab6;
    border-radius: 50%;
    vertical-align: middle;
    line-height: 2.5rem;
    color: white;
    font-size: 1.8rem;
    margin-right: 0.5em;
}

#system .scene_title {
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.5rem;
    width: 100%;
    float: left;
    margin: 0 0 0.8em;
}

#system .scene_title .text {
    float: left;
    width: calc(100% - 2.5rem - 0.5em);
}

#system .scene01 {
    background: url(/image/system01.jpg);
}

#system .scene02 {
    background: url(/image/system02.jpg);
}

#system .scene03 {
    background: url(/image/system03.jpg);
}

#system .scene04 {
    background: url(/image/system04.jpg);
}

#system .scene_bg {
    height: 130px;
    z-index: -1;
    /* background-attachment: fixed; */
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    margin: 16px 0;
}

@media(min-width:768px) {
    #target .scene_bg {
        height: 200px;
    }

    #system .scene_bg {
        height: 250px;
    }
}

#target {
    float: left;
    width: 100%;
    margin: 0 0 50px;
}

#target h1 {
    color: #13191b;
}

#target h1,
#target h4 {
    text-align: left;
}

#target .scene_bg p {
    font-size: 2.0rem;
}

#target .scene_text {
    float: left;
    width: 100%;
}

#target p {
    color: #13191b;
    font-weight: 300;
    margin: 1em 0;
}

#target .overlay p {
    color: white;
}

#target img {
    width: 100%;
    padding: 10px 15px;
}

#target .partner_one {
    float: left;
    width: 100%;
    border: 1px solid #1e7ab6;
    height: 100%;
}

#target .target_title {
    text-align: center;
    font-size: 1.2rem;
    font-weight: 500;
    margin: 0.7em 0;
}

#target .scene01 {
    background: url(/image/target01.png);
}

#target .scene02 {
    background: url(/image/target02.png);
}

#target .scene03 {
    background: url(/image/target03.png);
}

#target .scene04 {
    background: url(/image/target04.png);
}

#target .scene05 {
    background: url(/image/target05.png);
}

#target .scene06 {
    background: url(/image/target06.png);
}

#target .scene_bg {
    height: 75px;
    z-index: -1;
    /* background-attachment: fixed; */
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    margin: 1em 0;
}

@media(min-width:768px) {
    #target .scene_bg {
        height: 200px;
    }

    #target .target_title {
        font-size: 1.8rem;
    }
}

/*_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣ 
　　　   　　　
7. Contact

_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣ */
body.contact #banner .text_wrapper {
    height: 33.33333vh;
    display: -moz-flex;
    display: flex;
    -moz-flex-direction: column;
    flex-direction: column;
    -moz-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    align-items: center;
    color: white;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.2rem;
    text-align: center;
}

#contact {
    float: left;
    width: 100%;
    margin: 50px 0;
}

#contact h1 {
    color: #1f4b7f;
    margin: 1em 0;
}

#contact h1,
#contact h4 {
    text-align: left;
}

#contact h3 {
    color: #424846;
    text-align: left;
    margin: 40px 0;
}

#contact h3.goal {
    text-align: center;
    letter-spacing: 0.2rem;
    padding: 60px 0;
}

#contact h2 {
    font-size: 1.6rem;
    font-weight: bold;
}

#contact p {
    color: black;
    line-height: 1.41;
    margin: 0;
    padding: 0 0 1em;
    font-weight: 300;
}

#contact .top_products_one {
    border: 2px solid white;
    padding: 15px;
    margin: 50px 0;
}

#contact img {
    width: 100%;
}

#contact .layout {
    height: 100%;
    border: 1px solid #d8f2f9;
}

#contact .title_layout {
    background: #d8f2f9;
}

#contact .title_layout h5 {
    color: #208dc3;
    padding: 0.5em 1em;
    font-size: 1.5rem;
    margin: 0;
    letter-spacing: 0.1rem;
    font-weight: bold;
}

#contact .detail_layout {
    padding: 2em;
}

#contact .layout .layout_inner {
    background: #d8f2f9;
    padding: 2em 1em;
    height: 100%;
}

#contact .layout .layout_inner .text-wrapper {
    height: 100%;
}

#contact .layout_icon01 {
    background-image: url(/image/contact_before01.png);
}

#contact .layout_icon02 {
    background-image: url(/image/contact_before02.png);
}

#contact .layout_icon03 {
    background-image: url(/image/contact_before03.png);
}

#contact .layout_icon04 {
    background-image: url(/image/contact_press.png);
}

#contact .layout_icon05 {
    background-image: url(/image/contact_else.png);
}

#contact .layout_photo01 {
    background-image: url(/image/toiawase_s_new01.png);
}

#contact .layout_photo02 {
    background-image: url(/image/toiawase_s_new02.png);
}

#contact .layout_photo03 {
    background-image: url(/image/contact_recruit01.png);
}

#contact .layout_photo04 {
    background-image: url(/image/contact_recruit02.png);
}

#contact .layout_icon {
    height: 100%;
    z-index: -1;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0;
}

#contact .layout_icon_select {
    height: 50px;
    z-index: -1;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0;
}

#contact .layout_inner h6 {
    text-align: center;
    margin: 13px 0;
    font-size: 1.5rem;
    font-weight: bold;
    color: #208dc3;
}

@media(min-width:768px) {
    #contact .layout_icon_select {
        height: 150px;
        margin: 1em 0;
    }
}

body.contact #banner {
    width: 100%;
    position: relative;
    height: 33.33333vh;

}

body.contact .bg-img {
    position: absolute;
    height: 33.33333vh;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    /*background-attachment: fixed;*/
    background: url(/image/portia_s_CONTACT02.png);
    background-position: left center;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 99
}

body.contact .overlay h3 {
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin: 0;
    padding: 0;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.2rem;
    text-align: center;
}

body.contact .overlay {
    background: rgba(0, 0, 0, 0.25);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
}

/* _/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣

    8. お問い合わせ /contact/mail.php

_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣ */
.alert {
    z-index: 99;
    top: 7rem;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 100%;
    max-width: 600px;
    box-shadow: rgb(33 33 52 / 10%) 0px 1px 4px;
}

.alert-danger {
    background-color: #f7dddc;
    border-color: #f4cbca;
}

.alert-animation {
    opacity: 0;
    top: 8rem;
    animation-name: fadeInAnime;
    animation-fill-mode: backwards;
    animation-duration: 3s;
    animation-timing-function: ease;
    animation-direction: normal;
}

@keyframes fadeInAnime {
    0% {
        opacity: 0;
        top: 8rem;
        z-index: 2;
    }

    10% {
        opacity: 1;
        top: 7rem;
        z-index: 5555;
    }

    90% {
        opacity: 1;
        top: 7rem;
        z-index: 5555;
    }

    100% {
        opacity: 0;
        top: 8rem;
        z-index: 2;
    }
}


#contact-page label.caution::after {
    content: '必須';
    color: red;
    margin-left: 1em;
    font-size: 0.9rem;
}

#contact-page label.ja::after {
    content: 'Required';
}

#contact-page input::placeholder {
    color: #ccc;
}

/* IE */
#contact-page input:-ms-input-placeholder {
    color: #ccc;
}

/* Edge */
#contact-page input::-ms-input-placeholder {
    color: #ccc;
}

#contact-page option {
    font-size: 1.2rem;
}

#contact-page .form-group span.label {
    font-weight: bold;
}

#contact-page .form-group {
    margin-bottom: 2em;
}

#contact-page textarea::placeholder {
    opacity: .4;
}

@media(max-width:767px) {}

body.contact #menu {
    width: 100%;
    float: left;
}

body.contact #menu ul {
    padding: 0;
    padding-top: 30px;
}

body.contact #menu li {
    padding: 0;
    margin: 0;
    border: 0px;
    width: 100%;
    float: left;
    border: 1px solid #319fd2;
    list-style: none;
    height: 100%;
}

body.contact #menu li a {
    padding: 5px 20px 15.5px;
    color: #319fd2;
    text-decoration: none;
    text-align: center;
    width: 100%;
    float: left;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    font-weight: 500;
    height: 100%;
    line-height: 1.41;
}

body.contact #menu li a:hover {
    background: #319fd2;
    color: white;
}

body.contact #menu h3.title {
    text-align: center;
    letter-spacing: 0.09rem;
    font-size: 1.3rem;
    padding: 40px 0 0;
}

body.contact #menu li a::after {
    content: '';
    width: 8.5px;
    height: 8.5px;
    border-top: solid 2px #319fd2;
    border-right: solid 2px #319fd2;
    -webkit-transform: rotate(45deg);
    transform: rotate(135deg);
    position: absolute;
    right: 50%;
    margin-right: -6px;
    display: block;
    bottom: 9px;
}

body.contact #menu li a.active::after {
    border-top: solid 2px white;
    border-right: solid 2px white;
}

@media(min-width:768px) {
    body.contact #menu li a {
        padding: 5px 20px 11.5px;
    }
}

@media(min-width:576px) {
    body.contact #menu li a {
        padding: 16px 20px 29.5px;
        font-size: 1.3rem;
        display: -moz-flex;
        display: flex;
        -moz-flex-direction: column;
        flex-direction: column;
        -moz-justify-content: center;
        justify-content: center;
        -moz-align-items: center;
        align-items: center;
    }

    body.contact #menu li a::after {
        width: 12.5px;
        height: 12.5px;
        margin-right: -12.5px;
        bottom: 15px;
    }
}

#contact-page form {
    font-size: 15px;
}

body.contact [role="alert"] {
    right: 0;
    min-width: 300px;
    z-index: 13;
}

body.contact .input-complete {
    display: none;
}

body.contact form input.form-control:focus,
body.contact form textarea.form-control:focus,
body.contact form select.form-select:focus {
    background-color: #eff2ff;
}


/* _/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣

    8. お問い合わせ確認画面 /contact/mail.php

_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣ */

.bg-grad {
    background-image: linear-gradient(270deg, rgba(249, 188, 18, 1), rgba(102, 188, 144, 1), rgba(30, 122, 182, 1));
}

.contact .countAlert {
    z-index: 9;
}

.contact .contact-count {
    box-shadow: 0px 3px 6px #00000029;
}

.contact .countAlert img {
    width: 50px;
}

.contact .countAlert span {
    display: inline-block;
    position: relative;
    transform: translateZ(25px);
    transform-origin: 50% 50% 25px;
}

.contact .countAlert span.active {
    transform: rotateX(90deg);
    transition: transform 0.32s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.contact .countAlert span.in {
    transform: rotateX(0deg);
    transition: transform 0.38s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.contact #check {
    background: rgba(102, 188, 144, 1);
    line-height: 1;
    padding: 1.5rem 1rem 1.4rem;
    font-size: 17px;
}

.contact #check:disabled {
    opacity: .6;
}

.contact input[type='radio']+label {
    cursor: pointer;
    opacity: .2;
    border: 2px solid #f9bc12;
}

.contact.after input[type='radio']+label,
.beforeunload {
    border: 2px solid #1e7ab6;
}

.beforeunload {
    opacity: .2;
}

.beforeunload:hover {
    opacity: 1;
}

.contact input[type='radio']:hover+label {
    opacity: 1;
}

.contact input[type='radio']+label img,
.beforeunload img {
    width: 39px;
}

.contact input[type='radio']+label p,
.beforeunload p {
    width: calc(100% - 39px);
}

.contact input[type='radio']:checked+label {
    opacity: 1;
    background: #fc0;
}

.contact.after input[type='radio']:checked+label {
    background: #1e7ab6;
    color: white;
}

@media(max-width:767px) {

    .contact input[type='radio']+label img,
    .beforeunload img {
        width: 27px;
    }

    .contact input[type='radio']+label p,
    .beforeunload p {
        width: calc(100% - 27px);
    }
}

/* _/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣

    8. PortiaPAYへ登録する前に　/entry/

_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣ */
#entry {
    float: left;
    width: 100%;
    margin: 50px 0;
}

#entry img {
    width: 100%;
}

#entry .gray-band {
    background: #f6f6f6;
    float: left;
    width: 100%;
    padding: 10px 0;
    margin-bottom: 50px;
}

#entry .title {
    margin: 50px 30px 0;
    display: block;
}

#entry .title h1 {
    font-size: 1.3rem;
    font-weight: bold;
    text-align: center;
    color: #1f7bb6;
    line-height: 1.4;
    margin: 0 0 3em;
    position: relative;
}

#entry .title h1::before {
    content: '';
    width: 72px;
    height: 72px;
    border-bottom: solid 4px #1f7bb6;
    border-left: solid 4px #1f7bb6;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    display: block;
    position: absolute;
    top: 50%;
    left: -50px;
    margin-top: -36px;
    margin-left: 0;
}

#entry .title h1::after {
    content: '';
    width: 72px;
    height: 72px;
    border-top: solid 4px #1f7bb6;
    border-right: solid 4px #1f7bb6;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    display: block;
    position: absolute;
    top: 50%;
    right: -50px;
    margin-top: -36px;
    margin-right: 0;
}

#entry .title h1 b {
    font-size: 1.6rem;
    line-height: 1.5;
}

#entry .title h1 b .emp {
    -webkit-text-emphasis: filled dot #1e7ab6;
    text-emphasis: filled dot #1e7ab6;
    display: inline;
}

/* safari */
#entry .title h1 b ruby rt {
    -webkit-display: none;
}

/* chrome opera */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
    #entry .title h1 b ruby rt {
        display: none;
    }
}

#entry .title h1 b .double {
    border-bottom: double 7px #1f7bb6;
    display: inline;
}

#entry .title h2 {
    font-size: 1.3rem;
    font-weight: 500;
    text-align: center;
    margin: 0 0 2.5em;
    line-height: 1.5;
    color: black;
    letter-spacing: 0;
}

#entry .title h2 span {
    font-size: 200%;
}

#entry .title h2 b {
    /*border-bottom:double;*/
}

#entry .title h3 {
    font-size: 1rem;
    text-align: center;
    padding: 3em 0 0;
    margin: 0 0 1em;
}

#entry .title .line {
    content: '';
    background: #1f7bb6;
    width: 3px;
    height: 100%;
    margin: 0 auto;
}

#entry .title .line-l {
    transform: rotate(-15deg);
}

#entry .title .line-r {
    transform: rotate(15deg);
}

#entry .p_button a {
    color: #1e7ab6;
    background: #e0e0e0;
}

#entry .main {
    float: left;
    width: 100%;
    margin: 0 0 30px;
}

#entry .main p {
    text-align: center;
    margin-bottom: 2em;
    line-height: 1.8;
}

#entry .main p b {
    border-bottom: double;
}

#entry a.close {
    opacity: 1;
}

@media(min-width:768px) {
    #entry .title .line {
        width: 6px;
    }

    #entry .title h2 {
        font-size: 1.8rem;
    }

    #entry .title h1 {
        font-size: 1.8rem;
    }

    #entry .title h1 b {
        font-size: 2.4rem;
    }

    #entry .title .line-l {
        transform: rotate(-30deg);
    }

    #entry .title .line-r {
        transform: rotate(30deg);
    }

    #entry .title h3 {
        font-size: 1.4rem;
    }
}

/* _/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣

    9. 運営について /company

_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣_/￣ */
#company-about {
    float: left;
    width: 100%;
    margin: 50px 0;
}

#company-about h1 {
    color: #13191b;
}

#company-about h1,
#company-about h4 {
    text-align: left;
    letter-spacing: 0.5rem;
}

#company-about p {
    color: #13191b;
    text-align: center;
    margin: 50px 0;
}

#company-privacy {
    float: left;
    width: 100%;
    margin-bottom: 50px;
}

#company-privacy .company-privacy-wrapper {
    margin: 2em 0 0;
    float: left;
}

#company-privacy .company-privacy-inner {
    margin: 1em 0;
    float: left;
}

#company-privacy h2 {
    font-size: 1.5rem;
    border-bottom: 2px solid #1e7ab6;
    border-left: 2px solid #1e7ab6;
    font-weight: 500;
    margin-bottom: 1em;
    padding: 0.2em 0.5em;
}

#company-privacy h3 {
    font-size: 1.3rem;
    font-weight: 300;
}

#company-privacy p {
    font-size: 1rem;
    font-weight: 100;
}

#company-security {
    float: left;
    width: 100%;
    margin-bottom: 50px;
}

#company-security .company-security-wrapper {
    margin: 2em 0 0;
    float: left;
}

#company-security .company-security-inner {
    margin: 1em 0;
    float: left;
}

#company-security h2 {
    font-size: 1.5rem;
    border-bottom: 2px solid #1e7ab6;
    border-left: 2px solid #1e7ab6;
    font-weight: bold;
    margin-bottom: 1em;
    padding: 0.2em 0.5em;
}

#company-security h3 {
    font-size: 1.3rem;
    font-weight: 300;
}

#company-security p {
    font-size: 1rem;
    font-weight: 100;
}

#company-news {
    float: left;
    width: 100%;
    margin: 0 0 50px;
}

#company-news h1 {
    text-align: left;
    letter-spacing: 0.5rem;
    color: #13191b;
}

#company-news ul.newsarea {
    list-style: none;
    padding: 0;
}

#company-news li {
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
    background: #f8f8f8;
    padding: 2em 1em;
    border-radius: 3px;
    word-break: break-all;
}

#company-news li img {
    width: 100%;
}

#company-news span.newsTxt {
    font-size: 1.2rem;
    letter-spacing: 0.09rem;
    float: left;
    width: 100%;
    color: black;
}

#company-news span.newsTxt .newsTitle {
    font-weight: 500;
    margin-bottom: 1rem;
}

#company-news span.newsTxt .newsDescription {
    font-weight: 300;
}

#company-news span.newsDate {
    font-size: 1.2rem;
    font-weight: bold;
    padding-bottom: 1rem;
    float: left;
}

#company-news span.newsDate,
#company-news span.newsTxt {
    float: left;
    padding: 1em 20px;
    line-height: 1.5;
}

@media(min-width:768px) {
    #company-news li {
        padding: 16px 30px;
    }
}

/*
#buyer
*/
.tab-wrapper {
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
}

.tab-wrapper .tab {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
}

.tab dl {
    display: flex;
    margin: 0;
}

.tab dl dd {
    margin-bottom: 0;
}

.tab dl a {
    font-size: 14px;
    padding: 20px 1.4em;
    color: #13191b;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
}

.tab dl dd.active a {
    background-color: #1e7ab6;
    color: white !important;
}

.tab dl a:hover {
    background-color: #1e7ab6;
    color: white !important;
}

#buyer article,
#supplier article {
    display: none;
}

#buyer article.active,
#supplier article.active {
    display: block;
}

.select-wrapper {
    padding: 1em 0;
}

.select-wrapper select {
    font-size: 16px;
}

@media(min-width: 768px) {
    .select-wrapper {
        display: none;
    }
}

@media(max-width: 767px) {
    .tab-wrapper {
        display: none;
    }
}

/*
#company
*/

#company .bg-img {
    height: 100%;
}

#company #banner .text_wrapper {
    background: #1e7ab6;
}

/*
top customize

.menu>li a{
    color: #1f79b7;
    font-weight: 600;
}
.menu>li a.portia_about::after, .menu>li a.portia_supplier::after, .menu>li a.portia_buyer::after, .menu>li a.portia_cases::after, .menu>li a.portia_partner::after{
    background:#1f79b7 ;
}
#fixed_menu{
    background-color: #fabd14;
}
#pmain{
    background-color: #fabd14;
}
#pmain .inner .round{
    background-color: white;
}
#pmain .inner .logo p{
    font-weight: 800;
}
#pmain .inner .round .txt h3{
    color: #1f79b7;
}
#pmain .inner .round .txt h2 {
    color: #1f79b7;
}
.login_menu li{
        background: linear-gradient(
120deg, #FD9C00, #fbd059);    border-radius: 17px;
}
.login_menu li a{
    color: white;
}
.login_menu li.login{
        background: linear-gradient(120deg, #1F79B7, #06bafa);
}

#pmain .inner .bubble{
    background-color: #1f79b7;    border-radius: 24px;
}
#pmain .inner .bubble::after,#pmain .inner .bubble::before{
    background-color: #1f79b7;
}
#pmain .inner .bubble p,#pmain .inner .bubble p span{
    color: white;
    font-size: 17px;
    font-weight: 500;    padding: 1em 0;
}
*/

.bg-yellow {
    background: #f9bc12;
}

.bg-yellow-50 {
    background: #ffface;
}

.bg-blue {
    background: #1e79b6;
    z-index: 1;
}

.bg-yellow-30 {
    background: linear-gradient(transparent 70%, #f9bc12 0%);
}

.bg-blue-30 {
    background: linear-gradient(transparent 70%, #1e79b6 0%);
}

.badge-danger-light {
    background-color: rgba(217, 83, 79, .175);
    color: #d9534f;
}

.text-blue {
    color: #1e79b6;
}

.text-yellow {
    color: #f9bc12;
}

.border-yellow {
    border-color: #f9bc12 !important;
}

.border-blue {
    border-color: #1c73ab !important;
}

.border-pink {
    border-color: #e4007f !important;
}

/*
loading
*/
.loading {
    z-index: 99;
    left: 0;
    bottom: 0;
}

.loading .box {
    z-index: 99;
}

.loading p {
    z-index: 99;
}

.loading .bg {
    background: rgb(0, 0, 0);
    opacity: .55;
    z-index: 98;
}

#loadingCircle {
    position: relative;
    width: 125px;
    height: 125px;
    margin: auto;
    transform: scale(0.6);
}

.loadingCircleOne {
    position: absolute;
    background-color: rgb(255, 255, 255);
    height: 22px;
    width: 22px;
    border-radius: 12px;
    animation-name: fadeColor;
    animation-duration: 1.2s;
    animation-iteration-count: infinite;
    animation-direction: normal;
}

#loadingCircle01 {
    left: 0;
    top: 51px;
    animation-delay: 0.45s;
}

#loadingCircle02 {
    left: 15px;
    top: 15px;
    animation-delay: 0.6s;
}

#loadingCircle03 {
    left: 51px;
    top: 0;
    animation-delay: 0.75s;
}

#loadingCircle04 {
    right: 15px;
    top: 15px;
    animation-delay: 0.9s;
}

#loadingCircle05 {
    right: 0;
    top: 51px;
    animation-delay: 1.05s;
}

#loadingCircle06 {
    right: 15px;
    bottom: 15px;
    animation-delay: 1.2s;
}

#loadingCircle07 {
    left: 51px;
    bottom: 0;
    animation-delay: 1.35s;
}

#loadingCircle08 {
    left: 15px;
    bottom: 15px;
    animation-delay: 1.5s;
}



@keyframes fadeColor {
    0% {
        background-color: rgba(89, 118, 186, 0.99);
    }

    100% {
        background-color: rgb(255, 255, 255);
    }
}