@charset "UTF-8";
@media (min-width: 768px) {
    html,
    body,
    div,
    span,
    applet,
    object,
    iframe,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    a,
    abbr,
    acronym,
    big,
    del,
    dfn,
    em,
    img,
    ins,
    q,
    s,
    small,
    strike,
    tt,
    var,
    u,
    i,
    center,
    dl,
    dt,
    dd,
    ol,
    ul,
    li,
    form,
    legend,
    table,
    caption,
    tbody,
    tfoot,
    thead,
    tr,
    th,
    td,
    article,
    aside,
    canvas,
    details,
    embed,
    figure,
    figcaption,
    hgroup,
    menu,
    nav,
    output,
    ruby,
    section,
    summary,
    time,
    mark,
    audio,
    video {
        border: 0;
        font-family: inherit;
        font-size: 100%;
        font-style: inherit;
        font-weight: inherit;
        margin: 0;
        outline: 1;
        padding: 0;
    }

    * {
        box-sizing: border-box;
    }

    html {
        font-size: 62.5%;
    }
    body {
        background-color: #fff;
        font-size: 1.2rem;
        line-height: 1.857;
        color: #333333;
    }
    html,
    body {
        height: 100%;
    }

    ol,
    ul {
        list-style: none;
    }

    p {
        line-height: 1.8;
    }
    dl {
        line-height: 1.8;
    }

    caption,
    th,
    td {
        font-weight: normal;
    }

    img {
        max-width: 100%;
        height: auto;
        width: 100%;
        border: 0;
        vertical-align: bottom;
    }

    .clearfix:after {
        content: "."; /* 新しい要素を作る */
        display: block; /* ブロックレベル要素に */
        clear: both;
        height: 0;
        visibility: hidden;
    }

    .clearfix {
        min-height: 1px;
    }

    * html .clearfix {
        height: 1px;
    }

    a.imghover:link img {
        transition: all 0.3s;
    }
    a.imghover:hover img {
        filter: alpha(opacity=70);
        opacity: 0.7;
    }
    .imghover {
        transition: all 0.3s;
    }
    .imghover:hover {
        filter: alpha(opacity=70);
        opacity: 0.7;
    }

    /* Text */
    .text-start {
        text-align: left !important;
    }

    .text-end {
        text-align: right !important;
    }

    .text-center {
        text-align: center !important;
    }

    div.pagebox {
        min-height: 100%;
        box-sizing: border-box;
    }

    .container {
        width: 100%;
    }

    #dl-menu {
        display: none;
    }

    .fixed {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 10000;
    }

    /* 他ページ用 */
    .page_header_sp {
        max-width: 1150px;
        margin: 0 auto -30px;
        padding: 0 25px;
        position: relative;
        z-index: 11;
    }
    .page_header_sp ~ .cc-main .page_main_sp,
    .page_header_sp ~ .cc-main .other_page_main_sp {
        padding-top: 30px;
    }
    .page_header_sp ~ .cc-main .page_main_sp02 {
        height: 370px;
    }
    .page_header_sp ~ .cc-main .other_page_main_sp02 {
        height: 230px;
    }
    .sub_nav {
        width: 100%;
        position: relative;
        height: 60px;
        line-height: 60px;
        background-color: #223446;
        z-index: 100;
        border-radius: 30px;
        box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
    }
    .sub_nav ul {
        margin-bottom: 0;
        padding-left: 0;
        text-align: center;
        font-size: 1.3rem;
    }
    .sub_nav ul li {
        display: inline-block;
        vertical-align: middle;
        padding: 0 25px;
        line-height: normal;
        border-right: 1px dotted rgba(255, 255, 255, 0.6);
    }
    .sub_nav ul li:first-child {
        border-left: 1px dotted rgba(255, 255, 255, 0.6);
    }
    .sub_nav ul li a,
    a:link a:visited {
        position: relative;
        color: #fff;
    }
    .sub_nav a:before {
        content: "";
        position: absolute;
        display: block;
        background-color: #fff;
        width: 0;
        height: 1px;
        bottom: -5px;
        left: 0;
        transition: 0.3s ease 0s;
    }
    .sub_nav a:hover {
        text-decoration: none;
    }
    .sub_nav a:hover:before {
        width: 100%;
    }

    .page_header_sp02 {
        max-width: 1150px;
        margin: -30px auto 0;
        padding: 0 25px;
    }

    .sp_page_header_sp {
        display: none;
    }
    .sp_sub_nav {
        display: none;
    }

    /* 他ページ用ここまで */

    /* スクロール後固定ナビ */

    .change_header {
        position: fixed;
        margin-top: 29px;
        top: 0;
        left: 0;
        width: 100%;
        height: 70px;
        line-height: 70px;
        background-color: #3b7c97;
        z-index: 1000;
        display: none;
        box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
    }
    .change_header ul {
        text-align: center;
        font-size: 1.3rem;
    }
    .change_header ul li {
        display: inline-block;
        vertical-align: middle;
        padding: 0 25px;
        line-height: normal;
        border-right: 1px dotted rgba(255, 255, 255, 0.6);
    }
    .change_header ul li:first-child {
        border-left: 1px dotted rgba(255, 255, 255, 0.6);
    }
    .change_header ul li a,
    a:link a:visited {
        position: relative;
        color: #fff;
    }
    .change_header a:before {
        content: "";
        position: absolute;
        display: block;
        background-color: #fff;
        width: 0;
        height: 1px;
        bottom: -5px;
        left: 0;
        transition: 0.3s ease 0s;
    }
    .change_header a:hover {
        text-decoration: none;
    }
    .change_header a:hover:before {
        width: 100%;
    }

    /* スクロール後固定ナビここまで */

    /* ############### ヘッダーここまで ############### */

    /* ############### コンテンツ ############### */

    .contents_sp {
        width: 100%;
    }

    /* ###### TOPページ用 ##### */

    /* 最新情報 */

    .latest_sp {
        max-width: 1150px;
        padding: 0 25px;
        margin: -30px auto 0;
    }
    .latest_sp02 {
        position: relative;
        width: 100%;
        height: 60px;
        background: url(../img/btn_listmk002.png) no-repeat right 15px center;
        background-size: 13px 13px;
        background-color: #3b7c97;
        z-index: 9;
        box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1);
        border-radius: 30px;
    }
    .latest_sp p {
        font-size: 1.4rem;
        line-height: 60px;
        text-align: center;
    }
    .latest_sp p a,
    a:link a:visited {
        position: relative;
        color: #fff;
    }
    .latest_sp a:before {
        content: "";
        position: absolute;
        display: block;
        background-color: #fff;
        width: 0;
        height: 1px;
        bottom: -5px;
        left: 0;
        transition: 0.3s ease 0s;
    }
    .latest_sp a:hover {
        text-decoration: none;
    }
    .latest_sp a:hover:before {
        width: 100%;
    }

    .news_icon {
        width: 80px;
        position: absolute;
        top: -25px;
        left: 40px;
    }

    /* 最新情報ここまで */

    /* TOP概要領域 */

    .about_sp {
        width: 100%;
        padding: 90px 0 120px;
    }
    .about_menu_sp {
        max-width: 1130px;
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto;
        padding: 0 25px;
    }
    .about_list_sp {
        display: flex;
        flex-direction: column;
        position: relative;
        width: 100%;
        width: calc((100% - 70px) / 3);
        margin: 0 17.5px;
    }
    .about_list_sp.two-conts {
        width: calc((100% - 140px) / 2);
    }
    .about_list_sp.two-conts:first-of-type {
        margin-right: auto;
    }
    .about_list_sp:first-of-type {
        margin-left: 0;
    }
    .about_list_sp:last-of-type {
        margin-right: 0;
    }
    .about_list_image {
        position: relative;
        width: 100%;
    }
    .about_list_sp02 {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        position: relative;
        width: 94%;
        background-color: rgba(255, 255, 255, 0.9);
        padding-bottom: 40px;
        box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.1);
        border-top-right-radius: 16px;
        margin-top: -150px;
        margin-left: -17.5px;
        z-index: 5;
    }
    .about_list_sp.two-conts .about_list_sp02 {
        margin-left: -40px;
        width: 100%;
        margin-top: -275px;
    }
    .about_list_sp.two-conts .about_list_sp02 .about_list_desc {
        min-height: auto;
    }
    .about_list_sp.two-conts p.btn_style01 {
        width: 61%;
    }
    .about_list_sp02 .about_title01,
    .about_list_sp02 .about_title02,
    .about_list_sp02 .about_title03 {
        margin-bottom: 0;
        border-top-right-radius: 16px;
        padding: 22px 0;
        text-align: center;
        font-size: 2.2rem;
        color: #fff;
    }
    .about_list_sp02 .about_title01 {
        /*
	line-height:1.5;
	letter-spacing:0.1em;
	*/
        background-color: #3b7c97;
    }
    .about_list_sp02 .about_title02 {
        background-color: #233547;
    }
    .about_list_sp02 .about_title03 {
        background-color: #566d93;
    }
    .about_list_sp02 .about_title_font {
        font-size: 1.3rem;
    }
    .about_list_sp02 p {
        font-size: 1.4rem;
        line-height: 1.8;
        padding: 0 40px;
    }
    .about_list_sp02 .about_list_desc {
        font-size: 1.4rem;
        line-height: 1.8;
        margin-top: 30px;
        margin-bottom: 2.5rem;
        padding: 0 38px;
        min-height: 270px;
    }
    .about_list_sp02 .btn_style01 {
        margin-top: auto;
    }

    /* TOP概要領域ここまで */

    /* 導入企業 */

    .intro_sp {
        width: 100%;
        padding: 120px 0 100px;
    }
    .intro_sp ul {
        max-width: 1100px;
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto;
        padding: 0 25px;
    }
    .intro_sp ul li {
        position: relative;
        width: 100%;
        width: calc((100% / 4) - 20px);
        margin: 0 10px 20px;
    }

    /* 導入企業ここまで */

    /* お知らせ */

    .news_sp {
        width: 100%;
        padding: 120px 0 168px;
    }
    .news_sp dl {
        font-size: 1.4rem;
        width: 70%;
        margin: 0 auto;
    }
    .news_sp dl dt {
        float: left;
        color: #3b7c97;
        padding: 20px 0 20px 40px;
    }
    .news_sp dl dd {
        padding: 20px 80px 20px 155px;
        margin-bottom: 8px;
        border: 1px dotted #ddd;
        border-top-right-radius: 16px;
        background-image: url(../img/btn_listmk002.png),
            url(../../img/index_img/news_backimg.png);
        background-repeat: no-repeat, repeat-y;
        background-position: right 23px center, right 0;
        background-size: 13px 13px, 60px 5px;
    }

    /* お知らせここまで */

    /* 安心安全領域 */
    .safety_sp {
        width: 100%;
        background: #222 url(../img/bg_safety.webp) no-repeat 50% 50% / cover;
        padding: 90px 0;
    }
    .safety_sp02 {
        max-width: 1120px;
        margin: 0 auto;
        padding: 0 25px;
    }
    .safety_sp h2,
    .safety_sp h3 {
        text-align: center;
        color: #fff;
        font-size: 2.4rem;
    }
    .safety_sp p {
        color: #fff;
        font-size: 1.4rem;
        line-height: 2;
        width: 80%;
        margin: 40px auto 0;
    }

    /* 再販案内 */
    .resale_sp {
        width: 100%;
        background: url(/template/img/bg_img_resale.jpg) 50% / cover no-repeat;
        padding: 90px 0;
    }
    .resale_sp02 {
        max-width: 1120px;
        margin: 0 auto;
        padding: 0 25px;
    }
    .resale_sp .heading,
    .resale_sp h3 {
        text-align: center;
        color: #233547;
        font-size: 2.4rem;
    }
    .resale_sp p {
        color: #333333;
        font-size: 1.4rem;
        line-height: 2;
        width: 80%;
        margin: 40px auto 0;
    }

    /* ############### 各ページメイン領域 ############### */

    .page_main_sp {
        position: relative;
        width: 100%;
        background: #233547 50% / cover no-repeat;
        z-index: 10;
        color: #fff;
    }
    .page_main_sp02 {
        position: relative;
        max-width: 1100px;
        height: 400px;
        margin: 0 auto;
        padding: 0 25px;
    }
    .page_catch_sp {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 500;
    }
    .page_catch_sp .ttl-h1 {
        color: #fff;
        font-size: 3.6rem;
        line-height: 1.444;
        margin-bottom: 3.5rem;
    }
    /* .page_main_sp-sm */
    .page_main_sp.page_main_sp-sm,
    .page_main_sp.page_main_sp-sm .page_main_sp02 {
        height: 290px;
    }
    .page_main_sp.page_main_sp-sm .page_catch_sp {
        right: 0;
        left: 0;
        text-align: center;
    }

    .other_page_main_sp {
        position: relative;
        width: 100%;
        height: 260px;
        background: #233547 50% / cover no-repeat;
        z-index: 10;
        color: #fff;
    }
    .other_page_main_sp02 {
        position: relative;
        max-width: 1100px;
        height: 100%;
        margin: 0 auto;
        padding: 0 25px;
    }
    .other_page_catch_sp {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        width: 100%;
        z-index: 500;
    }
    .other_page_catch_sp .ttl-h1 {
        text-align: center;
        font-size: 3.6rem;
        line-height: 1.444;
    }

    .contact_page_main_sp {
        position: relative;
        width: 100%;
        height: 290px;
        background: #222 url(../../img/contact_img/contact_titlebackimg.png)
            no-repeat 50% 50%;
        background-size: cover;
        z-index: 10;
    }
    .news_page_main_sp {
        position: relative;
        width: 100%;
        height: 290px;
        background: url(../../img/news_img/news_titlebackimg.jpg) no-repeat 50%
            50%;
        background-size: cover;
        z-index: 10;
    }
    .contact_page_main_sp02 {
        position: relative;
        max-width: 1100px;
        height: 260px;
        margin: 0 auto;
        padding: 0 25px;
    }
    .contact_page_catch_sp {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        z-index: 500;
    }
    .contact_page_catch_sp .ttl-h1 {
        text-align: center;
        color: #fff;
        font-size: 3rem;
        line-height: 1.8;
    }
    .aws_ds_title {
        background-image: url(/aws/img/ttl_main_sub.jpg);
    }
    .consultation_title {
        background: url(../img/ttl_consultation.jpg) no-repeat 50% 50%;
        background-size: cover;
    }
    .other_page_main_sp.consultation_title {
        margin-top: 0;
        padding-top: 0;
        height: 290px;
    }
    .other_page_main_sp.consultation_title .other_page_main_sp02 {
        height: 100%;
    }

    .page_title_sp h3.ttl-h3 {
        margin-bottom: 30px;
        font-size: 24px;
    }
    ul.normal-list {
        width: 80%;
        margin: auto;
        font-size: 1.4rem;
        line-height: 1.8;
    }

    .sp_index_main_sp {
        display: none;
    }
    .sp_main_title {
        display: none;
    }

    /* kv-badge */
    .kv-badge {
        position: absolute;
        bottom: 25px;
        right: 25px;
        width: calc(100% - 430px);
        text-align: right;
    }
    .kv-badge.addjmr {
        display: flex;
        justify-content: flex-end;
    }
    .kv-badge .jmr-box {
        margin-right: 20px;
        max-width: 250px;
    }
    .kv-badge .jmr-box p {
        text-align: left;
        font-size: 1.1rem;
        line-height: 1.25;
        letter-spacing: normal;
    }
    .kv-badge .jmr-box img {
        margin-bottom: 5px;
        max-width: 250px;
    }
    .kv-badge .aws-bnr-ats {
        border-radius: 4px;
        margin-bottom: 0;
        background-color: #fff;
        display: inline-block;
        box-sizing: border-box;
        padding: 7px;
        max-height: 114px;
    }
    .kv-badge .aws-bnr {
        margin-bottom: 0;
    }
    .kv-badge .aws-bnr img {
        max-height: 100px;
    }
    .kv-badge .aws-bnr .aws-bnr-gcp {
        width: auto;
        max-height: 114px;
    }
    /* ############### 各ページメイン領域ここまで ############### */

    /* ############### タイトル領域 ############### */

    .index_page_title_sp h2 {
        text-align: center;
        color: #233547;
        font-size: 3rem;
        margin-bottom: 4px;
        line-height: 1.6;
        padding: 0 25px;
    }
    .index_page_title_sp h6 {
        text-align: center;
        color: #296985;
        font-size: 1.3rem;
        margin-bottom: 50px;
    }

    .page_title_sp h2,
    .page_title_sp-h2 {
        text-align: center;
        color: #233547;
        font-size: 3rem;
        margin-bottom: 4px;
        line-height: 1.6;
        padding: 0 25px;
    }
    .page_title_sp h3 {
        text-align: center;
        color: #233547;
        font-size: 3rem;
        margin-bottom: 12px;
        line-height: 1;
        padding: 0 25px;
    }
    .page_title_sp h6,
    .page_title_sp-h6 {
        text-align: center;
        color: #296985;
        font-size: 1.3rem;
        margin-bottom: 50px;
    }

    .page_title_sp strong {
        color: #3b7c97 !important;
        padding-top: 0.35em;
        background-position: top left -5px;
        background-repeat: repeat-x;
        background-size: 1.3em 0.3em;
        background-image: radial-gradient(
            0.12em 0.12em at center center,
            #3b7c97,
            #3b7c97 100%,
            transparent
        );
    }

    /* ############### Bootstrapを読み込んでいないページ用 ############### */
    .cc-container-header {
        margin-bottom: 5rem;
        text-align: center;
    }
    .cc-container-header .h2 {
        margin-bottom: 0;
    }
    .cc-container-header .h6 {
        display: block;
        margin-top: 0.5rem;
        margin-bottom: 0;
    }
    @media (min-width: 992px) {
        .cc-container-header .h6 {
            font-size: 1.4rem;
        }
    }

    /* ############### タイトル領域 ############### */

    /* ############### マネージドクラウド関連のスタイル ############### */

    /* マネージド概要領域 */

    .managed_about_sp {
        width: 100%;
        padding: 90px 0 120px;
    }

    .managed_about_menu_sp {
        position: relative;
        max-width: 1200px;
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto;
        padding: 0 25px;
    }
    .managed_about_list_sp {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 500;
        right: 0;
        width: 43%;
        min-width: 400px;
        background-color: rgba(255, 255, 255, 0.8);
        padding: 60px 50px;
        box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.1);
        border-top-right-radius: 16px;
    }
    .managed_about_list_sp h3 {
        color: #233547;
        font-size: 2rem;
        text-align: center;
    }
    .managed_about_list_sp p {
        font-size: 1.4rem;
        line-height: 1.8;
        margin-top: 30px;
    }
    .managed_about_menu_sp h4 {
        width: 85%;
    }
    .managed_about_list_sp p.notes001 {
        font-size: 1.2rem;
        line-height: 1.8;
        margin-top: 15px;
        text-align: right;
    }
    p.intr-txt {
        font-size: 1.4rem;
    }
    .premium_icon {
        position: absolute;
        left: 50%;
        top: -30px;
        transform: translateX(-50%);
        width: 100px;
        z-index: 500;
    }

    /* マネージド概要領域ここまで */

    /* 料金プラン領域 */
    .plan_sp {
        width: 100%;
        padding-top: 120px;
    }
    .plan_sp p {
        margin-bottom: 0;
        font-size: 1.4rem;
    }
    .plan_sp02 {
        background: #233547 url(/template/img/bg_img_primary.webp) 50% / cover
            no-repeat;
        width: 100%;
        padding: 70px 0 80px;
    }
    .plan_sp03 {
        max-width: 1120px;
        display: flex;
        flex-wrap: nowrap;
        margin: 0 auto;
        padding: 0 25px;
    }

    .plan_list_sp {
        position: relative;
        background-color: #fff;
        padding: 40px 30px;
        margin: 0 4px;
        box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    }
    .plan_list_sp h4,
    .plan_list_sp .h4 {
        margin-right: -30px;
        margin-left: -30px;
        text-align: center;
        color: #233547;
        font-size: 2rem;
        line-height: 1.4;
    }
    .plan_list_sp h4 .plan_style01,
    .plan_list_sp .h4 .plan_style01 {
        font-size: 1.4rem;
    }
    .plan_list_sp h4 .plan_style02,
    .plan_list_sp .h4 .plan_style02 {
        font-size: 1.4rem;
    }
    .plan_list_sp h5,
    .plan_list_sp .h5 {
        margin-bottom: 0;
        font-size: 1.4em;
    }
    .plan_list_sp h5 .price_style01,
    .plan_list_sp .h5 .price_style01 {
        font-size: 3.6rem;
        font-weight: 700;
        padding-right: 3px;
    }
    .plan_list_sp h5 .price_style02,
    .plan_list_sp .h5 .price_style02 {
        font-size: 2.4rem;
        font-weight: 700;
        padding-right: 3px;
    }
    .plan_list_sp ul {
        font-size: 1.4rem;
        line-height: 1.8;
    }
    .plan_list_sp .plan_price_sp {
        margin: 20px -30px 25px;
        background-color: #3b7c97;
        padding: 25px 0;
        text-align: center;
        color: #fff;
    }

    .plan01,
    .plan02,
    .plan04 {
        width: 23%;
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .plan03 {
        position: relative;
        border-top-right-radius: 16px;
        background: #3d7a96 url(../img/bg_plan-advanced.jpg?20230106) 50% 100% /
            cover no-repeat;
        width: 31%;
        color: #fff;
    }
    .plan03 h4,
    .plan03 .h4 {
        font-size: 2.6rem !important;
        color: #fff !important;
    }
    .plan03 .plan_price_sp {
        background-color: #fff;
        padding-top: 35px;
        padding-bottom: 35px;
        color: #233547;
    }
    .plan03 .plan_list_sp h5 {
        font-size: 2em;
    }
    .plan04 .plan_price_sp {
        padding-top: 35px;
        padding-bottom: 35px;
    }

    .plan_sp04 {
        margin-top: 40px;
        width: 100%;
    }

    p.plan_price_desc {
        max-width: 1100px;
        font-size: 1.2rem;
        color: #fff;
        padding: 0 25px;
        margin: -15px auto 0;
    }

    .reco_icon {
        position: absolute;
        left: 50%;
        top: -35px;
        transform: translateX(-50%);
        width: 90px;
        z-index: 500;
    }

    .cp-line {
        text-decoration: line-through;
        position: relative;
        padding-top: 5px;
    }

    .cp-tag {
        display: inline;
        padding: 3px 7px;
        color: #233547;
        background-color: #fcd604;
        border-radius: 5px;
        text-align: center;
        font-size: 12px !important;
        font-weight: 800;
        letter-spacing: normal;
        font-family: "Noto Sans JP", sans-serif;
    }

    /* 料金プラン領域ここまで */

    /* ご利用の流れ領域 */

    .managed_flow_sp {
        max-width: 90%;
        padding: 120px 0 180px;
        margin: 0 auto;
    }
    .managed_flow_sp.poc-sec {
        padding: 0;
    }
    .managed_flow_sp .page_title_sp {
        width: 100%;
    }
    .managed_flow_sp p {
        font-size: 1.4rem;
        margin: 0 auto;
    }
    .managed_flow_sp02 {
        position: relative;
        width: 100%;
        max-width: 1100px;
        padding: 0 25px;
        /*
	display: flex;
	flex-wrap: wrap;
	*/
        margin: 0 auto;
    }
    .managed_flow_list {
        position: relative;
        display: flex;
    }
    .managed_flow_list h5 {
        text-align: center;
        padding: 0 10px;
        color: #233547;
        font-size: 1.8rem;
        line-height: 1.6;
        margin-top: 20px;
    }
    .managed_flow_list p {
        text-align: center;
        color: #3b7c97;
    }
    .managed_flow_list p img {
        width: 40%;
        padding-bottom: 7px;
    }

    .managed_flow_desc {
        max-width: 1120px;
        margin: 0 auto 40px;
        padding: 0 25px;
    }
    .managed_flow_desc p {
        width: 80%;
        margin: 0 auto;
    }
    .m_flow01,
    .m_flow03,
    .m_flow05,
    .m_flow07 {
        background-color: #f8f8f0;
    }

    .managed_flow_desc02 {
        max-width: 1120px;
        margin: 34px auto 50px;
        padding: 0 25px;
    }
    .managed_flow_desc02 p {
        width: 80%;
        margin: 0 auto;
    }

    /* ご利用の流れ領域ここまで */

    /* ###### 料金・プランページ用 ##### */

    .managed_plan_about_sp {
        width: 100%;
        padding: 90px 0 60px;
    }

    .managed_plan_table_sp {
        position: relative;
        width: 92%;
        margin: 0 auto 80px;
    }
    .managed_plan_table_sp.managed_plan_table_sp_narrow {
        max-width: 1110px;
    }
    .managed_plan_table_sp h3 {
        text-align: center;
        margin-bottom: 20px;
        color: #233547;
        font-size: 2.4rem;
    }
    .managed_plan_table_sp p.managed_plan_table_desc {
        font-size: 1.2rem;
        margin: 0 5px;
    }
    .managed_plan_table_sp table,
    table.normal-table {
        width: 100%;
        font-size: 1.3rem;
        border-top: 1px solid #e5e5e5;
        border-left: 1px solid #e5e5e5;
        margin: 10px 0 15px;
        border-collapse: collapse;
    }
    .managed_plan_table_sp table td,
    table.normal-table td {
        text-align: center;
        border-right: 1px solid #e5e5e5;
        border-bottom: 1px solid #e5e5e5;
        padding: 15px;
        vertical-align: middle;
    }
    .managed_plan_table_sp .managed_plan_table_dotted {
        border-collapse: collapse;
        border-width: 0;
        width: 100%;
        font-size: 1.4rem;
    }
    .managed_plan_table_sp .managed_plan_table_dotted tr {
        border: 1px dotted #ccc;
        border-right-width: 0;
        border-left-width: 0;
    }
    .managed_plan_table_sp .managed_plan_table_dotted th,
    .managed_plan_table_sp .managed_plan_table_dotted td {
        border-width: 0;
        vertical-align: middle;
        text-align: center;
    }
    .managed_plan_table_sp .managed_plan_table_dotted thead th {
        background: #f0f0f0;
        padding: 15px;
        font-size: 1.6rem;
        color: #296985;
    }
    .managed_plan_table_sp .managed_plan_table_dotted tbody th {
        background-color: #f8f8f0;
        padding: 15px;
        width: 24%;
    }

    td.wt,
    td.td_style001.wt {
        background: #fff;
    }
    .old-figure-img {
        width: 90%;
        margin: 30px 0;
    }
    table.normal-table td.relat {
        vertical-align: top;
    }
    td.td_style001 {
        width: 16%;
        background-color: #f8f8f0;
    }
    td.td_style002 {
        width: 20%;
        position: relative;
        font-size: 1.6rem;
        color: #fff;
        background-color: #233547;
        border-bottom: none !important;
    }
    .td_text_style001 {
        font-size: 1.2rem;
    }
    td.td_style003 {
        font-size: 1.6rem;
        color: #296985;
        background-color: #f0f0f0;
        padding: 20px !important;
        line-height: 1 !important;
    }
    td.td_style004 {
        position: relative;
        background-color: #fff;
        border-bottom: none !important;
    }
    td.td_style005 {
        width: 20%;
        position: relative;
        font-size: 1.6rem;
        color: #fff;
        background-color: #183935;
        border-bottom: none !important;
    }

    .managed_plan_premium_sp {
        position: relative;
        width: 100%;
        background: url(../../img/managed_img/premium_backimg.png) no-repeat 50%
            50%;
        background-size: cover;
        padding: 120px 0;
    }
    .gcp_managed_plan_premium_sp {
        background: url(../../img/managed_img/gcp_premium_backimg.png) no-repeat
            50% 50%;
        background-size: cover;
    }
    .managed_plan_premium_sp .ttl-h1,
    .gcp_managed_plan_premium_sp .ttl-h1,
    .managed_plan_premium_sp h2 {
        color: #fff;
    }
    .managed_plan_premium_sp02 {
        max-width: 1130px;
        margin: 0 auto;
        padding: 0 25px;
    }
    .managed_plan_premium_sp02 dl {
        border-top: 1px dotted #3b7c97;
        color: #fff;
        font-size: 1.3rem;
    }
    .managed_plan_premium_sp02 dl dt {
        float: left;
        line-height: 2;
        padding: 15px 10px;
    }
    .managed_plan_premium_sp02 dl dd {
        padding: 15px 10px 15px 370px;
        line-height: 2;
        border-bottom: 1px dotted #3b7c97;
    }

    /* ###### 料金・プランページ用ここまで ##### */

    /* ############### マネージドクラウド関連のスタイルここまで ############### */

    /* ############### アセスメントクラウド関連のスタイル ############### */

    /* アセスメント概要領域 */

    .assessment_about_sp,
    .aws-mp_about_sp {
        width: 100%;
        padding: 90px 0;
    }
    .aws-mp_about_sp.poc-margin {
        margin-bottom: -60px;
        padding: 90px 0 0;
    }

    .assessment_about_sp_inner {
        margin-right: auto;
        margin-left: auto;
        max-width: 1120px;
    }
    .assessment_about_sp_inner p {
        margin-bottom: 40px;
        font-size: 1.4rem;
        line-height: 1.8;
    }

    .assessment_about_list_sp {
        position: relative;
        max-width: 1160px;
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto;
        padding: 0 25px;
    }
    .assessment_list_sp {
        position: relative;
        width: 100%;
        width: calc((100% / 4) - 40px);
        margin: 0 20px 30px;
        background-color: #fff;
    }
    .assessment_list_sp.for_poc {
        padding: 30px;
        margin: 0 15px 30px;
        width: calc((100% / 4) - 30px);
    }
    .assessment_list_sp_left {
        width: 100%;
    }
    .assessment_list_sp_left p {
        width: 35%;
        text-align: center;
        margin: 0 auto;
    }
    .assessment_list_sp_right {
        width: 100%;
    }
    .assessment_list_sp_right h3 {
        text-align: center;
        color: #233547;
        font-size: 1.8rem;
        line-height: 1.5;
        margin: 30px 0 0;
    }
    .assessment_list_sp_right p {
        font-size: 1.4rem;
        line-height: 1.8;
        margin: 25px 0 0;
    }

    .assessment_about_list_sp02 {
        max-width: 1200px;
        display: flex;
        flex-wrap: wrap;
        margin: 50px auto 0;
        padding: 0 25px;
    }
    .assessment_list_sp02 {
        width: calc((100% / 5) - 20px);
        margin: 0 10px 20px;
    }
    .assessment_about_list_sp02 h3,
    .assessment_about_list_sp02 h4 {
        text-align: center;
        color: #233547;
        font-size: 1.8rem;
        margin: 25px 0 0;
    }
    .assessment_about_list_sp02 p {
        width: 40%;
        text-align: center;
        margin: 0 auto;
        line-height: 1;
    }

    /* アセスメント概要領域ここまで */

    /* アセスメント概要領域その２ */

    .assessment_about_sp02 {
        width: 100%;
        background-color: #f8f8f0;
        padding: 100px 0 120px;
    }
    .assessment_about_sp02_01 {
        position: relative;
        max-width: 1120px;
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto;
        padding: 0 25px;
    }

    .assessment_about_sp02_01_left {
        width: 50%;
    }
    .assessment_about_sp02_01_left p {
        position: relative;
        width: 100%;
        padding: 40px 40px 35px 0;
        margin-bottom: 40px;
    }
    .assessment_about_sp02_01_right {
        width: 50%;
        position: relative;
        padding-left: 40px;
    }
    .assessment_about_sp02_01_right02 {
        z-index: 500;
        right: 0;
        width: 100%;
        min-width: 500px;
        margin-top: -150px;
        background-color: rgba(255, 255, 255, 0.8);
        padding: 50px 0 10px;
        box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.1);
        border-top-right-radius: 16px;
    }
    .assessment_about_sp02_01_right h2,
    .assessment_about_sp02_01_right h4 {
        color: #233547;
        font-size: 2rem;
        margin-bottom: 30px;
        line-height: 1.6;
        border-left: 5px solid #233547;
        padding: 0 50px 0 45px;
    }
    .assessment_about_sp02_01_right p {
        font-size: 1.4rem;
        line-height: 1.8;
        margin-bottom: 40px;
        padding: 0 50px;
    }

    .assessment_about_sp02_02 {
        max-width: 1120px;
        margin: 0 auto;
        padding: 40px 25px 0;
    }
    .assessment_about_sp02_02.poc-sec {
        padding: 60px 0;
    }
    .assessment_about_sp02_02 p {
        width: 80%;
        font-size: 1.4rem;
        line-height: 1.8;
        margin: 0 auto 40px;
    }
    .assessment_about_sp02_03 {
        position: relative;
        width: 100%;
        border: 1px dotted #ebebd5;
        background-color: #fff;
        border-top-right-radius: 16px;
        padding: 50px 60px;
    }

    /* アセスメント概要領域その２ここまで */

    /* 料金プラン領域 */

    .assessment_price_sp {
        position: relative;
        width: 100%;
        background: #233547 url(/template/img/bg_img_primary.webp) 50% / cover
            no-repeat;
        padding: 120px 0 100px;
    }
    .assessment_price_sp02 {
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 25px;
    }
    .assessment_price_sp03 {
        width: 84%;
        position: relative;
        background-color: #fff;
        margin: 0 auto;
        box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
        border-top-right-radius: 16px;
    }
    .assessment_price_list01 {
        width: 100%;
        padding: 40px 70px 0;
    }
    .assessment_price_list01 h2,
    .assessment_price_list01 h3 {
        width: 40%;
        float: left;
        color: #233547;
        font-size: 3rem;
        padding-top: 25px;
    }
    .assessment_price_list01 p {
        width: 50%;
        float: right;
        text-align: right;
        line-height: 1;
        font-size: 3rem;
    }

    .assessment_price_list02 {
        width: 100%;
        padding: 20px 70px 35px;
    }
    .assessment_price_list02 dl {
        margin-bottom: 0;
        font-size: 1.6rem;
        border-top: 1px dotted #233547;
        padding-top: 25px;
    }
    .assessment_price_list02 dl dt {
        float: left;
        padding: 10px 0 0 5px;
    }
    .assessment_price_list02 dl dd {
        text-align: right;
        font-size: 2.4rem;
        margin-bottom: 5px;
        padding-right: 5px;
    }

    .assessment_price_list03 {
        width: 100%;
        color: #fff;
        background-color: #3b7c97;
        padding: 40px 70px 40px 75px;
    }
    .gcp_assessment_price .assessment_price_list03 {
        background-color: #367971;
    }
    .assessment_price_list03 h3 {
        width: 40%;
        float: left;
        font-size: 1.8rem;
        line-height: 1;
    }
    .assessment_price_list03 p {
        width: 60%;
        float: right;
        text-align: right;
        font-size: 1.8rem;
        line-height: 1;
    }

    .assessment_price_style01 {
        color: #fcba04;
        font-size: 7rem;
        font-weight: 700;
        padding-right: 3px;
    }
    .assessment_price_style02 {
        color: #233547;
        font-size: 3rem;
        font-weight: 700;
        padding-right: 3px;
    }

    .assessment_price_sp04 {
        width: 84%;
        padding-top: 15px;
        margin: 0 auto;
    }
    .assessment_price_sp04 p {
        color: #fff;
        font-size: 1.2rem;
    }
    .assessment_price_sp04.c-dark p {
        color: #223547;
    }

    .price_icon {
        width: 100px;
        position: absolute;
        top: -30px;
        left: -40px;
    }

    /* 料金プラン領域ここまで */

    /* ご利用の流れ領域 */

    .assessment_flow_sp {
        /*
	max-width:90%;
	*/
        max-width: 1100px;
        padding: 100px 0;
        margin: 0 auto;
    }
    .assessment_flow_sp .page_title_sp {
        width: 100%;
    }
    .assessment_flow_sp p {
        font-size: 1.4rem;
        margin: 0 auto;
    }

    .assessment_flow_desc {
        max-width: 1120px;
        margin: 0 auto 40px;
        padding: 0 25px;
    }
    .assessment_flow_desc p {
        width: 80%;
        margin: 0 auto;
    }

    .assessment_flow_desc02 {
        max-width: 1120px;
        margin: 34px auto 50px;
        padding: 0 25px;
    }
    .assessment_flow_desc02 p {
        width: 80%;
        margin: 0 auto;
    }

    /* ご利用の流れ領域ここまで */

    /* マネージドクラウド紹介領域 */

    .managed_intro_sp {
        width: 100%;
        height: 500px;
    }
    .managed_intro_sp02 {
        position: relative;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto;
    }
    .managed_intro_sp02_left {
        width: 50%;
        background: url(/assessment/img/img_managed-introduction.jpg) no-repeat
            50% / cover;
    }
    .managed_intro_sp02_right {
        width: 50%;
        height: 500px;
        padding-left: 60px;
        position: relative;
    }
    .managed_intro_sp02_right02 {
        width: 80%;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }
    .managed_intro_sp02_right02 h3 {
        color: #233547;
        font-size: 2.4rem;
        padding-left: 5px;
    }
    .managed_intro_sp02_right02 p.managed_intro_desc {
        font-size: 1.4rem;
        line-height: 1.8;
        margin-top: 25px;
        margin-bottom: 40px;
    }

    /* マネージドクラウド紹介領域ここまで */

    /* ############### アセスメントクラウド関連のスタイルここまで ############### */

    /* ############### サービス内容領域 ############### */

    .service_sp {
        width: 100%;
        background-color: #f8f8f0;
        padding: 120px 0 110px;
    }
    .service_sp .page_title_sp h3 br {
        display: none;
    }
    .service_sp02 {
        max-width: 1110px;
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto;
        padding: 0 25px;
    }
    .service_list_sp {
        position: relative;
        width: 100%;
        width: calc((100% / 3) - 10px);
        margin: 0 5px 10px;
        border: 1px dotted #ebebd5;
        background-color: #fff;
        border-top-right-radius: 16px;
        padding: 50px 0 45px;
        display: flex;
        flex-flow: row wrap;
        flex-direction: column;
    }
    .service_list_sp.for_consul {
        border: 1px dotted #555;
        width: calc(50% - 40px);
        margin: 20px;
        display: flex;
        flex-direction: column;
    }
    .service_list_sp_left {
        position: relative;
        width: 100%;
        padding: 0 40px;
    }
    .service_list_sp_left p {
        width: 35%;
        text-align: center;
        margin: 0 auto;
    }
    .service_list_sp_left .middle-icons {
        height: 100px;
        line-height: 100px;
    }
    .service_list_sp_left .middle-icons img {
        max-width: 100px;
        max-height: 100px;
    }
    .service_list_sp_right {
        width: 100%;
    }
    .service_list_sp_right h4,
    .service_list_sp_right .h4 {
        color: #233547;
        font-size: 1.8rem;
        line-height: 1.6;
        margin: 30px 40px 0 0;
        border-left: 5px solid #233547;
        padding-left: 35px;
    }
    .service_list_sp_right p {
        font-size: 1.4rem;
        margin: 20px 40px 0;
    }

    .band_icon {
        position: absolute;
        width: 60px;
        top: 20px;
        right: 20px;
    }

    /* ############### サービス内容領域 ############### */

    /* ############### ご利用イメージ領域 ############### */

    .use_sp {
        width: 100%;
        padding-top: 120px;
    }
    .use_sp p {
        font-size: 1.4rem;
        text-align: center;
    }
    .use_sp h4 {
        max-width: 1100px;
        text-align: center;
        margin: 40px auto 0;
        padding: 0 25px;
    }

    /* ############### ご利用イメージ領域ここまで ############### */
    .video_sp {
        width: 100%;
        margin: 40px auto 0;
    }

    .video_sp .video {
        position: relative;
        width: 100%;
        padding-top: 56.25%;
    }
    .video_sp .video iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    /* ############### お問い合わせ ############### */

    .page_contact_sp {
        width: 100%;
        padding: 90px 0 40px;
    }
    .contact_sp {
        width: 100%;
        margin-bottom: 80px;
    }
    .contact_tel_sp {
        max-width: 1130px;
        padding: 0 25px;
        margin: 0 auto 50px;
    }
    .contact_tel_sp02 {
        position: relative;
        max-width: 96%;
        margin: 0 2%;
        padding: 40px 40px 30px 40px;
        border-top-right-radius: 16px;
        background-color: #f8f8f0;
        border: 1px dotted #ebebd5;
    }
    .contact_tel_sp02 h3 {
        text-align: center;
        color: #233547;
        font-size: 1.8rem;
        line-height: 1;
    }
    .contact_tel_sp02 p.contact_tel_num {
        color: #233547;
        text-align: center;
        font-size: 4.2rem;
        line-height: 1;
        margin-top: 25px;
    }
    .contact_tel_sp02 p.contact_tel_num img {
        width: 35px;
        padding-bottom: 3px;
        margin-right: 5px;
    }
    .contact_tel_sp02 p.contact_tel_time {
        text-align: center;
        font-size: 1.4rem;
        line-height: 1;
        margin-top: 10px;
    }
    .contact_sp02 {
        max-width: 1130px;
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto;
        justify-content: center;
        padding: 0 25px;
    }
    .contact_list_sp {
        width: 31%;
        background-color: #fff;
        box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.1);
        border-top-right-radius: 16px;
        margin: 0 1%;
    }
    .contact_list_sp h3.contact_title01 {
        font-size: 2rem;
        color: #fff;
        line-height: 1.5;
        padding: 30px 0;
        text-align: center;
        background-color: #3b7c97;
        border-top-right-radius: 16px;
    }
    .contact_list_sp h3.contact_title02 {
        font-size: 2rem;
        color: #fff;
        line-height: 1.5;
        padding: 30px 0;
        text-align: center;
        background-color: #233547;
        border-top-right-radius: 16px;
    }
    .contact_list_sp h3.contact_title03 {
        /*マネージドパック*/
        font-size: 2rem;
        color: #fff;
        line-height: 1.5;
        padding: 30px 0;
        text-align: center;
        background-color: #566d93;
        border-top-right-radius: 16px;
    }

    .contact_list_sp h3 .contact_title_font {
        font-size: 1.3rem;
        font-family: Muli, sans-serif;
        line-height: 1;
    }

    .contact_list_sp02 {
        width: 70%;
        background-color: #fff;
        box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.1);
        border-top-right-radius: 16px;
        margin: 0 auto;
    }
    .contact_list_sp02 h3.contact_title01 {
        font-size: 2rem;
        color: #fff;
        line-height: 1.25;
        padding: 30px;
        text-align: center;
        background-color: #233547;
        border-top-right-radius: 16px;
    }
    .contact_sp03 {
        width: 100%;
        padding: 45px 30px;
    }

    /* ############### お問い合わせここまで ############### */

    /* ############### フッター ############### */

    .footer_sp {
        width: 100%;
    }

    /* クロージング領域 */
    .footer_closing_sp {
        background: url(../img/bg_contact.webp) no-repeat 50% / cover;
        padding: 90px 0;
        text-align: center;
        color: #fff;
    }
    .footer_closing_sp02 {
        max-width: 1150px;
        margin: 0 auto;
        padding: 0 25px;
    }
    .footer_closing_sp-title {
        font-size: 2.8rem;
        line-height: 1;
    }
    .footer_closing_sp ul {
        margin-top: 40px;
        line-height: 1;
    }
    .footer_closing_sp li {
        display: inline-block;
        vertical-align: middle;
        margin: 0 15px;
    }
    .footer_closing_sp .footer_btn a,
    .yellow-btn,
    .yellow-btn:visited {
        display: block;
        width: 340px;
        font-size: 1.6rem;
        color: #fff;
        padding: 24px 0;
        background: url(../img/btn_listmk002.png) no-repeat right 20px center;
        background-size: 13px 13px;
        background-color: #fcba04;
        border-radius: 32px;
        box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
        margin-bottom: 10px;
    }
    .footer_closing_sp .footer_btn a:hover,
    .yellow-btn:hover {
        background: url(../img/btn_listmk002.png) no-repeat right 15px center;
        background-size: 13px 13px;
        background-color: #fcd604;
    }
    .footer_closing_sp .footer_btn.bg_gray_btn a {
        background-color: #aaa;
        width: 240px;
    }
    .footer_closing_sp .footer_btn.bg_gray_btn a:hover {
        background-color: #ccc;
    }

    .footer_closing_sp .footer_tel {
        padding-left: 15px;
        margin-top: -15px;
    }
    .footer_closing_sp .tel_number {
        font-size: 4.2rem;
        line-height: 1.4;
    }
    .footer_closing_sp .tel_time {
        font-size: 1.2rem;
    }
    /* クロージング領域ここまで */

    .footer_sp02 {
        width: 92%;
        margin: 0 auto;
    }
    .footer_sp02_left {
        display: flex;
        flex-wrap: nowrap;
        padding-top: 40px;
        margin-bottom: 15px;
    }
    p.copy {
        width: 300px;
        font-size: 12px;
    }
    .footer_sp .isms-link{
      color: #223447;
      &:hover{
        color: #296985;
      }
    }
    .footer_nav ul {
        margin-bottom: 0;
        font-size: 12px;
    }
    .footer_nav ul li {
        display: inline-block;
        padding: 0 14px;
        border-left: 1px solid #ddd;
    }
    .footer_nav ul li:first-child {
        border-left: none;
    }
    .footer_nav ul li a,
    a:link a:visited {
        position: relative;
        color: #223447;
    }
    .footer_nav a:before {
        content: "";
        position: absolute;
        display: block;
        background-color: #233547;
        width: 0;
        height: 1px;
        bottom: -5px;
        left: 0;
        transition: 0.3s ease 0s;
    }
    .footer_nav a:hover {
        color: #233547;
        text-decoration: none;
    }
    .footer_nav a:hover:before {
        width: 100%;
    }
    .footer_sp02_right02_right {
        float: right;
    }
    .footer_sp02_right02_left ul {
        display: flex;
        margin-bottom: 10px;
    }
    .footer_sp02_right02_left ul li + li {
        margin-left: 10px;
    }
    .footer_sp02_right02_left p {
        margin-bottom: 0;
        font-size: 8px;
        line-height: 1.3;
    }
    .footer_sp02_right02_left img {
        max-width: 130px;
    }
    @media (min-width: 1024px) {
        .footer_sp02_right02_left {
            margin-left: 314px;
        }
    }
    .footer_sp .siteseal{
        border-top: 1px solid #EAEAEA;
        border-right-width: 0;
        border-left-width: 0;
        padding: 40px 15px;
        text-align:center;
    }

    /* ############### フッターここまで ############### */

    .mb_20px {
        margin-bottom: 20px;
    }
    .mb_30px {
        margin-bottom: 30px;
    }
    .mb_40px {
        margin-bottom: 40px;
    }

    .pt_40px {
        padding-top: 40px;
    }

    .b_none {
        border: none !important;
    }
    .right {
        text-align: right;
    }
    .center {
        text-align: center;
    }
    .red001 {
        color: #f00;
    }
    .red003 {
        color: #dd0000 !important;
    }
    table.normal-table td.text-left {
        text-align: left;
    }

    .l_blue001 {
        color: #296985;
    }
    a.l_blue001 {
    text-decoration: underline;
    }
    a.l_blue001:hover,
    lable.l_blue001:hover {
        color: #333333;
    }

    .black001 {
        color: #000;
    }
    .black003 {
        color: #111;
    }

    /* btn */
    .btn_style01 {
        text-align: center;
        width: 100%;
        padding-bottom: 20px;
    }
    .btn_style01.square-btn a {
        border-radius: 0;
        padding-left: 25px;
        padding-right: 45px;
    }

    .btn_style01 a {
        display: block;
        text-decoration: none;
        background-color: none !important;
        color: #fff;
        font-size: 1.6rem !important;
        padding: 20px 0;
        background: url(../img/btn_listmk002.png) no-repeat right 20px center;
        background-size: 13px 13px;
        background-color: #fcba04;
        border-radius: 32px;
        transition: all 0.3s;
        line-height: 1;
    }
    .btn_style01 a:hover {
        background: url(../img/btn_listmk002.png) no-repeat right 15px center;
        background-size: 13px 13px;
        background-color: #fcd604;
        color: #fff;
    }
    .btn_style01 img {
        width: 11px;
        margin-left: 10px;
        vertical-align: middle;
        padding-bottom: 2px;
    }

    .btn_style02 {
        position: relative;
        text-align: center;
        width: 360px;
        margin-left: -3px;
    }
    .btn_style02 a {
        display: block;
        text-decoration: none;
        background-color: none !important;
        color: #fff;
        font-size: 2.2rem !important;
        padding: 20px 0;
        border-radius: 50px;
        transition: all 0.3s;
        border: 1px solid rgba(255, 255, 255, 0.4);
        background: url(../img/btn_listmk001.png) no-repeat right 25px center;
        background-size: 20px 20px;
    }
    .btn_style02 a:hover {
        color: #fff;
        background: url(../img/btn_listmk001.png) no-repeat right 20px center;
        background-size: 20px 20px;
        background-color: #fcba04;
        border: 1px solid #fcba04;
    }
    .btn_style02 img {
        width: 11px;
        margin-left: 10px;
        vertical-align: middle;
        padding-bottom: 2px;
    }

    .btn_style03 {
        text-align: center;
        width: 45%;
        margin: 0 auto;
    }
    .btn_style03 a,
    a:link a:visited {
        display: block;
        text-decoration: none;
        background-color: none !important;
        color: #fff;
        font-size: 2.4rem !important;
        padding: 20px 0;
        border-radius: 50px;
        transition: all 0.3s;
        box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
        background: url(../img/btn_listmk001.png) no-repeat right 25px center;
        background-size: 20px 20px;
        background-color: #fcba04;
    }
    .btn_style03 a:hover {
        color: #fff;
        background: url(../img/btn_listmk001.png) no-repeat right 20px center;
        background-size: 20px 20px;
        background-color: #fcd604;
    }

    .btn_style04 {
        text-align: center;
        width: 45%;
        margin: 0 auto;
    }
    .btn_style04 a,
    a:link a:visited {
        display: block;
        text-decoration: none;
        background-color: none !important;
        color: #fff;
        font-size: 3.2rem !important;
        line-height: 1.3;
        padding: 15px 0 25px;
        border-radius: 70px;
        transition: all 0.3s;
        box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
        background: url(../img/btn_listmk001.png) no-repeat right 20px center;
        background-size: 20px 20px;
        background-color: #fcba04;
    }
    .btn_style04 a:hover {
        color: #fff;
        background: url(../img/btn_listmk001.png) no-repeat right 15px center;
        background-size: 20px 20px;
        background-color: #fcd604;
    }

    .btn_text_style01 {
        font-size: 1.4rem;
    }
    .btn_text_style02 {
    }
    .btn_blue a {
        background-color: #3b7c97;
    }
    .btn_blue a:hover {
        background-color: #99d9ea;
    }

    /* 下層ページのmv内ボタン */
    .mv-btn .btn.btn-cc-accent {
        color: #fff;
        background-color: #fab904;
        border-color: #fab904;
        box-shadow: none;
        background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 5.08'%3e%3cpath fill='%23fff' d='M12,5.08H0.864C0.387,5.08,0,4.693,0,4.216s0.387-0.864,0.864-0.864h7.871L7.372,1.35c-0.268-0.395-0.166-0.932,0.228-1.2c0.395-0.268,0.932-0.166,1.2,0.228L12,5.08z'/%3e%3c/svg%3e");
        background-position: 92% 23px;
    }
    .mv-btn .btn.btn-cc-accent:hover {
        border-color: #fab904;
        background-color: #fff;
        color: #fab904;
        background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 5.08'%3e%3cpath fill='%23fab904' d='M12,5.08H0.864C0.387,5.08,0,4.693,0,4.216s0.387-0.864,0.864-0.864h7.871L7.372,1.35c-0.268-0.395-0.166-0.932,0.228-1.2c0.395-0.268,0.932-0.166,1.2,0.228L12,5.08z'/%3e%3c/svg%3e");
        background-position: 95% 23px;
    }

    .sp,
    .sp-block {
        display: none;
    }

    .managed_flow_list.plus_alpha {
        background: #f8f8f0;
        padding: 0;
        margin: auto;
        margin-bottom: 22px;
        border: none;
    }
    .managed_flow_list.plus_alpha.m_flow01 {
        margin-bottom: 42px;
    }
    .managed_flow_list.plus_alpha .orange-arrow {
        width: 0;
        height: 100%;
        /* right: 0; */
        left: 112.5px;
        position: absolute;
        z-index: 2;
    }
    .managed_flow_list.plus_alpha .orange-arrow::after {
        content: "";
        width: 0px;
        height: 0px;
        border-top: 15px solid #fcba04;
        border-left: 20px solid transparent;
        border-right: 20px solid transparent;
        border-bottom: 15px solid transparent;
        position: absolute;
        bottom: -34px;
        z-index: 1;
    }
    .managed_flow_list.plus_alpha.no-arrow-after::after {
        border: none;
    }
    .managed_flow_list.plus_alpha.no-arrow-before::before {
        border: none;
    }
    .managed_flow_list.plus_alpha .ttl-box {
        display: flex;
        justify-content: center;
        align-items: center;
        height: auto;
        min-height: 115px;
        width: 265px;

        margin: 0;
        font-size: 24px;
        color: #fff;
        background: #233547;
    }
    .managed_flow_list.plus_alpha .ttl-box.sky-blue {
        background: #3b7c97;
    }
    .managed_flow_list.plus_alpha .ttl-box.orange {
        background: #fcba04;
        color: #233546;
    }
    .managed_flow_list.plus_alpha .ttl-box.gcp_sky-blue {
        background: #367971;
    }
    .managed_flow_list.plus_alpha .ttl-box.gcp_dark-blue {
        background: #183935;
    }
    .managed_flow_list.plus_alpha .cloud-free {
        font-size: 11px;
        color: #fff;
        background-image: url(../img/ico_badge_primary.svg);
        width: 60px;
        background-position: 50% 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        top: -25px;
        height: 50px;
        background-size: 60px auto;
        background-repeat: no-repeat;
        position: absolute;
        left: 132.5px;
        transform: translateX(-50%);
    }
    .managed_flow_list.plus_alpha .gcp-cloud-free {
        background-image: url(../img/ico_badge_gcp-secondary.svg);
        font-size: 11px;
        color: #fff;
        width: 60px;
        background-position: 50% 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        top: -25px;
        height: 50px;
        background-size: 60px auto;
        background-repeat: no-repeat;
        position: absolute;
        left: 132.5px;
        transform: translateX(-50%);
    }
    .managed_flow_list.plus_alpha .managed_flow_desc {
        padding: 0;
        color: #40403e;
        font-size: 14px;
        text-align: left;
        line-height: 1.8;
    }
    .managed_flow_list.plus_alpha .r-box {
        width: calc(100% - 265px);
        padding: 25px;
        align-self: center;
    }

    .text-orange {
        color: #e89900;
    }
    .order-lists li,
    .blue-lists li {
        display: table;
        line-height: 1.2;
        margin-bottom: 10px;
    }
    .blue-lists li:before {
        display: table-cell;
        content: "●";
        color: #296985;
        font-size: 8px;
        transform: scale(0.8);
        vertical-align: top;
        padding-top: 0.2rem;
        padding-right: 0.5rem;
    }
    .blue-lists li.circle-up:before {
        transform: scale(0.8) translateY(-1.6rem);
    }
    .blue-lists li.nostyle:before {
        display: none;
    }
    .blue-lists li ul li:before {
        content: "・";
        color: #333333;
    }
    .order-lists {
        counter-reset: bracket-number;
    }
    .order-lists li:before {
        counter-increment: bracket-number;
        content: "(" counter(bracket-number) ")";
        display: table-cell;
        font-size: 1rem;
        vertical-align: top;
        padding-top: 0.2rem;
        padding-right: 0.5rem;
    }
    .pc-center {
        text-align: center;
    }
}

html,body {
    height: fit-content!important;
}

/* ------2019.4.16 add fujisawa------- */
.flex {
    display: flex;
}
.herf {
    width: 50%;
}
.profile_sp02_right02 p.kv-badge {
    margin-top: 15px;
}
.introduction-txt {
    max-width: 1040px;
    width: 90%;
    margin: 50px auto;
    font-size: 1.4rem;
}
.add {
    margin: 30px auto;
    max-width: 1000px;
    color: #fff;
    width: 88%;
}
.text_center {
    text-align: center;
}
.managed_flow_list.plus_alpha .managed_flow_desc.dark-blue {
    color: #296985;
}
.pc {
    display: inherit;
}
.sp {
    display: none;
}
.sp-block {
    display: none;
}
.pc-block {
    display: block;
}
span.comment {
    margin-top: 10px;
    font-size: 12px;
}

#page_top {
    display: none;
    width: 50px;
    height: 50px;
    position: fixed;
    right: 20px;
    bottom: 30px;
    background: #1d2b39;
    opacity: 0.45;
    border-radius: 50%;
    z-index: 6000;
}
#page_top a {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
}
#page_top:hover {
    cursor: pointer;
    transition: opacity 0.5s cubic-bezier(0, 0, 0, 0.4);
    opacity: 0.4;
}
#page_top a::before {
    content: "";
    background: url(../img/footer_ico_chevron-up.png) no-repeat;
    position: absolute;
    width: 23px;
    height: 13px;
    top: 18.5px;
    left: 13.5px;
    margin: auto;
    text-align: center;
}
@media (min-width: 768px) and (max-width: 1000px) {
    .index_main_sp .kv-badge {
        width: auto;
    }
    .index_main_sp .kv-badge.kv-area {
        bottom: 60px;
    }
}
/* after release */

#float_banner {
    position: fixed;
    z-index: 10;
    bottom: 22.5px;
    right: 22.5px;
    box-shadow: 0px 0px 13px rgba(17, 26, 43, 0.72);
    transition: bottom 0.5s ease-in-out;
}
#float_banner.scroll-active {
    transition: bottom 0.5s ease-in-out;
    bottom: 95px;
}
.close-xbtn.non-active,
.banner-link.non-active,
.banner-off-btn.non-active {
    display: none;
}
.close-xbtn {
    width: 11px;
    height: 11px;
    position: absolute;
    top: 8px;
    right: 10px;
    z-index: 6500;
}
.close-xbtn::before,
.close-xbtn::after {
    position: absolute;
    content: "";
    height: 1.5px;
    top: 50%;
    background: #303030;
    width: 100%;
}
.close-xbtn::before {
    transform: rotate(45deg);
}
.close-xbtn::after {
    transform: rotate(-45deg);
}
.banner-off-btn {
    width: 45px;
}
.banner-off-btn:hover {
    cursor: pointer;
}
.banner-link img {
    width: 240px;
}

/* パンくず 2019.07.09 add*/
.bc-nav {
    max-width: 1100px;
    margin: 28px auto 0;
    width: 80%;
}
.breadcrumbs ul {
    display: flex;
    padding-left: 0;
}
.breadcrumbs ul li {
    color: #223547;
    position: relative;
    margin-right: 43px;
}
.breadcrumbs ul li::after {
    content: "";
    position: absolute;
    background-image: url("../img/arrow.png");
    width: 3px;
    height: 7px;
    top: 6px;
    right: -21.5px;
}
.breadcrumbs ul li:last-of-type::after {
    display: none;
}

/* ホバーで下線出現 */
.breadcrumbs ul li a span,
.breadcrumb-item a span{
    padding-bottom: 4px;
    transition: background-size 0.35s;
    background: linear-gradient(#296985, #296985) 0 100%/0 1px no-repeat;
}

.breadcrumbs ul li a:hover span,
.breadcrumb-item a:hover span{
    background-size: 100% 1px;
    transition: background-size 0.35s;
}

.header_sp02 .global_nav ul li.nav_style {
    padding: 27px 20px 0 20px;
}
.header_sp02 .global_nav ul {
    font-size: 1.3rem;
}
@media (min-width: 768px) and (max-width: 1100px) {
    .adjustment-formtext {
        display: none;
    }
    .contact_list_sp h3.contact_title01,
    .contact_list_sp h3.contact_title02,
    .contact_list_sp h3.contact_title03 {
        font-size: 1.8rem;
    }
    .header_sp02 .global_nav ul li.nav_style {
        padding: 27px 5px 0 5px;
    }
    .header_sp02 .global_nav ul {
        font-size: 1vw;
    }
}

/* ------ AWS マネージドパック ----- >>>>>>*/
.intro-txt {
    width: 90%;
    font-size: 1.4rem;
    line-height: 1.8;
    margin: 0 auto 40px;
    max-width: 1080px;
}
.inner-menu ul {
    display: flex;
    font-size: 1.4rem;
    margin: 0 auto 40px;
    width: calc(90% + 40px);
    max-width: 1120px;
    flex-flow: wrap;
}
.inner-menu li {
    padding: 5px 20px;
    border-left: 1px dotted #ccc;
    margin-top: 5px;
    margin-bottom: 5px;
}
.inner-menu li:last-of-type {
    border-right: 1px dotted #ccc;
}
.inner-menu li a {
    color: #3b7c97;
}
p.figure {
    margin-top: 35px;
    border: 1px dotted #ccc;
    text-align: center;
    padding: 40px;
}
p.figure img {
    width: 80%;
    max-width: 1022px;
}

/* ボタン	 */
p.btn_style06 {
    text-align: center;
    width: 100%;
    margin: 0 auto;
}
.btn_style06 a {
    display: inline-block;
    text-decoration: none;
    background-color: none !important;
    color: #fff;
    font-size: 1.6rem !important;
    border-radius: 50px;
    transition: all 0.3s;
    background: url(../img/btn_listmk001.png) no-repeat right 25px center;
    background-size: 20px 20px;
    background-color: #fcba04;
    padding: 24px 45px;
    min-width: 340px;
    line-height: 1;
    margin-top: 50px;
}
.btn_style06 a:hover {
    color: #fff;
    background: url(../img/btn_listmk001.png) no-repeat right 20px center;
    background-size: 20px 20px;
    background-color: #fcd604;
}
ul.btn_style06 {
    padding-left: 0;
    text-align: center;
}
ul.btn_style06 li {
    display: inline-block;
}
ul.btn_style06 li + li {
    margin-left: 60px;
}
.btn_style06 .btn_style06_label ~ a {
    margin-top: 0;
}
.btn_style06_label {
    color: #233547;
    font-size: 18px;
}
@media (max-width: 767px) {
    ul.btn_style06 li + li {
        margin-top: 20px;
        margin-left: 0;
    }
}

/* マネージドパック領域 >>>>>>*/
.aws-mp_about_sp .assessment_about_list_sp {
    max-width: 950px;
    width: 80%;
}
.aws-mp_about_sp .assessment_list_sp {
    width: calc((100% / 4) - 40px);
    margin: 0 auto 30px;
}
.aws-mp_about_sp .assessment_list_sp:first-of-type {
    margin-left: 0;
}
.aws-mp_about_sp .assessment_list_sp:last-of-type {
    margin-right: 0;
}
.aws-mp_about_sp .assessment_list_sp_right h3 {
    margin-top: 10px;
}
.aws-mp_about_sp .assessment_list_sp .cap-txt {
    font-size: 1.4rem;
    text-align: center;
}
.aws-mp_about_sp .assessment_list_sp_left p {
    width: 60%;
}

.aws-mp-superiority_desc p {
    margin-bottom: 40px;
}
.sp_desc_fig-sec {
    display: flex;
    width: 90vw;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}
.sp_desc_fig-sec .figure-conts {
    display: flex;
    flex-direction: column;
    text-align: center;
    border: 1px dotted #ccc;
    width: 48%;
    padding: 35px 20px;
}
.sp_desc_fig-sec .figure-conts:last-of-type {
    margin-left: auto;
}
.sp_desc_fig-sec .figure-conts .heading,
.sp_desc_fig-sec .figure-conts h4 {
    color: #233547;
    font-size: 2.2rem;
    margin-bottom: 1rem;
}
.sp_desc_fig-sec .figure-conts .figure-conts_img {
    margin-top: auto;
}
.sp_desc_fig-sec .figure-conts img {
    margin-top: 25px;
}
.assessment_flow_sp.mg-adjust {
    padding: 120px 0;
}
.assessment_about_sp + .assessment_flow_sp.mg-adjust {
    padding-top: 0;
}

.stylish-table table.st-table {
    border-bottom: 1px solid #e5e5e5;
    border-left: none;
}
.stylish-table table.st-table.mini-size {
    width: 88%;
}
.stylish-table table.st-table thead th {
    color: #fff;
    background-color: #233547;
    font-size: 1.6rem;
    position: relative;
    border-left: 1px solid #e5e5e5;
}
.stylish-table table.st-table tbody th {
    background-color: #f8f8f0;
    border-right: 1px solid #e5e5e5;
    border-top: 1px solid #e5e5e5;
    border-left: 1px solid #e5e5e5;
}
.stylish-table table.st-table th,
.stylish-table table.st-table td {
    text-align: center;
    padding: 15px;
    vertical-align: middle;
}
.managed_plan_table_sp .stylish-table table.st-table td {
    border-bottom: 0;
    border-left: 0;
    border-top: 1px solid #e5e5e5;
}

/*<<<<<< マネージドパック領域 */

/* キャンペーン */
.cp-banner {
    position: absolute;
    right: 0;
    top: 33%;
}
.cp-banner a img {
    transition: 0.1s linear;
}
.cp-banner a:hover img {
    transform: scale(1.025);
    transition: 0.1s linear;
}
@media (min-width: 768px) and (max-width: 1000px) {
    .cp-banner {
        top: 50%;
    }
    .cp-banner a img {
        width: 65%;
    }
}
/*<<<<<< ------ AWS マネージドパック -----*/

.yellow-font {
    color: #fcba02;
}
.yellow-font:hover {
    color: #fcba02;
}
.link-download {
    position: relative;
    padding-right: 20px;
}
.link-download::after {
    content: "";
    position: absolute;
    background: url(../icon/download_icon.png) no-repeat;
    background-size: contain;
    width: 15px;
    height: 15px;
    top: 0;
    right: 0;
}
/* 代行関連>>>>>>>>>>> */

.bold {
    font-weight: 700;
}
.btn_rightblue,
.btn_rightblue:visited {
    border: 1px solid #3b7c97;
    border-radius: 50px;
    color: #3b7c97;
    position: relative;
    padding: 12px;
    max-width: 250px;
    width: 80%;
    display: block;
    margin: auto;
    text-align: center;
    transition: all 0.3s;
}
.btn_rightblue::after {
    content: "";
    position: absolute;
    background: url(../img/btn_arrow_rightblue.png) no-repeat;
    width: 12px;
    height: 7px;
    top: 19px;
    right: calc(50% - 65px);
    transition: all 0.3s;
    z-index: 3;
}
.btn_rightblue:hover {
    background: #3b7c97;
    color: #fff;
}
.btn_rightblue:hover::after {
    background-image: url(../img/btn_arrow_rightwhite.png);
    right: calc(50% - 70px);
}
.btn_gcpblue,
.btn_gcpblue:visited {
    border: 1px solid #183935;
    border-radius: 50px;
    background: #fff;
    color: #183935;
    position: relative;
    padding: 12px;
    max-width: 250px;
    width: 80%;
    display: block;
    margin: auto;
    text-align: center;
    transition: all 0.3s;
}
.btn_gcpblue::after {
    content: "";
    position: absolute;
    background: url(../img/btn_arrow_gcpblue.png) no-repeat;
    width: 12px;
    height: 7px;
    top: 19px;
    right: calc(50% - 65px);
    transition: all 0.3s;
    z-index: 3;
}
.btn_gcpblue:hover {
    background: #183935;
    color: #fff;
}
.btn_gcpblue:hover::after {
    background-image: url(../img/btn_arrow_rightwhite.png);
    right: calc(50% - 70px);
}
.btn_style01 a.btn_gcpblue {
    background-image: none;
    max-width: inherit;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
}
.btn_style01 a.btn_gcpblue:hover {
    background-image: none;
    background: #183935;
}
.btn_style01 a.btn_gcpblue::after {
    right: 25px;
    top: 24px;
}
.btn_style01 a.btn_gcpblue:hover::after {
    right: 20px;
}
.opservice-btn {
    width: 100%;
    padding-top: 20px;
    margin-top: auto;
}

.custom-table {
    border: 1px solid #e5e5e5;
    width: 100%;
    font-size: 1.3rem;
    border-top: 1px solid #e5e5e5;
    border-left: 1px solid #e5e5e5;
    margin: 30px 0 50px;
    border-collapse: collapse;
}
.custom-table th {
    color: #fff;
    background-color: #233547;
    font-size: 1.6rem;
    padding: 15px;
    text-align: center;
    border-bottom: 1px solid #e5e5e5;
    border-right: 1px solid #e5e5e5;
}
.custom-table td {
    border-bottom: 1px solid #e5e5e5;
    border-right: 1px solid #e5e5e5;
    background: #fff;
    padding: 20px;
}
.custom-table .s-font {
    font-size: 100%;
}

.fig-abpr {
    display: flex;
    flex-flow: row wrap;
}
.fig-abpr .about-box {
    width: 80%;
    padding-right: 30px;
}
.fig-abpr .right-price {
    width: 20%;
}
.fig-abpr .right-price .price-tag {
    display: block;
    text-align: right;
    font-weight: 700;
    font-size: 2rem;
}

.flowflat {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
}
.flowflat.fource .flow-blue,
.flowflat.fource .flow-darkblue {
    background: #fff;
    width: calc(25% - 4px);
    margin: 0 2px;
    position: relative;
    min-width: 250px;
}
.flowflat .flow-blue .ttl-box,
.flowflat .flow-darkblue .ttl-box {
    text-align: center;
    padding: 18px;
    min-height: 180px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 52px;
}
.flowflat .flow-blue .ttl-box {
    background: #3b7c97;
}
.flowflat .flow-darkblue .ttl-box {
    background: #233547;
}
.flowflat .orange-arrow {
    width: 0;
    height: 100%;
    right: 0;
    position: absolute;
    z-index: 2;
}
.flowflat .orange-arrow::after {
    content: "";
    width: 0px;
    height: 0px;
    border-top: 15px solid transparent;
    border-right: 10px solid transparent;
    border-left: 10px solid #fcba04;
    border-bottom: 15px solid transparent;
    position: absolute;
    right: -20px;
    top: calc(50% - 15px);
    z-index: 1;
}
.flowflat .ttl-box .steps {
    color: rgba(255, 255, 255, 0.4);
    font-size: 18px;
    top: 36px;
    position: absolute;
}
.flowflat .ttl-box h5 {
    color: #fff;
    font-size: 24px;
}
.flowflat .text-conts {
    margin-bottom: 0;
    padding: 25px;
    width: 100%;
    letter-spacing: normal;
}
.m-service-list {
    margin: 50px auto 170px;
    width: 100%;
    font-size: 14px;
}
.ttl4-second {
    color: #223447;
    font-size: 2.8rem;
    padding: 15px 45px;
    position: relative;
}
.mgb-tired {
    margin-bottom: 30px;
}
.ttl4-second::before {
    position: absolute;
    content: "";
    height: 100%;
    width: 5px;
    background: #223447;
    left: 0;
    top: 0;
}
.more-inner {
    padding: 50px;
}
.text-left {
    text-align: left;
}

.add-genre {
    border-top: 1px dotted #555;
    font-size: 12px;
    margin: auto 40px 0;
}
.add-genre p.keywords {
    font-size: 12px;
    margin-top: 1rem;
    margin-bottom: 1rem;
    width: 100%;
}
.add-genre ul {
    display: flex;
    flex-flow: row wrap;
}
.add-genre ul li {
    color: #fff;
    padding: 5px 10px;
    margin-right: 10px;
    margin-bottom: 10px;
}
.add-genre .managed-wax {
    background: #233547;
}
.add-genre .assessment-wax {
    background: #3b7c97;
}
.add-genre .managedpack-wax {
    background: #566d93;
}
.add-genre .poc-wax {
    background: #666;
}
.service_list_sp_right p.mgb-t {
    margin-bottom: 50px;
}

@media (max-width: 767px) {
    .add-genre {
        width: calc(80% - 20px);
        margin: 0;
        margin-left: auto;
    }
}
/* big_footer 2020.04 */
.footer_menus {
    background: #f0f3f5;
    display: flex;
    padding: 60px;
    padding-right: 0;
    padding-bottom: 0;
    justify-content: center;
}
.f_logo {
    max-width: 160px;
}
.f_logo img {
    min-width: 120px;
    width: 100%;
}
.f_conts {
    display: flex;
    padding-left: 140px;
    flex-flow: row wrap;
}
.f_conts .links {
    margin-bottom: 20px;
    padding-right: 40px;
}
.f_conts .links ul {
    margin-bottom: 0;
    letter-spacing: normal;
}
.f_conts .links ul + ul {
    margin-top: 20px;
}
.f_conts .links.service-link .inn-link {
    display: flex;
    flex-flow: row wrap;
}
.f_conts .links .ttl {
    display: inline-block;
    margin-bottom: 12px;
}
.f_conts .links a {
    display: inline-block;
}
.f_conts .links a {
    position: relative;
    padding-left: 20px;
    color: #296985;
}
.f_conts .links a::before {
    content: "";
    position: absolute;
    background: url(../img/btn_arrow_rightblue.png) no-repeat;
    background-size: contain;
    width: 10px;
    height: 5px;
    left: 0;
    top: 6px;
}
.f_conts .links a span {
    position: relative;
    color: #296985;
    background: linear-gradient(#296985, #296985) 0 100% / 0 1px no-repeat;
    padding-bottom: 4px;
    transition: background-size 0.35s;
}
.f_conts .links a:hover span{
    background-size: 100% 1px;
    transition: background-size 0.35s;
}

.f_conts .small {
    font-size: 10px;
}
.inn-link li {
    font-size: 12px;
}
.dblue-font {
    color: #233547;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
}
.dblue-font:lang(en) {
    font-weight: 600;
}
.dblue-font a {
    padding-left: 0 !important;
}
.dblue-font a:before {
    display: none;
}
.dblue-font li {
    margin-bottom: 14px;
    font-size: 14px;
}

.t-tip {
    position: relative;
    cursor: help;
    padding-right: 22px;
}
.t-tip::after {
    position: absolute;
    content: "?";
    width: 16px;
    height: 16px;
    line-height: 16px;
    right: 0;
    top: 0;
    color: #fff;
    background: #b7b7b7;
    border-radius: 8px;
    letter-spacing: normal;
}
.t-tip .tip-body {
    display: none;
    position: absolute;
    bottom: 35px;
}
.t-tip .tip-body .tip-txt {
    position: absolute;
    color: #233547;
    background: #e9eff2;
    border-radius: 4px;
    width: 300px;
    padding: 15px;
    z-index: 2;
    line-height: 1.5;
    margin-left: -150px;
    text-align: left;
    bottom: 0;
    box-shadow: 0px 0px 10px 0px rgba(5, 5, 5, 0.21);
}
.t-tip .tip-body .tip-arrow::before,
.t-tip .tip-body .tip-arrow::after {
    position: absolute;
    content: "";
    bottom: -8px;
    left: 14px;
    width: 15px;
    height: 15px;
    background: #e9eff2;
    transform: translateX(-50%) rotate(45deg) skew(10deg, 10deg);
    z-index: 2;
}
.t-tip .tip-body .tip-arrow::after {
    box-shadow: 0px 0px 10px 0px rgba(5, 5, 5, 0.21);
    background: rgba(255, 255, 255, 0);
    z-index: 1;
}

.t-tip .tip-body.active {
    display: inline-block;
}

/* マネージドパックプラン */
.mpack_plan_sec {
    position: relative;
    width: 100%;
    background: #233547 url(/template/img/bg_img_primary.webp) 50% repeat-y;
    padding: 50px 0;
}
.mpack_plan_sec .mp-inner {
    padding: 50px 0;
    color: #fff;
}
.mpack_plan_sec .mp-inner .mp-ttl4 {
    font-size: 2.8rem;
    text-align: center;
    margin-bottom: 25px;
}
.mpack_plan_sec .mp-inner .mp-exp {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 25px;
}

.allin-one-table {
    display: flex;
}
.short-table {
    display: flex;
    width: 44%;
    color: #3d4d5c;
    text-align: center;
    font-size: 1.4rem;
}
.short-table:nth-of-type(2) .cap-box,
.short-table:nth-of-type(3) .cap-box {
    position: relative;
    z-index: -1;
}
.short-table:nth-of-type(2) {
    margin-left: -121px;
}
.short-table:nth-of-type(3) {
    margin-left: -120px;
}
.short-table.custom {
    width: 34.5%;
}
.short-table .ttl-col {
    background: #fff;
    height: 105px;
}
.short-table .ttl-col .main-font {
    font-size: 2rem;
}
.short-table .und-col {
    background: #f8f8f0;
    height: 260px;
    padding: 25px;
}
.short-table .mid-col {
    background: #f8f8f0;
    height: 60px;
}
.short-table .mid-col .inner-hurf {
    width: 50%;
    border-right: 1px solid #ccc;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.short-table .mid-col.seco {
    background: #fff;
}
.short-table .mix-col {
    background: #f8f8f0;
    height: 380px;
}

.short-table .ttl-col,
.short-table .und-col,
.short-table .mid-col,
.short-table .mix-col {
    display: flex;
    align-items: center;
    justify-content: center;
}

.short-table .cap-box {
    width: 120px;
}
.short-table .detail-box {
    color: #565656;
    width: calc(100% - 119px);
    border-left: 1px solid #ccc;
}
.short-table .detail-box .ttl-col {
    color: #3d4d5c;
}
.short-table.custom .detail-box .ttl-col {
    border-top-right-radius: 18px;
}

.stg-op-box {
    background: #f8f8f0;
    color: #565656;
    border-top-right-radius: 18px;
    padding: 40px;
    display: flex;
    align-items: center;
}
.stg-op-box .l-txt {
    width: 50%;
    padding: 30px;
}
.stg-op-box .l-txt p {
    font-size: 1.4rem;
}
.stg-op-box .l-txt p.add-mini {
    font-size: 1.2rem;
}
.add-mini {
    font-size: 0.8em;
}
.stg-op-box .r-fig {
    width: 50%;
    text-align: center;
}
.font-bold {
    font-weight: 700;
}

.spblock-table .ttl-th {
    text-align: center;
    padding: 15px;
    color: #fff;
    background-color: #233547;
    font-size: 1.6rem;
}
.spblock-table .spt-body {
    display: flex;
}
.spblock-table .spt-body .colum {
    width: calc(100% / 3);
}
.spblock-table .spt-body .colum .th-set {
    text-align: center;
    padding: 15px;
    background: #f0f0f0;
    border-right: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
}
.spblock-table .spt-body .colum .td-set {
    text-align: center;
    padding: 30px;
    border-right: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
}

/* 拡大用モーダル実装 */
.modal-expansion {
    position: relative;
    margin: auto;
    border: 1px solid #dae2e5;
    background: #fff;
    padding: 10px 40px;
    max-width: 300px;
    transition: all 0.3s;
}
.modal-expansion::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    background: #dae2e5
        url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='%23223446'%3e%3cpath fill-rule='evenodd' d='M59.4,37.5v6.3c0,1.3-1.1,2.3-2.3,2.3H46.1V57c0,1.3-1.1,2.3-2.3,2.3h-6.3c-1.3,0-2.3-1.1-2.3-2.3V46.1H24.2c-1.3,0-2.3-1.1-2.3-2.3v-6.3c0-1.3,1.1-2.3,2.3-2.3h10.9V24.2c0-1.3,1.1-2.3,2.3-2.3h6.3c1.3,0,2.3,1.1,2.3,2.3v10.9H57C58.3,35.2,59.4,36.2,59.4,37.5z M98.6,93.1l-5.5,5.5c-1.8,1.8-4.8,1.8-6.6,0L67,79.2c-0.9-0.9-1.4-2.1-1.4-3.3v-3.2c-6.9,5.4-15.6,8.6-25,8.6C18.2,81.3,0,63.1,0,40.6S18.2,0,40.6,0s40.6,18.2,40.6,40.6c0,9.4-3.2,18.1-8.6,25h3.2c1.3,0,2.4,0.5,3.3,1.4l19.5,19.5C100.5,88.3,100.5,91.3,98.6,93.1z M67.2,40.6c0-14.7-11.9-26.6-26.6-26.6S14.1,25.9,14.1,40.6s11.9,26.6,26.6,26.6S67.2,55.3,67.2,40.6z'/%3e%3c/svg%3e")
        50% / 19px no-repeat;
    width: 33px;
    height: 33px;
}
.modal-expansion:hover {
    border-color: #3b7c97;
    box-shadow: 0 0 0 1px #3b7c97 inset, 0px 0px 8px 0px rgba(14, 27, 44, 0.21);
    cursor: pointer;
}
.modal-expansion:hover::before {
    background-color: #3b7c97;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M59.4,37.5v6.3c0,1.3-1.1,2.3-2.3,2.3H46.1V57c0,1.3-1.1,2.3-2.3,2.3h-6.3c-1.3,0-2.3-1.1-2.3-2.3V46.1H24.2c-1.3,0-2.3-1.1-2.3-2.3v-6.3c0-1.3,1.1-2.3,2.3-2.3h10.9V24.2c0-1.3,1.1-2.3,2.3-2.3h6.3c1.3,0,2.3,1.1,2.3,2.3v10.9H57C58.3,35.2,59.4,36.2,59.4,37.5z M98.6,93.1l-5.5,5.5c-1.8,1.8-4.8,1.8-6.6,0L67,79.2c-0.9-0.9-1.4-2.1-1.4-3.3v-3.2c-6.9,5.4-15.6,8.6-25,8.6C18.2,81.3,0,63.1,0,40.6S18.2,0,40.6,0s40.6,18.2,40.6,40.6c0,9.4-3.2,18.1-8.6,25h3.2c1.3,0,2.4,0.5,3.3,1.4l19.5,19.5C100.5,88.3,100.5,91.3,98.6,93.1z M67.2,40.6c0-14.7-11.9-26.6-26.6-26.6S14.1,25.9,14.1,40.6s11.9,26.6,26.6,26.6S67.2,55.3,67.2,40.6z'/%3e%3c/svg%3e");
}
.modal-conts {
    display: none;
    position: relative;
    z-index: 15;
}
.modal-conts .modal-bg {
    cursor: pointer;
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.6);
    width: 100%;
    height: 100vh;
    z-index: 3;
}
.modal-conts .modal-body {
    cursor: default;
    background: #fff;
    position: fixed;
    padding: 35px 50px;
    width: 80%;
    max-width: 1100px;
    max-height: calc(100vh - 150px);
    overflow: hidden;
    left: 50%;
    top: calc(50% + 50px);
    transform: translate(-50%, -50%);
    z-index: 5;
}
.modal-conts .modal-body img {
    max-height: calc(100vh - 220px);
    width: auto;
}
.modal-conts .md-close {
    cursor: pointer;
    width: 44px;
    height: 44px;
    position: absolute;
    right: 0;
    top: 0;
}
.modal-conts .md-close::before,
.modal-conts .md-close::after {
    content: "";
    position: absolute;
    width: 16px;
    height: 3px;
    border-radius: 4px;
    background: #565656;
    top: 18px;
    right: 13px;
}
.modal-conts .md-close::before {
    transform: rotate(45deg);
}
.modal-conts .md-close::after {
    transform: rotate(135deg);
}
@media (max-width: 1000px) {
    .allin-one-table {
        flex-flow: row wrap;
    }
    .short-table,
    .short-table.custom {
        width: 100%;
        margin-bottom: 70px;
    }
    .short-table .detail-box .ttl-col {
        border-top-right-radius: 18px;
    }
    .short-table:nth-of-type(2),
    .short-table:nth-of-type(3) {
        margin-left: 0;
    }
    .short-table:nth-of-type(2) .cap-box,
    .short-table:nth-of-type(3) .cap-box {
        z-index: 1;
    }
    .short-table p {
        text-align: center;
    }
    .stg-op-box {
        flex-flow: row wrap;
    }
    .stg-op-box .l-txt,
    .stg-op-box .r-fig {
        width: 100%;
    }
}
@media (max-width: 1200px) {
    .spblock-table .spt-body {
        flex-flow: row wrap;
    }
    .spblock-table .spt-body .colum {
        width: 100%;
    }
    .spblock-table .spt-body .colum .td-set {
        border-left: 1px solid #e5e5e5;
    }
}
/* premiun-support */
.tasks {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    margin-bottom: 40px;
}
.tasks .task-child {
    width: calc((100% / 3) - 40px);
    margin: 20px;
}
.tasks .task-child .subj {
    background: #233547;
    color: #fff;
    width: 60px;
    height: 60px;
    margin-bottom: 0;
    padding: 14px 10px;
    border-radius: 30px;
    position: relative;
}
.tasks.gcp_tasks .task-child .subj {
    background: #183935;
}
.tasks .task-child .subj .par {
    position: absolute;
    line-height: 1;
    font-size: 12px;
    width: 50%;
    left: 25%;
    text-align: center;
}
.tasks .task-child .subj .par span {
    font-size: 22px;
    font-weight: 500;
}

.tasks .task-child .sentence {
    background: #f8f8f0;
    margin-top: -30px;
}
.assessment_about_sp02 .tasks .task-child .sentence {
    background: #fff;
}
.tasks .task-child .sentence p {
    margin-right: 10px;
    margin-left: 10px;
    margin-bottom: 0;
    width: auto;
    height: 100%;
    min-height: 150px;
    padding-top: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.pr-supp-feature {
    display: flex;
    width: 80%;
    margin: auto;
}
.pr-supp-feature .f-box {
    width: calc((100% / 3) - 40px);
    margin: 0 auto 20px;
    text-align: center;
}
.pr-supp-feature .f-box p {
    margin-bottom: 0;
}
.pr-supp-feature .f-box img {
    max-height: 111px;
}
.pr-supp-feature .f-box h4,
.pr-supp-feature .f-box .h4 {
    text-align: center;
    color: #233547;
    line-height: 1.444;
    font-size: 1.8rem;
    margin: 20px 0 0;
    padding: 0;
}

.prem-support-sec {
    display: flex;
    flex-flow: row wrap;
    margin-bottom: 30px;
}
.prem-support-sec .prsu-card {
    display: flex;
    flex-wrap: wrap;
    padding: 30px 25px;
    border: 1px dotted #ddd;
    margin: 0 10px 20px;
    background: #fff;
    width: calc(50% - 20px);
}
.prem-support-sec .prsu-card .prsu-card_left {
    width: 20%;
}
.prem-support-sec .prsu-card .prsu-card_right {
    width: 80%;
}
.prem-support-sec .prsu-card .prsu-card_right h3 {
    color: #233547;
    font-size: 1.8rem;
    line-height: 1.5;
    margin-left: 20px;
    padding: 0;
    text-align: left;
}
.prem-support-sec .prsu-card .prsu-card_right p {
    width: calc(100% - 20px);
    font-size: 1.4rem;
    line-height: 1.8;
    margin: 20px 0 0 20px;
}
.assessment_about_sp02_02 p.psup-ttl4 {
    font-size: 2.2rem;
    margin-bottom: 90px;
    position: relative;
}
.assessment_about_sp02_02 p.psup-ttl4::after {
    content: "";
    width: 369px;
    height: 92px;
    background: url(../img/bg_basically_secondary.png) no-repeat;
    position: absolute;
    display: inline-block;
    overflow: hidden;
    top: 6px;
    left: calc(50% - 184.5px);
    z-index: 1;
}
.assessment_about_sp02_02 p.psup-ttl4 span {
    position: relative;
    z-index: 2;
}
.assessment_about_sp02_02 p.psup-fig {
    background: #f8f8f0;
    padding: 55px;
    border: 1px dotted #ccc;
    width: 100%;
}
@media (max-width: 767px) {
    .f_logo {
        display: none;
    }
    .footer_menus {
        padding: 0 20px 40px 20px;
    }
    .f_conts {
        padding: 0;
    }
    .f_conts .links {
        width: 50%;
    }
    .f_conts .links .ttl,
    .f_conts .links,
    .f_conts .links.service-link ul {
        padding: 0;
    }
    .f_conts .links.service-link {
        max-width: none;
    }
    .f_conts .links.service-link,
    .f_conts .links.service-link ul {
        width: 100%;
    }
    .f_conts .links.service-link ul {
        display: flex;
        flex-flow: row wrap;
        margin-right: -20px;
    }
    .f_conts .links.service-link ul li {
        margin-right: 20px;
        width: calc(50% - 20px);
        line-height: 1.5;
        /*
    */
    }
    .f_conts .links a {
        display: inline-block;
        padding-top: 0.8rem;
        padding-bottom: 0.8rem;
        padding-left: 11px;
    }
    .f_conts .links a::before {
        width: 6px;
        top: 1.5rem;
    }
    .f_conts .links .ttl {
        margin-bottom: 0;
    }
    .f_conts .links .dblue-font a {
        padding-top: 0.6rem;
        padding-bottom: 0.6rem;
    }
    .f_conts .links .dblue-font li {
        margin-bottom: 0;
    }
    .tasks .task-child {
        width: 100%;
        margin: 20px auto;
    }
    .tasks .task-child .sentence p {
        padding: 20px 20px 0;
    }
    .pr-supp-feature {
        width: 100%;
        flex-flow: row wrap;
    }
    .pr-supp-feature .f-box {
        width: 100%;
        margin-bottom: 60px;
    }
    .pr-supp-feature .f-box h4 {
        font-size: 1.4rem;
    }
    .pr-supp-feature .f-box p {
        text-align: center;
    }
    .pr-supp-feature .f-box img {
        max-width: 80px;
    }
    .prem-support-sec .prsu-card {
        width: 100%;
        margin: 0 auto 20px;
    }
    .prem-support-sec .prsu-card .prsu-card_right h3 {
        font-size: 1.6rem;
    }
    .assessment_about_sp02_02 p.psup-ttl4 {
        font-size: 1.8rem;
        line-height: 1.5;
    }
    .assessment_about_sp02_02 p.psup-fig {
        padding: 20px;
    }
}
@media (min-width: 768px) {
    .dblue-font a:before {
        display: none;
    }
    .footer_menus {
        padding-top: 0px;
        padding-bottom: 60px;
    }
    .f_conts .links ul + ul {
        margin-top: 0;
    }
    .f_conts .links.service-link:first-of-type .inn-link {
        display: block;
    }
    .links:first-of-type .inn-link ul:first-of-type {
        margin-bottom: 0;
    }
    .links li {
        margin-bottom: 8px;
    }
}

/* /managed/ 2021 03.01*/
.font-reset p {
    font-size: 1.4rem;
}
.page-nav {
    display: flex;
    align-items: center;
    width: 100%;
    margin-top: 100px;
    margin-bottom: 0;
    flex-flow: row wrap;
    font-size: 1.4rem;
}
.page-nav li {
    width: 25%;
}
.page-nav a {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 10px 25px;
    text-align: center;
    display: block;
    color: #296985;
    border-right: 0.5px dotted #3b7c97;
    transition: 0.25s;
    position: relative;
}
.page-nav li:first-of-type a {
    border-left: 0.5px dotted #3b7c97;
}
.page-nav a:hover {
    background-color: #eff6fb;
    transition: 0.25s;
}
.page-nav a::after {
    position: absolute;
    content: "";
    width: 5px;
    height: 5px;
    border-right: 0.5px solid #3b7c97;
    border-bottom: 0.5px solid #3b7c97;
    bottom: 17px;
    left: 50%;
    transform: rotate(45deg) translateX(-50%);
    transition: 0.15s;
}
.page-nav a:hover::after {
    bottom: 15px;
    transition: 0.15s;
}

.qa-accs {
    border-bottom: 1px dotted #ccc;
    background: #fff;
    width: 100%;
}
.qa-accs .q-tab {
    border-top: 1px dotted #ccc;
    padding: 25px 50px;
    padding-left: 60px;
    transition: 0.25s;
    position: relative;
}
.qa-accs .q-tab::before {
    position: absolute;
    content: "Q";
    font-size: 24px;
    font-weight: 700;
    left: 15px;
    line-height: 1;
    color: #3b7c97;
}
.qa-accs .q-tab::after {
    position: absolute;
    content: "";
    width: 5px;
    height: 5px;
    border-right: 1px solid #3b7c97;
    border-bottom: 1px solid #3b7c97;
    top: 30px;
    right: 25px;
    transform: rotate(45deg);
    transition: 0.5s;
}
.qa-accs .q-tab.on::after {
    transform: rotate(225deg);
    transition: 0.5s;
}
.qa-accs .q-tab.on {
    background-color: #eff6fb;
}
.qa-accs .q-tab:hover {
    background-color: #eff6fb;
    cursor: pointer;
    transition: 0.25s;
}
.qa-accs .q-tab h3 {
    font-size: 1.4rem;
}
.qa-accs .a-tab {
    display: none;
}
.qa-accs .a-tab .inn {
    padding: 25px 50px;
    padding-left: 60px;
    position: relative;
}
.qa-accs .a-tab .inn::before {
    position: absolute;
    content: "A";
    font-size: 24px;
    font-weight: 700;
    top: 20px;
    left: 20px;
    color: #233547;
}
.qa-accs .a-tab .inn > *:last-child {
    margin-bottom: 0;
}

.cp-band {
    background-color: #fbba03;
    display: block;
    width: 100%;
    height: 60px;
}
.band-inner {
    width: 80%;
    max-width: 1100px;
    margin: auto;
    padding: 15px 40px;
    box-sizing: border-box;
    background-color: rgba(255, 255, 255, 0.32);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
.band-inner::before {
    left: -0.5px;
    top: 0;
    content: "";
    position: absolute;

    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 0 30px 20px;
    border-color: transparent transparent transparent #fbb903;
}
.band-inner::after {
    top: 0;
    right: -0.5px;
    content: "";
    position: absolute;

    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 20px 30px 0;
    border-color: transparent #fbb903 transparent transparent;
}
.band-cap {
    font-size: 14px;
    display: block;
    margin-right: 40px;
}
.band-ttl {
    font-size: 18px;
    display: block;
}
a.cp-band:hover {
    color: #233547;
    opacity: 0.8;
}
@media (max-width: 1100px) {
    .band-cap {
        font-size: 12px;
    }
    .band-ttl {
        font-size: 1.4vw;
    }
}
@media (max-width: 710px) {
    .band-inner {
        width: 100%;
    }
    .band-cap {
        font-size: 8px;
        margin-right: 20px;
    }
}

/* margin */
.mb_50px {
    margin-bottom: 50px;
}
.mb_100px {
    margin-bottom: 100px !important;
}

/* text */
.small {
    font-size: 1.2rem;
}
.text-blue001 {
    color: #296985;
}

/* tag */
.tag-group {
    display: flex;
    flex-flow: row wrap;
    margin: 18px -2px;
    padding-left: 0;
}
.tag-group .tag {
    margin: 2px;
}
@media (min-width: 768px) {
    .tag-group {
        margin: 16px -4px;
    }
    .tag-group .tag {
        margin: 4px;
    }
}

/* tag -> case version */
.tag-area {
    display: flex;
    flex-flow: row wrap;
}
.gry-tag {
    display: inline-block;
    padding: 3px 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    background-color: #f5f5f5;
    border: 1px solid #dedede;
    font-size: 1.4rem;
}
@media (max-width: 767px) {
    .gry-tag {
        margin-right: 5px;
        margin-bottom: 5px;
        padding: 0px 8px;
        font-size: 1rem;
    }
}

/* knowledge */
.knowledge_page_main_sp {
    position: relative;
    z-index: 10;
    background: #3d525b url(../../img/knowledge_img/knowledge_titlebackimg.jpg)
        no-repeat 50% / cover;
    width: 100%;
    text-align: center;
    color: #fff;
}
.knowledge_page_main_sp02 {
    position: relative;
    margin: 0 auto;
    max-width: 1100px;
    height: 290px;
    padding: 0 25px;
}
.knowledge_page_catch_sp {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    z-index: 500;
}
.knowledge_page_catch_sp .ttl-h1 {
    margin-top: 3rem;
    margin-bottom: 3rem;
    font-size: 3rem;
    line-height: 1.8;
}
.knowledge_page_main_sp .kv-badge {
    bottom: 20px;
}
@media (max-width: 767px) {
    .knowledge_page_main_sp {
        position: relative;
        z-index: 10;
        background: #3d525b
            url(../../img/knowledge_img/knowledge_titlebackimg.jpg) no-repeat
            50% / cover;
        width: 100%;
    }
    .knowledge_page_main_sp02 {
        position: relative;
        width: 88%;
        height: 330px;
    }
    .knowledge_page_catch_sp {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        width: 100%;
        z-index: 500;
    }
    .knowledge_page_catch_sp .ttl-h1 {
        font-size: 2.2rem;
        line-height: 1;
    }
    .knowledge_page_main_sp .kv-badge {
        bottom: 25px;
    }
    .knowledge_page_main_sp .kv-badge ~ .knowledge_page_catch_sp {
        top: 35%;
    }
}

.knowledge_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-right: auto;
    margin-left: auto;
    padding-left: 0;
}
.knowledge_list-item {
    display: flex;
    margin: 0 5px 10px;
    border-top-right-radius: 16px;
    border: 1px dotted #ccc;
    background-color: #fff;
    width: calc((100% / 3) - 10px);
    padding: 39px;
    transition: all 0.3s;
}
.knowledge_list-item:hover {
    background-color: #eff6fb;
}
.knowledge_list-item a {
    margin: -40px;
    padding: 40px;
    color: inherit;
}
.knowledge_list-h2 {
    position: relative;
    background: #6e8eb1 50% / cover no-repeat;
    padding-top: 57%;
    text-align: center;
    font-size: 1.6rem;
    color: #fff;
}
.knowledge_list-h2-text {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
    width: 100%;
    padding: 10px;
}
.knowledge_list-body {
    margin-top: 20px;
}
.knowledge_list-body > *:last-child {
    margin-bottom: 0;
}
@media (max-width: 767px) {
    .knowledge_list {
        display: block;
        width: 92%;
    }
    .knowledge_list-item {
        width: auto;
    }
}

.knowledge_detail ul {
    margin-bottom: 40px;
    font-size: 1.4rem;
    line-height: 1.8;
}

.knowledge_detail-h1 {
    position: relative;
    margin-bottom: 50px;
    background: #6e8eb1 url(/img/knowledge_img/knowledge_title_bg.jpg) no-repeat
        100% 0 / cover;
    padding-top: 21.9%;
    text-align: center;
    font-size: 3rem;
    line-height: 1.44;
    color: #fff;
}
.knowledge_detail-h1-text {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
    width: 100%;
    padding: 10px;
}
.knowledge_detail-h2 {
    margin-top: 50px;
    margin-bottom: 50px;
    background-color: #233547;
    padding: 10px 25px;
    font-size: 2.6rem;
    color: rgb(255, 255, 255);
}
.knowledge_detail-h3 {
    margin-top: 40px;
    margin-bottom: 20px;
    text-align: inherit;
    font-size: 2.4rem;
    color: #233547;
}
.knowledge_detail-h4 {
    margin-bottom: 1em;
    border-left: 3px solid #233547;
    padding-left: 17px;
    font-size: 2rem;
}
.knowledge_detail-figure {
    display: block;
    margin-bottom: 40px;
    text-align: center;
    font-size: 1.4rem;
    color: #666;
}
.knowledge_detail-figure-image {
    display: block;
    border: 1px solid #e5e5e5;
    padding: 39px;
}
.knowledge_detail-figure-caption {
    margin-top: 2rem;
}
.knowledge_detail-pagination {
    display: flex;
}
.knowledge_detail-page-item {
    width: 50%;
}
.knowledge_detail-page-previous:only-child,
.knowledge_detail-page-next:only-child {
    width: 100%;
}
.knowledge_detail-page-next {
    text-align: right;
}
.knowledge_detail-tag-group {
    margin-bottom: 45px;
}
.knowledge_detail-border {
    border: 1px solid #e5e5e5;
    padding: 19px;
}
.knowledge_detail-border .blue-lists {
    margin-bottom: -10px;
}
.knowledge_detail-bg-light {
    margin-top: 5rem;
    background: #f6f6f6;
    padding: 20px;
}
.knowledge_detail-bg-light .order-lists {
    margin-bottom: -10px;
}
@media (max-width: 767px) {
    .knowledge_detail-h1 {
        padding-top: 34.7%;
        font-size: 1.8rem;
    }
    .knowledge_detail-pagination {
        display: block;
        text-align: center;
    }
    .knowledge_detail-page-item {
        margin-top: 40px;
        width: auto !important;
        text-align: inherit;
    }
}
@media (min-width: 768px) {
    .knowledge_detail-tag-group .tag {
        padding-right: 9px;
        padding-left: 9px;
        font-size: 1.4rem;
    }
}
/* knowledge < 目次 */
#boxIndex {
    cursor: pointer;
}
#boxIndex .boxIndex-heading:hover {
    background-color: #eff6fb;
    transition: 0.25s;
}
#boxIndex .boxIndex-heading.on {
    background-color: #eff6fb;
}
#boxIndex .boxIndex-heading .knowledge_detail-h4 {
    position: relative;
}
#boxIndex .boxIndex-heading .knowledge_detail-h4::after {
    position: absolute;
    content: "";
    width: 5px;
    height: 5px;
    border-right: 1px solid #3b7c97;
    border-bottom: 1px solid #3b7c97;
    transform: rotate(45deg);
    transition: 0.5s;
    top: 10px;
    right: 0px;
}
#boxIndex .boxIndex-heading.on .knowledge_detail-h4::after {
    transform: rotate(225deg);
    transition: 0.5s;
}

.boxIndex-list ul li a{
    text-decoration: none;
}
.toc-list a{
    text-decoration: none;
}
/* GC PARTNER AREA */
.gc_partner_lead_wrap {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 90px;
}
.gc_partner_logo {
    max-width: 250px;
    margin-right: 50px;
}
.gc_partner_lead {
    flex-basis: calc(100% - 300px);
}