@charset 'UTF8';

main h1.function-header span.useful-icon~span.useful-header-title {
       line-height: 1.5em;
}

/** 物流ウィークリーのロゴ. **/
.weekly-logo {
       width: 250px;
}

/** 物流ニッポンのロゴ. **/
.nippon-logo {
       width: 300px;
}

/** -- 企業インタビュー用 . start ---------- **/
.interview-title {
       padding: 15px;
       color: #fff;
       background-color: #FFC000;
       width: 100%;
}

.interview-title h1 {
       font-weight: bold;
       font-size: 3em;
       margin: 1rem 2em 0 2em;
}

.interview-title h3 {
       font-size: 1.5em;
       margin: 1rem 2em 0em 4em;
}

/** -- 企業インタビュー用 . end ---------- **/

.usefuls-container {
       display: flex;
       flex-direction: row;
       flex-wrap: wrap;
       margin-top: 1em;
}

.useful-content-wrap {
       margin: .5em 0;
       width: 25%;
       min-width: 268px;
       padding: .5em;
       display: flex;
}

.useful-content-wrap.search {
       width: 100%;
}

.useful-content {
       width: 100%;
       border: 2px solid #999;
       border-radius: 5px;
       padding: 1em;
       position: relative;
       display: flex;
       flex-direction: column;
       background-color: #d2f7f7;
}

.past .useful-content {
       background-color: #f5deb3;
}

.useful-flag-icons {
       display: flex;
       flex-direction: row;
       flex-wrap: wrap;
       position: absolute;
       top: -1em;
       left: 1.5em;
}

.useful-icon {
       padding: 3px 5px;
       border-radius: 5px;
       margin: .2em;
       box-shadow: 2px 2px 2px 1px #555;
}

.new-icon {
       background-color: #dc143c;
       color: white;
}

.recommended-icon {
       background-color: #ffd700;
}

.generic-icon {
       background-color: #8b008b;
       color: white;
}

.useful-content img {
       width: auto;
       height: 150px;
       max-width: 100%;
       margin: 0 auto;
       display: block;
}

.useful-content-link {
       color: #2a2a2a;
       transition: all .1s ease;
       margin-bottom: auto;
       flex-grow: 1;
       padding: 1em;
}

.useful-content-link:hover,
.useful-content-link:focus {
       text-decoration: none;
       color: #2a2a2a;
       background-color: rgba(0, 0, 0, .2);
       transition: all .1s ease;
}

.useful-content-link span {
       display: inline-block;
       width: 100%;
}

.useful-content-title {
       font-size: 115%;
       font-weight: bold;
       margin: .5em 0;
       text-align: center;
}

.useful-content-title.search {
       text-align: left;
}

.useful-content-text {
       margin-top: .5em;
}

.useful-content-categories {
       margin-top: 1em;
       display: flex;
       flex-direction: row;
       flex-wrap: wrap;
       border-top: 3px double #999;
       padding-top: 1em;
}

.useful-update-date {
       font-size: 130%;
       font-weight: bold;
       margin: 1em;
       text-align: right;
}

.useful-detail-container {
       margin: 0 1em;
       padding: 0 2em;
       border-radius: 30px;
}

.useful-detail-container * {
       font-size: 120%;
}

blockquote.company-overview {
       margin: 2em 0 1em 0;
       background-color: #ccc;
       padding: 1em 2em;
       position: relative;
       border: 3px double #03579c;
       font-size: 1.0rem;
}

blockquote.company-overview a {
       font-size: 1.0rem;
}

blockquote.company-overview p:nth-of-type(n+2) {
       margin-top: .5em;
}

img.full-width {
       width: 100%;
       height: auto;
       margin: 1em 0;
}

blockquote.company-overview p.company-name {
       position: absolute;
       top: -0.9em;
       left: 1em;
       background-color: #03579c;
       color: white;
       padding: 5px 10px;
       border: 3px solid #03579c;
       box-shadow: 0 0 0 2px white inset;
       margin: 0;
}

blockquote.company-overview p.company-address {
       margin-top: 1.5em;
}

.useful-detail-content h4 {
       font-size: 150%;
       font-weight: bold;
       border-left: 15px solid #03579c;
       border-bottom: 1px solid #03579c;
       margin: 1em 0;
       padding-left: .3em;
}

.useful-detail-content p {
       margin: .5em 0;
}

p.interviewer {
       font-style: oblique;
       margin-bottom: 1.5em;
}

p.interviewer::before {
       content: "――";
}

.align-center img {
       margin: 0 auto;
       display: block;
}

.image-center .img-width40 {
       width: 40%;
}

.image-center .img-width60 {
       width: 60%;
}

.image-center .img-width80 {
       width: 80%;
}

/* 閉じるボタンあるやつ. */
.cp_box *,
.cp_box *:before,
.cp_box *:after {
       -webkit-box-sizing: border-box;
       box-sizing: border-box;
}

.cp_box {
       position: relative;
}

.cp_box h4 {
       font-size: 150%;
       font-weight: bold;
       border-left: 15px solid #03579c;
       border-bottom: 1px solid #03579c;
       margin: 1em 0;
       padding-left: .3em;
}

.cp_box label {
       content: "";
       position: absolute;
       border-style: none;
       left: 0;
       bottom: 0;
       z-index: 2;
       width: 100%;
       height: 150px;
       background: linear-gradient(rgba(255, 255, 255, 0) 0, #fff 180px);
}

.cp_box input:checked+label {
       background: inherit;
}

.cp_box label:after {
       line-height: 2.5rem;
       position: absolute;
       text-align: center;
       padding: 6px;
       z-index: 2;
       bottom: 0px;
       left: 50%;
       width: 16rem;
       font-family: FontAwesome;
       content: '↓ 続きをよむ';
       height: 40px;
       transform: translate(-50%, 0);
       letter-spacing: 0.05em;
       color: #ffffff;
       border-radius: 20px;
       background-color: rgba(27, 37, 56, 1);
}

.cp_box .input-check {
       display: none;
}

.cp_box .cp_container {
       overflow: hidden;
       height: 150px;
       transition: all 0.5s;
}

.cp_box input:checked {
       display: none;
}

.cp_box input:checked+label:after {
       font-family: FontAwesome;
       content: '↑ 閉じる';
}

.cp_box input:checked~.cp_container {
       height: auto;
       padding-bottom: 50px;
       transition: all 0.5s;
}

/* 閉じるボタンないやつ. */
.cp_box2 *,
.cp_box2 *:before,
.cp_box *:after {
       -webkit-box-sizing: border-box;
       box-sizing: border-box;
}

.cp_box2 {
       position: relative;
       font-size: 1.0rem;
}

.cp_box2 h4 {
       font-size: 150%;
       font-weight: bold;
       border-left: 15px solid #03579c;
       border-bottom: 1px solid #03579c;
       margin: 1em 0;
       padding-left: .3em;
}

.cp_box2 h5 {
       font-size: 100%;
       font-weight: bold;
       border-left: 15px solid #00bfff;
       border-bottom: 1px solid #00bfff;
       margin: 1em 0;
       padding-left: .3em;
}

.cp_box2 p {
       font-size: 80%;
}

.cp_box2 label {
       content: "";
       position: absolute;
       border-style: none;
       left: 0;
       bottom: 0;
       z-index: 2;
       width: 100%;
       height: 150px;
       background: linear-gradient(rgba(255, 255, 255, 0) 0, #fff 180px);
}

.cp_box2 input:checked+label {
       background: inherit;
}

.cp_box2 label:after {
       line-height: 2.5rem;
       position: absolute;
       text-align: center;
       padding: 6px;
       z-index: 2;
       bottom: 0px;
       left: 50%;
       width: 16rem;
       font-family: FontAwesome;
       content: '↓ 続きをよむ';
       height: 40px;
       transform: translate(-50%, 0);
       letter-spacing: 0.05em;
       color: #ffffff;
       border-radius: 20px;
       background-color: rgba(27, 37, 56, 1);
}

.cp_box2 .input-check {
       display: none;
}

.cp_box2 .cp_container2 {
       overflow: hidden;
       height: 150px;
       transition: all 0.5s;
}

.cp_box2 input:checked+label {
       display: none;
}

.cp_box2 input:checked~.cp_container2 {
       height: auto;
       padding-bottom: 50px;
       transition: all 0.5s;
}

.cp_container2 a {
       font-size: 100%;
}

/* 透過だけする. */
.tile {
       display: inline-block;
       position: relative;
       height: 150px;
       overflow: hidden;
       width: auto;
       padding: 0 55px 20px 55px;
       margin: 5px;
       font-size: 1.65rem;
}

.tile:before {
       content: "";
       border-style: none;
       left: 0;
       bottom: 0;
       z-index: 2;
       width: 100%;
       height: 200px;
       background: linear-gradient(rgba(255, 255, 255, 0) 0, #fff 250px);
}

.tile h4 {
       font-size: 150%;
       font-weight: bold;
       border-left: 15px solid #03579c;
       border-bottom: 1px solid #03579c;
       margin: 1em 0;
       padding-left: .3em;
}

/*　物流ニッポン用.　*/
.tile-nippon {
       width: auto;
       padding: 0 55px 20px 55px;
       margin: 5px;
       font-size: 1.65rem;
}

/* 続きは…ってURLの場所. */
.article-url-position {
       margin: 0 100px;
       font-size: 1.3rem;
}

/* ページのアイコン */
.page-change {
       color: #484848;
       display: inline-block;
       height: 50px;
       line-height: 40px;
       background: #eaeef1;
       box-sizing: border-box;
       margin-bottom: 20px;
}

.page-change-icon {
       display: inline-block;
       width: 50px;
       height: 50px;
       text-align: center;
       color: white;
       background: #fd7171;
       border-bottom: solid 4px #ef4d4d;
       font-size: 50%;
}

.page-change-icon i {
       line-height: 46px;
}

.page-change-icon-text {
       display: inline-block;
       margin-right: 10px;
       margin-left: 10px;
       width: auto;
       height: 50px;
       text-align: center;
       font-size: 50%;
}

.page-change:hover {
       -webkit-transform: translateY(4px);
       transform: translateY(4px);
}

.page-change:hover .page-change-icon-text,
.page-change:hover .page-change-icon {
       border-bottom: none;
}

.page-change-border-double {
       display: inline-block;
       text-decoration: none;
       color: #668ad8;
       width: 120px;
       height: 120px;
       line-height: 120px;
       border-radius: 50%;
       border: double 4px #668ad8;
       text-align: center;
       overflow: hidden;
       transition: .6s;
       padding-bottom: 50px;
       background: #fff;
       z-index: 3;
       position: absolute;
       right: 10%;
       margin-bottom: 3%;
}

.page-change-border-double a {
       font-size: 100%;
       word-wrap: break-word;
}

.page-change-border-double:hover {
       -webkit-transform: rotateY(360deg);
       transform: rotateY(360deg);
}

/* リボン */
.ribbon-wrapper {
       display: block;
       position: relative;
       margin: 15px auto;
       padding: 10px 0;
       width: 235px;
       text-align: center;
       background: #f1f1f1;
}

.ribbon-wrapper a {
       color: #00008b;
       text-decoration-line: none;
}

.ribbon {
       display: inline-block;
       position: relative;
       box-sizing: border-box;
       padding: 5px 0;
       margin: 0 22px 0 -40px;
       top: -5px;
       width: calc(15% + 20px);
       color: white;
       background: #00008b;
       box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
}

.ribbon h3 {
       margin: 0;
       padding: 0 15px 0 15px;
       font-size: 20px;
}

.ribbon:before {
       position: absolute;
       content: '';
       top: 100%;
       left: 0;
       border: none;
       border-bottom: solid 15px transparent;
       border-right: solid 20px #00008b;
}

.ribbon:after {
       position: absolute;
       content: '';
       z-index: 1;
       top: 0;
       right: 0;
       width: 0px;
       height: 0px;
       border-width: 20px 13px 20px 0px;
       border-color: transparent #f1f1f1 transparent transparent;
       border-style: solid;
}

.to-text-right {
       text-align: right;
}

.position-right {
       float: right;
}

.detail-content .content {
       margin-top: 15px;
       font-size: 110%;
}

.detail-content h5 {
       font-size: 110%;
       font-weight: bold;
       border-left: 15px solid #00bfff;
       border-bottom: 1px solid #00bfff;
       margin: 1em 0;
       padding-left: .3em;
}

.detail-content p,
.detail-content a {
       font-size: 100%;
}

.detail-content img.turn-right {
       float: right;
       margin-left: 5px;
       width: 400px;
}

.arrow {
       list-style-type: none;
       display: table;
       width: 100%;
       padding: 0;
       margin: 0;
       overflow: hidden;
}

.arrow li {
       display: table-cell;
       position: relative;
       background: #668ad8;
       padding: 10px;
       color: #fff;
}

.arrow li:last-child {
       padding-right: 1em;
}

.arrow li:last-child::before,
.arrow li:last-child::after {
       display: none;
}

.arrow li::before,
.arrow li::after {
       content: "";
       position: absolute;
       width: 0;
       height: 0;
       margin: auto;
}

.arrow li::before {
       top: -15px;
       right: -30px;
       border-style: solid;
       border-color: transparent transparent transparent #fff;
       border-width: 40px 0 40px 27px;
       z-index: 1;
}

.arrow li:after {
       top: -15px;
       right: -.8em;
       border-style: solid;
       border-color: transparent transparent transparent #668ad8;
       border-width: 40px 0 40px 1em;
       z-index: 10;
}

.arrow li.is-current {
       background: #00008b;
       font-weight: bold;
       width: 70%;
       height: 48px;
       font-size: 150%;
       padding: 10px;
}

.arrow li.is-current:after {
       border-color: transparent transparent transparent #00008b;
}

.arrow li.is-move-article {
       padding-left: 40px;
       text-align: center;
       font-size: 90%;
}

.arrow a {
       color: #fff;
}

.arrow a:hover {
       color: #00008b;
}

.p-tag p {
       font-size: 80%;
}

.side-menu {
       width: 250px;
       min-height: 500px;
       height: auto;
       float: left;
       margin-left: -20px;
}

.side-menu ol {
       list-style-type: none;
}

.side-menu .unchoice {
       font-size: 120%;
       border-radius: 4px;
       background: #03579c;
       height: 45px;
       margin: 10px;
       padding: 10px;
}

.side-menu .unchoice:hover {
       background: #0357ff;
}

.side-menu .choice {
       font-size: 120%;
       border-radius: 4px;
       background: #0357ff;
       height: 45px;
       margin: 10px;
       padding: 10px;
}

.side-menu .triangle {
       padding-left: 225px;
       margin-top: -15px;
       border-top: 10px solid transparent;
       border-right: 20px solid #e2e2e2;
       border-bottom: 10px solid transparent;
       z-index: 2;
}

.side-menu a {
       color: #fff;
       text-decoration-line: none;
       display: block;
}

.side-menu a:hover {
       color: #fff;
       text-decoration-line: none;
}

.side-menu .contents {
       margin: -10px;
}

.side-menu .contents ol {
       font-size: 110%;
       padding: 20px 0 0 20px;
}

.side-menu .contents .edit-index-font {
       font-size: 1.0rem;
}

.side-menu .contents .content {
       color: #fff;
       border-radius: 4px;
       background: hotpink;
       height: 35px;
       margin-top: 5px;
       padding: 5px 15px;
}

.side-menu .check-content {
       margin-left: 20px;
       color: #fff;
       border-radius: 4px;
       background: hotpink;
       height: 35px;
       margin-top: 5px;
       padding: 5px 15px;
}

.side-menu .check-content .triangle2 {
       margin-left: 135px;
       margin-top: -25px;
       border-top: 5px solid transparent;
       border-left: 20px solid hotpink;
       border-bottom: 5px solid transparent;
       z-index: 2;
}

.side-menu .third-content {
       margin-top: 110px;
}

.side-menu .fourth-content {
       margin-top: 90px;
}

.side-menu .font-small * {
       font-size: 1.2rem;
}

.main-bar {
       border-radius: 10px;
       margin-left: 230px;
       width: auto;
       min-height: 50rem;
       height: auto;
       background-color: #e2e2e2;
       margin-top: 10px;
       padding: 10px;
}

.main-bar p {
       font-size: 120%;
}

.main-bar .tbody-word-break {
       word-break: break-all;
}

.main-bar .upload-area input {
       display: none;
}

.main-bar .upload-area label {
       border: dashed 5px;
       border-radius: 20px;
       border-color: #a8a8a8;
       height: 200px;
       padding: 50px;
       text-align: center;
       font-size: 1.8rem;
       display: block;
       margin: 20px;
}

.upload-datetime {
       margin-left: auto;
       margin-right: 30px;
}

.click-none {
       pointer-events: none;
}

#site_redirect {
       color: -webkit-link;
}

.login_register_section {
       max-width: 1000px;
       padding: 25px 25px;
       margin: 0 auto 80px;
       display: flex;
       justify-content: space-evenly;
       flex-wrap: wrap;
       border-radius: 3px;
}


@media screen and (max-width: 1100px) and (max-width: 500px){
       .login_register_section {
              margin: 0px;
              padding: 0px;            
       }	
}

.login_register_section .btn-login {
       background: #ff622d url("/ichibanboshiclub/img/common/icon-locked-39a1338f42c41ae813722a05773991d5.png") no-repeat left 13% center/33px 40px;
       width: 27%;
       height: 64px;
       text-align: center;
       color: #fff;
       font-size: 2.5rem;
       font-weight: bold;

}

@media screen and (max-width: 1100px) {
       .login_register_section .btn-login {
              font-size: 2rem;
              width: 32%;
       }
}

@media screen and (max-width: 1100px) and (max-width: 500px){
       .login_register_section .btn-login {
              width: 45%;
              font-size: 1.5rem;       
              padding-left: 21px;       
       }	
}


.login_register_section .btn-login:hover {
       background: #fff url("/ichibanboshiclub/img/common/icon-unlock-orange-755360fc606f3e14f86e7eea47d4e060.png") no-repeat left 10% center/33px 40px;
       color: #ff622d;
}

.login_register_section .btn-membership {
       background: #f15055 url("/ichibanboshiclub/img/common/icon-play-white-d96f1a06c724f67417dd08fa21acd67e.png") no-repeat left 10% center/33px 33px;
       height: 64px;
       text-align: center;
       width: 27%;
       color: #fff;
       font-size: 2.5rem;
       font-weight: bold;
       border-radius: 4px;
       transition: 0.5s;
       line-height: 66px;
}

@media screen and (max-width: 1100px) {
       .login_register_section .btn-membership {
              font-size: 2rem;
              width: 32%;
       }
}

@media screen and (max-width: 1100px) and (max-width: 500px){
       .login_register_section .btn-membership {
              width: 45%;
              font-size: 1.5rem;
       }	
}


.login_register_section .btn-membership:hover {
       background-color: #fff;
       background-image: url("/ichibanboshiclub/img/common/icon-play-red-f1bf10239e20a011fd3250dd7d50a6b2.png");
       color: #f15055;
       transform: scale(1.03);
}

.container2 {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .container2 {
    display: block;
  }
}

.main-contents2 {
  width: 60%;
  padding: 0px;
}

@media screen and (max-width: 1750px) {
  .main-contents2 {
    width: 80%;
  }
}

@media screen and (max-width: 767px) {
  .main-contents2 {
    width: 100%;
  }
}

.main-position {
}

.side-menu2 {
  width: 20%;
  padding-right: 4rem;
}

@media screen and (max-width: 767px) {
  .side-menu2 {
    width: 100%;
    padding-right: 0rem;
  }
}

.side-menu2-space {
  width: 20%;
  padding-right: 4rem;
}

@media screen and (max-width: 1750px) {
  .side-menu2-space {
    width: 0%;
    padding-right: 0rem;
  }
}

.add-ta-toc-nav {
  min-height: 100px;
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding: 1rem 1.5rem 1rem;
  background-color: #fff;
}
.add-ta-toc-ul{
  margin-top: 3px;
}

.add-ta-toc-nav b {
  font-weight: bold;
  font-size:18px
}

.a-link {
  text-decoration: none;
  color: -webkit-link;
  font-size: 1.4rem;
  line-height: 0rem;
}

.a-link:hover {
  text-decoration: underline;
}

.li-style {
  margin-bottom:10px;
}

.div-line-blue {
  border-top: 1px solid #0093d7;
  padding-bottom: 0.5rem;
}
.div-line-orange {
  border-top: 1px solid #ff622d;
  padding-bottom: 0.5rem;
}

.div-side-container {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.div-side-img {
  width: 25%;
}
.div-side-content {
  width: 75%;
  padding-left: 1rem;
}

.img-point {
  width: 25px;
  height: 25px;
  vertical-align:sub;
}

.img-thumbnail {
  width: 80px;
  height: 70px;
  vertical-align: bottom;
  object-fit: cover;
}

.img-banner {
  object-fit: contain;
  padding-top: 0.2rem;
}
