@charset "UTF-8";
/**
 * module.css
 */

/**
* Common
*********************************************************/
section {
  padding: 0 0 35px;
  margin-bottom: 35px;
}
section > h2,
section .inner > h2 {
  text-align: center;
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 20px;
}
section  > h2 i,
section .inner > h2 i {
  display: block;
  font-size: 25px;
  color: #00a8c5;
}
section  > h2 i span,
section .inner > h2 i span {
  border-bottom: 3px solid #00a8c5;
}
section > h2 > span,
section .inner > h2 > span {
  display: block;
  font-size: 14px;
}
.aside section h2 {
  text-align: left;
}
.sleeve a {
  display: block;
  margin: 0 auto;
  width: 70%;
  text-align: center;
  background-color: #00a8c5;
  color: #fff;
  font-size: 25px;
  padding: 5px 0 0;
  border-radius: 4px;
}

.banner img {
  display: block;
  width: 100%;
  height: auto;
}


/* ------------------------------------------------
// カラムレイアウト
// -----------------------------------------------*/
.cols {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.cols > li,
.cols > div {
  position: relative;
}
.cols li > a {
  display: block;
}

@media screen and (min-width: 1200px) {
  .cols { margin: 0 -10px; }
  .cols.nomargin { margin: 0; }
  .cols li > a,
  .cols li > div { margin: 10px }
  .cols.nomargin li > a,
  .cols.nomargin li > div { margin: 0; }
}
@media screen and (max-width: 1199px) {
  .cols li > a,
  .cols li > div { padding: 8px }
  .cols.nomargin li > a,
  .cols.nomargin li > div { margin: 0; }
}

@media screen and (min-width: 1000px) {
  .col2 > li,
  .col2 > div {
    width: 50%;
    -webkit-flex-basis: 50%;
    flex-basis: 50%;
  }
  .col3 > li,
  .col3 > div {
    width: 33.33%;
    -webkit-flex-basis: 33.33%;
    flex-basis: 33.33%;
  }
  .col4 > li,
  .col4 > div {
    width: 25%;
    -webkit-flex-basis: 25%;
    flex-basis: 25%;
  }
  .col5 > li,
  .col5 > div {
    width: 20%;
    -webkit-flex-basis: 20%;
    flex-basis: 20%;
  }
  .col6 > li,
  .col6 > div {
    width: 16.666%;
    -webkit-flex-basis: 16.666%;
    flex-basis: 16.666%;
  }
  .col7 > li,
  .col7 > div {
    width: 14.2857%;
    -webkit-flex-basis: 14.2857%;
    flex-basis: 14.2857%;
    font-size: 80%;
  }
  .col8 > li,
  .col8 > div {
    width: 12.5%;
    -webkit-flex-basis: 12.5%;
    flex-basis: 12.5%;
    font-size: 80%;
  }
}
@media screen and (min-width: 568px) and (max-width: 999px) {
  .tab2 > li,
  .tab2 > div {
    width: 50%;
    -webkit-flex-basis: 50%;
    flex-basis: 50%;
  }
  .tab3 > li,
  .tab3 > div {
    width: 33.33%;
    -webkit-flex-basis: 33.33%;
    flex-basis: 33.33%;
  }
  .tab4 > li,
  .tab4 > div {
    width: 25%;
    -webkit-flex-basis: 25%;
    flex-basis: 25%;
  }
  .tab5 > li,
  .tab5 > div {
    width: 20%;
    -webkit-flex-basis: 20%;
    flex-basis: 20%;
  }
  .tab6 > li,
  .tab6 > div {
    width: 16.666%;
    -webkit-flex-basis: 16.666%;
    flex-basis: 16.666%;
  }
  .tab7 > li,
  .tab7 > div {
    width: 14.2857%;
    -webkit-flex-basis: 14.2857%;
    flex-basis: 14.2857%;
    font-size: 80%;
  }
  .tab8 > li,
  .tab8 > div {
    width: 12.5%;
    -webkit-flex-basis: 12.5%;
    flex-basis: 12.5%;
    font-size: 80%;
  }
}
@media screen and (max-width: 567px) {
  .sp2 > li,
  .sp2 > div {
    width: 50%;
    -webkit-flex-basis: 50%;
    flex-basis: 50%;
  }
  .sp3 > li,
  .sp3 > div {
    width: 33.33%;
    -webkit-flex-basis: 33.33%;
    flex-basis: 33.33%;
  }
  .sp4 > li,
  .sp4 > div {
    width: 25%;
    -webkit-flex-basis: 25%;
    flex-basis: 25%;
  }
  .sp5 > li,
  .sp5 > div {
    width: 20%;
    -webkit-flex-basis: 20%;
    flex-basis: 20%;
  }
  .sp6 > li,
  .sp6 > div {
    width: 16.666%;
    -webkit-flex-basis: 16.666%;
    flex-basis: 16.666%;
  }
  .sp7 > li,
  .sp7 > div {
    width: 14.2857%;
    -webkit-flex-basis: 14.2857%;
    flex-basis: 14.2857%;
    font-size: 80%;
  }
  .sp8 > li,
  .sp8 > div {
    width: 12.5%;
    -webkit-flex-basis: 12.5%;
    flex-basis: 12.5%;
    font-size: 80%;
  }
}


/* ------------------------------------------------
// タイル
// -----------------------------------------------*/
.tile a,
.tile span {
    display: block;
}
@media screen and (min-width: 568px) {
    .tile {}
    .tile a,
    .tile span {
        padding: 8px;
        text-decoration: none;
    }
    .tile h3 {
      font-size: 16px;
      line-height: 1.3;
      margin-bottom: 4px;
    }
    .tile .pic {
      position: relative;
      overflow: hidden;
    }
    .tile .desc {
      color: #111;
    }
    .tile .desc h3 {
      font-weight: bold;
      font-size: 22px;
    }
    .tile .desc h3 i {
      font-size: 12px;
      color: #aaa;
    }
    .tile .desc p {
      line-height: 1.4;
      text-align: justify;
    }
    .tile .meta {
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: space-between;
      justify-content: space-between;
    }
    .tile .meta {
      font-size: 20px;
      position: relative;
      padding-bottom: 5px;
    }
    .tile .meta::after {
      content: "";
      display: block;
      height: 5px;
      background-color: #b6b6b6;
      position: absolute;
      bottom: 0;
      right: 0;
      left: 0;
    }
    .tile .meta .date {
      color: #b6b6b6;
    }
    .tile .meta a {
      color: #00a8c5;
    }
    .tile .meta a::after {
      content: "\f138";
      font-family: "FontAwesome";
      margin-left: 6px;
    }
}
@media screen and (max-width: 567px) {
    .tile {
        width: 100%;
        position: relative;
        padding-bottom: 8px;
        margin-bottom: 10px;
        border-bottom: 1px dashed #999;
    }
    .tile > a,
    .tile > span {
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      color: #111;
    }
    .tile .pic {
        width: 20%;
        -webkit-flex-basis: 20%;
        flex-basis: 20%;
        margin-right: 18px;
    }
    .tile .desc {
      flex: 1;
    }
    .tile .meta {
        position: absolute;
        bottom: 0;
        right: 0;
    }
}


/**
* brick 汎用レイアウトボックス
*********************************************************/
.brick {
  margin-bottom: 40px;
}
.brick:last-child  {
  margin-bottom: 0;
}
/*通常ブロック*/


/*強調ブロック*/
.brick.strong {
  font-weight: bold;
}


/*見出し*/
.brick.midashi h3 {
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  padding-bottom: 80px; 
}
.brick.midashi h3 span {
  padding-bottom: 70px;
  background: url(../images/common_line_beak.png) no-repeat 50% 100%;
}




/*写真＋テキスト*/
.brick.withpic {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  position: relative;
}
.brick.withpic:nth-child(2n) {
  flex-direction: row-reverse;
}
.brick.withpic .pic {
  width: 350px;
  -webkit-flex-basis: 350px;
  flex-basis: 350px;
  margin-left: 40px;
  position: relative;
}
.brick.withpic:nth-child(2n) .pic {
  margin-left: 0; 
  margin-right: 40px; 
}
.brick.withpic .pic > div {
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  width: 350px;
}
.brick.withpic .desc {
  flex: 1;
}


/**
* List
*********************************************************/
.list.bike li a {
    color: #111;
}
.list li .pic {
    margin-bottom: 10px;
}
.list li .desc {
    font-size: 14px;
    padding-bottom: 25px;
}
.list li .pic img {
    width: 100%;
    height: auto;
    display: block;
}
.list li .desc h3 {
    font-weight: bold;
    font-size: 1.3rem;
    line-height: 1.2;
    margin-bottom: 6px;
}
@media screen and (min-width: 1000px) {
    .list {
        margin-left: -8px;
        margin-right: -8px;
        margin-bottom: 70px;
    }
}
@media screen and (min-width: 768px) {
    .list li {
        position: relative;
        margin-bottom: 30px;
        width: 33.33%;
        -webkit-flex-basis: 33.33%;
        flex-basis: 33.33%;
    }
}
@media screen and (max-width: 767px) and (min-width: 568px) {
    .list li {
        margin-bottom: 30px;
        width: 50%;
        -webkit-flex-basis: 50%;
        flex-basis: 50%;
    }
}
@media screen and (min-width: 568px) {
    .list {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}
@media screen and (max-width: 567px) {
    .list {
        margin-bottom: 20px;
    }
    .list li::before {
        font-size: 12px;
        padding: 2px 8px 0;
        top: -2px;
        left: -2px;
    }
}
.list .terms {}
.list .terms span {
    display: inline-block;
    margin-right: 5px;
}
.list .terms span::before {
    font-family: "FontAwesome";
    content: "\f02b";
    color: #777;
}


/**
* Storycontent
*********************************************************/
main header h1 {
  background-color: #00A8C6;
  color: #fff;
  font-size: 30px;
  padding: 10px 15px;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
  margin-bottom: 25px;
}
#mokuji {
  margin-bottom: 30px;
  border: 3px solid #777;
  padding: 10px 20px;
  border-radius: 15px;
}
#mokuji::before {
  content: "-目次-";
  font-size: 14px;
  font-weight: bold;
}
#mokuji a {}
.storycontent::after,
.storycontent .inner::after {
  content: "";
  display: table;
  clear: both;
}
.storycontent {
  font-size: 18px;
  line-height: 1.8;
}
.storycontent h1, .storycontent h2, .storycontent h3, .storycontent h4, .storycontent h5, .storycontent h6 {
  font-weight: bold;
  margin-bottom: 0.7em;
  line-height: 1.4;
}
.storycontent h1 { font-size: 30px; }
.storycontent h2 { font-size: 25px; }
.storycontent h3 { font-size: 23px; }
.storycontent h4 { font-size: 22px; }
.storycontent h5 { font-size: 20px; }
.storycontent h6 { font-size: 18px; }
.storycontent a {
  text-decoration: underline;
}
.storycontent p {
  text-align: justify;
  margin-bottom: 1em;
}
.storycontent p:last-child {
  margin-bottom: 0;
}
.storycontent strong {
  font-weight: 700;
}
.storycontent hr,
.storycontent div.clear {
  clear: both;
  border: none;
  border-bottom: 1px dashed #999;
  padding-top: 40px;
  margin-bottom: 60px;
}
.storycontent ul,
.storycontent ol {
  margin-left: 2em;
  margin-bottom: 1.5em;
}
.storycontent ul li {
  line-height: 1.5;
  margin-bottom: 5px;
}
.storycontent ul li:last-child {
  margin-bottom: 0;
}
.storycontent ul li {
  list-style-type: square;
}
.storycontent ol li {
  list-style-type: decimal;
}
.storycontent img {
  max-width: 100%;
  height: auto;
}
.storycontent img.border {
  border: 1px solid #ddd;
}
.storycontent blockquote {
  text-align: justify;
  background-color: #f6f6f6;
  padding: 50px 40px;
  margin-bottom: 40px;
  position: relative;
}
.storycontent blockquote::before,
.storycontent blockquote::after {
  font-family: "FontAwesome";
  font-size: 25px;
  line-height: 1.0;
  color: #ddd;
  position: absolute;
  left: 10px;
}
.storycontent blockquote::before {
  content:"\f10d";
  top: 10px;
}
.storycontent blockquote::after {
  content:"\f10e";
  bottom: 10px;
}
.storycontent table,
.storycontent table thead,
.storycontent table tbody,
.storycontent table tfoot,
.storycontent table tr,
.storycontent table th,
.storycontent table td {
  max-width: 100%!important;
}
.storycontent table {
  border-collapse: collapse;
  border: 1px #CCC solid;
  width: 100%!important;
  margin: 15px 0 30px;
}
.storycontent th,
.storycontent td {
  padding: 10px;
  border: 1px #CCC solid;
}
.storycontent .th_title {
  background-color: #6D9258;
  padding: 5px;
  color: #FFF;
}
.storycontent .th_title_light {
  background-color: #81AE68;
  padding: 5px;
  color: #FFF;
}
.storycontent .th01 {
  background-color: #DDFBE2;
}
.storycontent .th02 {
  background-color: #4C663D;
  padding: 5px;
  color: #FFF;
  text-align: center;
}
.storycontent .wp-caption-text {
  display: block;
  font-size: 14px;
  line-height: 1.3;
  margin-top: 5px;
}
.storycontent td span {
  display: block;
}
.storycontent td span+br {
  display: none;
}
.storycontent .wp-caption {
  padding: 15px;
  background-color: #f3f3f3;
}
.storycontent .wp-caption img {}
.storycontent .wp-caption p {
  margin: 0;
  font-weight: 600;
  font-size: 14px;
}
.storycontent .tiled-gallery .gallery-row > p {
  margin-bottom: 0;
}
.storycontent iframe.youtube-player {
  width: 100%;
}
.storycontent p a[target="_blank"]::after {
  content: "\f08e";
  font-family: "FontAwesome";
  margin-left: 2px;
}
@media screen and (min-width: 768px) {
  .storycontent figure {
    max-width: 100%;
    max-width: calc( 100% - 30px );
    margin-left: 0;
    margin-right: 0;
  }
  .storycontent img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
  }
  .storycontent .alignnone,
  .storycontent .aligncenter,
  .storycontent .alignleft,
  .storycontent .alignright {
    margin-bottom: 20px;
  }
  .storycontent .alignnone,
  .storycontent .aligncenter {
    clear: both;
  }
  .storycontent .alignleft {
    float: left;
    margin-right: 35px;
    margin-left: 0;
  }
  .storycontent .alignright {
    float: right;
    margin-left: 35px;
    margin-right: 0;
  }
  .storycontent .alignleft + h4 {
    float: left;
  }
  .storycontent .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .storycontent .size-large {
    margin-left: 0;
    margin-right: 0;
  }

}
@media screen and (max-width: 767px) {
  .storycontent figure {
    max-width: 100%;
    max-width: calc( 100% - 30px );
    margin-left: 0;
    margin-right: 0;
  }
  .storycontent p {
    line-height: 1.6;
  }
  .storycontent img.alignleft,
  .storycontent img.alignright {
    display: block;
    margin: 0 auto 15px;
  }
  .storycontent table,
  .storycontent table thead,
  .storycontent table tbody,
  .storycontent table tfoot,
  .storycontent table tr,
  .storycontent table th,
  .storycontent table td {
    display: block;
    border: none;
    padding: 0;
    width: auto!important;
  }
  .storycontent table {
    margin-bottom: 30px;
    border: 1px solid #aaa;
    height: auto!important;
  }
  .storycontent table tr {
    height: auto!important;
    width: auto!important;
  }
  .storycontent table th,
  .storycontent table td {
    height: auto!important;
    width: auto!important;
    padding: 5px;
    border-bottom: 1px solid #aaa;
  }
  .storycontent table th,
  .storycontent table td:first-child {
    background-color: #f3f3f3;
  }
  .storycontent table tr:last-child td:last-child {
    border-bottom: none;
  }
}
@media screen and (max-width: 650px) {
  .storycontent {
    margin-left: 5px;
    margin-right: 5px;
  }
  .storycontent iframe.youtube-player {
    width: 100vw;
    height: 75vw;
  }
}
@media screen and (max-width: 567px) {
  .storycontent figure {
    padding: 0!important;
    margin: 0 0 1em;
  }
  .storycontent figure img {
    width: 100%;
    height: auto;
  }
  .storycontent figure .wp-caption-text {
    margin-top: 0;
    padding: 4px 8px 10px;
    font-size: 12px;
  }
}


/* ------------------------------------------------
// pic wrapper
// -----------------------------------------------*/
.pic img {
  width: 100%;
  height: auto;
  display: block;
}
.pic > div {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-repeat: no-repeat;
    background-position: 50% 0;
    background-size: cover;
}
@media screen and (max-width: 567px) {
    .pic {
        position: relative;
        overflow: hidden;
    }
}


/* ------------------------------------------------
// ZOOM効果
// -----------------------------------------------*/
@media screen and (min-width: 568px) {
    a .zoom > img,
    a .zoom > div {
        transition: all 0.8s ease-out;
        transform: matrix3d(
            1, 0, 0, 0,
            0, 1, 0, 0,
            0, 0, 1, 0,
            0, 0, 0, 1
        );
        will-change: transform;
    }
    a:hover .zoom img,
    a:hover .zoom > div {
        transform: matrix3d(
            1, 0, 0, 0,
            0, 1, 0, 0,
            0, 0, 1, 0,
            0, 0, 0, 0.9
        );
    }
}


/**
* Title Obi
*********************************************************/
#titleobi {
  background-color: #00a8c5;
  color: #fff;
  padding: 20px 0;
  margin-bottom: 0;
}
#titleobi h1 {
  font-weight: bold;
  font-size: 30px;
  text-align: center;
  margin: 20px;
}
@media screen and (min-width: 568px) {
    #titleobi .inner {
      overflow: hidden;
    }
    #titleobi .inner > div > div {
      display: -webkit-box;
      display: -webkit-flex;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
      align-items: center;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      background-size: cover;
    }
    #titleobi.thick {
      padding: 0;
      background-color: transparent;
    }
    #titleobi.thick .inner > div > div {
      height: 250px;
    }
    #titleobi.thick h1 {
      color: #fff;
      text-align: left;
      font-size: 40px;
      line-height: 1.0;
    }
    #titleobi.audiowide h1 {
      font-family: 'Audiowide', sans-serif;
      font-size: 70px;
      font-style: italic;
    }
    #titleobi.inv h1 {
      color: #000;
    }
    #titleobi.waku .inner > div {
      background-color: #898989;
      padding: 20px;
      position: relative;
      z-index: 1;
    }
    #titleobi.waku .inner > div::after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: -40%;
      height: 900px;
      width: 100%;
      background-color: #00A8C6;
      -moz-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg);
    }
    #titleobi.waku .inner > div > div {
      background-color: #fff;
      position: relative;
      z-index: 20;
    }
}
@media screen and (max-width: 567px) {
    #titleobi {
        padding: 0!important;
        margin-bottom: 20px;
    }
    #titleobi .inner > div > div {
        background-image: none!important;
    }
    #titleobi h1 {
        font-size: 27px;
        margin: 9px;
        padding-top: 
    }
}

/**
* breadcrumb
*********************************************************/
#breadcrumb {
  padding: 30px 0;
  font-size: 14px;
}
#breadcrumb ol {}
#breadcrumb ol li {
  display: inline-block;
}
#breadcrumb ol li a {
  padding-right: 35px;
  background: url(../images/common_ico_chain_xsmall.png) no-repeat 100% 50%;
  margin-right: 7px;
  font-weight: bold;
}
#breadcrumb ol li a,
#breadcrumb ol li a:link,
#breadcrumb ol li a:visited {
  color: #111;
}
#breadcrumb ol li:first-child a::before {
  font-family: "FontAwesome";
  content: "\f015";
  font-size: 140%;
  margin-right: 5px;
  color: #00A8C6;
}
@media screen and (min-width: 568px) {}
@media screen and (max-width: 567px) {
    #breadcrumb {
        display: none;
    }
}

/**
* Pagenavi
*********************************************************/
#pagenavi {
  margin-bottom: 15px;
}
#pagenavi ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}
#pagenavi li a {
  display: block;
  padding: 5px 20px;
  margin: 0 5px;
  color: #111;
  background-color: #eee;
}
#pagenavi li a::before {
  font-family: "FontAwesome";
  color: #111;
  font-size: 130%;
  margin-right: 8px;
}
#pagenavi li a[href*="takuhai"]::before { content: "\f0d1"; }
#pagenavi li a[href*="syuccho"]::before { content: "\f135"; }
#pagenavi li a[href*="tento"]::before { content: "\f2b5"; }