html {
    scroll-behavior: smooth;
}

body {
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    width:100%;
    min-height: 100vh;
    margin: 0px;
    padding: 0px;
    background-color: #fff;
    color: #4D4D4D;
    font-size: 16px;
    font-family: 
        /*英数字*/
        "Noto Sans JP",/*Google fonts 英数字、日本語*/
        "Arimo",/*Google fonts 英数字*/
        "Helvetica Neue",/*macOS Helveticaの再設計版*/
        Helvetica,/*macOS*/
        Arial,/*macOS,windowsOS共通*/
        /*日本語*/
        /*"Zen Kaku Gothic New",Google fonts 英数字、日本語*/
        "Hiragino Sans",/*macOS 10.11以降、iOS*/
        "Hiragino Kaku Gothic ProN",/*古いmacOS*/
        Meiryo,/*windowsOS*/
        sans-serif;/*標準のゴシック体*/
    line-height: 1.5;
    box-sizing: border-box;
}
a {
    color: #4D4D4D;
    text-decoration: none;
}
button {
    background-color: #fff;
}

/*トップエリア関連*/
#top {
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    z-index: 1030;
    margin: 0px;
    padding: 0px;
    background-color:#fff;
}

/*メインエリア関連*/
#main {
    flex:1;
}

/*ボトムエリア関連*/
#bottom {
    margin-top:auto;
}

/*スライドエリア関連*/
#slide {
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    overflow-y:auto;
    background: inherit;
    box-shadow: -2px 0 8px rgba(0, 0, 0, .15);
    transform: translateX(100%);
    transition: transform .3s ease;
    z-index: 1150;
}
#slide .slide-menu-container {
    max-height: 100vh;
    padding-top:100px;
    padding-bottom: 100px;
    overflow-y: auto;
}

/*イメージ表示用モーダル関連*/
#image.modal .modal-header {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    z-index: 100;
    border-bottom: 0px;
    border-radius: 0px;
}
#image.modal .modal-body {
    padding: 50px 15px; 
}
#image.modal .modal-body .image {
    display: block; 
    width: 100%;
}
#image.modal .modal-header .modal-title {
    margin-right: auto;
    font-size: 16px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#image.modal .modal-body .image img, 
#image.modal .modal-body .image video {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    display: block;
    object-fit: contain;
    margin: auto;
}
#image.modal .slider-gallery-list-outer .swiper-slide img,
#image.modal .slider-gallery-list-outer .swiper-slide video {
    display: block;
    width: auto;
    height: 100%;
    margin: auto;
    object-fit: contain;
}
#image  .caption {
    display: block;
    padding: 15px;
    text-align: center;
}
#image .caption-heading {
    margin-bottom: 10px;
    font-size: 20px;
}

/*スライドメニュー関連*/
.slide-menu-btn {
    position: fixed;
    /*display: flex;*/
    justify-content: center;
    align-items: center;
    top: 30px;
    right: 30px;
    z-index: 1045;
    width: 36px;
    height: 36px;
    /*border: none;*/
    cursor: pointer;
    padding: 0;
    font-size: 20px;
    font-weight: normal;
    color:#5C5B5C;
    background-color: transparent;
    /*border-radius: 50%;*/
    
    display: inline-flex;
    border: 1px solid currentColor;
    transform: rotate(45deg);
    box-sizing: border-box;
}
.slide-menu-btn > i {
    transform: rotate(-45deg);
}
.slide-menu-close {
    position: absolute;
    top: 10px;
    right: 15px;
    z-index:9999;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
}
/*セクション関連*/
.section {
    padding-top: 0px;
    padding-bottom: 30px;
}

#top .section,
#main-section-1.section {
    padding-bottom: 0px;
}

/*モジュール関連*/
.module,
.module-detail {
    padding: 0px;
    margin-bottom: 15px;
}
.module-detail {
    padding-bottom: 30px;
}
.module .content,
.module-detail .moddule-detail .content-detail {
    padding: 7px;
}
.module .module-inner-col-1,
.module-detail .module-inner-col-1 {
    padding-right: 10px;
}
.module .module-inner-col-2,
.module-detail .module-inner-col-2 {
    padding-left: 10px;
}
.module .list-content .heading > :where(h1, h2, h3, h4),
.module .list-content .heading  > a > :where(h1, h2, h3, h4),
.module .slide-content .heading > :where(h1, h2, h3, h4),
.module .slide-content .heading > a > :where(h1, h2, h3, h4) {
    font-size: 18px
}
.module .list-content .subheading > :where(h1, h2, h3, h4),
.module .slide-content .subheading > :where(h1, h2, h3, h4) {
    font-size: 16px
}
.module .content-inner .column-1 {
    padding-right: 10px;
}
.module .content-inner .column-2 {
    padding-left: 10px;
}
.module .title,
.module .date,
.module-detail .date-detail,
.module .heading,
.module-detail .heading-detail,
.module .subheading,
.module-detail .subheading-detail,
.module .lead,
.module .text,
.module-detail .text-detail,
.module .image-list,
.module-detail .image-list-detail,
.module .image,
.module-detail .image-detail,
.module .button-list,
.module-detail .button-list-detail,
.module-detail .detail-heading,
.module-detail .detail-subheading,
.module-detail .detail-text,
.module .embed {
    margin-bottom: 10px;
}

/*ナビゲーション関連*/
.module .scroll-navbar .nav-arrow i {
    background-color:  rgba(255, 255, 255, .3);
}
.module .scroll-navbar .nav-arrow i:hover {
    background: rgba(255, 255, 255, .8);
}
.module .nav-item .nav-links {
    padding-left: 0px;
}
.module .nav-menu .page-links {
    margin-bottom: 10px;
    padding-left: 15px;

}
.module .nav-menu .subcategory-links {
    padding-left: 15px;
}

/*モジュール内 カテゴリ関連*/
.module .category-heading,
.module-detail .category-heading,
.module .category-menu,
.module-detail .category-menu {
    padding: 7px;
}
.module .category-tabs-menu,
.module-detail .category-tabs-menu {
    margin-bottom: 10px;
}
.module .category-heading h5,
.module-detail .category-heading h5 {
    font-size: 18px;
}
.module .category-menu > li > a,
.module-detail .category-menu > li > a {
    line-height: 1.8;
}

/*タイトル関連*/
.module .title {
    margin-top: 10px;
}

/*日付関連*/
.module .date,
.module-detail .date-detail {
    padding-left: 7px;
    padding-right: 7px;
}

/*優先表示関連*/
.module span.label-new,
.module-detail span.label-new,
.module span.label-check,
.module-detail span.label-check {
    margin-left: 7px;
    padding-left: 5px;
    padding-right: 5px;
    border-radius: 2px;
    font-size: 12px;
}

/*見出し関連*/
.module .heading,
.module-detail .heading-detail {
    margin-top: 10px;
}
.module-detail .detail-heading {
    margin-top: 30px;
}

 /*テキスト関連*/
.module .text.cell {
    margin-top: 0px;
    margin-bottom: 0px;
}
.module .lead p,
.module-detail .lead-detail p,
.module .text p,
.module-detail .text-detail p,
.module-detail .detail-text p{
    margin-bottom: 10px;
    line-height:1.8;
}

.module .lead a,
.module-detail .lead-detail a,
.module .text a,
.module-detail .text-detail a,
.module-detail .detail-text a{
    color: #337ab7;
}

/*イメージ関連*/
.module .image,
.module-detail .image-detail {
    padding: 2px;
}
.module .image-list > .image,
.module-detail .image-list-detail > .image-detail {
    padding: 2px;
    margin-bottom: 0px;
}
.module .image.pull-left,
.module-detail .image-detail.pull-left {
    padding-right: 15px;
}
.module .image.pull-right,
.module-detail .image-detail.pull-right {
    padding-left: 15px;
}
.module .image img,
.module-detail .image-detail img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 4 / 3;
}
.module .image video,
.module-detail .image-detail video {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 16 / 9;
}
.module .brand img {
    width: auto;
    object-fit: contain;
    aspect-ratio: initial;
}
.module .image > a,
.module .video > a,
.module .image-detail > a,
.module .video-detail > a {
	display: block;
	position: relative;
	height: inherit;
}

/*キャプション関連*/
.module .caption,
.module .caption-gallery,
.module-detail .caption-detail {
    position: absolute;
    bottom: 0px;
    padding: 7px;
    color:#fff;
}
.module .caption p,
.module-detail .caption-detail p,
.module .caption-gallery p,
.module-detail .caption-gallery-detail p {
    font-size: 14px;
}
.module .caption-heading p,
.module .caption-gallery-heading p,
.module-detail .caption-detail-heading p,
.module-detail .caption-gallery-detail-heading p {
    font-size: 18px;
}

/*ボタン関連*/
.module .button-list,
.module-detail .button-list-detail {
    display: flex;
    padding: 7px;
    flex-wrap: wrap;
    justify-content: center;
}
.module .button,
.module-detail .button-detail {
    display: flex;
    padding: 7px;
}
.module .button a,
.module .button-to-modal a,
.module-detail .button-detail a,
.module button.collapse-btn {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    border-radius: 30px;
}

/*crs*/
.module .collapse-btn {
    position: relative;
	width: 100%;
	box-sizing: border-box;
}

.module .collapse-btn i {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
}

/*リンク関連*/
.module .link-list,
.module-detail .link-list-detail {
    list-style: none;
}
.module .link-to-detail {
    padding: 7px;
    text-align: center;
}
.module-detail .link-to-back {
    padding: 15px;
    text-align: center;
}

/*タグ関連*/
.module .tag-list,
.module-detail .tag-list-detail {
  display: flex;
  flex-wrap: wrap;
  padding: 7px;
}
.module .tag-item,
.module-detail .tag-item-detail {
  padding: 5px;
}
.module .tag > a {
    margin: 7px;
}
.module .tag-item > span {
    display: inline-block;
    padding: 2px 5px;
    border: 1px solid;
    border-radius: 3px;
    font-size: 14px;
}

/*テーブル関連*/
.module .table-flex-row {
    padding: 0px;
    margin: 0px;
}

/*画像スライダー関連*/
.module .swiper-scrollbar {
    display:none !important;
}
.module .slider-gallery,
.module .slider-gallery-detail {
    margin-bottom: 10px;
}
.module .slide-gallery img,
.module .slide-gallery-detail img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 4 / 3;
}
.module .slide-gallery video,
.module .slide-gallery-detail video {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 16 / 9;
}
.module .caption-gallery,
.module-detail .caption-gallery-detail {
    position: absolute;
    bottom: 0px;
    padding: 7px;
    color:#fff;
}
.module .slider-gallery-nav {
    color:  #fff;
}
.module .gallery-thumb-list-outer {
    margin-bottom: 10px;
    padding-left: 40px;
    padding-right: 40px;
}

/*コンテンツスライダー関連*/
.module .slider-content-nav > i {
    font-size:24px;
}
.module .slider-content-pagination span {
    background-color: #cccccc;
}
.module .slider-content-pagination span.active {
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px #cccccccc;
    background-color: #aaaaaa;
}

/*検索関連*/
.module .search-form {
    margin-bottom: 15px;
}
.module .search-form-inner {
    display: flex;
}
.module .search-item {
    width: 100%;
}
.module .search-btn {
    width: 100%;
}
.module .search-item-dropdown {
    width: 100%;
}
.module .search-item-option-list {
    display: flex;
    flex-wrap: wrap;
}
.module .search-item-date {
    display: block;
    overflow-x: hidden;
}
.module .search-item-option {
    padding: 7px;
}
.module .search-item-close {
    position: absolute;
    top: 10px;
    right: 15px;
    text-align: right;
}
.module .search-item-footer {
    display: flex;
    justify-content: center;
    padding-top: 15px;
    padding-bottom: 15px;
}
.module .search-item-reset {
    padding-right: 7px;
}
.module .search-item-search {
    padding-left: 7px;
}
.module .search-item-save {
    padding-left: 7px;
}
.module .search-condition {
    display: flex;
    padding: 7px;
    border-radius: 4px;
    padding-left: 15px;
    margin-bottom: 20px;
}
.module .search-condition-body {
    padding: 15px;
}
.search-condition-cancel {
    margin-left: auto;
}
.module .search-result {
    width: 100%;
    padding-left: 7px;
    padding-right: 7px;
    margin-bottom: 30px;
}
.module .search-item > button {
    width: 100%;
}
.module .search-item-option > label {
    font-size: 14px;
    font-weight: normal;
}
.module .search-condition-body > span {
    margin-right: 7px;
    padding: 2px 5px;
    border: 1px solid;
    border-radius: 3px;
    font-size: 14px;
}
.module .search-result > .list-view {
    display: none;
}
.module button.search-word-clear {
    right: 60px;
}

/*検索ワード非表示*/
html:not([lang|="ja"]) .search-btn-outer,
html:not([lang|="ja"]) div[data-item_id="search-item-0"] {
    display: none;
}

/*アイコン関連*/
.angle-right-start:abefore,
.arrow-right-end::abefore,
.chevron-right-end::abefore {
    left: 30px;
}
.angle-right-end::after,
.arrow-right-end::after,
.chevron-right-end::after {
    right: 30px;
}

.list-content .angle-right-end::after,
.list-content .arrow-right-end::after,
.list-content  .chevron-right-end::after {
    right: 7px;
}

.list-content .button > .angle-right-end::after,
.list-content .button > .arrow-right-end::after,
.list-content .button > .chevron-right-end::after {
    right: 30px;
}

/*番号アイコン*/
.numbered > :first-child {
    display: inline-block;
    position: relative;
    padding-left: 1.6em; 
}
.numbered > :first-child::before {
    content: counter(icon-counter);
    counter-increment: icon-counter; 
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    width: 1.6em;
    height: 1.6em;
    line-height: 1.6em;
    font-weight: bold;
    font-size: 0.8em;
    text-align: center;
    border-radius: 50%; 
    background-color: #4B84C5;
    color: #fff;
}
.no-numbered {
    position: relative;
    left: calc(-50vw + 50%);
    width: 100vw;
    box-sizing: border-box;
    padding: 0px 15px !important;
}
.no-numbered > :first-child {
    display: block;
    padding: 7px 15px !important;
    text-align: center;
}
.no-numbered > :first-child::before {
	content: none !important;
}

/*吹き出し*/
/* 左向き：枠線あり */
.bubble-left::before {
    content: "";
    position: absolute;
    top: 40px;
    left: -20px;
    border-width: 20px 20px 20px 0;
    border-style: solid;
    border-color: transparent #dbe8f5 transparent transparent;
}

.bubble-left::after {
    content: "";
    position: absolute;
    top: 42px;
    left: -14px;
    border-width: 18px 17px 17px 0;
    border-style: solid;
    border-color: transparent #fff transparent transparent;
}

/* 右向き：枠線あり */
.bubble-right::before {
    content: "";
    position: absolute;
    top: 40px;
    right: -20px;
    border-width: 20px 0 20px 20px;
    border-style: solid;
    border-color: transparent transparent transparent #dbe8f5;

}

.bubble-right::after {
    content: "";
    position: absolute;
    top: 42px;
    right: -15px;
    border-width: 18px 0 18px 18px;
    border-style: solid;
    border-color: transparent transparent transparent #fff;
}

.column-box {
    position: relative;
}

/*コラム関連*/
/* リボン背景 */
.column-box::before {
    content: "";

    position: absolute;
    top: -40px;
    left: 0px;

    width: 120px;
    height: 80px;

    background-color: #5b8dce;

    clip-path: polygon(
        0 0,
        100% 0,
        100% 100%,
        50% 84%,
        0 100%
    );
}

/* Column文字 */
.column-box::after {
    content: "Column";

    position: absolute;
    top: -30px;
    left: 15px;

    color: #fff;
    
   font-family: "Italianno", cursive;
  	font-weight: 400;
  	font-style: normal;
    font-size: 38px;

    transform: rotate(-8deg);
    transform-origin: center;

    white-space: nowrap;
}

/*ランキング関連*/
.ranking-grid {
    counter-reset: rank;
}
.ranking-grid .content-inner {
     position: relative;
     counter-increment: rank;
}
.ranking-grid .content-inner::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    width: 48px;
    height: 48px;
    background: #fff;
    clip-path: polygon(
        50% 0,
        100% 50%,
        50% 100%,
        0 50%
    );
}
.ranking-grid .content-inner::after {
    content: counter(rank);
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 3;
    width: 44px;
    height: 44px;
    padding-bottom: 4px;
    color: #fff;
    font-size: 18px;
    line-height: 1;
    background: #2f6fb4;
    clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
    font-family: "Zen Old Mincho", serif;
}
.ranking-grid .content:first-child .content-inner::before{
    width: 70px;
    height: 70px;
}
.ranking-grid .content:first-child .content-inner::after {
    line-height: 1;
    font-size: 28px;
    width: 64px;
    height: 64px;
    top: 13px;
    left: 13px;
    padding-bottom: 4px;
}

.border-title::before,
.border-title::after {
    content: "";
    flex: 1;
    border-top: 1px solid #FFF;
}

.page-top {
    position: fixed;
    right: 50px;
    bottom: 100px;
    width: 40px;
    height: 40px;
    z-index: 1000;

    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility .3s;
}

.page-top.is-show {
    opacity: 1;
    visibility: visible;
}

/* 菱形 */
.page-top::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #4B84C5;
    transform: rotate(45deg);
}

/* ↑ */
.page-top::after {
    content: "↑";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 200;
    line-height: 1;
    color: #fff;
}

@media screen and (min-width: 768px) {
    body {
      font-size: 16px;
      line-height: 1.5;
      padding-top: 100px;
    }
    h1 {
      font-size: 36px;
      font-weight: 400;
      line-height: 1.5;
    }
    h2 {
      font-size: 32px;
      font-weight: 400;
      line-height: 1.5;
    }
    h3 {
      font-size: 28px;
      font-weight: 400;
      line-height: 1.5;
    }
    h4 {
      font-size: 24px;
      font-weight: 400;
      line-height: 1.5;
    }
    h5 {
      font-size: 20px;
      font-weight: 400;
      line-height: 1.5;
    }
    p {
        font-size: 16px;
    }
    
    /*スライドエリア関連8*/
    #slide {
        min-width: 500px;
        max-width: 50%;
    }
    
    /*見出し関連*/
    .module  .title > :where(h1, h2, h3, h4) ,
    .module  .heading > :where(h1, h2, h3, h4) {
    	font-size: 32px;
	}
    .module  .subheading > :where(h1, h2, h3, h4) {
    	font-size: 24px;
	}

    /*ボタン関連*/
    .module .button,
    .module-detail .button-detail {
        min-width: 33.3%;
    }
    .module .button a,
    .module-detail .button-detail a,
    .collapse-btn {
        min-height: 50px;
    }

    /*検索関連*/
    .module .search-item {
        padding: 7px;
    }
    .module .search-btn-outer {
        margin-left: auto;
        padding: 7px;
    }
    .module .search-item-dropdown {
        padding: 7px;
    }
    .module .search-result-message {
        flex:1;
    }
    .module .list-sort {
        padding-right: 15px;
    }
    .module .list-view {
        padding-left: 15px;
    }
    .module .search-btn > span.search-btn-icon {
        margin-right: 7px;
    }
    .module .search-item-close > i {
        font-size: 16px;
    }
    .module .search-result-message span.result-count {
        font-size: 32px;
        margin-right: 5px;
        line-height: 1;
    }

    /*ランキング関連*/
    .ranking-grid .module-inner {
        display: grid;
        /* 左を大きく、右を2列 */
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
        grid-template-rows: auto auto;
        gap: 20px;
    }

    /*左の1番だけ高さ2マス分*/
    .ranking-grid  .content:nth-child(1){
        grid-row: 1 / span 2; /* 1行目〜2行目 */
        grid-column: 1; /* 1列目 */
        align-self: end;
    }
    /*右上2つ*/
    .ranking-grid  .content:nth-child(2){
        grid-row: 1;
        grid-column: 2;
    }
    .ranking-grid  .content:nth-child(3){
        grid-row: 1;
        grid-column: 3;
    }
    /*右下2つ*/
    .ranking-grid .content:nth-child(4){
        grid-row: 2;
        grid-column: 2;
    }
    .ranking-grid .content:nth-child(5){
        grid-row: 2;
        grid-column: 3;
    }
}

@media screen and (max-width: 767px) {
    body {
        font-size: 16px;
        line-height: 1.5;
        padding-top: 56px;
    }
    h1 {
        font-size: 24px;
        font-weight: 400;
        line-height: 1.5;
    }
    h2 {
        font-size: 24px;
        font-weight: 400;
        line-height: 1.5;
    }
    h3 {
        font-size: 22px;
        font-weight: 400;
        line-height: 1.5;
    }
    h4 {
        font-size: 20px;
        font-weight: 400;
        line-height: 1.5;
    }
    h5 {
        font-size: 16px;
        font-weight: 400;
        line-height: 1.5;
    }
    
    /*スライドエリア関連8*/
    #slide {
        width: 100%;
    }
    #slide .slide-menu-container {
        padding-top: 60px;
    }
    
    /*スライドメニュー関連*/
    .slide-menu-btn {
        top: 15px;
        right: 15px;
        width: 24px;
        height: 24px;
        font-size: 16px;
    }
    .slide-menu-close {
        position: absolute;
        top: 10px;
        right: 15px;
        font-size: 24px;
    }

    /*モジュール関連*/
    .module,
    .module-detail {
        padding: 0px;
    }
    .module .module-inner-col-1,
    .module-detail .module-inner-col-1 {
        padding-right: 0px;
    }
    .module .module-inner-col-2,
    .module-detail .module-inner-col-2 {
        padding-left: 0px;
    }
    .module .content-inner .column-1,
    .module .content-inner .column-2 {
        padding-left: 0px;
        padding-right: 0px;
    }

    /*見出し関連*/
    .module .list-content .heading > :where(h1, h2, h3, h4),
    .module .slide-content .heading > :where(h1, h2, h3, h4) {
        font-size: 18px
    }
    .module .list-content .subheading > :where(h1, h2, h3, h4),
    .module .slide-content .subheading > :where(h1, h2, h3, h4) {
        font-size: 16px
    }

    .module  .title > :where(h1, h2, h3, h4) ,
    .module .heading > :where(h1, h2, h3, h4) {
    	font-size: 24px;
	}
    .module .subheading > :where(h1, h2, h3, h4) {
    	font-size: 20px;
	}
    
    /*ボタン関連*/
    .module .button,
    .module-detail .button-detail {
        width: 100%;
    }
    .module .button a,
    .module-detail .button-detail a,
    .collapse-btn {
        min-height: 40px;
    }

    /*コンテンツスライダー関連*/
    .module .slider-content-nav > i {
        font-size:20px;
    }

    /*検索関連*/
    .module .search-form-inner {
        flex-wrap:wrap;
        padding-left: 7px;
        padding-right: 7px;
    }
    .module .search-item {
        padding-top: 7px;
        padding-bottom: 7px;
    }
    .module .search-btn-outer {
        width: 100%;
        padding-top: 7px;
        padding-bottom: 7px;
    }
    .module .search-item-dropdown {
        padding-top: 7px;
        padding-bottom: 7px;
    }
    .module .search-result {
        margin-bottom: 10px;
    }
    .module .search-result-message {
        width: 100%;
        padding-top: 7px;
        padding-bottom: 15px;
    }
    .module .list-sort {
        margin-left: auto;
        padding-right: 7px;
    }
    .module .search-btn > span.search-btn-icon {
        margin-right: 5px;
    }
    .module .search-result-message span.result-count {
        font-weight: 700;
        margin-right: 5px;
        font-size: 18px;
        line-height: 1;
    }
    .module .search-result-message span.result-text {
        line-height: 1;
    }
    
    /*アイコン*/
    .link.angle-right-end::after,
    .link.arrow-right-end::after,
   	.link.chevron-right-end::after {
    	right: 0px; 
	}

    /*縦線背景*/
    .bg-border-vertical::before {
        left: 0.7em;
    }
    
    /*吹き出し*/
    .bubble-left-arrow::before,
  	.bubble-right-arrow::before {
        top: 20px;
    }
    
    /*コラム*/
    .column-box::before {
        content: "";
        position: absolute;
        top: -3px;
        left: 0px;
        width: 50px;
        height: 35px;
        background-color: #5b8dce;
        clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 84%, 0 100%);
    }
    .column-box::after {
        content: "Column";
        position: absolute;
        top: 2px;
        left: 8px;
        color: #fff;
        font-family: "Italianno", cursive;
        font-weight: 400;
        font-style: normal;
        font-size: 16px;
        transform: rotate(-8deg);
        transform-origin: center;
        white-space: nowrap;
    }
    
    /*ランキング関連*/
    .ranking-grid  .content:nth-child(1){
        width:100%;
    }
    .ranking-grid .content-inner::before {
        content: "";
        position: absolute;
        top: 15px;
        left: 10px;
        z-index: 2;
        width: 32px;
        height: 32px;
        background: #fff;
        clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
    }
    .ranking-grid .content-inner::after {
        content: counter(rank);
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 17px;
        left: 12px;
        z-index: 3;
        width: 28px;
        height: 28px;
        padding-bottom: 4px;
        color: #fff;
        font-size: 14px;
        line-height: 1;
        background: #2f6fb4;
        clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
        font-family: "Zen Old Mincho", serif;
    }
    .ranking-grid .content:first-child .content-inner::before {
        width: 60px;
        height: 60px;
    }
    .ranking-grid .content:first-child .content-inner::after {
		width: 56px;
        height: 56px;
        top: 17px;
        left: 12px;
    }
    .ranking-grid .content:first-child .content-inner::after {
        font-size: 20px;
    }
    
    .page-top {
        right: 15px;
        bottom: 100px;
        width: 30px;
        height: 30px;
    }

    .page-top::after {
        font-size: 20px;
        line-height: 1;
    }
}