@charset "utf-8";

@media screen and (max-width: 779px) {
    .issp {
        display: block;
    }
    .issp.is-inline {
        display: inline;
    }
    .ispc {
        display: none;
    }
    body {
        -webkit-text-size-adjust: 100%;
    }
    #whole-cont {
        display: block;
    }

    /* global navigation */
    aside {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 60px;
        min-height: 0;
        padding: 0;
        overflow: hidden;
        z-index: 10;
        transition: height 0.3s;
        padding-bottom: 32px;
    }
    aside.open {
        height: 100%;
        overflow: auto;
    }
    #aside-menu {
        display: block;
        height: auto;
        padding-top: 76px;
    }
    .sp-menu {
        position: fixed;
        top: 0;
        left: 0;
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        width: 100%;
        height: 60px;
        z-index: 2;
        background: #092962;
    }
    #sp-menu-opener {
        display: block;
        width: 60px;
        height: 60px;
        background: url(../images/gp-hamburger.svg) no-repeat center;
    }
    #sp-search-opener {
        display: block;
        width: 60px;
        height: 60px;
        background: url(../images/gp-glass.svg) no-repeat center;
    }
    .is-search-open #sp-search-opener {
        background-image: url(../images/gp-cross.svg);
    }
    #aside-menu h1 {
        margin: 8px auto;
        background: transparent;
        padding: 0;
        width: 72px;
    }
    #aside-menu h1 a {
        display: inline-block;
        padding: 5px;
        width: 72px;
        height: 43px;
        background: #ffffff;
        box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
        border-radius: 3px;
        box-sizing: border-box;
    }
    #aside-menu h1 img {
        width: 62px;
        height: auto;
    }
    #aside-menu h2 {
        color: #e6ebf4;
        padding: 0 10px;
        margin-bottom: 8px;
        font-size: 14px;
    }
    #aside-menu .aside-panel {
        width: 100%;
    }
    #aside-menu ul:not(.mf_finder_searchBox_suggest_items) {
        font-size: 14px;
        margin: 0 10px 32px;
    }
    #aside-menu li {
        margin-bottom: 2px;
    }
    #aside-menu li:last-child {
        margin-bottom: 0;
    }
    #aside-menu ul span {
        padding: 16px;
    }
    #aside-menu ul:not(.mf_finder_searchBox_suggest_items) a {
        padding: 16px;
        background-color: rgba(45, 83, 151, 0.5);
    }
    #aside-menu ul:not(.is-secondary) {
        margin-left: 0;
        margin-right: 0;
    }
    #aside-menu > div > ul:not(.is-secondary) {
        padding-bottom: 0;
        border-bottom: none;
    }
    #aside-menu .sp-menu + ul {
        margin-left: 0;
        margin-right: 0;
    }
    #aside-menu #aside-search + ul > li > span {
        padding: 16px 20px;
        background: rgba(45, 83, 151, 0.5) url(../images/gp-rightarrow.svg)
            no-repeat right 18px center;
    }
    #aside-menu .sp-menu + ul > li > span::before {
        margin-right: 16px;
    }
    #aside-menu ul li.icon_fault > span::before {
        content: "";
        background-repeat: no-repeat;
        background-position: center;
        width: 16px;
        height: 16px;
        display: inline-block;
        vertical-align: middle;
        margin-right: 7px;
        background-image: url(../images/aside1_8.svg);
    }
    #aside-menu ul > li > div {
        display: none;
        position: static;
        background-color: transparent;
        width: auto;
        height: auto;
        box-shadow: none;
        padding: 28px 10px 0;
        border-radius: 0;
        max-height: none;
    }
    #aside-menu ul > li.open > div {
        display: block;
    }
    #aside-menu ul > li > span + ul {
        display: block;
        position: static;
        width: auto;
        border-radius: 0;
        box-shadow: none;
        padding: 0;
        margin-bottom: 0;
    }
    #aside-menu ul > li > span + ul a {
        font-size: 14px;
        line-height: 140%;
        color: #e6ebf4;
        opacity: 1;
        text-decoration: none;
        margin-bottom: 2px;
        padding: 16px;
    }
    #aside-menu ul > li > span + ul a::after {
        content: "";
        display: inline-block;
        border-right: 2px solid #e6ebf4;
        border-bottom: 2px solid #e6ebf4;
        transform: rotate(-45deg) scale(0.8);
        width: 5px;
        height: 5px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 21px;
        margin: auto;
    }
    #aside-menu ul > li.open > ul {
        display: block;
    }
    #aside-menu ul > li > div div {
        border-bottom: 1px solid rgba(0, 0, 0, 0.3);
        padding: 0 0 16px;
        margin-bottom: 16px;
    }
    #aside-menu ul > li > div div:last-child {
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 0;
    }
    #aside-menu ul > li > div > div:nth-child(2n) {
        background-color: transparent;
    }
    #aside-menu ul > li > div h2 {
        font-weight: normal;
        margin-bottom: 8px;
    }
    #aside-menu ul > li > div ul > li:last-child > :last-child {
        margin-bottom: 0;
    }
    #aside-menu ul > li > div ul {
        display: block;
    }
    #aside-menu ul > li > div ul li {
        position: relative;
        margin-bottom: 2px;
        margin-right: 0;
    }
    #aside-menu ul > li > div li span {
        position: absolute;
        top: 9px;
        left: 10px;
        opacity: 1;
        font-size: 12px;
    }
    #aside-menu ul > li > div li a {
        padding: 28px 30px 8px 10px;
        margin-bottom: 0;
        display: block;
        text-decoration: none;
    }
    #aside-menu ul > li > div li a::after {
        content: "";
        display: inline-block;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        transform: rotate(-45deg);
        width: 5px;
        height: 5px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 23px;
        margin: auto;
        opacity: 1;
    }
    #aside-menu ul.is-secondary:nth-of-type(2) {
        margin-bottom: 0;
    }
    #aside-menu ul.is-secondary > li > span {
        color: #6685ba;
        font-size: 12px;
        padding: 0 4px;
        margin-top: 8px;
        margin-bottom: 4px;
    }
    #aside-menu ul.is-secondary > li > a {
        font-size: 14px;
        color: #e6ebf4;
        padding-top: 16px;
        padding-bottom: 16px;
    }
    #aside-menu ul.is-secondary:nth-of-type(2) > li > span {
        color: #6685ba;
        margin-top: 8px;
        margin-bottom: 4px;
    }
    #aside-menu ul.is-secondary:nth-of-type(2) > li > a {
        color: #e6ebf4;
        position: relative;
    }
    #aside-menu ul.is-secondary:nth-of-type(2) > li > a::before,
    #aside-menu ul.is-secondary:nth-of-type(2) > li > span::before {
        content: none;
    }
    #aside-menu ul.is-secondary > li > a::after {
        content: "";
        display: inline-block;
        border-right: 2px solid #e6ebf4;
        border-bottom: 2px solid #e6ebf4;
        transform: rotate(-45deg) scale(0.8);
        width: 5px;
        height: 5px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 21px;
        margin: auto;
    }
    #menu_all {
        font-size: 14px;
    }
    #aside-menu.is-child-view {
    }
    #aside-menu.is-child-view > div > ul {
        margin-bottom: 0;
    }
    #aside-menu.is-child-view > div > ul > li:not(.is-open),
    #aside-menu.is-child-view > div > ul.is-secondary,
    #aside-menu.is-child-view > div > h2,
    #aside-menu.is-child-view #aside-language {
        display: none;
    }
    #aside-menu.is-child-view #aside-search + ul > li > span {
        padding-left: 44px;
        background-position: 16px center;
        background-image: url(../images/gp-leftarrow.svg);
    }
    #aside-menu ul > li.is-open > div {
        display: block;
    }
    #aside-search {
        display: none;
        background: #092962;
        border: none;
        padding: 10px;
        margin: 0;
        width: calc(100% - 65px);
        height: 40px;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 2;
    }
    .is-search-open #aside-search {
        display: block;
    }
    #aside-contact {
    }
    #aside-contact a {
        padding: 14px 15px;
        display: block;
        text-decoration: none;
        color: #ffffff;
    }
    #aside-language {
        text-align: center;
        color: #ffffff;
        font-size: 14px;
        line-height: 140%;
        padding: 14px 0;
    }
    #aside-language a {
        display: inline-block;
        text-decoration: none;
        color: #ffffff;
        padding: 0 20px;
    }
    #aside-language span {
        padding: 0;
        opacity: 0.5;
        display: inline-block;
    }

    #main-cont {
        width: 100%;
        overflow: hidden;
        padding-top: 60px;
        min-height: 0;
    }
    main {
        margin-bottom: 60px;
    }
    #pagetop {
        display: block;
        text-align: center;
        padding-bottom: 48px;
    }
    #pagetop a {
        display: inline-block;
        width: 64px;
        height: 64px;
        border-radius: 32px;
        background: #e6ebf4;
        position: relative;
    }
    #pagetop a::after {
        content: "";
        display: inline-block;
        border-right: 3px solid #2d5397;
        border-bottom: 3px solid #2d5397;
        transform: rotate(-135deg);
        width: 8px;
        height: 8px;
        position: absolute;
        top: 4px;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
    }

    /* footer */
    footer {
        padding: 67px 0 52px;
        font-size: 13px;
        display: block;
    }
    footer h2 {
        margin-bottom: 20px;
        font-size: 13px;
    }
    #footer-links {
        padding: 0 20px;
        display: block;
    }
    #footer-links ul {
        margin-bottom: 36px;
    }
    #footer-links li {
        margin-bottom: 16px;
    }
    #footer-links li:last-child {
        margin-bottom: 0;
    }
    #footer-links .nav-panel {
        float: right;
        width: 47.76%;
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 36px;
    }
    #footer-links .nav-panel:first-child {
        float: left;
    }
    #footer-policy-links {
        clear: both;
        margin-top: 52px;
    }
    #footer-policy-links ul {
        display: block;
        text-align: center;
        padding-top: 52px;
        margin-bottom: 33px;
    }
    #footer-policy-links li {
        padding: 0;
        margin-bottom: 16px;
    }
    #footer-policy-links li:last-child {
        margin-bottom: 0;
    }
    #footer-copyright {
        width: auto;
        height: auto;
        display: block;
        padding-top: 0;
        text-align: center;
        padding-bottom: 0;
    }

    /* top - search */
    .panel-search {
        height: 235px;
        padding-top: 31px;
    }
    .panel-search h2 {
        margin-bottom: 14px;
    }
    .panel-search h2 img {
        width: 120px;
        height: auto;
    }
    .panel-search p {
        padding-left: 20px;
        padding-right: 20px;
        font-size: 14px;
        margin-bottom: 12px;
    }
    .part-search {
        width: 315px;
        height: 40px;
        border-color: #ccc;
    }
    .part-search input {
        margin: 10px 6px 9px;
        width: 260px;
        font-size: 14px;
        line-height: 150%;
    }
    .part-search button {
        width: 24px;
        height: 24px;
        background-size: contain;
        margin-left: 8px;
        margin-top: -3px;
    }
    .part-search-button {
        display: none;
    }
    .panel-service-category {
        text-align: center;
        padding: 48px 0 62px;
    }
    .panel-service-category h2 {
        font-size: 15px;
    }
    .panel-service-category p {
        font-size: 14px;
        line-height: 140%;
        margin-bottom: 28px;
        margin-left: 20px;
        margin-right: 20px;
    }
    .part-service-category-select {
        width: auto;
        margin: 0 4px 30px;
        flex-flow: row wrap;
    }
    .part-service-category-select > a {
        width: 31.88%;
        height: 117px;
        font-size: 12px;
        border-radius: 3px;
    }
    .part-service-category-select > a:hover {
        background-color: #f5f7fa;
    }
    .part-select-category-links {
        font-size: 14px;
        line-height: 140%;
    }
    .part-select-category-links span::after {
        margin: 0 12px;
    }
    .panel-top-news {
        margin-bottom: 60px;
        padding: 60px 20px 48px;
    }
    .panel-top-news h2 {
        border-left: 2px solid #6685ba;
        font-size: 15px;
        padding-top: 6px;
        padding-bottom: 5px;
    }
    .panel-top-news .part-news {
        padding: 0 0 32px;
    }
    .panel-top-news .part-news dt {
        line-height: 150%;
    }
    .panel-top-news .part-news h3 {
        font-size: 14px;
        line-height: 140%;
    }
    .panel-top-news .part-news h3 span {
        font-size: 12px;
    }
    .part-top-see-more {
    }
    .part-top-see-more a {
        display: block;
        padding: 11px;
        width: auto;
    }

    /* heading with search form */
    .part-heading-search {
        display: block;
        margin-left: 20px;
        margin-right: 20px;
    }
    .panel-free .part-heading-search h2 {
        font-size: 15px;
        padding: 6px 0 5px 12px;
        margin-bottom: 24px;
        margin-left: 0;
        margin-right: 0;
    }
    .part-heading-search form {
        width: 100%;
        margin-bottom: 0;
    }

    /* see more */
    .part-see-more {
        margin-right: 20px;
        margin-left: 20px;
    }
    .part-see-more a {
        display: block;
        width: auto;
        font-size: 13px;
        line-height: 140%;
        padding: 11px;
    }
    .part-see-more a::after {
        transform: rotate(-45deg) scale(0.8);
    }
    .panel-free > .part-see-more + h2 {
        margin-top: 80px;
    }

    /* see detail */
    .part-see-detail {
    }
    .part-see-detail a {
        display: block;
        font-size: 13px;
        line-height: 140%;
        padding: 11px;
        width: auto;
    }
    .part-see-detail a::after {
        transform: rotate(-45deg) scale(0.8);
        right: 16px;
    }

    /* top - service list */
    .part-tags {
        margin-top: 40px;
    }
    .part-tags ul {
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
        font-size: 12px;
        border-bottom: 1px solid #e6ebf4;
    }
    .part-tags li {
        width: 31.2%;
        margin: 0 0.9% 7px;
    }
    .part-tags li:hover,
    .part-tags li.is-active {
        border-bottom: none;
    }
    .part-tags li a {
        border-radius: 3px;
        height: 64px;
        margin-bottom: 0;
    }
    .part-tags li a::before {
        width: 18px;
        height: 18px;
        background-size: contain;
        margin-bottom: 14px;
    }
    .panel-double-def-list {
        width: auto;
        margin: 0 16px 80px;
        padding: 27px 0 0;
    }
    .panel-double-def-list > dl {
        display: block;
    }
    .panel-double-def-list > dl > dt {
        width: auto;
    }
    .panel-double-def-list > dl > dd {
        width: auto;
        margin-bottom: 52px;
    }
    .panel-double-def-list > dl > dd::after {
        width: calc(100% - 40px);
        bottom: -24px;
    }
    .panel-double-def-list dd > dl {
        padding: 0;
        color: #2d5397;
        display: block;
        margin-bottom: 4px;
    }
    .panel-double-def-list dd > dl dt {
        padding: 16px 16px 13px;
        background: #fafbfc;
        width: auto;
        margin-bottom: 0;
        position: relative;
    }
    .panel-double-def-list dd > dl dt::after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 16px;
        width: calc(100% - 32px);
        height: 1px;
        background-color: #e6ebf4;
    }
    .panel-double-def-list dd > dl dt h4 {
        font-size: 12px;
        margin-bottom: 4px;
    }
    .panel-double-def-list dd > dl dt p {
        font-size: 12px;
        opacity: 0.8;
    }
    .panel-double-def-list dd > dl dd {
        padding: 16px;
        background: #fafbfc;
        width: auto;
        margin-bottom: 4px;
    }
    .panel-double-def-list dd > dl dd ul {
        font-size: 13px;
    }
    .panel-double-def-list dd > dl dd li a {
        text-decoration: none;
    }
    .part-category-overview {
        position: relative;
        padding-left: 56px;
        margin-bottom: 29px;
    }
    .part-category-overview div {
        margin-bottom: 0;
        position: absolute;
        top: 0;
        left: 0;
    }
    .part-category-overview div img {
        height: 48px;
        width: auto;
    }
    .part-category-overview h3 {
        font-size: 14px;
        margin-bottom: 2px;
    }
    .part-category-overview p {
        font-size: 12px;
        width: auto;
    }
    .part-category-overview p br {
        display: none;
    }

    /* top - faq */
    .part-faq {
        padding: 32px 20px 0;
    }
    .part-faq h3 {
        font-size: 14px;
        margin-bottom: 4px;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }
    .part-faq h3 a {
        text-decoration: none;
    }
    .part-faq a:hover::after {
        transform: rotate(-45deg) scale(0.8);
        margin-left: 7px;
    }
    .part-faq p {
        font-size: 12px;
        margin-bottom: 16px;
        padding-bottom: 16px;
        border-bottom: 1px solid #e6ebf4;
    }
    .part-faq li:last-child p {
        margin-bottom: 0;
        border-bottom: none;
        padding-bottom: 0;
    }

    /* top - news */
    .part-news {
        padding: 32px 20px;
    }
    .part-news dl {
        display: block;
    }
    .part-news dt {
        width: auto;
        font-size: 12px;
        margin-bottom: 4px;
    }
    .part-news dd {
        width: auto;
    }
    .part-news a:hover::after {
        transform: rotate(-45deg) scale(0.8);
        margin-left: 7px;
    }
    .part-news p {
        font-size: 12px;
        margin-bottom: 16px;
        padding-bottom: 16px;
        border-bottom: 1px solid #e6ebf4;
    }
    .part-news dd:last-child p {
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 0;
    }
    /* bread crumbs */
    .breadcrumbles {
        padding: 18px 20px;
    }
    .breadcrumbles ul {
        width: auto;
        font-size: 12px;
        display: block;
    }
    .breadcrumbles li {
        display: inline-block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 210%;
        max-width: 100%;
    }
    .breadcrumbles li a {
        padding-right: 7px;
        display: inline;
    }
    .breadcrumbles li a::after {
        vertical-align: 1px;
    }

    /* services list */
    .content-header.is-services-list {
        padding-top: 28px;
    }
    .is-services-list + .panel-with-right-area {
        margin-top: 29px;
    }
    .is-services-list + .panel-with-right-area > .part-right-area {
        height: auto;
        border-bottom: 1px solid #e6ebf4;
        padding-bottom: 3px;
        margin-bottom: 54px;
    }
    .is-services-list + .panel-with-right-area > .part-right-area ul {
        margin-bottom: 0;
    }
    .is-services-list + .panel-with-right-area > .part-right-area a.is-focus {
        font-weight: normal;
    }
    .part-service-list {
        padding-bottom: 0;
        border-bottom: none;
        margin-bottom: 66px;
    }
    .part-service-list:nth-last-child(3) {
        margin-bottom: 60px;
    }
    .part-service-list h3 {
        font-size: 14px;
        line-height: 140%;
        margin-bottom: 24px;
    }
    .part-service-list h3::before {
        width: 48px;
        height: 48px;
        background-size: 48px 48px;
        margin-right: 8px;
    }
    .part-service-list-block {
        padding: 16px;
        display: block;
    }
    .part-service-list-block dt {
        width: auto;
        font-size: 12px;
        border-bottom: 1px solid #e6ebf4;
        padding-bottom: 12px;
        margin-bottom: 12px;
    }
    .part-service-list-block dd {
        width: auto;
    }
    .part-service-list-block dd ul li {
        margin-bottom: 10px;
    }
    .part-service-list-block dd ul li:last-child {
        margin-bottom: 0;
    }
    .part-service-list-block dd ul span {
        font-size: 12px;
        margin-bottom: 2px;
    }
    .part-service-list-block dd ul a {
        line-height: 140%;
    }
    .part-others-list {
        margin-bottom: 48px;
    }
    .part-others-list h2 {
        border-left-width: 2px;
        padding: 6px 12px 5px;
        font-size: 15px;
    }
    .part-others-list ul {
        font-size: 13px;
        line-height: 140%;
    }
    .part-others-list ul.is-2-columns {
        columns: 1;
    }
    .part-others-list ul li {
        margin-bottom: 16px;
    }
    .part-others-list ul li:last-child {
        margin-bottom: 0;
    }

    /* service detail */
    .category-nav {
        padding-top: 28px;
        position: relative;
    }
    .category-nav h1 {
        width: auto;
        margin: 0 20px 16px;
        font-size: 18px;
    }
    .category-nav ul {
        width: auto;
        font-size: 12px;
        overflow: auto;
        padding: 0 20px;
    }
    .category-nav ul::-webkit-scrollbar {
        display: none;
    }
    .category-nav li {
        margin-right: 8px;
        white-space: nowrap;
    }
    .category-nav li > * {
        padding: 8px 8px 12px;
    }
    .category-nav + .panel-free {
        padding-top: 32px;
    }
    .category-nav-left {
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        background: linear-gradient(
            90deg,
            #d8dfec 0%,
            rgba(216, 223, 236, 0) 50%
        );
        width: 40px;
        height: 42px;
    }
    .category-nav-left::before {
        content: "";
        background: url(../images/gp-circle-right-arrow-gray.svg) no-repeat
            center;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        transform: rotate(180deg);
    }
    .category-nav-right {
        display: block;
        position: absolute;
        bottom: 0;
        right: 0;
        background: linear-gradient(
            270deg,
            #d8dfec 0%,
            rgba(216, 223, 236, 0) 50%
        );
        width: 40px;
        height: 42px;
    }
    .category-nav-right::before {
        content: "";
        background: url(../images/gp-circle-right-arrow-gray.svg) no-repeat
            center;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
    }
    .part-button {
        margin-bottom: 24px;
        margin-top: 16px;
        margin-left: 20px;
        margin-right: 20px;
    }
    .part-button > a {
        padding: 12px 11px 10px;
        font-size: 13px;
        line-height: 140%;
    }
    .part-button span {
        display: inline-block;
        margin-left: 0;
        margin-top: 24px;
        font-size: 14px;
        line-height: 140%;
    }
    .panel-free > .part-button + h2 {
        margin-top: 48px;
    }

    /* service detail - summary */
    .part-summary {
        padding: 16px;
        margin: 0 16px 16px;
    }
    .part-summary > :last-child {
        margin-bottom: 0;
    }
    .part-summary h2 {
        font-size: 14px;
    }
    .part-summary p {
        font-size: 14px;
        line-height: 140%;
        margin-bottom: 16px;
    }
    .part-summary .role-note {
        font-size: 12px;
    }
    .part-summary .role-button {
    }
    .part-summary .role-button a {
        font-size: 13px;
        padding: 12px 12px 10px;
        width: 240px;
    }
    .part-summary .role-button a::after {
        transform: rotate(-45deg) scale(0.8);
        right: 16px;
    }
    .part-next-topic {
        margin: 0 16px 48px;
    }

    /* service detail faq */
    .panel-with-right-area {
        width: auto;
        padding: 0 16px;
        margin: 32px auto;
    }
    .part-heading-search-faq {
        display: block;
        margin-bottom: 16px;
        padding-top: 16px;
    }
    .part-heading-search-faq h1 {
        margin-bottom: 24px;
        font-weight: bold;
        font-size: 18px;
    }
    .part-heading-search-faq h1 span {
        font-size: 12px;
        margin-left: 6px;
    }
    .part-heading-search-faq form {
        margin-left: 20px;
        margin-right: 20px;
        width: calc(100% - 40px);
    }
    .part-heading-search-faq input {
        width: calc(100% - 50px);
    }
    .part-right-area {
        position: static;
        width: auto;
    }
    .part-link-list {
        margin-bottom: 61px;
    }
    .part-link-list li {
        margin-bottom: 26px;
    }
    .part-link-list li::before {
        margin-right: 9px;
    }
    .part-link-list li a {
        font-size: 14px;
        line-height: 140%;
    }
    .part-faq-list {
        margin-left: 20px;
        margin-right: 20px;
    }
    .part-faq-list .category-nav {
        margin-bottom: 32px;
    }
    .part-faq-list .category-nav ul {
        padding-left: 0;
        padding-right: 0;
    }
    .part-faq-list .category-nav li {
        margin-bottom: 0;
    }
    .panel-list-header + .panel-free .part-faq-list .category-nav {
        margin-bottom: 48px;
    }
    .part-faq-list h2 {
        border-left-width: 2px;
        padding: 7px 12px 6px;
        font-size: 15px;
    }
    .part-faq-list span {
        font-size: 12px;
    }
    .part-faq-list_box {
        margin-bottom: 24px;
    }
    .part-faq-list_box + h2 {
        margin-top: 48px;
    }
    .part-faq-list_item {
        border-radius: 4px;
        margin-bottom: 6px;
        padding: 18px 16px;
    }
    .part-faq-list_item h3 {
        font-size: 14px;
        line-height: 140%;
    }
    .part-faq-list_item p {
        font-size: 12px;
    }
    .part-faq-list_link a {
        font-size: 14px;
        line-height: 140%;
    }
    .part-faq-list_link a::after {
        vertical-align: -4px;
    }
    .part-faq-list .part-pagenate {
        margin-bottom: 0;
    }
    /* service detail faq detail */
    /* service detail known issue detail */
    .panel-topic.is-faq,
    .panel-topic.is-issue {
        padding-top: 48px;
    }
    .panel-topic.is-faq h1,
    .panel-topic.is-issue h1 {
        font-size: 15px;
    }
    .panel-topic.is-faq .panel-free,
    .panel-topic.is-issue .panel-free {
        padding-top: 24px;
        margin-top: 16px;
        margin-left: 20px;
        margin-right: 20px;
    }
    .panel-topic.is-faq > .panel-free > h2,
    .panel-topic.is-issue > .panel-free > h2,
    .panel-topic.is-faq > div > .panel-free > h2,
    .panel-topic.is-issue > div > .panel-free > h2,
    .panel-topic.is-faq > .panel-free > h3,
    .panel-topic.is-issue > .panel-free > h3,
    .panel-topic.is-faq > .panel-free > h4,
    .panel-topic.is-issue > .panel-free > h4,
    .panel-topic.is-faq > .panel-free > p,
    .panel-topic.is-issue > .panel-free > p {
        margin-left: 0;
        margin-right: 0;
    }
    .panel-free.is-faq-list {
        padding-top: 60px;
    }
    .part-reference {
        margin: 32px 20px;
    }
    .panel-topic.is-faq .panel-free .part-reference,
    .panel-topic.is-issue .panel-free .part-reference {
        margin-left: 0;
        margin-right: 0;
    }
    .part-reference p {
        line-height: 140%;
        margin-bottom: 16px;
    }
    .part-reference p a {
        display: block;
        padding-right: 20px;
        position: relative;
    }
    .part-reference p a::after {
        margin-left: 0;
        position: absolute;
        top: 0;
        right: 0;
        vertical-align: middle;
    }
    .part-reaction {
        width: auto;
        margin: 0 20px;
        padding: 24px 0;
    }
    .part-reaction p {
        line-height: 140%;
    }
    .part-reaction p a {
        margin-left: 0;
        margin-right: 15px;
        margin-top: 16px;
        display: inline-block;
    }
    .part-reaction p a + a {
        margin-right: 0;
    }

    /* Start helpful */
    .helpful > .helpful-header::before {
        padding: 0 10px;
    }
    .helpful .helpful-controls {
        margin-left: 0px;
    }
    button.helpful-button {
        width: 150px;
        padding: 11px;
        font-size: 13px;
        margin-left: 0;
        margin-top: 20px;
    }
    .helpful .helpful-controls > div > div + div {
        margin-left: 15px;
    }

    @media screen and (max-width: 350px) {
        button.helpful-button {
            width: 135px;
            padding-left: 0;
            padding-right: 0;
        }
        .helpful .helpful-controls > div > div + div {
            margin-left: 5px;
        }
    }
    /* End helpful */

    .part-faq {
        padding: 0;
        margin: 24px 20px 0;
    }
    .part-faq dl {
        display: block;
    }
    .part-faq dt {
        width: auto;
        font-size: 13px;
        margin-bottom: 4px;
    }
    .part-faq dd {
        width: auto;
    }
    .part-faq h3 {
        font-size: 14px;
        line-height: 140%;
        margin-bottom: 4px;
    }
    .part-faq h3 a {
        padding-right: 0;
    }
    .part-faq a:hover::after {
        content: none;
    }
    .part-faq p {
        font-size: 12px;
        line-height: 140%;
        margin-bottom: 16px;
    }

    /* service detail known issue */
    .part-issue-list {
    }
    .part-issue-list_box {
        margin-bottom: 32px;
    }
    .part-issue-list_box + h2 {
        margin-top: 60px;
    }
    .part-issue-list_item {
        margin-bottom: 6px;
        display: block;
    }
    .part-issue-list_item dt {
        width: auto;
        font-size: 12px;
        line-height: 140%;
        margin-bottom: 4px;
    }
    .part-issue-list_item dt span {
        font-size: 12px;
        margin-left: 6px;
        margin-top: 0;
        vertical-align: middle;
    }
    .part-issue-list_item dd {
        width: auto;
    }
    .part-issue-list_item h3 {
        padding-right: 0;
        font-size: 14px;
        line-height: 140%;
        margin-bottom: 8px;
    }
    .part-issue-list_item h3 a:hover::after {
        content: none;
    }
    .part-issue-list_item p {
        font-size: 12px;
    }

    /* free area */
    .panel-free {
        margin-bottom: 32px;
        padding-top: 64px;
        width: auto;
    }
    .panel-free + .panel-free {
        padding-top: 45px;
    }
    .panel-free > h1 {
        margin-bottom: 48px;
        padding-left: 16px;
        padding-right: 16px;
        margin-top: 0;
    }
    .panel-free > h1 + p {
        margin-top: -41px;
    }
    .panel-free > h2,
    .panel-free > div > h2 {
        border-left-width: 2px;
        font-size: 15px;
        padding: 6px 12px 5px;
        margin: 0 20px 28px;
    }
    .panel-free .part-separator + h2 {
        margin-top: 64px;
    }
    .panel-free > h3,
    .panel-free > div > h3 {
        margin: 0 20px 24px;
        font-size: 15px;
        padding: 0;
    }
    .panel-free > h3.is-small {
        font-size: 14px;
    }
    .panel-free > h4,
    .panel-free .part-separator > h4 {
        font-size: 14px;
        line-height: 140%;
    }
    .panel-free > h4 {
        margin-left: 20px;
        margin-right: 20px;
    }
    .panel-free h5,
    .panel-free h6 {
        margin-left: 20px;
        margin-right: 20px;
    }
    .panel-free > p {
        font-size: 14px;
        line-height: 140%;
        margin: 0 20px 20px;
    }
    .panel-free > p + h2 {
        margin-top: 48px;
    }
    .panel-free > p + h4 {
        margin-top: 48px;
    }
    .panel-free a {
        overflow-wrap: break-word;
    }
    .panel-free > ul,
    .panel-free > ol,
    .panel-free > ul ul,
    .panel-free > ul ol,
    .panel-free > ol ol,
    .panel-free > ol ul {
        font-size: 14px;
        line-height: 140%;
        margin-bottom: 20px;
        margin-right: 20px;
        margin-left: 50px;
    }
    .panel-free > ul,
    .panel-free > ol {
        margin-left: 50px;
    }
    .panel-free > ul ul,
    .panel-free > ul ol,
    .panel-free > ol ol,
    .panel-free > ol ul {
        margin-left: 30px;
    }
    .panel-free li {
        margin-bottom: 20px;
    }
    .panel-free li:last-child {
        margin-bottom: 0;
    }
    .panel-free code {
        border-radius: 4px;
        padding: 18px 16px;
        font-size: 12px;
        line-height: 140%;
        margin-bottom: 19px;
    }
    .panel-free img {
        max-width: 100%;
        height: auto;
    }
    .panel-free .part-price-table table,
    .panel-free
        .part-separator
        > .part-scroll-table-wrap
        > .part-scroll-table
        > table,
    .panel-free > .part-scroll-table-wrap > .part-scroll-table > table {
        width: auto;
        white-space: nowrap;
        font-size: 12px;
    }
    .panel-free > table,
    .panel-free > .part-scroll-table-wrap > .part-scroll-table > table {
        margin-left: 20px;
        margin-right: 20px;
    }
    .panel-free > table > caption,
    .panel-free .part-separator > table > caption,
    .panel-free
        .part-separator
        > .part-scroll-table-wrap
        > .part-scroll-table
        > table
        > caption,
    .panel-free
        > .part-scroll-table-wrap
        > .part-scroll-table
        > table
        > caption {
        font-size: 12px;
    }
    .part-scroll-table-wrap {
        position: relative;
    }
    .panel-free > .part-scroll-table-wrap {
        margin-left: 20px;
        margin-right: 20px;
    }
    .part-scroll-table {
        width: 100vw;
        position: relative;
        left: -20px;
        padding: 0 20px;
        box-sizing: border-box;
        overflow: auto;
    }
    .part-scroll-table::-webkit-scrollbar {
        display: none;
    }
    .panel-free > .part-scroll-table-wrap > .part-scroll-table {
        padding-left: 0;
        padding-right: 0;
    }
    .part-scroll-table table {
        position: relative;
    }
    .part-scroll-table table::after {
        content: "";
        display: block;
        width: 20px;
        height: 100%;
        position: absolute;
        top: 0;
        right: -20px;
    }
    .part-scroll-table-left {
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: -20px;
        margin: auto;
        background: linear-gradient(
            90deg,
            #d8dfec 0%,
            rgba(216, 223, 236, 0) 50%
        );
        width: 40px;
    }
    .part-scroll-table-left::before {
        content: "";
        background: url(../images/gp-circle-right-arrow-gray.svg) no-repeat
            center;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        transform: rotate(180deg);
    }
    .part-scroll-table-right {
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        right: -20px;
        margin: auto;
        background: linear-gradient(
            270deg,
            #d8dfec 0%,
            rgba(216, 223, 236, 0) 50%
        );
        width: 40px;
    }
    .part-scroll-table-right::before {
        content: "";
        background: url(../images/gp-circle-right-arrow-gray.svg) no-repeat
            center;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
    }
    .panel-free .part-separator > table.is-pricing {
        width: 100%;
    }
    .panel-free .part-separator {
        padding-bottom: 16px;
        margin-left: 20px;
        margin-right: 20px;
    }
    .panel-free .part-separator + h3 {
        margin-top: 32px;
    }

    /* service pricing */
    .part-annotation {
        padding: 16px;
        margin: 0 16px 16px;
    }
    .part-annotation > :last-child {
        margin-bottom: 0;
    }
    .panel-free .part-annotation + h2 {
        margin-top: 48px;
    }
    .part-annotation p {
        font-size: 14px;
        line-height: 140%;
        margin-bottom: 16px;
    }
    .panel-free .part-price-table table {
        min-width: 100%;
    }
    .part-price-table {
        margin-left: 20px;
        margin-right: 20px;
    }
    .part-price-table-select {
        font-size: 13px;
        line-height: 140%;
    }
    .part-price-table-select select {
        width: 100%;
        padding: 15px 40px 15px 16px;
        font-size: 13px;
        line-height: 140%;
    }
    .part-price-table-select .part-select {
        display: block;
    }

    /* service api reference */
    .part-api-reference {
        margin-left: 20px;
        margin-right: 20px;
        border-top: none;
        padding-top: 0;
        margin-bottom: 22px;
    }
    .part-api-reference > div {
        padding: 18px 16px;
    }
    .part-api-reference h2 {
        margin-bottom: 16px;
    }
    .part-api-reference h2::before {
        display: block;
        margin-right: 0;
        margin-bottom: 10px;
    }
    .part-api-reference p {
        font-size: 13px;
        line-height: 140%;
        margin-bottom: 16px;
    }
    .part-api-reference ul {
        font-size: 13px;
        line-height: 140%;
    }
    .part-api-reference li {
        margin-bottom: 16px;
    }
    .panel-free .part-history-link {
        line-height: 140%;
    }
    .part-history-link a::after {
        content: "";
        display: inline-block;
        vertical-align: -3px;
        width: 15px;
        height: 15px;
        background: url(../images/gp-circle-right-arrow.svg) no-repeat center;
        margin-left: 7px;
    }
    /* service detail */
    .panel-free h1.part-service-title-heading {
        font-size: 15px;
        padding: 16px 0;
        margin-left: 20px;
        margin-right: 20px;
    }
    .panel-free > h1.part-service-title-heading + p {
        margin-top: 0;
    }
    .part-topic-block {
        margin-left: 20px;
        margin-right: 20px;
        font-size: 13px;
        line-height: 140%;
    }
    .panel-free div.part-topic-block h2 {
        font-size: 14px;
        line-height: 140%;
        margin: 0 0 8px;
    }
    .part-topic-block .part-arrow-link {
        font-size: 16px;
    }
    .part-topic-block p.part-arrow-link + ul {
        margin-top: 18px;
        padding-top: 18px;
    }
    .panel-free > p.part-arrow-link {
        font-size: 16px;
    }
    .part-topic-block + .part-arrow-link {
        margin-top: 22px;
    }
    .part-arrow-link a::after {
        content: "";
        display: inline-block;
        vertical-align: -3px;
        width: 15px;
        height: 15px;
        background: url(../images/gp-circle-right-arrow.svg) no-repeat center;
        margin-left: 7px;
    }

    /* pricing */
    .content-header {
        margin-left: 20px;
        margin-right: 20px;
        padding-top: 24px;
    }
    .content-header h1 {
        width: auto;
        font-size: 18px;
    }
    .content-header.is-price-list h1 {
        padding-bottom: 16px;
        border-bottom: 1px solid #e6ebf4;
        margin-bottom: 16px;
    }
    .content-header p {
        width: auto;
        margin-bottom: 21px;
    }
    .content-header p:last-child {
        margin-bottom: 30px;
    }
    .is-price-list .part-price-table {
        width: calc(100vw - 40px);
        position: relative;
        left: -20px;
    }
    .panel-free.is-price-list h2:last-of-type:not(:first-child) {
        margin-top: 77px;
    }
    .part-external-link {
        width: auto;
        height: auto;
        display: block;
        margin-left: 20px;
        margin-right: 20px;
        margin-bottom: 77px;
    }
    .part-external-link > div {
        width: auto;
        margin-bottom: 34px;
    }
    .part-external-link > div:last-child:nth-child(3n + 2) {
        margin-bottom: 34px;
    }
    .part-external-link > div > h3 {
        font-size: 13px;
        line-height: 140%;
    }
    .part-external-link > div > ul {
        font-size: 13px;
        line-height: 140%;
    }
    .part-external-link > div > ul li a::after {
        margin-left: 4px;
        vertical-align: -3px;
    }

    /* news list */
    .content-header.is-news-list {
        padding-top: 24px;
    }
    .content-header.is-news-list + .panel-free {
        padding-top: 0;
        border-top: none;
        margin-top: 12px;
    }
    .part-list-count {
        flex-flow: column wrap;
        width: auto;
        margin: 16px auto 0;
    }
    .part-list-count > p {
        order: 2;
        font-size: 12px;
        width: 100%;
        margin-bottom: 0;
        border-top: 1px solid #e6ebf4;
        padding-top: 16px;
    }
    .part-list-count form {
        order: 1;
        width: 100%;
        margin-bottom: 16px;
    }
    .panel-free.is-news-list .part-news {
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 32px;
    }
    .panel-free.is-news-list .part-news dl {
        margin-bottom: 16px;
        padding-bottom: 16px;
    }
    .panel-free.is-news-list .part-news dl:last-child {
        border-bottom: 1px solid #e6ebf4;
    }
    .panel-free.is-news-list .part-news dt {
        line-height: 140%;
    }
    .panel-free.is-news-list .part-news h3 {
        font-size: 14px;
        line-height: 140%;
    }
    .panel-free.is-news-list .part-news h3 span {
        font-size: 12px;
    }
    .panel-free.is-news-list .part-pagenate {
        margin-bottom: 0;
    }
    .part-pagenate {
        margin-bottom: 100px;
    }
    .part-pagenate a {
        width: 44px;
        height: 44px;
        font-size: 13px;
        line-height: 140%;
    }
    .part-pagenate a.prev {
        margin-right: 11px;
        margin-left: 0;
    }
    .part-pagenate a.prev::after {
        transform: rotate(-225deg) scale(0.6);
    }
    .part-pagenate a.next {
        margin-left: 10px;
        margin-right: 0;
    }
    .part-pagenate a.next::after {
        transform: rotate(-45deg) scale(0.6);
    }
    .part-pagenate span {
        width: 44px;
        height: 44px;
        font-size: 13px;
        line-height: 140%;
    }
    .part-pagenate-list > * {
        margin-right: 2px;
        margin-left: 1px;
    }
    @media screen and (max-width: 320px) {
        .part-pagenate span,
        .part-pagenate a {
            width: 38px;
            height: 38px;
        }
    }

    /* news detail */
    .panel-topic {
        padding-top: 26px;
    }
    .panel-topic > h1 {
        margin-left: 20px;
        margin-right: 20px;
        width: auto;
        font-size: 18px;
        margin-bottom: 8px;
    }
    .panel-topic > p {
        font-size: 12px;
        margin-left: 20px;
        margin-right: 20px;
        width: auto;
    }
    .panel-topic.is-news .part-category-date {
        border-bottom: 1px solid #e6ebf4;
        padding-bottom: 16px;
    }
    .panel-topic > .panel-free {
        margin-top: 0;
        padding-top: 48px;
        border-top: none;
    }
    .panel-topic > .panel-free > h3 {
        font-size: 15px;
        margin-bottom: 16px;
    }
    .panel-topic > .panel-free > h4 {
        line-height: 140%;
    }
    .panel-topic > .panel-free > p {
        font-size: 14px;
        margin-bottom: 21px;
    }
    .panel-topic > .panel-free > p + h3 {
        margin-top: 36px;
    }
    .panel-topic > .panel-free > table {
        width: calc(100% - 40px);
        margin: 17px 20px;
        font-size: 13px;
        line-height: 140%;
    }
    .panel-topic > .panel-free > table + h3 {
        margin-top: 33px;
    }
    .part-indent {
        padding-left: 44px;
    }
    .part-indent h3 {
        font-size: 15px;
        margin-bottom: 16px;
    }
    .part-indent p {
        line-height: 140%;
        margin-bottom: 20px;
    }
    .part-indent p + h3 {
        margin-top: 16px;
    }
    .part-indent a {
        overflow-wrap: break-word;
    }
    .panel-free p.part-caution {
        margin-top: 32px;
    }
    .part-sns {
        width: auto;
        margin: 16px 20px 32px;
        border-bottom: 1px solid #e6ebf4;
        padding-bottom: 26px;
    }
    .part-reaction + .part-sns {
        padding-bottom: 24px;
        margin-bottom: 0;
    }
    article + .panel-free.is-news-list {
        padding-top: 0;
        margin-top: 48px;
        border-top: none;
    }
    article + .panel-free.is-news-list .part-heading-search {
        border-top: 1px solid #e6ebf4;
        padding-top: 60px;
    }
    /* related posts */
    .part-related {
        padding: 32px 20px;
    }
    .part-related dl {
        display: block;
    }
    .part-related dt {
        width: auto;
        font-size: 12px;
        margin-bottom: 4px;
    }
    .yarpp-related dt span.solved {
        font-size: 12px;
        margin-left: 6px;
        margin-top: 0;
        vertical-align: middle;
    }
    .part-related dd {
        width: auto;
    }
    .part-related h3 {
        font-size: 14px;
    }
    .part-related p {
        font-size: 12px;
        margin-bottom: 16px;
        padding-bottom: 16px;
        border-bottom: 1px solid #e6ebf4;
    }
    .part-related dd:last-child p {
    }

    /*contact*/
    .content-header.is-simple-page {
        padding-top: 24px;
    }
    .content-header.is-simple-page > p {
        font-size: 12px;
    }
    .content-header.is-simple-page > p:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }
    .content-header.is-simple-page + .panel-free {
        padding-top: 40px;
    }
    .content-header.is-simple-page + .panel-free > h4 {
        font-size: 15px;
        margin-top: 24px;
    }
    .content-header.is-simple-page + .panel-free > h2 + h4 {
        margin-top: 24px;
    }
    .panel-free.is-inquiry .part-topic-block {
        padding: 16px;
    }
    .panel-free.is-inquiry .part-topic-block p {
        font-size: 14px;
        margin-bottom: 16px;
    }
    .panel-free.is-inquiry .part-topic-block p:last-child {
        margin-bottom: 0;
    }
    .part-button-link {
        margin-bottom: 24px;
    }
    .part-button-link a {
        display: block;
        width: 240px;
        padding: 11px;
        text-decoration: none;
        font-size: 13px;
        line-height: 140%;
        margin-bottom: 6px;
    }
    .panel-free p + .part-faq-list {
        width: auto;
        margin-left: 20px;
        margin-right: 20px;
    }
    .panel-free .part-tel small {
        display: block;
    }
    .panel-free .part-tel .issp {
        display: inline;
        font-weight: bold;
    }

    /* faq list */
    /* issue list */
    .panel-list-header {
        width: auto;
        margin: 0 20px;
        padding-top: 28px;
    }
    .panel-list-header h1 {
        font-size: 18px;
        padding-bottom: 16px;
        margin-bottom: 16px;
    }
    .panel-list-header p {
        font-size: 12px;
    }
    .panel-list-header form {
        width: auto;
        padding: 8px;
        margin-bottom: 80px;
    }
    .panel-list-header input {
        padding-top: 0;
        width: calc(100% - 50px);
    }
    .panel-list-header form .part-select {
        left: 0;
        top: 56px;
        width: 100%;
    }
    .panel-list-header form select {
        width: 100%;
        height: 48px;
        border: 1px solid #a6bde4;
        background-color: #fff;
        padding-top: 15px;
        padding-bottom: 15px;
        font-size: 13px;
        line-height: 140%;
    }
    .panel-list-header form .part-select::after {
        transform: scale(1.2, 1) rotate(45deg);
    }
    .panel-list-header + .panel-free.is-issues {
        padding-top: 16px;
    }
    .panel-list-header + .panel-free.is-issues .part-issue-list_box {
        margin-bottom: 24px;
    }
    .panel-list-header + .panel-free .part-faq-list .part-issue-list_box {
        border-top: 1px solid #e6ebf4;
        padding-top: 48px;
    }

    /* faq detail */
    .panel-topic.is-faq.is-cross-service,
    .panel-topic.is-issue.is-cross-service {
        padding-top: 28px;
    }
    .part-solved {
        margin-left: 20px;
        margin-right: 20px;
    }
    .panel-topic.is-issue .part-solved span {
        font-size: 12px;
    }
    .panel-topic.is-faq.is-cross-service > h1,
    .panel-topic.is-issue.is-cross-service > h1 {
        font-size: 18px;
        margin-bottom: 8px;
    }
    .panel-topic.is-faq.is-cross-service .panel-free,
    .panel-topic.is-issue.is-cross-service .panel-free {
        padding-top: 48px;
    }
    .panel-topic.is-cross-service > .panel-free > p {
        font-size: 14px;
        line-height: 140%;
    }
    .is-cross-service .part-reference p {
        margin-bottom: 16px;
    }
    .is-cross-service .part-reaction p a {
        color: #0b5de9;
    }
    .is-cross-service .part-reaction + .part-sns {
        border-bottom: none;
    }
    .part-category-date {
        width: auto;
        display: block;
        margin: 0 20px;
    }
    .part-category-date > p {
        width: auto;
        font-size: 13px;
        line-height: 140%;
        text-align: left;
        margin-bottom: 8px;
    }
    .part-category-date > p:nth-child(2n + 1) {
        font-size: 12px;
        text-align: left;
    }
    .part-category-date > p:last-child {
        margin-bottom: 0;
    }

    /* event */
    .panel-event-list {
        width: auto;
        padding-top: 24px;
        margin-left: 20px;
        margin-right: 20px;
    }
    .panel-event-list .category-nav {
        margin-bottom: 16px;
    }
    .panel-event-list .category-nav ul {
        padding-left: 0;
        padding-right: 0;
    }
    .panel-event-list .category-nav + p {
        margin-bottom: 48px;
    }
    .panel-event-list .part-pagenate {
        margin-top: 32px;
        margin-bottom: 0;
    }
    .part-event {
        display: block;
        border-bottom: 1px solid #e6ebf4;
        padding-bottom: 16px;
        margin-bottom: 18px;
    }
    .part-event:nth-last-child(2) {
        border-bottom: 1px solid #e6ebf4;
    }
    .part-event > div:first-child {
        width: auto;
        font-size: 12px;
        line-height: 140%;
        margin-bottom: 4px;
    }
    .part-event > div:last-child {
        width: auto;
    }
    .part-event h3 {
        font-size: 14px;
        line-height: 140%;
        margin-bottom: 6px;
    }
    .part-event h3 span {
        font-size: 12px;
    }
    .part-event p {
        font-size: 12px;
    }

    /* sw-partner */
    .panel-free > .part-free-header {
        margin-left: 20px;
        margin-right: 20px;
    }
    .part-free-header h1 {
        font-size: 18px;
        line-height: 140%;
        padding-bottom: 16px;
        margin-bottom: 16px;
    }
    .part-free-header p {
        font-size: 13px;
        line-height: 140%;
        margin-bottom: 18px;
    }
    .panel-free > .sw-partner-list {
        margin-left: 20px;
        margin-right: 20px;
    }
    .sw-partner-list {
        display: block;
    }
    .sw-partner-cell {
        width: auto;
    }
    .sw-partner-cell:last-child:nth-child(3n + 2) {
        margin-right: 0;
    }

    /* case study */
    .case-study-list {
        display: block;
        margin-left: 10px;
        margin-right: 10px;
    }
    .panel-free > .case-study-list:first-child {
        margin-top: -40px;
    }
    .case-study-cell {
        width: auto;
        padding: 16px;
    }
    .case-study-img {
        width: 100px;
        margin-bottom: 14px;
    }
    .case-study-img img {
        max-width: 100%;
        height: auto;
    }
    .case-study-description {
        margin-left: 112px;
    }
    .case-study-description h3 {
        font-size: 14px;
        line-height: 140%;
    }
    .case-study-description h3 a {
        padding-right: 21px;
    }
    .case-study-description h3 a::after {
        width: 17px;
        height: 17px;
    }
    .case-study-category {
        font-size: 12px;
    }
    .case-study-name {
        font-size: 13px;
        line-height: 140%;
        margin-bottom: 14px;
    }
    .case-study-service {
        margin-left: 0;
        clear: both;
    }

    /* feature */
    .panel-feature-head {
        padding: 44px 20px 28px;
        position: relative;
    }
    .panel-feature-head h1 {
        font-size: 18px;
        line-height: 160%;
    }
    .panel-feature-head h1 br {
        display: none;
    }
    .panel-feature-head .part-button {
        margin: 0 0 48px;
    }
    .panel-feature-head h3 {
        border-left-width: 2px;
        padding: 0 0 0 12px;
        font-size: 13px;
        line-height: 140%;
        margin-bottom: 20px;
    }
    .panel-feature-head ul {
        width: auto;
        font-size: 12px;
        overflow: auto;
    }
    .panel-feature-head li {
        font-size: 14px;
        line-height: 140%;
        white-space: nowrap;
    }
    .panel-feature-head li:last-child {
        border-right: none;
    }
    .panel-feature-head .category-nav-left,
    .panel-feature-head .category-nav-right {
        bottom: 16px;
    }
    .panel-feature-body {
    }
    .part-feature-body-cell {
        padding: 60px 20px;
    }
    .part-feature-body-cell h2 {
        font-size: 18px;
        line-height: 160%;
    }
    .part-feature-body-cell h2 span {
        font-size: 14px;
        line-height: 140%;
    }
    .panel-feature-body > .part-feature-body-cell:nth-child(2n + 1) {
        background-color: #f5f7fa;
    }
    .part-feature-problem {
    }
    .part-feature-problem h3 {
        border-left-width: 2px;
        padding: 6px 0 5px 12px;
        font-size: 15px;
    }
    .part-feature-problem ul {
        font-size: 14px;
        line-height: 140%;
    }
    .part-feature-problem li {
        padding: 16px;
    }
    .part-beforeafter-controller {
        display: flex;
        flex-flow: row nowrap;
        align-items: flex-start;
        margin-bottom: 48px;
    }
    .part-beforeafter-controller > div {
        width: 50%;
        border-bottom: 1px solid #e6ebf4;
        padding: 13px;
        font-size: 13px;
        line-height: 140%;
        color: #2d5397;
        text-align: center;
        box-sizing: border-box;
        position: relative;
    }
    .part-beforeafter-controller-before {
    }
    .part-beforeafter-controller-before::before {
        content: "Before - 導入前";
    }
    .part-beforeafter-controller.before .part-beforeafter-controller-before,
    .part-beforeafter-controller.after .part-beforeafter-controller-after {
        color: #0b5de9;
        border-bottom-color: #0b5de9;
    }
    .part-beforeafter-controller.before
        .part-beforeafter-controller-before::after,
    .part-beforeafter-controller.after
        .part-beforeafter-controller-after::after {
        content: "";
        display: block;
        position: absolute;
        top: 5px;
        bottom: 5px;
        left: 5px;
        right: 5px;
        margin: auto;
        background: #f5f7fa;
        border-radius: 3px;
        z-index: -1;
    }
    html[lang="en"] .part-beforeafter-controller-before::before {
        content: "Before";
    }
    .part-beforeafter-controller-after {
    }
    .part-beforeafter-controller-after::before {
        content: "After - 導入後";
    }
    html[lang="en"] .part-beforeafter-controller-after::before {
        content: "After";
    }
    .part-feature-after {
    }
    .part-before-after {
        display: block;
        width: 100%;
    }
    .part-before-after::after {
        content: none;
    }
    .part-before-after > div {
        width: auto;
    }
    .part-before-after.before > div:last-child {
        display: none;
    }
    .part-before-after.after > div:first-child {
        display: none;
    }
    .part-before-after > div h3 {
        font-size: 15px;
        margin-bottom: 16px;
    }
    .part-before-after > div p {
        font-size: 13px;
        line-height: 140%;
    }
    .part-before-after-img {
        padding: 13px 13px 0;
        height: 235px;
        margin-bottom: 16px;
        text-align: center;
    }
    .part-before-after-img img {
        height: 90%;
        width: auto;
    }
    .part-feature-3points {
    }
    .part-feature-cards {
        display: block;
        margin-bottom: 48px;
    }
    .part-feature-cards > div {
        margin-bottom: 4px;
        padding: 16px;
        width: auto;
    }
    .part-feature-cards > div p:first-child {
        font-size: 14px;
        line-height: 140%;
    }
    .part-feature-cards > div p:first-child br {
        display: none;
    }
    .part-feature-cards > div p:first-child span {
    }
    .part-feature-cards > div p:last-child {
        font-size: 13px;
        line-height: 140%;
    }
    .part-feature-point {
        margin-bottom: 48px;
    }
    .part-feature-point:last-child {
        margin-bottom: 0;
    }
    .part-feature-point h3 {
        font-size: 15px;
        margin-bottom: 16px;
    }
    .part-feature-point h3 span {
        font-size: 14px;
        line-height: 140%;
        display: block;
        margin-right: 0;
        margin-bottom: 24px;
        width: fit-content;
    }
    .part-feature-point p {
        font-size: 14px;
        line-height: 140%;
    }
    .part-feature-point .part-feature-img {
        border-radius: 3px;
        padding: 10px;
    }
    .part-feature-reason {
        margin-bottom: 50px;
    }
    .part-feature-reason h3 {
        font-size: 15px;
        margin-bottom: 16px;
    }
    .part-feature-reason h3 span {
        border-left-width: 2px;
        font-size: 13px;
        line-height: 140%;
        margin-bottom: 17px;
    }
    .part-feature-reason p {
        font-size: 14px;
        line-height: 140%;
        margin-bottom: 25px;
    }
    .part-feature-reason table {
    }
    .part-feature-reason table th {
        display: block;
        width: 100%;
        box-sizing: border-box;
        padding: 11px 10px;
        border-bottom: 1px solid #e6ebf4;
    }
    .part-feature-reason table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
        font-size: 12px;
        padding: 11px 10px;
    }
    .part-feature-reason table tr:last-child td:last-child {
        border-bottom: none;
    }
    .part-feature-button {
        margin-top: 24px;
    }
    .part-feature-button a {
        padding: 11px;
        width: 89.33%;
    }
    .part-feature-button a::after {
        border-right: 1px solid #0b5de9;
        border-bottom: 1px solid #0b5de9;
        width: 5px;
        height: 5px;
        top: calc(50% - 3px);
    }
    .part-feature-contact {
    }
    .part-feature-contact h3 {
        border-left-width: 2px;
        font-size: 15px;
        padding: 5px 0 6px 12px;
    }
    .part-feature-contact p {
        font-size: 14px;
        line-height: 140%;
        margin-bottom: 18px;
    }
    .part-feature-contact .part-button {
        margin: 0 0 60px;
    }
    .part-feature-services {
        margin-left: -20px;
        margin-right: -20px;
    }
    .part-feature-services a {
        width: 117px;
        height: 117px;
        padding-top: 81px;
        background-position: center 8px;
        font-size: 12px;
    }
    .part-feature-services a.icon_monitor,
    .part-feature-services a.icon_support {
        padding-top: 72px;
    }

    /* sphinx */
    .panel-doc {
        margin-left: 20px;
        margin-right: 20px;
        width: auto;
    }

    /* サイドバー、トップページ改修 */

    #aside-menu ul {
        margin-bottom: 20px;
    }
    #aside-menu .menu__wrapper > ul {
        height: auto;
    }
    #aside-menu ul:not(:first-of-type) {
        padding-top: 20px;
        position: relative;
    }

    #aside-menu ul:not(:first-of-type)::before {
        display: none;
    }

    #aside-menu ul.sub-menu__lists {
        margin-bottom: 60px;
    }

    #aside-menu ul.sub-menu__lists > li > span {
        padding: 16px 20px;
        background-color: rgba(45, 83, 151, 0.5);
        position: relative;
    }

    #aside-menu ul.sub-menu__lists > li > span::after {
        transform: translateY(-50%) rotate(-45deg);
        transition: transform 0.5s;
        top: 50%;
        right: 20px;
        background-image: none;
        width: 8px;
        height: 8px;
        border-right: 1px solid #fff;
        content: "";
        border-bottom: 1px solid #fff;
        position: absolute;
    }

    #aside-menu ul.sub-menu__lists > li > span.no-hover::after {
        display: none;
    }

    #aside-menu ul.sub-menu__lists > li > a {
        padding: 16px 20px;
        background-color: rgba(45, 83, 151, 0.5);
        position: relative;
    }

    #aside-menu ul.sub-menu__lists > li > a::after {
        transform: translateY(-50%) rotate(-45deg);
        transition: transform 0.5s;
        top: 50%;
        right: 20px;
        background-image: none;
        width: 8px;
        height: 8px;
        border-right: 1px solid #fff;
        content: "";
        border-bottom: 1px solid #fff;
        position: absolute;
    }

    #aside-menu li {
        margin-bottom: 6px;
    }

    #aside-menu.is-child-open #aside-search + ul > li > span {
        padding: 16px 20px;
        background: none;
        background-color: rgba(45, 83, 151, 0.5);
    }

    #aside-menu #aside-search + .menu__wrapper > ul > li > span {
        padding: 16px 20px;
        background-image: none;
        background-color: rgba(45, 83, 151, 0.5);
    }

    #aside-menu ul.second-menu > li > span {
        padding: 16px 20px;
        background-image: none;
        background-color: rgba(45, 83, 151, 0.5);
    }

    #aside-menu ul.icon_partner > li > span {
        padding: 16px 20px;
        background-image: none;
        background-color: rgba(45, 83, 151, 0.5);
    }

    #aside-menu:not(.is-child-open) ul.sub-menu__lists.is-open {
        padding-left: 0;
    }

    #aside-menu:not(.is-child-open) ul.sub-menu__lists.is-open > li > span {
        padding-left: 60px;
    }

    #aside-menu:not(.is-child-open)
        ul.sub-menu__lists.is-open
        li
        > span::after {
        border: none;
        background: url(../images/gp-rightarrow.svg) center/contain no-repeat;
        width: 16px;
        height: 16px;
        transform: translateY(-50%) rotate(180deg);
        right: auto;
        left: 20px;
        transition: all 0s;
    }

    #aside-menu ul.main-menu > li:hover > span::after {
        transform: translateY(-50%) rotate(45deg);
        top: 40%;
    }

    #aside-menu ul.main-menu > li > span::after {
        right: 20px;
    }

    #aside-menu ul.main-menu > li > span.is-open::after {
        transform: translateY(-50%) rotate(-135deg);
        transition: transform 0.5s;
        top: 50%;
        background-image: none;
        width: 8px;
        height: 8px;
        border-right: 1px solid #fff;
        border-bottom: 1px solid #fff;
    }

    #aside-menu.is-child-open ul.sub-menu__lists li {
        display: block;
    }

    #aside-menu:not(.is-child-open) ul.main-menu.is-open > li > span,
    #aside-menu:not(.is-child-open) ul.main-menu.is-open > li > a,
    #aside-menu:not(.is-child-open) ul.main-menu.is-open + ul > li > span,
    #aside-menu:not(.is-child-open) ul.main-menu.is-open + ul > li > a {
        display: none;
    }

    #aside-menu:not(.is-child-open)
        ul.sub-menu__lists.is-open
        > li:not(.is-open)
        > span {
        display: none;
    }

    #aside-menu ul.sub-menu__lists li span + div {
        opacity: 0;
        transition: opacity 0.5s;
        display: none;
    }

    #aside-menu ul.sub-menu__lists.is-open li.is-open span + div {
        opacity: 1;
        transition: opacity 0.5s;
        display: block;
        pointer-events: all;
    }

    #aside-menu.is-child-open > div > ul > li:not(.is-open) {
        display: block;
    }
}

@media screen and (max-width: 440px) {
    #aside-search input {
        width: calc(100vw - 125px);
    }
}
@media screen and (max-width: 320px) {
    .part-before-after-img {
        height: auto;
    }
    .part-before-after-img img {
        height: auto;
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .top-fixed {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    #footer-links {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        height: 560px;
        gap: 38px 0;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        padding: 0 10px;
    }
}

@media screen and (max-width: 768px) {
    #footer-links .nav-panel {
        width: 40%;
        margin-bottom: 0;
    }
    #footer-links .nav-panel:first-of-type {
        margin-bottom: 50px;
    }
}

@media screen and (max-width: 768px) {
    #footer-policy-links {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
}

@media screen and (max-width: 768px) {
    #pagetop {
        position: static;
    }
}

@media screen and (max-width: 768px) {
    .panel-search h2 {
        font-size: 18px;
        line-height: calc(22 / 18);
    }

    .panel-search p {
        padding: 0 10px;
    }
}
