/* プロダクトリスト部分 */
.ccm-page .product-list-wrap {
	margin-top: 40px;
	margin-bottom: 60px;
}
.ccm-page .l-list_product section .column2_container + .column2_container {margin-top: 20px}

.ccm-page .l-list_product .u-title-high {
	margin-top: 60px;
}
.ccm-page .l-list_product .column2_item {
	text-align: left;
}
.ccm-page .l-list_product .u-title-low {
	font-size: calc(1.8rem * .625);
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.08em;
	color: rgb(16, 101, 176);
	margin-bottom: 10px;
}
.ccm-page .l-list_product .product-linklist-child + .product-linklist-child {
	margin-top: 30px;
}
.ccm-page .l-list_product .product-linklist-item {
	font-size: calc(1.6rem * .625);
	padding: 8px 0;
}
.ccm-page .l-list_product .product-linklist-item a:before {
	font-family: 'screen';
    font-size: calc(1.2rem * .625);
    font-weight: normal;
    line-height: 1;
    display: inline;
    overflow: hidden;
    height: 12px;
    margin-right: 7px;
    content: ' \e901';
    letter-spacing: normal;
    color: #1065b0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.ccm-page .l-list_product .product-linklist-item-summary {
	margin-top: 5px;
	padding-left: 19px;
	font-size: calc(1.25rem * .625);
	letter-spacing: .025em;
}

/* ページ内リンク部分 */
.ccm-page .page-nav {
    overflow: hidden;
}

@media screen and (max-width: 767px) {
    .ccm-page .page-nav {
        display: block;
    }
}

.ccm-page .page-nav + * {
    margin-top: 54px;
}

.ccm-page .page-nav + h2 {
    margin-top: 54px;
}

@media screen and (max-width: 767px) {
    .ccm-page .page-nav + * {
        margin-top: 33px;
    }
    .ccm-page .page-nav + h2 {
        margin-top: 33px;
    }
}

.ccm-page .page-nav ul:not(:root) {
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 -1px -1px;
    list-style: none;
    background-color: #f3f3f3;

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.ccm-page .page-nav ul:not(:root) li {
    position: relative;
    margin-left: 0;
    padding-left: 1px;
    text-indent: 0;

    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
}

.ccm-page .page-nav ul:not(:root) li::before {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    margin: auto;
    content: '';
    background-image: linear-gradient(to right, #cbcbcb, #cbcbcb 2px, transparent 1px, transparent 2px);
    background-repeat: repeat-x;
    background-position: bottom;
    background-size: 4px 1px;
}

.ccm-page .page-nav ul:not(:root) li::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 1px;
    height: 100%;
    margin: auto;
    content: '';
    background-image: linear-gradient(to bottom, #cbcbcb, #cbcbcb 2px, transparent 1px, transparent 2px);
    background-repeat: repeat-y;
    background-position: left;
    background-size: 1px 4px;
}

@media screen and (max-width: 767px) {
    .ccm-page .page-nav ul:not(:root) li {
        width: 100%;
        padding-left: 0;
    }
    .ccm-page .page-nav ul:not(:root) li::before, .page-nav ul:not(:root) li::after {
        content: none;
    }
}

.ccm-page .page-nav a {
    font-size: calc(1.4rem * .625);
    line-height: 1.5;
    display: block;
    height: 100%;
    padding: 13px 20px;
    transition: color .4s ease;
    color: inherit;
}

@media screen and (max-width: 767px) {
    .ccm-page .page-nav a {
        position: relative;
        padding: 9px 14px 10px;
    }
    .ccm-page .page-nav a::after {
        position: absolute;
        bottom: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 1px;
        content: '';
        background-image: linear-gradient(to right, #cbcbcb, #cbcbcb 2px, transparent 1px, transparent 2px);
        background-repeat: repeat-x;
        background-position: top;
        background-size: 4px 1px;
    }
}
.ccm-page .no-touch .page-nav a:hover, .no-touch .page-nav a:visited:hover,
.ccm-page .page-nav a:hover {
    text-decoration: none;
    color: #fff;
    background: linear-gradient(to right, #1065b0 0%, #1065b0 31%, #113f74 69%, #113f74 100%);
}

.ccm-page .page-nav a::before {
    font-family: 'screen';
    font-size: calc(.8rem * .625);
    font-weight: normal;
    line-height: 1;
    overflow: hidden;
    height: 8px;
    content: '\e900';
    transform: rotate(90deg);
    letter-spacing: normal;
    color: inherit;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    
    transition: auto;
}

.ccm-page .page-nav a::before:hover {
    color: #fff;
}
