.p-top-logo { font-size: 20px; line-height: 1.4; max-width: 90%; margin: 15px auto; text-align: center;}
.p-top-logo a { display: block; transition: opacity .2s; text-decoration: none; color: #333;}
.p-top-logo a:hover { opacity: .66;}
.p-top-logo a:active { opacity: 1;}

#p-slider .bx-controls-direction a { z-index: 100;}
#p-slider .bx-viewport { top: 0; left: 0; border: 0;  background: #f8f8f8;  box-shadow: none;}
#p-slider .bx-wrapper img { margin: 0 auto;}
#p-slider .bx-caption { top: 0; bottom: auto; background: rgba(0, 0, 0, .3);}
#p-slider .bx-caption span { padding: 1.5em;}
#p-slider .bx-pager { bottom: 10px; padding-top: 0;}
#p-slider .bx-pager a { background: #fff;}
#p-slider .bx-pager a:hover,
#p-slider .bx-pager a.active { background: #ffff7d;}


.p-info { line-height: 1.5;}
.p-contents { line-height: 1.5; margin-bottom: 40px;}
.p-contents__list { margin: 0 0 20px; padding: 0; list-style-type: none;}
.p-contents__list::after { display: block; clear: both; content: '';}
.p-contents__list li { position: relative; box-sizing: border-box; padding: 0 2em 0 1em;}
.p-contents__list li::before { position: absolute; top: .5em; left: 0; content: '-';}
.p-contents__list a { display: block; max-width: 100%; padding: .5em 0; transition: opacity .2s; text-decoration: none; color: #333;}
.p-contents__list a:hover { opacity: .66;}
.p-contents__list a:active { opacity: 1;}

.p-custom-banner { margin-top: 50px; text-align: center;}
.p-custom-banner__unit { background: #f8f8f8;}
.p-custom-banner__unit--text { font-family: 'Montserrat', sans-serif; padding: 30px 10px; color: #f8f8f8; background: #676c72;}
.p-custom-banner__unit--text a { color: #f8f8f8;}
.p-custom-banner__image { width: 100%;}
.p-custom-banner__heading { font-size: 24px; padding: 10px 0;}
.p-custom-banner__body { line-height: 1.5; padding: 10px 0;}

@media screen and (min-width: 600px) {
  .p-top-logo { display: none;  margin: 30px auto;}
  #p-slider .bx-pager { bottom: 30px;}
  
  .p-contents__list li::before { top: 0;}
  .p-contents__list li { float: left; width: 50%; margin-bottom: 20px; }
  .p-contents__list li:nth-child(2n + 1) { clear: left;}
  .p-contents__list a { display: inline-block; padding: 0;}
  .p-custom-banner { display: table; width: 100%; margin-top: 100px; table-layout: fixed;}
  .p-custom-banner__unit { display: table-cell; box-sizing: border-box; width: 50%; max-width: 50%; vertical-align: middle; word-break: break-all;}
  .p-custom-banner__unit--text { padding: 10px 20px;}
}

.free {text-align: center}


