@charset "UTF-8";
/*!===================================================================

	Skin - body , Header , パンくず , Footer

====================================================================*/
/*! ==========================================================================
  Base
========================================================================== */
*,
*:before,
*:after {
  box-sizing: border-box; }

html {
  font-size: 62.5%; }

body {
  min-width: 1024px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 500;
  font-feature-settings: "palt";
  background: #FFF;
  _display: inline;
  _zoom: 1;
  margin: 0;
  /* GoogleChrome rem壊れ回避用 */ }
  @media screen and (max-width: 769px) {
    body {
      min-width: inherit;
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.6; } }
  body > div {
    font-size: 16px;
    font-size: 1.6rem; }
    @media screen and (max-width: 769px) {
      body > div {
        font-size: 14px;
        font-size: 1.4rem; } }

_::-webkit-full-page-media, _:future, :root body {
  font-feature-settings: "pkna"; }

.wrap {
  width: 100%;
  width: 1024px;
  margin-right: auto;
  margin-left: auto; }
  @media screen and (max-width: 1024px) {
    .wrap {
      padding-right: 10px;
      padding-left: 10px; } }
  @media screen and (max-width: 769px) {
    .wrap {
      width: auto;
      padding-right: 10px;
      padding-left: 10px; } }

div:after, section:after {
  content: "";
  display: block;
  clear: both; }

input, textarea {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 2px; }

/* 表示・非表示設定 */
.pc_only {
  display: block; }
  @media screen and (max-width: 1024px) {
    .pc_only {
      display: none !important; } }

.tb_only {
  display: none; }
  @media screen and (max-width: 1024px) {
    .tb_only {
      display: block; } }

.mb_only {
  display: none; }
  @media screen and (max-width: 769px) {
    .mb_only {
      display: block; } }

.mbNon {
  /*display: block;*/ }
  @media screen and (max-width: 769px) {
    .mbNon {
      display: none; } }

/*!==========================================================================
  Header
========================================================================== */
header {
  width: 100%;
  height: 120px;
  line-height: 1.0;
  background: url("../images/skin/header_bg-long.jpg") no-repeat center top;
  position: fixed;
  z-index: 99999; }
  header .wrap {
    height: 120px;
    background: url("../images/skin/header_bg.jpg") no-repeat center top;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center; }
    header .wrap h1 {
      font-size: 44px;
      font-size: 4.4rem;
      color: #FFF;
      line-height: 1.0;
      font-weight: bold;
      margin-right: auto; }
      header .wrap h1 span {
        font-size: 18px;
        font-size: 1.8rem;
        vertical-align: middle;
        margin-left: 20px; }
      header .wrap h1 a {
        color: #FFF;
        text-decoration: none; }
        header .wrap h1 a:hover {
          opacity: .7; }
    header .wrap .logo-jimin {
      margin-top: 75px;
      margin-right: 6px; }
  @media screen and (max-width: 769px) {
    header {
      height: 60px;
      background: none; }
      header .wrap {
        height: 60px;
        background-position: center bottom;
        background-size: cover;
        padding-right: 0; }
        header .wrap h1 {
          font-size: 24px;
          font-size: 2.4rem; }
          header .wrap h1 span {
            font-size: 11px;
            font-size: 1.1rem;
            margin-left: 8px; }
        header .wrap .logo-jimin {
          display: none; } }
  @media screen and (max-width: 480px) {
    header .wrap h1 {
      font-size: 22px;
      font-size: 2.2rem; }
      header .wrap h1 span {
        font-size: 10px;
        font-size: 1rem; } }

/*---------------------------------------------------------------
　Header MB Only ( 767以下 )
---------------------------------------------------------------*/
/* 三　メニュー */
#toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 60px;
  font-size: 12px;
  font-size: 1.2rem;
  color: #e10125;
  cursor: pointer;
  background: #FFF;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  z-index: 1000;
  /* #oggle 切り替えアニメ */ }
  @media screen and (min-width: 769px) {
    #toggle {
      display: none; } }
  #toggle div {
    width: 25px;
    height: 20px;
    margin-bottom: 5px;
    position: relative; }
    #toggle div span {
      display: block;
      position: absolute;
      left: o;
      width: 25px;
      height: 3px;
      border-radius: 5px;
      background: #e10125;
      transition: .35s ease-in-out; }
      #toggle div span:nth-child(1) {
        top: 0; }
      #toggle div span:nth-child(2) {
        top: 8px; }
      #toggle div span:nth-child(3) {
        top: 17px; }
  #toggle.open div span:nth-child(1) {
    top: 11px !important;
    transform: rotate(315deg); }
  #toggle.open div span:nth-child(2) {
    display: none; }
  #toggle.open div span:nth-child(3) {
    top: 11px !important;
    transform: rotate(-315deg); }

/*==============================================================================
　　Contents Layout
==============================================================================*/
#container {
  padding-top: 150px;
  padding-bottom: 100px;
  overflow: hidden;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative; }
  @media screen and (max-width: 769px) {
    #container {
      display: block; }
      #container.wrap {
        padding: 80px 0 50px; } }

main {
  width: 800px;
  display: block;
  overflow: hidden;
  margin-left: auto; }
  @media screen and (max-width: 769px) {
    main {
      width: auto; } }

.contents {
  width: 100%;
  margin-right: auto;
  margin-left: auto; }
  @media screen and (max-width: 769px) {
    .contents {
      padding-right: 15px;
      padding-left: 15px; } }

.flex {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.frame {
  margin-right: 30px;
  margin-left: 30px; }
  @media screen and (max-width: 769px) {
    .frame {
      margin-right: 15px;
      margin-left: 15px; } }

/*---------------------------------------------------------------
　Global Navi
---------------------------------------------------------------*/
@media screen and (min-width: 769px) {
  nav {
    width: 200px;
    line-height: 1.0;
    position: fixed;
    top: 170px;
    left: 10px; } }
  @media screen and (min-width: 769px) and (min-width: 1024px) {
    nav {
      left: calc(50% - 512px); } }
@media screen and (min-width: 769px) {
    nav ul li + li {
      margin-top: 15px; }
    nav ul li span {
      padding-right: 5px;
      position: relative;
      padding-left: 15px; }
      nav ul li span:before {
        content: "";
        position: absolute;
        top: 0.25em;
        left: 0;
        width: 12px;
        height: 12px;
        border-radius: 100%;
        background: #000; }
      nav ul li span a {
        color: #000;
        text-decoration: none; }
        nav ul li span a:hover {
          color: #e10125;
          text-decoration: none; }
      nav ul li span:hover {
        color: #e10125;
        border-bottom: solid 2px #e10125; }
        nav ul li span:hover:before {
          background: #e10125;
          transition: .2s; }
    nav ul li.sub {
      margin-top: 20px;
      padding-left: 8px;
      font-size: 13px;
      font-size: 1.3rem; }
      nav ul li.sub span {
        padding-left: 7px; }
        nav ul li.sub span:before {
          border-radius: 0;
          width: 2px;
          height: 2px;
          top: .5em;
          left: 0; }
        nav ul li.sub span:hover {
          border-bottom-width: 1px; }
      nav ul li.sub + .sub {
        margin-top: 10px; } }
@media screen and (max-width: 769px) {
  nav {
    width: 100%;
    height: 90vh;
    overflow-x: scroll;
    position: fixed;
    top: 60px;
    z-index: 999;
    font-weight: bold;
    display: none; }
    nav ul li {
      line-height: 1.0;
      border-bottom: 1px solid #e10125;
      position: relative; }
      nav ul li br {
        display: none; }
      nav ul li:after {
        content: "";
        position: absolute;
        top: calc(50% - 6px);
        right: 20px;
        width: 10px;
        height: 10px;
        border-right: 2px solid #e10125;
        border-top: 2px solid #e10125;
        transform: rotate(45deg); }
      nav ul li a {
        display: block;
        height: 44px;
        color: #e10125;
        text-decoration: none;
        padding-right: 40px;
        padding-left: 20px;
        background: rgba(255, 255, 255, 0.95);
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
        -ms-align-items: center;
        align-items: center; }
        nav ul li a:hover {
          color: #FFF;
          text-decoration: none; } }
/* Menu オープン時　背景を固定 */
body, html {
  height: auto;
  overflow: visible; }
  body.open, html.open {
    height: 100%;
    overflow: hidden; }

/*==============================================================================
　　Footer
==============================================================================*/
footer {
  padding-top: 40px;
  border-top: 2px solid #ccc;
  background: url("../images/skin/footer_bg-long.jpg") no-repeat center top;
  background-size: cover; }
  footer .wrap {
    max-width: 930px;
    padding: 30px;
    margin-bottom: 40px;
    background: rgba(255, 255, 255, 0.6);
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  @media screen and (max-width: 769px) {
    footer {
      padding-top: 0;
      background: url("../images/skin/footer_bg.jpg") no-repeat center top;
      background-size: cover; }
      footer .wrap {
        display: block;
        padding: 15px;
        margin: 20px; } }

footer .wrap #footName {
  color: #001997;
  line-height: 1.0;
  margin-right: auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center; }
  footer .wrap #footName .mark {
    margin-right: 5px; }
  footer .wrap #footName > div {
    font-weight: bold; }
    footer .wrap #footName > div .nameSup {
      font-size: 12px;
      font-size: 1.2rem;
      margin-bottom: 20px; }
    footer .wrap #footName > div .name {
      font-size: 32px;
      font-size: 3.2rem; }
      footer .wrap #footName > div .name [data-ruby] {
        position: relative; }
        footer .wrap #footName > div .name [data-ruby]:before {
          content: attr(data-ruby);
          position: absolute;
          top: -0.7em;
          left: 0;
          right: 0;
          margin: auto;
          font-size: 11px;
          font-size: 1.1rem;
          font-weight: normal;
          text-align: center; }
  @media screen and (max-width: 769px) {
    footer .wrap #footName {
      width: 212px;
      margin: 0 auto 15px; }
      footer .wrap #footName .mark img {
        width: 45px; }
      footer .wrap #footName > div .nameSup {
        font-size: 10px;
        font-size: 1rem;
        margin-bottom: 15px; }
      footer .wrap #footName > div .name {
        font-size: 26px;
        font-size: 2.6rem; }
        footer .wrap #footName > div .name [data-ruby]:before {
          font-size: 10px;
          font-size: 1rem; } }

footer .wrap #footOffice {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.4;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  footer .wrap #footOffice > div {
    width: 280px; }
    footer .wrap #footOffice > div .ttl {
      color: #e10125;
      font-weight: bold;
      margin-bottom: 3px; }
    footer .wrap #footOffice > div .sup {
      color: #000;
      margin: 5px 0 7px; }
    footer .wrap #footOffice > div:nth-child(2) {
      padding-left: 20px;
      border-left: 1px solid #999; }
    footer .wrap #footOffice > div a {
      color: #000; }
      footer .wrap #footOffice > div a:hover {
        color: #0099cc; }
  @media screen and (max-width: 769px) {
    footer .wrap #footOffice {
      width: 348px;
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.3;
      margin: 0 auto; }
      footer .wrap #footOffice > div {
        width: 170px; }
        footer .wrap #footOffice > div .sup {
          font-size: 11px;
          font-size: 1.1rem;
          margin: 3px 0 5px; }
        footer .wrap #footOffice > div:nth-child(2) {
          width: 178px;
          padding-left: 10px; } }
  @media screen and (max-width: 480px) {
    footer .wrap #footOffice {
      display: block;
      width: 240px; }
      footer .wrap #footOffice > div {
        width: auto;
        padding-left: 10px; }
        footer .wrap #footOffice > div .mbNon {
          display: inline-block; }
        footer .wrap #footOffice > div br.mb_only {
          display: none; }
        footer .wrap #footOffice > div:nth-child(2) {
          width: auto;
          padding-top: 10px;
          margin-top: 10px;
          border-top: 1px solid #999;
          border-left: none; } }

footer p#copyright {
  width: 100%;
  height: 45px;
  font-size: 12px;
  font-size: 1.2rem;
  color: #FFF;
  line-height: 1.0;
  background: #e10125;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center; }
  @media screen and (max-width: 769px) {
    footer p#copyright {
      height: 30px;
      font-size: 10px;
      font-size: 1rem; } }

/* ふるさと福井 ＆ PageTop
----------------------------------------*/
#sideInfo {
  position: fixed;
  right: 10px;
  bottom: 260px;
  z-index: 999999;
  text-align: center; }
  #sideInfo p {
    margin: 0 auto; }
    #sideInfo p + p {
      margin-top: 5px; }
    #sideInfo p a img {
      filter: drop-shadow(2px 2px 1px rgba(0, 0, 0, 0.4)); }
  @media screen and (max-width: 769px) {
    #sideInfo {
      bottom: 10px; }
      #sideInfo p#btFukui {
        width: 70px; }
        #sideInfo p#btFukui a img {
          width: 70px; }
      #sideInfo p#pageTop {
        width: 40px; }
        #sideInfo p#pageTop a img {
          width: 40px; } }

/*!===================================================================

	ContentsCommon -　各ページ共通　タイトルやボタンなど

====================================================================*/
/*----------------------------------------------------------------
	見出し
----------------------------------------------------------------*/
h2:not(.nonCom) {
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1.0;
  text-align: center;
  margin-bottom: 35px; }
  h2:not(.nonCom) span {
    min-height: 42px;
    padding-top: 7px;
    padding-left: 55px;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    position: relative; }
    h2:not(.nonCom) span:before {
      font-family: 'icomoon';
      content: "";
      position: absolute;
      top: 1px;
      left: 0;
      font-weight: normal;
      font-style: normal;
      font-size: 42px;
      font-size: 4.2rem;
      color: #e10125;
      z-index: 1; }
    h2:not(.nonCom) span:after {
      content: "";
      position: absolute;
      top: 1px;
      left: 1px;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: #FFF; }
  @media screen and (max-width: 769px) {
    h2:not(.nonCom) {
      font-size: 26px;
      font-size: 2.6rem;
      margin: 0 10px 25px; }
      h2:not(.nonCom) span {
        min-height: 32px;
        padding-top: 4px;
        padding-left: 40px; }
        h2:not(.nonCom) span:before {
          font-size: 32px;
          font-size: 3.2rem; }
        h2:not(.nonCom) span:after {
          width: 30px;
          height: 30px; } }

h3:not(.nonCom), #policy h4 {
  min-height: 55px;
  font-size: 28px;
  font-size: 2.8rem;
  color: #FFF;
  line-height: 1.1;
  padding: 10px 15px;
  margin-bottom: 25px;
  background: #e10125;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center; }
  @media screen and (max-width: 769px) {
    h3:not(.nonCom), #policy h4 {
      min-height: 40px;
      font-size: 20px;
      font-size: 2rem;
      padding: 7px 10px;
      margin-bottom: 15px; } }

h4:not(.nonCom) {
  height: 40px;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.0;
  padding-left: 30px;
  margin-bottom: 20px;
  border-bottom: 2px solid #e10125;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  position: relative; }
  h4:not(.nonCom):before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 40px;
    border-radius: 0 20px 20px 0;
    background: #e10125; }
  @media screen and (max-width: 769px) {
    h4:not(.nonCom) {
      height: 30px;
      font-size: 16px;
      font-size: 1.6rem;
      padding-left: 22px;
      margin-bottom: 12px; }
      h4:not(.nonCom):before {
        width: 15px;
        height: 30px;
        border-radius: 0 15px 15px 0; } }

/*----------------------------------------------------------------
	Sytle Base (枠、フォント、ページなど)
----------------------------------------------------------------*/
/*	枠
-----------------------------------------------------------*/
section + section {
  margin-top: 100px; }
section section + section {
  margin-top: 50px; }
@media screen and (max-width: 769px) {
  section + section {
    margin-top: 50px; }
  section section + section {
    margin-top: 30px; } }

/*	Text
-----------------------------------------------------------*/
.sup {
  font-size: 12px;
  font-size: 1.2rem;
  color: #666;
  font-weight: normal;
  line-height: 1.3;
  vertical-align: middle; }

@media screen and (max-width: 769px) {
  span.sup {
    display: block; } }

/* テキストにマーカー */
.txtMarker {
  padding: 0 5px;
  position: relative; }
  .txtMarker:after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 12px;
    background: #ffd800; }

/* 文字の前に「・」がつく */
.dot {
  position: relative;
  padding-left: 8px; }
  .dot:before {
    content: "";
    position: absolute;
    top: 0.55em;
    left: 0;
    width: 3px;
    height: 3px;
    background: #000; }
  @media screen and (max-width: 769px) {
    .dot {
      padding-left: 8px; }
      .dot:before {
        top: 0.6em; } }

/* 画像をタップで大きい */
p.tap {
  font-size: 10px;
  font-size: 1rem;
  color: #999;
  text-align: right;
  margin-top: 5px; }
  @media screen and (min-width: 769px) {
    p.tap {
      display: none; } }
  p.tap span {
    padding-left: 13px;
    position: relative; }
    p.tap span:before {
      font-family: 'icomoon';
      content: "";
      position: absolute;
      top: -0.1em;
      left: 0;
      font-weight: normal;
      font-style: normal;
      font-size: 10px;
      font-size: 1rem; }

/* MB以下のみリンクをさせる aにクラスをつける*/
.linkMb {
  color: #000;
  text-decoration: none; }
  @media screen and (min-width: 769px) {
    .linkMb {
      color: #000;
      text-decoration: none;
      pointer-events: none; } }

/*	BTN
-----------------------------------------------------------*/
.btn {
  width: 150px;
  height: 40px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.0;
  font-weight: bold; }
  .btn a {
    width: 100%;
    height: 100%;
    color: #FFF;
    text-decoration: none;
    padding: 5px 10px;
    background: #e10125;
    border-radius: 40px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    position: relative; }
    .btn a:after {
      font-family: 'icomoon';
      content: "";
      position: absolute;
      top: calc(50% - .6em);
      right: 10px;
      font-weight: normal;
      font-style: normal;
      font-size: 10px;
      font-size: 1rem;
      transform: scale(0.8); }
    .btn a:hover {
      color: #FFF;
      background: #f76900; }
  @media screen and (max-width: 769px) {
    .btn {
      width: 120px;
      height: 35px;
      font-size: 14px;
      font-size: 1.4rem; }
      .btn a:after {
        top: calc(50% - .5em);
        transform: scale(0.7); } }
  .btn.rev a {
    color: #e10125;
    border: 1px solid #e10125;
    background: #FFF; }
    .btn.rev a:hover {
      opacity: 1;
      color: #FFF;
      background: #e10125; }
  a .btn {
    color: #FFF;
    text-decoration: none;
    padding-right: 20px;
    padding-left: 20px;
    background: #e10125;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center;
    transition: .2s;
    position: relative; }
    a .btn:after {
      font-family: 'icomoon';
      content: "";
      position: absolute;
      top: calc(50% - .5em);
      right: 20px;
      font-weight: normal;
      font-style: normal;
      font-size: 10px;
      font-size: 1rem; }
    @media screen and (max-width: 769px) {
      a .btn {
        width: 120px;
        height: 30px;
        font-size: 12px;
        font-size: 1.2rem;
        padding-right: 20px;
        padding-left: 10px; }
        a .btn:after {
          right: 10px; } }

/*-----------------------------------------------------------------
　テーブル
-----------------------------------------------------------------*/
table:not(.nonCom) {
  width: 100%; }
  table:not(.nonCom) th, table:not(.nonCom) td {
    padding: 15px 25px;
    border: 1px solid #ccc;
    vertical-align: middle; }
  table:not(.nonCom) th {
    width: 230px;
    line-height: 1.0;
    font-weight: bold;
    background: #f2f2f2; }
  table:not(.nonCom) td {
    width: calc(100% - 230px); }
  @media screen and (max-width: 769px) {
    table:not(.nonCom) {
      border-bottom: 1px solid #ccc; }
      table:not(.nonCom) th, table:not(.nonCom) td {
        display: block;
        width: 100%;
        padding: 10px;
        border-bottom: none; }
      table:not(.nonCom) td {
        padding: 10px 20px 15px; } }

table.flexible {
  width: 100%; }
  @media screen and (min-width: 769px) {
    table.flexible {
      border-top: 1px solid #ccc;
      border-left: 1px solid #ccc; } }
  table.flexible thead {
    background: #e10125; }
    table.flexible thead th {
      color: #FFF;
      font-weight: bold;
      padding: 5px 20px;
      border-right: 1px solid #ccc;
      border-bottom: 1px solid #ccc; }
    @media screen and (max-width: 769px) {
      table.flexible thead {
        display: none; } }
  @media screen and (max-width: 769px) {
    table.flexible tr {
      display: block;
      border: 1px solid #ddd;
      margin-bottom: 10px;
      padding: 8px 8px 0; } }
  table.flexible td {
    padding: 10px 20px;
    vertical-align: top;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc; }
    @media screen and (max-width: 769px) {
      table.flexible td {
        display: block;
        width: auto;
        padding: 8px 10px;
        border-right: none;
        border-bottom: 1px solid #dbe1e8;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
        table.flexible td:last-of-type {
          border-bottom: none; }
        table.flexible td:before {
          content: attr(aria-label);
          width: 5em;
          color: #e10125;
          font-weight: bold; } }

/*-----------------------------------------------------------------
　Tableっぽい (会社案内、お問合せなど)
-----------------------------------------------------------------*/
dl.table {
  width: 100%;
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  dl.table > dt {
    width: 240px;
    color: #000;
    font-weight: bold;
    padding: 20px 40px;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    background: #f2f2f2;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center; }
  dl.table > dd {
    width: calc(100% - 240px);
    padding: 20px 35px;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd; }
  @media screen and (max-width: 960px) {
    dl.table {
      display: block;
      border: none; }
      dl.table > dt {
        width: 100% !important;
        padding: 5px 10px !important;
        border: none; }
      dl.table > dd {
        width: 100% !important;
        padding: 10px 20px 15px !important;
        border-left: 1px solid #ddd; } }
  @media screen and (max-width: 320px) {
    dl.table > dd {
      padding: 10px 10px 15px !important; } }

#no_found .btn {
  width: 200px;
  margin: 0 auto; }

/*----------------------------------------------------------------
	More Contents
----------------------------------------------------------------*/
.moreCnt {
  padding: 40px 0 60px;
  background: #1ea1ed; }
  .moreCnt .headTtl {
    margin-bottom: 40px; }
    .moreCnt .headTtl > div:before {
      color: #FFF; }
    .moreCnt .headTtl > div .h2sup, .moreCnt .headTtl > div h2 {
      color: #FFF; }
    .moreCnt .headTtl > div h2 {
      letter-spacing: 0; }
  .moreCnt .moreList {
    margin-right: -10px;
    margin-left: -11px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .moreCnt .moreList .column {
      width: calc(100% / 4);
      padding-right: 10px;
      padding-left: 11px; }
      .moreCnt .moreList .column a {
        display: block;
        height: 100%;
        color: #000;
        text-decoration: none;
        background: #FFF;
        border-bottom: 8px solid #038d3a; }
        .moreCnt .moreList .column a .txt {
          line-height: 1.2;
          font-weight: bold;
          padding: 15px 40px 15px 20px;
          position: relative; }
          .moreCnt .moreList .column a .txt:after {
            font-family: 'icomoon';
            content: "";
            position: absolute;
            top: calc(50% - .5em);
            right: 15px;
            font-weight: normal;
            font-style: normal;
            font-size: 20px;
            font-size: 2rem;
            color: #038d3a; }
        .moreCnt .moreList .column a:hover .txt:after {
          color: #f76900; }
  @media screen and (max-width: 769px) {
    .moreCnt {
      padding: 30px 0; }
      .moreCnt .headTtl {
        margin-bottom: 20px; }
      .moreCnt .moreList {
        max-width: 500px;
        margin: 0 auto;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
        .moreCnt .moreList .column {
          width: 50%;
          padding-right: 5px;
          padding-left: 5px;
          margin-bottom: 10px; }
          .moreCnt .moreList .column a {
            border-bottom-width: 5px; }
            .moreCnt .moreList .column a .txt {
              padding: 10px 30px 10px 10px; }
              .moreCnt .moreList .column a .txt:after {
                font-size: 16px;
                font-size: 1.6rem;
                right: 10px; } }

/*----------------------------------------------------------------------------------
　活動記録共通 - index , #activity #top , 
----------------------------------------------------------------------------------*/
.reportCmn .txtLink {
  text-align: right;
  margin-top: -50px;
  margin-bottom: 30px; }
.reportCmn .block {
  margin-right: -10px;
  margin-left: -11px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  .reportCmn .block .column {
    width: calc(100% / 4);
    padding-right: 10px;
    padding-left: 11px; }
    .reportCmn .block .column a {
      display: block;
      font-size: 14px;
      font-size: 1.4rem;
      color: #000;
      text-decoration: none;
      line-height: 1.2;
      text-align: center;
      background: #f2f2f2; }
      .reportCmn .block .column a .inner {
        padding: 15px 20px; }
        .reportCmn .block .column a .inner .cate {
          font-size: 12px;
          font-size: 1.2rem;
          color: #038d3a;
          margin-bottom: 7px; }
          .reportCmn .block .column a .inner .cate span {
            padding-left: 13px;
            position: relative; }
            .reportCmn .block .column a .inner .cate span:before {
              font-family: 'icomoon';
              content: "";
              position: absolute;
              top: 2px;
              left: 0;
              font-weight: normal;
              font-style: normal;
              font-size: 10px;
              font-size: 1rem; }
        .reportCmn .block .column a .inner .data {
          font-size: 12px;
          font-size: 1.2rem;
          margin-bottom: 10px; }
      .reportCmn .block .column a:hover .inner .ttl {
        text-decoration: underline;
        text-decoration-color: #999; }
@media screen and (max-width: 769px) {
  .reportCmn .txtLink {
    text-align: right;
    margin-top: -35px;
    margin-bottom: 20px; }
  .reportCmn .block {
    max-width: 500px;
    margin: 0 auto;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .reportCmn .block .column {
      width: calc(100% / 2);
      padding-right: 5px;
      padding-left: 5px;
      margin-bottom: 10px; }
      .reportCmn .block .column a {
        display: block; }
        .reportCmn .block .column a .inner {
          padding: 10px; }
          .reportCmn .block .column a .inner .cate {
            margin-bottom: 5px; }
          .reportCmn .block .column a .inner .data {
            margin-bottom: 7px; } }

/*----------------------------------------------------------------------------------
	私たちの活動 共通 - index , #about #number , 
----------------------------------------------------------------------------------*/
.activCmn {
  margin: 0 -16px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .activCmn .column {
    width: calc(100% / 3);
    padding-right: 16px;
    padding-left: 16px;
    margin-bottom: 40px; }
    .activCmn .column a {
      display: block;
      color: #FFF;
      text-decoration: none;
      line-height: 1.0; }
      .activCmn .column a .img {
        padding-right: 20px; }
      .activCmn .column a .inner {
        width: 85%;
        height: 130px;
        max-width: 260px;
        margin-top: -65px;
        margin-left: auto;
        background: #e10125;
        border-top-left-radius: 5px;
        border-top-right-radius: 5px;
        border-bottom: 8px solid #1ea1ed;
        position: relative;
        z-index: 1;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
        -ms-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        -ms-justify-content: center;
        justify-content: center;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column; }
        .activCmn .column a .inner .ttl {
          font-size: 22px;
          font-size: 2.2rem;
          line-height: 1.2;
          text-align: center;
          font-weight: bold;
          margin-bottom: 10px; }
        .activCmn .column a .inner .txtLink span:before {
          color: #FFF; }
  @media screen and (max-width: 769px) {
    .activCmn {
      margin: 0 -5px; }
      .activCmn .column {
        padding-right: 5px;
        padding-left: 5px;
        margin-bottom: 20px; }
        .activCmn .column a .img {
          padding-right: 0; }
        .activCmn .column a .inner {
          width: 100%;
          height: 55px;
          max-width: inherit;
          padding: 5px 20px 5px 10px;
          margin-top: -25px;
          border-bottom-width: 3px;
          -webkit-align-items: flex-start;
          -ms-align-items: flex-start;
          align-items: flex-start;
          position: relative; }
          .activCmn .column a .inner:after {
            font-family: 'icomoon';
            content: "";
            position: absolute;
            top: calc(50% - .5em);
            right: 10px;
            font-weight: normal;
            font-style: normal;
            font-size: 12px;
            font-size: 1.2rem; }
          .activCmn .column a .inner .ttl {
            font-size: 14px;
            font-size: 1.4rem;
            text-align: left;
            margin-bottom: 0; }
          .activCmn .column a .inner .txtLink {
            display: none; } }
