/* 抜粋の冒頭から */
ul.pageNav02{margin:0 0 0;padding:0 0 0;background:#fff;border:1px solid #fff;text-align:center}
ul.pageNav02 li{display:inline;margin:0 2px;padding:0}
ul.pageNav02 li a,ul.pageNav02 li span{display:inline-block;margin-bottom:5px;padding:5px 12px;background:#eeeff7;text-decoration:none;vertical-align:middle}
ul.pageNav02 li span{background:#cdcdcd}
ul.pageNav02 li a:hover{color:#fff;background:#2b71c8;border-color:#00f}
#page-top{position:fixed;z-index:9999;bottom:20px;right:15px;font-size:13px}
#page-top a{width:35px;height:35px;background:rgba(102,102,102,.5);text-decoration:none;color:#fff;padding:10px;text-align:center;display:block;border-radius:50%;-moz-box-shadow:0 0 5px #ccc;-webkit-box-shadow:0 0 5px #ccc;-moz-opacity:.8;opacity:.8}

/* 中略（.glyphiconの各アイコン定義） */
@font-face{font-family:'Glyphicons Halflings';src:url(https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.eot);src:url(https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.woff) format('woff'),url(https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg');font-display:swap;}
/* 以下、残りのスタイル（.btn, .footerなど）は変更なし */.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active:focus,.btn-primary:active:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary:active{background-image:none}.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn{position:relative;float:left}.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn{margin-left:-1px}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group{position:relative;display:table;border-collapse:separate}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control,.input-group-btn{display:table-cell}.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group .form-control:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-btn:last-child>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:last-child>.btn{z-index:2;margin-left:-1px}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#cccccc;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-title{margin-top:0;margin-bottom:0;font-size:18px;color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.container-fluid:after,.container-fluid:before,.container:after,.container:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.container-fluid:after,.container:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}@-ms-viewport{width:device-width}.btn{border:none;cursor:pointer;outline:0!important;text-decoration:none!important;transition:.3s;box-sizing:border-box}ul.share-buttons{list-style:none;padding:0}ul.share-buttons li{display:inline}ul.share-buttons img{width:32px}.panel-custom .panel-heading{background-color:#41495a;border-color:#41495a;color:#333}.panel-custom{border-color:#41495a}/*!
 * Bootstrap v3.3.5 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a{background-color:transparent}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}small{font-size:80%}img{border:0}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}button,input{margin:0;font:inherit;color:inherit}button{overflow:visible}button{text-transform:none}button{-webkit-appearance:button;cursor:pointer}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}img{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}@font-face{font-family:'Glyphicons Halflings';src:url(https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.eot);src:url(https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.woff) format('woff'),url(https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-pencil:before{content:"\270f"}.glyphicon-search:before{content:"\e003"}.glyphicon-user:before{content:"\e008"}.glyphicon-list:before{content:"\e056"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-up:before{content:"\e113"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#1b1b1b;background-color:#fff}button,input{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#1558d6;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.h4,.h5,h1,h2,h3{font-family:inherit;font-weight:400;line-height:1.1;color:inherit}h1,h2,h3{margin-top:20px;margin-bottom:10px}.h4,.h5{margin-top:10px;margin-bottom:10px}h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}.h4{font-size:18px}.h5{font-size:14px}p{margin:0 0 10px}small{font-size:85%}.text-right{text-align:right}.text-center{text-align:center}ul{margin-top:0;margin-bottom:10px}.list-unstyled{padding-left:0;list-style:none}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-md-12,.col-md-4,.col-md-8,.col-xs-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-12{float:left}.col-xs-12{width:100%}@media (min-width:992px){.col-md-12,.col-md-4,.col-md-8{float:left}.col-md-12{width:100%}.col-md-8{width:66.66666667%}.col-md-4{width:33.33333333%}}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active:focus,.btn-primary:active:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary:active{background-image:none}.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn{position:relative;float:left}.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn{margin-left:-1px}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group{position:relative;display:table;border-collapse:separate}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control,.input-group-btn{display:table-cell}.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group .form-control:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-btn:last-child>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:last-child>.btn{z-index:2;margin-left:-1px}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-title{margin-top:0;margin-bottom:0;font-size:18px;color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.container-fluid:after,.container-fluid:before,.container:after,.container:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.container-fluid:after,.container:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}@-ms-viewport{width:device-width}.breadcrumb .active{float:none;display:inline}@media (max-width:768px){.col-md-12{padding-left:10px;padding-right:10px}.list-unstyled{padding-left:10px;padding-right:10px}.pageNav02{margin:0 auto;padding:0;max-width:75%;overflow-x:auto;white-space:nowrap;scroll-snap-type:x mandatory}.pageNav02 li{scroll-snap-align:center}}.panel-custom .panel-heading{background-color:#345777;border-color:#345777;color:#fff}.panel-custom{border-color:#345777}.panel-reply{border-color:#345777}
.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9 {
    position:relative;
    min-height:1px;
    padding-right:15px;
    padding-left:15px
}
.pagination {
    display:inline-block;
    padding-left:0;
    margin:20px 0;
    border-radius:4px
}
.pagination>li {
    display:inline
}
.pagination>li>a,.pagination>li>span {
    position:relative;
    float:left;
    padding:6px 12px;
    margin-left:-1px;
    line-height:1.42857143;
    color:#337ab7;
    text-decoration:none;
    background-color:#fff;
    border:1px solid #ddd
}
.pagination>li:first-child>span {
    margin-left:0;
    border-top-left-radius:4px;
    border-bottom-left-radius:4px
}
.pagination>li:last-child>a {
    border-top-right-radius:4px;
    border-bottom-right-radius:4px
}
.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover {
    z-index:3;
    color:#23527c;
    background-color:#eee;
    border-color:#ddd
}
.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover {
    z-index:2;
    color:#fff;
    cursor:default;
    background-color:#337ab7;
    border-color:#337ab7
}
.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9 {
    float:left
}
.col-xs-12 {
    width:100%
}
.col-xs-11 {
    width:91.66666667%
}
.col-xs-10 {
    width:83.33333333%
}
.col-xs-9 {
    width:75%
}
.col-xs-8 {
    width:66.66666667%
}
.col-xs-7 {
    width:58.33333333%
}
.col-xs-6 {
    width:50%
}
.col-xs-5 {
    width:41.66666667%
}
.col-xs-4 {
    width:33.33333333%
}
.col-xs-3 {
    width:25%
}
.col-xs-2 {
    width:16.66666667%
}
.col-xs-1 {
    width:8.33333333%
}
.col-xs-push-12 {
    left:100%
}
.col-xs-push-11 {
    left:91.66666667%
}
.col-xs-push-10 {
    left:83.33333333%
}
.col-xs-push-9 {
    left:75%
}
.col-xs-push-8 {
    left:66.66666667%
}
.col-xs-push-7 {
    left:58.33333333%
}
.col-xs-push-6 {
    left:50%
}
.col-xs-push-5 {
    left:41.66666667%
}
.col-xs-push-4 {
    left:33.33333333%
}
.col-xs-push-3 {
    left:25%
}
.col-xs-push-2 {
    left:16.66666667%
}
.col-xs-push-1 {
    left:8.33333333%
}
.col-xs-push-0 {
    left:auto
}
@media (min-width:768px) {
    .col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9 {
        float:left
    }
    .col-sm-12 {
        width:100%
    }
    .col-sm-11 {
        width:91.66666667%
    }
    .col-sm-10 {
        width:83.33333333%
    }
    .col-sm-9 {
        width:75%
    }
    .col-sm-8 {
        width:66.66666667%
    }
    .col-sm-7 {
        width:58.33333333%
    }
    .col-sm-6 {
        width:50%
    }
    .col-sm-5 {
        width:41.66666667%
    }
    .col-sm-4 {
        width:33.33333333%
    }
    .col-sm-3 {
        width:25%
    }
    .col-sm-2 {
        width:16.66666667%
    }
    .col-sm-1 {
        width:8.33333333%
    }
    .col-sm-push-12 {
        left:100%
    }
    .col-sm-push-11 {
        left:91.66666667%
    }
    .col-sm-push-10 {
        left:83.33333333%
    }
    .col-sm-push-9 {
        left:75%
    }
    .col-sm-push-8 {
        left:66.66666667%
    }
    .col-sm-push-7 {
        left:58.33333333%
    }
    .col-sm-push-6 {
        left:50%
    }
    .col-sm-push-5 {
        left:41.66666667%
    }
    .col-sm-push-4 {
        left:33.33333333%
    }
    .col-sm-push-3 {
        left:25%
    }
    .col-sm-push-2 {
        left:16.66666667%
    }
    .col-sm-push-1 {
        left:8.33333333%
    }
    .col-sm-push-0 {
        left:auto
    }
}
@media (min-width:992px) {
    .col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9 {
        float:left
    }
    .col-md-12 {
        width:100%
    }
    .col-md-11 {
        width:91.66666667%
    }
    .col-md-10 {
        width:83.33333333%
    }
    .col-md-9 {
        width:75%
    }
    .col-md-8 {
        width:66.66666667%
    }
    .col-md-7 {
        width:58.33333333%
    }
    .col-md-6 {
        width:50%
    }
    .col-md-5 {
        width:41.66666667%
    }
    .col-md-4 {
        width:33.33333333%
    }
    .col-md-3 {
        width:25%
    }
    .col-md-2 {
        width:16.66666667%
    }
    .col-md-1 {
        width:8.33333333%
    }
    .col-md-push-12 {
        left:100%
    }
    .col-md-push-11 {
        left:91.66666667%
    }
    .col-md-push-10 {
        left:83.33333333%
    }
    .col-md-push-9 {
        left:75%
    }
    .col-md-push-8 {
        left:66.66666667%
    }
    .col-md-push-7 {
        left:58.33333333%
    }
    .col-md-push-6 {
        left:50%
    }
    .col-md-push-5 {
        left:41.66666667%
    }
    .col-md-push-4 {
        left:33.33333333%
    }
    .col-md-push-3 {
        left:25%
    }
    .col-md-push-2 {
        left:16.66666667%
    }
    .col-md-push-1 {
        left:8.33333333%
    }
    .col-md-push-0 {
        left:auto
    }
}


/* kensetu/css/styles.pure.css */

/* --- ページ全体に影響する可能性のある汎用的なスタイル --- */

body {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 350;
    color: #0f1111; /* 真っ黒より少し薄いほうが目に優しい */
    letter-spacing: 0.01em; /* 少し広げて読みやすく */
    
}

/* Bootstrapのボタンに対するカスタムスタイル (必要であれば残す) */
.btn {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 16px;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    border: 1px solid transparent;
    border-radius: 4px;
    text-decoration: none;
}

.btn-primary {
    color: #fff;
    background-color: #337ab7;
    border-color: #2e6da4;
}

.btn-success {
    color: #fff;
    background-color: #5cb85c;
    border-color: #4cae4c;
}

.btn-xs {
    padding: 1px 5px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
}

/* 返信ボタン hover スタイル */
.btn-success:hover {
    background-color: #449d44;
    color: #fff;
    border-color: #398439;
}

/* レスポンシブ画像 */
.img-responsive {
    max-width: 100%;
    height: auto;
}

/* 汎用的なアイコンスタイル */
.icon-gray {
    width: 16px;
    height: 16px;
    filter: grayscale(100%);
    vertical-align: middle;
    margin-top: 0px; /* 改行したときの上 */
}

/* SNSボタン */
ul.share-buttons {
    list-style: none;
    padding: 0;
}

ul.share-buttons li {
    display: inline;
}

ul.share-buttons img {
    width: 32px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

/* Footer */
.footer {
    margin-top: 0px;
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}
.footer > .container {
    background: #41495a !important;
    max-width: 100%;
    padding-left: 0px;
    padding-right: 0px;
}
.footer .col-md-3 {
    background: transparent;
    color: white;
}

/* Google対策 */
.list-unstyled {
    min-height: 800px; /* ここは必要であれば調整 */
}

/* ken.png ロゴ周辺 */
.logo-container {
    display: flex;
    align-items: center; /* 垂直方向の中央揃え */
    justify-content: flex-start; /* 左寄せ */
    gap: 10px; /* ロゴと文字列の間隔 */
    margin-top: 15px; /* ブロック上部の余白を追加 */
    margin-bottom: 10px; /* ブロック下部の余白を追加 */
    flex-wrap: nowrap; /* 折り返しを防止 */
}

.logo-img {
    max-width: 100%;
    height: auto;
    aspect-ratio: 103 / 31; /* 画像の比率を保持 */
}

.logo-text {
    font-size: 1.5rem; /* Bootstrapのh4相当 */
    font-weight: 500; /* h1.h4のスタイルを再現 */
    line-height: 1.2;
    margin: 0; /* 余白をリセット */
    white-space: nowrap; /* 文字列の折り返し防止 */
}

/* モバイル表示でも水平を維持 */
@media (max-width: 600px) {
    .logo-container {
        flex-direction: row; /* モバイルでも水平を維持 */
        align-items: center;
        margin-top: 10px; /* モバイルでは余白を少し小さく（任意） */
        margin-bottom: 10px;
    }
}

/* AdSenseW */
.ad-box {
    margin-bottom: 1em;
    margin-left: 1em;
    /* その他の既存のad-boxスタイルはそのまま */
}

/* --- 新着リスト固有のスタイル --- */

/* 各投稿行の罫線とパディング */
.list-unstyled .post-item .post-row {
    border-bottom: 1px solid #eee !important; /* 罫線を強制適用 */
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    display: flex !important; /* 強制的にフレックスボックスを適用 */
    flex-wrap: wrap !important;
    align-items: flex-start !important;
}
/* 最後の投稿行には罫線をつけない */
.list-unstyled .post-item:last-child .post-row {
    border-bottom: none !important;
}

/* 記事番号とタイトルを含む主要情報エリア */
.post-content {
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
}

/* 記事番号とタイトルを横並びにするコンテナ */
.post-content > .d-flex {
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    margin-bottom: 5px !important;
}

/* 記事番号のスタイル */
.post-no-new {
    font-size: 0.85em !important;
    color: #666 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    margin-right: 8px !important;
    font-weight: normal !important;
}

/* 投稿タイトルのスタイル */
.post-title {
    font-size: 16px !important; /* 旧リストのタイトルサイズに合わせて調整 */
    font-weight: 400 !important;
    line-height: 1.2 !important;
    margin-bottom: 0 !important;
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
    color: #1558d6 !important; /* ここを元のタイトル色に修正 */
}
.post-title a {
    color: #1558d6 !important; /* ここを元のリンク色に修正 */
    text-decoration: none !important;
}
.post-title a:hover {
    text-decoration: underline !important;
}

/* タイトル内の画像アイコン (camera.svgなど) */
.post-title img {
    width: 20px !important;
    height: 15px !important;
    vertical-align: middle !important;
    margin-right: 3px !important;
}

/* 投稿メタ情報コンテナ (キーワード、カウンター、日付) 新デザイン*/
.post-meta-container {
    margin-top: 12px !important;/*タイトルとキーワードボタンの余白*/
    font-size: 0.85em !important;
    color: #333 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
}

/* キーワードとカウンターの左側ブロック */
.post-meta-left {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

/* キーワードのラッパー */
.keyword-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    margin-right: 10px !important;
}

/* カウンターアイコンとその値のラッパー */
.counter-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* 個々のアイコンアイテム */
.icon-item {
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
}

/* カウンター内のアイコン */
.icon-item img {
    width: 16px !important;
    height: 16px !important;
    vertical-align: middle !important;
    margin-right: 3px !important;
}

/* カウンター全体 */
.counter-wrapper {
    display: inline-block; /* または inline-flex */
    margin-top: 5px; /* スマホでの改行時にキーワードとのスペースを確保 */
}

/* 日付表示部分（右側） */
.post-meta-right {
    flex-shrink: 0 !important;
    margin-left: auto !important;
}

/* 日付と「投稿/返信」ラベル */
.post-date {
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important;
    font-size: 1em !important;
}

/* 青と緑の四角のスタイル (二重表示対策も含む) */
.post-label-square {
    display: inline-block !important;
    font-size: 0.8em !important; /* ■の文字サイズ */
    line-height: 1 !important;
    margin-right: 5px !important;
    transform: scale(1.2) !important; /* ■を少し大きくする */
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    box-sizing: border-box !important;

    /* ★★★ ここを修正 ★★★ */
    /* position: relative と top は削除またはコメントアウト */
    vertical-align: -0.1em !important; /* 0.1em (約1.6px) だけ下に移動 */
    /* または vertical-align: -1px !important; を試す */
}

.post-label-square.post {
    background-color: transparent !important;
    color: #1558d6 !important;
}
.post-label-square.reply {
    background-color: transparent !important;
    color: #28a745 !important;
}

/* 時刻部分の文字を太くする */
.post-date-text {
    font-weight: bold !important;
}

/* 時刻部分の文字を太くする */
.post-date-text {
    font-weight: bold !important;
}

/* 各投稿アイテム間の間隔 */
.list-unstyled > li {
    margin-bottom: 5px !important;
}

/* キーワードボタンのスタイル */
.keyword .btn-custom-slim {
    display: inline-block !important;
    padding: 2px 6px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    color: #333333 !important;
    background-color: #f0f0f0 !important;
    border: 1px solid #ccc !important;
    border-radius: 3px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}
.keyword .btn-custom-slim:hover {
    background-color: #d6ebff !important;
    border-color: #aaddff !important;
    color: #0056b3 !important;
}

/* ページャーの調整 */
.pageNav02 li span,
.pageNav02 li a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 2px 8px !important;
    min-width: 30px !important;
    height: 25px !important;
    border: 1px solid #ddd !important;
    border-radius: 3px !important;
    text-decoration: none !important;
    color: #337ab7 !important;
    background-color: #fff !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
}

.pageNav02 li span { /* 現在のページ */
    background-color: #337ab7 !important;
    color: #fff !important;
    font-weight: bold !important;
    cursor: default !important;
}

.pageNav02 li a:hover {
    background-color: #e6e6e6 !important;
    border-color: #adadad !important;
    text-decoration: none !important;
}
.pageNav02 li {
    flex: 0 0 auto !important;
    margin-right: 5px !important;
}

/* その他、念のためのリセット (特定の要素に限定) */
h3.post-title { /* post-titleクラスを持つh3のみに適用 */
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}
ul.list-unstyled { /* list-unstyledクラスを持つulのみに適用 */
    margin: 0 !important;
    padding: 0 !important;
}
.list-unstyled > li { /* list-unstyledの子のliのみに適用 */
    list-style: none !important;
}


/* --- keyword_ranking.css 関連のスタイルを再配置 --- */

/* 全ての要素に box-sizing: border-box; を適用 (最も重要) */
/* これはstyles.pure.cssの一番上か、共通のCSSファイルに置くのが理想ですが、
   今回はこのファイル内で汎用的に適用します。 */
* {
    box-sizing: border-box;
}

/* 人気キーワードTOP10ブロック全体のコンテナのスタイル */
.keyword-top10-block {
    margin-top: 0px;
    margin-bottom: 20px;
    background-color: #FBFBFB;
    padding: 10px;
    border-radius: 4px;
    height: auto;
    min-height: auto;
}

/* タイトルとキーワードのテキストが折り返さないように、はみ出たら"..."で省略 */
.keyword-top10-block h2,
.keyword-top10-block ul li p {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 人気キーワード TOP 10 の帯を囲む div のスタイル */
.keyword-top10-header {
    background-color: #345777;
    border-radius: 4px;
    color: #fff;
    margin-bottom: 5px;
    padding: 5px 0px 3px 0px;
}

/* タイトル h2 の見た目に関するスタイル */
.keyword-top10-block h2 {
    padding-top: 0px;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 0px;
    background-color: #345777;
    color: #fff;
    border-radius: 4px;
    margin-bottom: 0;
    margin-top: 0;
    line-height: 1.2;
    width: 100%;
}
.keyword-top10-block h2 span {
    font-size: 16px;
    vertical-align: middle;
    margin-right: 5px;
    margin-left: 5px;
    color: #FFD700;
}

/* 親記事のみ/返信含む タブ（.ranking-filter-tabs）のスタイル */
.ranking-filter-tabs {
    display: flex;
    margin-bottom: 5px;
    border-bottom: 1px solid #eee;
}

.filter-tab-button {
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    border-bottom: none;
    padding: 5px 15px;
    cursor: pointer;
    font-weight: normal; /* noneではなくnormal */
    border-radius: 5px 5px 0 0;
    margin-right: 5px;
    transition: background-color 0.3s ease;
    outline: none;
}

.filter-tab-button:hover {
    background-color: #e0e0e0;
}

.filter-tab-button.active {
    background-color: #fff !important;
    border-color: #345777;
    color: #345777;
    font-weight: bold;
    border-bottom: 1px solid #fff;
    z-index: 1;
    position: relative;
    cursor: default;
}

.filter-tab-button.active:hover {
    background-color: #fff !important;
}

/* 期間タブ（.ranking-tabs と .tab-button）のスタイル */
.ranking-group .ranking-tabs {
    margin-top: 0px;
}

.ranking-tabs {
    display: flex;
    justify-content: space-around;
    border-bottom: 0px solid #ddd;
    margin-bottom: 0px;
    text-align: center;
}

.tab-button {
    background-color: #f0f0f0;
    border: 1px solid #ddd;
    border-bottom: none;
    padding: 8px 12px;
    cursor: pointer;
    font-weight: normal; /* noneではなくnormal */
    color: #555;
    border-radius: 5px 5px 0 0;
    transition: all 0.3s ease;
    flex-grow: 1;
    margin-right: 5px;
    text-align: center;
}

.ranking-tabs .tab-button:last-child {
    margin-right: 0;
}

.tab-button:hover {
    background-color: #eee;
}

.tab-button.active {
    background-color: #fff !important;
    border-color: #345777;
    color: #345777;
    font-weight: bold;
    border-bottom: 1px solid #fff;
    z-index: 1;
    position: relative;
    cursor: default;
}

.tab-button.active:hover {
    background-color: #fff !important;
}

/* ランキングリストコンテナのスタイル */
.ranking-list-container {
    padding: 12px 0 11px;
    border: 0px solid #ddd;
    border-top: 1px solid #ddd; /* 罫線を復活 */
    border-radius: 0 0 5px 5px;
    background-color: #fff;
    padding-left: 10px;
    padding-right: 0;
}

/* ul と li のデフォルトスタイルをリセットし、インデントを設定 */
.keyword-top10-block ul {
    padding-left: 0;
    margin-left: 0;
    list-style: none;
    margin-bottom: 0;
    min-height: auto !important;
    height: auto !important;
    background-color: transparent;
}

.keyword-top10-block ul li {
    margin-bottom: 15
px;
    padding-left: 5px; /* ここもpx指定に統一 */
}
.keyword-top10-block ul li:last-child {
    margin-bottom: 0;
}

/* キーワードの文字サイズ調整 */
.keyword-item {
    font-size: 14px;
    margin-bottom: 15px;/*キーワード下余白*/
}

/* ランク番号の色と余白 */
.rank-number {
    font-weight: normal; /* noneではなくnormal */
    color: #345777;
    margin-right: 5px;
    font-size: 16px;
}

/* キーワードリンクのスタイル */
.keyword-item a {
    font-size: 16px;
    font-weight: 400;
    color: #1558d6; /* 青に戻す */
    text-decoration: none;
}
.keyword-item a:hover {
    text-decoration: underline;
}

/* カウント（回数）の文字サイズを設定 */
small {
    font-size: 13px;
    color: #666;
    margin-left: 5px;
}

/* 投稿一覧帯*/
.post-list-header {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    line-height: 1.2;
    padding-top: 4px;
}

.post-list-header img {
    filter: invert(100%);
    width: 16px;
    height: 16px;
    vertical-align: middle;
}

/* iPhone向け微調整 */
@media screen and (max-width: 600px) {
    .post-list-header {
        padding-top: 3.5px;
        line-height: 1.1;
    }
    .post-list-header img {
        width: 14px;
        height: 14px;
    }
}
.youtube-wrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 アスペクト比 */
  height: 0;
  overflow: hidden;
  max-width: 100%; /* 親幅に合わせる */
}

.youtube-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;  /* 幅100%で画面幅にフィット */
  height: 100%; /* 高さ自動調整 */
  border: 0;
}
