@charset "UTF-8";
body {
  margin: 0;
  padding: 0;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 2;
  color: #333333;
  -webkit-text-size-adjust: 100%; }

a {
  word-wrap: break-word; }
  a:link {
    color: #ff7800;
    text-decoration: underline; }
  a:visited {
    color: #ff7800;
    text-decoration: underline; }
  a:hover {
    color: #dd0a00;
    text-decoration: none; }
  a:active {
    color: #dd0a00;
    text-decoration: none; }
  a.disable {
    cursor: default; }

@media only screen and (max-width: 767px) {
  a[href^="tel:"] {
    cursor: default; } }
a img {
  border: none; }

#area_map {
  border: none; }

#Map {
  border: none; }

img {
  max-width: 100%; }
  img.img_max {
    width: 100%; }

.fs-lightbox-image_container img {
  max-width: none; }

area {
  outline: none;
  border: none; }

p {
  margin: 1em 0; }
  @media only screen and (max-width: 767px) {
    p {
      margin: 1em 5px; } }

hr {
  border: 0;
  border-top: 2px dashed #ffc4bc;
  width: 80%;
  display: block;
  margin: 4em auto;
  height: 0; }

sup,
sub {
  line-height: 1; }

.mb_1em {
  margin-bottom: 1em; }

.mb_2em {
  margin-bottom: 2em; }

.mb_3em {
  margin-bottom: 3em; }

.alignLeft {
  text-align: left; }

.alignCenter {
  text-align: center; }
  .alignCenter > img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1em; }

@media only screen and (max-width: 767px) {
  .alignCenter_sp {
    text-align: center; }
    .alignCenter_sp > img {
      display: block;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 1em; } }

.alignRight {
  text-align: right; }

.caution {
  color: #ff3300; }

.notice {
  color: #17930e; }

.clear {
  clear: both; }

.clearfix:after {
  content: "";
  display: block;
  clear: both; }

iframe {
  width: 100%;
  border: none;
  position: relative; }

@media only screen and (min-width: 768px) {
  .pc_none {
    display: none !important; } }

@media only screen and (max-width: 767px) {
  .sp_none {
    display: none !important; } }

.root {
  min-width: 1000px;
  overflow-x: hidden; }
  @media only screen and (max-width: 767px) {
    .root {
      min-width: 320px;
      padding-top: 50px; } }
  .root::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 190px;
    top: 49px;
    left: 0;
    background: #f8f8f8 50% 0 / cover no-repeat; }
  .root::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 190px;
    background: url(../img/header_mask.png) 50% 100%/cover no-repeat;
    top: 50px;
    left: 0; }
  @media only screen and (max-width: 767px) {
    .root::before {
      height: 100px; }
    .root::after {
      height: 101px; } }

/*** header ***/
header {
  margin: 0;
  padding: 0;
  position: relative;
  min-height: 50px;
  height: 240px;
  z-index: 100; }
  header::before {
    content: "";
    position: absolute;
    display: block;
    min-height: 50px;
    width: 100%;
    background: url(../img/common_bg.png) 0 0 repeat;
    z-index: 2; }
  @media only screen and (max-width: 767px) {
    header {
      min-height: 0;
      min-width: 320px;
      width: 100%;
      position: fixed;
      top: 0;
      height: 120px; } }
  header:after {
    content: "";
    display: block;
    clear: both; }
  header .header_body {
    width: 1000px;
    padding: 0;
    margin: auto;
    position: relative;
    z-index: 4; }
    @media only screen and (max-width: 767px) {
      header .header_body {
        width: auto;
        min-height: 50px;
        align-items: center;
        background-color: #ffffff;
        box-shadow: 0 1px 3px rgba(173, 118, 47, 0.3); } }
  header h1 {
    float: left;
    margin: 0 0 -12px;
    font-size: 100%;
    line-height: 1;
    height: 62px;
    z-index: 200;
    box-sizing: border-box;
    transition: 0.5s all;
    top: -50px;
    width: 294px;
    background: #ffffff;
    border: 2px solid #000000;
    border-top: none;
    border-radius: 0 0 10px 10px; }
    @media only screen and (max-width: 767px) {
      header h1 {
        margin: 0;
        padding: 0px;
        height: 50px;
        border: none; } }
    header h1 a {
      display: inline-block;
      vertical-align: middle;
      position: relative;
      padding: 6px 20px 0; }
      @media only screen and (max-width: 767px) {
        header h1 a {
          padding: 5px 0 5px 10px; } }
    header h1 img {
      display: block;
      height: 40px; }
  @media only screen and (min-width: 768px) {
    header.fixed h1 {
      position: fixed;
      top: 0; } }
  header ul {
    margin: 0;
    padding: 0;
    list-style-type: none; }
    header ul li {
      margin: 0;
      padding: 0; }

.hnav {
  display: flex;
  transition: 0.5s all;
  padding: 10px 0;
  justify-content: flex-end; }
  @media only screen and (max-width: 767px) {
    .hnav {
      display: none; } }
  .hnav > li {
    padding: 0 0 0 10px; }
    .hnav > li img {
      max-height: 30px;
      display: block; }
    .hnav > li:last-child {
      padding-right: 0; }
    .hnav > li.hnav_fontsize {
      display: flex; }
      .hnav > li.hnav_fontsize ul {
        margin: 4px 0 4px 5px;
        padding: 0;
        list-style-type: none;
        display: flex;
        align-items: flex-end;
        border: 1px solid #111111;
        border-radius: 3px;
        background: #ffffff;
        align-items: align-items; }
        .hnav > li.hnav_fontsize ul li {
          margin: 0;
          padding: 0;
          flex-grow: 1; }
          .hnav > li.hnav_fontsize ul li a {
            line-height: 1;
            font-size: 11px;
            font-family: "M PLUS 1p", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 16px;
            height: 20px;
            text-align: center;
            font-weight: bold;
            transition: 0.3s all; }
    .hnav > li.hnav_search {
      display: flex; }
      .hnav > li.hnav_search > form {
        padding: 3px 0; }
        .hnav > li.hnav_search > form > div {
          display: flex;
          align-items: center;
          padding: 0;
          box-sizing: border-box;
          width: 210px;
          margin-left: 5px;
          border: 1px solid #111111;
          border-radius: 3px;
          background: #ffffff; }
      .hnav > li.hnav_search .searchBtn {
        height: 22px;
        width: 20px; }
      .hnav > li.hnav_search .searchBox {
        border: none;
        background: transparent;
        display: block;
        width: 188px;
        box-sizing: border-box;
        height: 22px;
        line-height: 22px;
        font-size: 11px;
        padding: 0 5px; }

.fontsize-m a,
.fontsize-l a {
  display: block;
  text-decoration: none;
  color: #111111; }

#header_menubtn {
  display: none; }
  @media only screen and (max-width: 767px) {
    #header_menubtn {
      display: block;
      width: 20px;
      height: 24px;
      position: absolute;
      right: 0;
      top: 0;
      padding: 13px 15px; }
      #header_menubtn > span {
        transition: all .4s;
        box-sizing: border-box;
        display: block;
        width: 20px;
        height: 24px;
        margin-top: 5px;
        position: relative; }
        #header_menubtn > span span {
          display: inline-block;
          transition: all .4s;
          box-sizing: border-box;
          position: absolute;
          left: 0;
          width: 100%;
          height: 2px;
          background-color: #6ea676;
          border-radius: 2px; }
      #header_menubtn > span span:nth-of-type(1) {
        top: 0; }
      #header_menubtn > span span:nth-of-type(2) {
        top: 6px; }
      #header_menubtn > span span:nth-of-type(3) {
        top: 12px; }
      #header_menubtn:hover > span span, #header_menubtn:active > span span {
        background-color: #206729; }
      #header_menubtn:hover > span span:nth-of-type(1), #header_menubtn:active > span span:nth-of-type(1) {
        transform: translate3d(5px, 2px, 0) rotate(45deg) scale(0.7, 1); }
      #header_menubtn:hover > span span:nth-of-type(3), #header_menubtn:active > span span:nth-of-type(3) {
        transform: translate3d(5px, -2px, 0) rotate(-45deg) scale(0.7, 1); } }

.sp_header {
  transition: 0.2s all;
  position: fixed;
  width: 100%;
  min-width: 320px;
  top: 0;
  background: #ffffff;
  z-index: 100; }
  @media only screen and (min-width: 768px) {
    .sp_header {
      display: none; } }
  .sp_header .sp_header_title {
    transition: 0.2s all;
    display: block;
    position: relative;
    margin: 5px auto 5px 5px;
    padding: 0;
    width: 250px;
    box-sizing: border-box;
    z-index: 3; }
    .sp_header .sp_header_title a {
      transition: 0.2s all;
      display: block;
      height: 60px;
      overflow: hidden;
      white-space: nowrap;
      text-indent: 200%;
      /*
      background: url(../img/header_logo.png) 50% 50% no-repeat;
      background-size: contain;
      */ }
  .sp_header a.header_menu_btn {
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    width: 0;
    height: 0;
    padding: 35px 35px;
    background-size: contain;
    background: #ffffff;
    transition: 0.2s all; }
    .sp_header a.header_menu_btn > span {
      transition: all .4s;
      box-sizing: border-box;
      display: block;
      width: 20px;
      position: relative; }
      .sp_header a.header_menu_btn > span span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
        position: absolute;
        left: -10px;
        width: 100%;
        height: 2px;
        background-color: #333333; }
    .sp_header a.header_menu_btn > span span:nth-of-type(1) {
      top: -6px; }
    .sp_header a.header_menu_btn > span span:nth-of-type(2) {
      top: -1px; }
    .sp_header a.header_menu_btn > span span:nth-of-type(3) {
      top: 4px; }
    .sp_header a.header_menu_btn:hover > span span:nth-of-type(1), .sp_header a.header_menu_btn:active > span span:nth-of-type(1) {
      transform: translate3d(1px, -1px, 0) rotate(45deg) scale(0.6, 1); }
    .sp_header a.header_menu_btn:hover > span span:nth-of-type(2), .sp_header a.header_menu_btn:active > span span:nth-of-type(2) {
      transform: translate3d(1px, 1px, 0) rotate(135deg) scale(0.6, 1); }
    .sp_header a.header_menu_btn:hover > span span:nth-of-type(3), .sp_header a.header_menu_btn:active > span span:nth-of-type(3) {
      transform: translate3d(1px, -11px, 0) rotate(225deg) scale(0.6, 1); }
  .sp_header.active {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); }
    .sp_header.active .sp_header_title {
      width: 180px; }
      .sp_header.active .sp_header_title a {
        height: 50px; }
    .sp_header.active a.header_menu_btn {
      padding: 30px; }

.mm-menu {
  z-index: 100; }
  .mm-menu .mm-breadcrumbs {
    text-align: center; }
  .mm-menu a {
    text-decoration: none; }

@media only screen and (min-width: 768px) {
  .fixed .gnav > div {
    background: rgba(255, 255, 255, 0.8);
    transition: 0.3s all;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
    border-radius: 0; }
    .fixed .gnav > div > ul {
      margin: auto;
      max-width: 1000px;
      padding-left: 300px; }
      .fixed .gnav > div > ul > li > a {
        transition: 0.3s all;
        padding: 10px 13px; }
        .fixed .gnav > div > ul > li > a > img {
          height: 40px; }
      .fixed .gnav > div > ul > li .subnav > div {
        width: 160%;
        left: -30%; } }
.gnav {
  position: relative;
  margin: 20px 0;
  z-index: 20; }
  @media only screen and (max-width: 767px) {
    .gnav {
      display: none;
      width: auto; } }
  .gnav > div {
    background: rgba(255, 255, 255, 0.5);
    border-radius: 15px;
    width: 100%;
    transition: 0.5s all cubic-bezier(0.455, 0.03, 0.515, 0.955); }
    .gnav > div > ul {
      display: flex;
      justify-content: center;
      max-width: 940px;
      margin: 0 auto;
      padding: 0;
      list-style-type: none;
      border-radius: 5px;
      transition: 0.5s all cubic-bezier(0.455, 0.03, 0.515, 0.955);
      box-sizing: border-box; }
      @media only screen and (max-width: 767px) {
        .gnav > div > ul {
          width: auto; } }
      .gnav > div > ul > li {
        margin: 0;
        padding: 0 0;
        transition: 0.5s all cubic-bezier(0.455, 0.03, 0.515, 0.955);
        display: flex;
        position: relative; }
        .gnav > div > ul > li::after {
          content: "";
          display: block;
          background: url(../img/gnav_splitter.png) 50% 50%/2px auto no-repeat;
          width: 2px;
          height: 100%;
          position: absolute;
          right: -1px;
          z-index: 5; }
        .gnav > div > ul > li:last-child {
          padding-right: 0; }
          .gnav > div > ul > li:last-child::after {
            content: none; }
        .gnav > div > ul > li > a {
          transition: 0.3s all cubic-bezier(0.455, 0.03, 0.515, 0.955);
          display: block;
          text-decoration: none;
          position: relative;
          text-align: center;
          padding: 20px 20px; }
          .gnav > div > ul > li > a:hover, .gnav > div > ul > li > a:active {
            background: #fadfaa;
            border-radius: 5px 5px; }
          .gnav > div > ul > li > a img {
            transition: 0.5s all cubic-bezier(0.455, 0.03, 0.515, 0.955);
            margin: 0 auto;
            padding: 0;
            height: 50px;
            display: block; }

.hover .subnav {
  transform: perspective(2000px) rotateX(0deg);
  opacity: 1; }

.subnav {
  position: absolute;
  top: 100%;
  width: 100%;
  left: 0;
  z-index: 100;
  transform-origin: top center;
  transform: perspective(2000px) rotateX(89.9deg);
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955); }
  .subnav > a,
  .subnav > span {
    display: none; }
  .subnav > div {
    position: relative;
    width: 140%;
    left: -20%;
    margin: 10px auto 0;
    padding: 10px;
    background: #ffffff;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    box-sizing: border-box; }
    .subnav > div::before {
      content: "";
      position: absolute;
      z-index: 1;
      display: block;
      width: 24px;
      height: 24px;
      background: #ffffff;
      left: 50%;
      transform: translate(-12px, -17px) scaleX(0.7) rotate(45deg); }
    .subnav > div > a {
      display: none; }
    .subnav > div > ul {
      position: relative;
      z-index: 2;
      list-style-type: none;
      margin: 0;
      padding: 0;
      flex-wrap: wrap;
      padding: 0;
      background: #ffffff; }
      .subnav > div > ul > li {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        display: flex;
        align-items: stretch;
        justify-content: stretch; }
        .subnav > div > ul > li a {
          text-decoration: none;
          display: flex;
          flex-direction: column;
          justify-content: center;
          padding: 1ex 10px 1ex 30px;
          width: 100%;
          line-height: 1.5;
          color: #3b372c;
          background: url(../../../common/img/arrow_right.png) 10px 50%/8px 13px no-repeat;
          transition: 0.3s background;
          font-family: "M PLUS 1p", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
          border-radius: 5px; }
          .subnav > div > ul > li a:hover, .subnav > div > ul > li a:active {
            color: #ffffff;
            background-color: #ee7d4d;
            background-image: url(../../../common/img/arrow_right_white.png); }
          .subnav > div > ul > li a span {
            display: inline-block;
            transform: rotate(0.1deg); }
        .subnav > div > ul > li.hover ul {
          transform: perspective(2000px) rotateX(0deg);
          opacity: 1; }
        .subnav > div > ul > li > ul {
          display: none; }

.side_nav {
  position: fixed;
  right: 0;
  top: 20%;
  z-index: 100;
  width: 0;
  overflow-x: hidden;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.03);
  transition: 0.3s all cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media only screen and (min-width: 1200px) {
    .side_nav {
      width: 95px; } }
  .side_nav ul {
    width: 95px;
    margin: 0;
    padding: 0;
    list-style-type: none; }
    .side_nav ul li {
      margin: 0;
      padding: 0; }
      .side_nav ul li a {
        display: block;
        background: rgba(255, 255, 255, 0.8);
        transition: 0.3s all;
        overflow: hidden; }
        .side_nav ul li a:hover, .side_nav ul li a:active {
          background: #f4ecde; }
      .side_nav ul li img {
        display: block; }

.gnav_sp {
  display: none;
  margin: 0 10px 5px;
  border: 1px solid #cccccc;
  border-radius: 5px;
  overflow: hidden; }
  @media only screen and (max-width: 767px) {
    .gnav_sp {
      display: block; } }
  .gnav_sp ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: stretch;
    align-items: stretch;
    width: 100%; }
    .gnav_sp ul li {
      text-align: center;
      display: flex;
      flex-grow: 1;
      justify-content: stretch;
      align-items: stretch;
      border-right: 1px solid #cccccc; }
      .gnav_sp ul li:last-child {
        border-right: 0; }
      .gnav_sp ul li:nth-child(n+4):not(:last-child) {
        display: none; }
      .gnav_sp ul li a {
        flex-grow: 1;
        display: block;
        text-decoration: none;
        padding: 5px;
        line-height: 120%;
        color: #444444;
        transition: 0.2s all; }
        .gnav_sp ul li a i {
          display: block;
          text-align: center;
          font-size: 180%;
          line-height: 120%;
          margin-bottom: 5px; }
        .gnav_sp ul li a:hover, .gnav_sp ul li a:active {
          color: #ffffff;
          background: #333333; }

.mm-menu.mm-offcanvas {
  z-index: 10; }

@media only screen and (max-width: 767px) {
  #sp_nav_close {
    display: block;
    width: 20px;
    height: 24px;
    position: absolute;
    top: 0;
    left: 0;
    padding: 8px; }
    #sp_nav_close > span {
      transition: all .4s;
      box-sizing: border-box;
      display: block;
      width: 20px;
      height: 24px;
      margin-top: 5px;
      position: relative; }
      #sp_nav_close > span span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #00b390;
        border-radius: 2px; }
    #sp_nav_close > span span:nth-of-type(1) {
      top: 0;
      transform: translate3d(3px, 3px, 0) rotate(-45deg) scale(0.55, 1); }
    #sp_nav_close > span span:nth-of-type(2) {
      top: 6px;
      transform: rotate(45deg); }
    #sp_nav_close > span span:nth-of-type(3) {
      top: 12px;
      transform: translate3d(-3px, -3px, 0) rotate(-45deg) scale(0.55, 1); }
    #sp_nav_close:hover, #sp_nav_close:active {
      background: transparent !important; }
      #sp_nav_close:hover > span span, #sp_nav_close:active > span span {
        background-color: #e57613; } }

.sp_search_container {
  text-align: center; }
  .sp_search_container .header_search {
    padding: 10px 0;
    margin: auto;
    background-color: transparent;
    display: inline-block;
    width: 280px; }
    .sp_search_container .header_search > div {
      width: 280px;
      display: flex;
      justify-content: center; }
    .sp_search_container .header_search .searchBox {
      margin-right: 0;
      line-height: 30px;
      height: 30px;
      width: 220px; }
    .sp_search_container .header_search .searchBtn {
      width: 30px;
      height: 30px; }
    .sp_search_container .header_search > div {
      margin: auto; }

.sp_nav_main {
  background: #faf5ee;
  color: #333333; }

.mm-breadcrumbs {
  color: #555555 !important;
  font-weight: bold; }

#hmenu_overlay {
  display: none; }
  @media only screen and (max-width: 767px) {
    #hmenu_overlay {
      position: fixed;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.4);
      top: 0;
      left: 0;
      display: none;
      z-index: 4000;
      /* nappa */ } }

/*** main ***/
.main_header {
  position: relative;
  z-index: 3;
  width: 1000px;
  margin: -50px auto 0; }
  @media only screen and (max-width: 767px) {
    .main_header {
      margin: 20px auto 0;
      width: auto; } }

h2 {
  font-size: 190%;
  margin: 0;
  text-align: center;
  font-family: "M PLUS 1p", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  letter-spacing: 0.1ex;
  line-height: 1.4;
  padding: 0 0 1em; }
  @media only screen and (max-width: 767px) {
    h2 {
      font-size: 175%;
      margin: 1em 0; } }
  @media only screen and (max-width: 767px) {
    h2.h2_img {
      padding: 0 10px; } }
  h2.h2_img > img {
    max-height: 80px; }
    @media only screen and (max-width: 767px) {
      h2.h2_img > img {
        max-height: 50px; } }

.breadcrumbs {
  width: 1000px;
  margin: 0 auto;
  padding: 0.5ex 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  letter-spacing: 0.2ex; }
  @media only screen and (max-width: 767px) {
    .breadcrumbs {
      font-size: 90%;
      margin: 1ex auto;
      padding: 0 10px;
      width: auto; } }
  .breadcrumbs li {
    margin: 0;
    padding: 0;
    display: inline-block;
    vertical-align: middle; }
    .breadcrumbs li:not(:last-child)::after {
      content: ">";
      margin: 0 1ex;
      font-size: 90%;
      color: #aaaaaa;
      display: inline-block;
      vertical-align: middle; }

.lead {
  max-width: 880px;
  margin: 1ex auto 1em; }
  @media only screen and (max-width: 767px) {
    .lead {
      padding: 0 20px; } }

h3 {
  background: url(../img/common_bg.png) 50% 50% repeat;
  color: #333333;
  border-radius: 1.5em;
  padding: 1ex 1em;
  box-sizing: border-box;
  margin: 4em auto 1em;
  font-size: 150%;
  line-height: 1.5;
  letter-spacing: 0.5ex;
  text-align: center;
  font-family: "M PLUS 1p", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  line-height: 1.4;
  display: table;
  min-width: 600px; }
  h3 small {
    letter-spacing: 0.1ex; }
  @media only screen and (max-width: 767px) {
    h3 {
      font-size: 130%;
      padding: 0.5ex 2em;
      min-width: auto; } }
  h3:first-child {
    margin-top: 0; }

h4,
.h4 {
  font-size: 140%;
  color: #333333;
  margin: 3em 0 1em;
  padding: 0.5ex 0;
  font-family: "M PLUS 1p", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.2ex;
  position: relative;
  overflow: hidden; }
  @media only screen and (max-width: 767px) {
    h4,
    .h4 {
      font-size: 125%;
      margin-left: 0;
      margin-right: 0; } }
  h4::before, h4::after,
  .h4::before,
  .h4::after {
    content: "";
    position: absolute;
    bottom: 0; }
  h4::before,
  .h4::before {
    background: #666666;
    height: 3px;
    width: 100%; }
  h4::after,
  .h4::after {
    background: #ffe6d1;
    height: 2px;
    border-bottom: 1px solid #ffffff;
    width: 100%; }

h4:first-child,
.h4:first-child,
h3 + h4,
h3 + .h4,
.h3 + h4,
.h3 + .h4 {
  margin-top: 0; }

h5,
.h5 {
  background: #fff6d3;
  padding: 1ex 1em;
  font-size: 110%;
  font-family: "M PLUS 1p", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: normal;
  letter-spacing: 0.2ex;
  border-radius: 5px;
  clear: both; }
  h5 > span,
  .h5 > span {
    display: inline-block;
    transform: rotate(0.05deg); }

h5:first-child,
.h5:first-child,
h4 + h5,
.h4 + h5,
h4 + .h5,
.h4 + .h5 {
  margin-top: 0; }

h6,
.h6 {
  margin: 1ex 0 0.5ex 10px;
  font-size: 105%;
  color: #7095b0;
  font-family: "M PLUS 1p", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  transform: rotate(0.05deg); }

h6:first-child,
.h6:first-child,
h5 + h6,
.h5 + h6,
h5 + .h6,
.h5 + .h6 {
  margin-top: 0; }

@media only screen and (max-width: 767px) {
  ul:not([class]), ol:not([class]) {
    padding-left: 1.3em; } }

.columned > *.content_section {
  margin: 0px 0; }

main.main_content {
  padding: 30px 0 50px;
  min-height: 640px;
  display: block; }
  @media only screen and (max-width: 767px) {
    main.main_content {
      width: auto;
      min-height: 0;
      padding: 30px 0 30px;
      margin-bottom: 20px; } }
  main.main_content > .content_section {
    position: relative;
    width: 1000px;
    margin: auto;
    padding: 1ex 0; }
    @media only screen and (max-width: 767px) {
      main.main_content > .content_section {
        padding: 15px;
        width: auto; } }
    main.main_content > .content_section > .columned > * > p,
    main.main_content > .content_section > p {
      margin: 1ex 15px; }
      @media only screen and (max-width: 767px) {
        main.main_content > .content_section > .columned > * > p,
        main.main_content > .content_section > p {
          margin-left: 5px;
          margin-right: 5px; } }
    main.main_content > .content_section > .columned > * > .table_wrapper {
      padding: 0 15px; }
      @media only screen and (max-width: 767px) {
        main.main_content > .content_section > .columned > * > .table_wrapper {
          padding: 0 0; } }
  main.main_content > h5,
  main.main_content > h6 {
    margin-left: 10px;
    margin-right: 10px; }
    @media only screen and (max-width: 767px) {
      main.main_content > h5,
      main.main_content > h6 {
        margin-left: 0;
        margin-right: 0; } }
  main.main_content.wide {
    width: auto;
    float: none; }
    main.main_content.wide + .side {
      display: none; }
  main.main_content > figure {
    margin: 2em 15px;
    padding: 0;
    text-align: center; }
    main.main_content > figure figcaption {
      display: table;
      margin: auto;
      text-align: center;
      background-color: #f2f4e9;
      font-weight: 500;
      border-radius: 1em;
      padding: 0.2ex 1.5em; }
    main.main_content > figure img {
      vertical-align: middle; }
    @media only screen and (max-width: 767px) {
      main.main_content > figure {
        margin-left: 5px;
        margin-right: 5px; } }

.side {
  width: 200px;
  float: right;
  display: none; }
  @media only screen and (max-width: 767px) {
    .side {
      width: auto;
      float: none; } }
  .side .snav_only {
    display: block; }
  .side .snav a {
    text-decoration: none;
    display: block; }
  .side .snav > a,
  .side .snav > span {
    display: block;
    border-bottom: 1px solid #86bbd3;
    padding: 1em 1ex;
    color: #ffffff;
    background: #2764af;
    text-align: center;
    font-size: 110%;
    line-height: 1.4;
    font-family: "游明朝", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
    font-display: swap;
    font-weight: 500;
    letter-spacing: 0.1ex;
    margin-bottom: 5px;
    border-radius: 4px 4px 0 0; }
  .side .snav ul {
    margin: 0;
    padding: 0 0 0 10px;
    list-style-type: none; }
    .side .snav ul li {
      margin: 0 0;
      padding: 0 0;
      display: block;
      border-top: 1px dotted #cccccc; }
      .side .snav ul li ul {
        padding: 0 0;
        display: none; }
      .side .snav ul li.active > a {
        font-weight: bold;
        background-color: #c8e2fa; }
      .side .snav ul li.active ul {
        display: block; }
      .side .snav ul li > a {
        background: url(../img/arrow_blue.png) 6px 50% no-repeat;
        background-size: 6px 6px;
        padding: 1ex 0 1ex 18px;
        font-size: 95%;
        line-height: 1.4;
        color: #333333;
        transition: 0.2s all; }
        .side .snav ul li > a:hover, .side .snav ul li > a:active {
          background-color: #d9ecf6; }
      .side .snav ul li li {
        margin: 0 0 0 15px; }
  .side .snav > ul {
    padding: 0; }
    .side .snav > ul > li:first-child {
      border-top: none; }

.snav_only {
  display: none; }

/*** footer ***/
footer {
  background: #ffffff;
  position: relative;
  margin: auto;
  padding: 30px 0;
  width: 1000px; }
  @media only screen and (max-width: 767px) {
    footer {
      width: auto;
      padding: 160px 0 30px; } }
  footer .fnav {
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    margin: 0;
    padding: 0;
    justify-content: center; }
    @media only screen and (max-width: 767px) {
      footer .fnav {
        display: block;
        border-top: 1px dotted #333333; } }
    footer .fnav li {
      margin: 0;
      padding: 0 20px; }
      @media only screen and (max-width: 767px) {
        footer .fnav li {
          width: auto;
          border-bottom: 1px dotted #333333; }
          footer .fnav li a {
            display: block;
            padding: 1ex; } }
      footer .fnav li img {
        display: block;
        max-height: 30px; }
  footer .footer_title {
    margin: 30px 0 0.5ex; }
    footer .footer_title img {
      max-height: 30px;
      display: block;
      margin: auto; }
  footer .footer_address,
  footer .footer_copy {
    font-family: "M PLUS 1p", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    letter-spacing: 0.2ex;
    transform: rotate(0.05deg);
    text-align: center;
    font-size: 60%;
    line-height: 1.8; }

.totop {
  z-index: 100;
  position: relative;
  padding: 0 20px;
  margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    .totop {
      width: auto;
      height: 0px; } }
  @media print {
    .totop {
      display: none; } }
  .totop > div {
    width: 87px;
    margin: 0 0 0 auto; }
  .totop a {
    display: block;
    position: fixed;
    bottom: -200px;
    margin: 0 0 0 auto;
    width: 87px;
    height: 107px;
    transition: 0.3s all;
    animation-name: totop_balloon_body;
    animation-duration: 2s;
    animation-delay: 0s;
    animation-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
    animation-iteration-count: infinite;
    animation-direction: alternate; }
@keyframes totop_balloon_body {
  0% {
    transform: translateY(-10px) rotate(-5deg); }
  100% {
    transform: translateY(10px) rotate(5deg); } }
    @media only screen and (max-width: 767px) {
      @keyframes totop_balloon_body {
        0% {
          transform: translateY(-10px) rotate(-5deg) scale(0.8); }
        100% {
          transform: translateY(10px) rotate(5deg) scale(0.8); } } }
    .totop a img {
      display: block;
      position: relative;
      z-index: 1; }
    .totop a::after {
      z-index: 0;
      position: absolute;
      content: "";
      display: block;
      width: 20px;
      height: 71px;
      background: url(../img/totop_balloon_string.png) 50% 50%/contain no-repeat;
      top: 100px;
      left: 42px;
      transform-origin: 10% 0;
      animation-name: totop_balloon_string;
      animation-duration: 2s;
      animation-delay: -0.5s;
      animation-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
      animation-iteration-count: infinite;
      animation-direction: alternate; }
@keyframes totop_balloon_string {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(-20deg); } }
    .totop a.active {
      bottom: 80px; }
      @media only screen and (max-width: 767px) {
        .totop a.active {
          bottom: 10px; } }
    .totop a.finished {
      position: absolute;
      bottom: auto; }
    .totop a:hover, .totop a:active {
      opacity: 0.7; }

.wp_wrapper figure {
  margin: 1em; }
  @media only screen and (max-width: 767px) {
    .wp_wrapper figure {
      margin: auto; } }
@media only screen and (max-width: 767px) {
  .wp_wrapper .alignleft,
  .wp_wrapper .alignright {
    display: block;
    width: auto;
    height: auto;
    margin: auto;
    float: none; }
  .wp_wrapper #wpadminbar {
    display: none; } }

@media print {
  .prev_window,
  .totop {
    display: none !important; } }
.banner_section {
  background: url(../img/common_bg.png) 50% 0 repeat;
  padding: 5px 0; }

.bnr_list_static {
  margin: 0 -9px;
  padding: 10px 0 0;
  list-style-type: none;
  display: flex;
  justify-content: center;
  flex-wrap: wrap; }
  @media only screen and (max-width: 767px) {
    .bnr_list_static {
      width: auto;
      margin: 0 10px;
      padding: 10px 0 0; } }
  .bnr_list_static li {
    margin: 0;
    padding: 15px 9px;
    list-style-type: none;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .bnr_list_static li {
        padding: 5px;
        width: 50%;
        box-sizing: border-box; } }
    .bnr_list_static li img {
      vertical-align: middle;
      max-height: 165px; }
  .bnr_list_static.bnr_s li {
    width: 22%;
    box-sizing: border-box; }
    .bnr_list_static.bnr_s li img {
      max-width: 100%; }

.bnr_list_slide {
  margin: 20px auto;
  padding: 0 25px;
  list-style-type: none;
  width: 1000px; }
  @media only screen and (max-width: 767px) {
    .bnr_list_slide {
      width: auto; } }
  .bnr_list_slide .slick-track {
    display: flex;
    align-items: center; }
  .bnr_list_slide li {
    margin: 0;
    padding: 0 10px;
    list-style-type: none; }
    .bnr_list_slide li a {
      display: block;
      height: 50px;
      border: 2px solid #000000;
      border-radius: 5px;
      overflow: hidden;
      background: #ffffff; }
    .bnr_list_slide li img {
      vertical-align: middle;
      max-height: 100%; }
  .bnr_list_slide .slick-prev,
  .bnr_list_slide .slick-next {
    height: 100%;
    width: 20px;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    transition: 0.3s all; }
    .bnr_list_slide .slick-prev::before,
    .bnr_list_slide .slick-next::before {
      content: none; }
    .bnr_list_slide .slick-prev:hover, .bnr_list_slide .slick-prev:active,
    .bnr_list_slide .slick-next:hover,
    .bnr_list_slide .slick-next:active {
      background-color: #ffffff; }
  .bnr_list_slide .slick-prev {
    background: url(../img/arrow_footer_slider_l.png) 50% 50%/9px 14px no-repeat;
    left: 0; }
    .bnr_list_slide .slick-prev:hover, .bnr_list_slide .slick-prev:active {
      background-position: 50% 50%; }
  .bnr_list_slide .slick-next {
    background: url(../img/arrow_footer_slider_r.png) 50% 50%/9px 14px no-repeat;
    right: 0; }
    .bnr_list_slide .slick-next:hover, .bnr_list_slide .slick-next:active {
      background-position: 50% 50%; }

/*** column ***/
.floatImgR, .floatImgL, .floatColumnR, .floatColumnL {
  max-width: 320px;
  display: block; }
  .mini_column.floatImgR, .mini_column.floatImgL, .mini_column.floatColumnR, .mini_column.floatColumnL {
    max-width: 200px; }

.floatImgR {
  margin: 0 0 15px 15px;
  float: right;
  text-align: center; }
  .floatImgR img {
    display: block; }

.floatImgL {
  margin: 0 15px 15px 0px;
  float: left;
  text-align: center; }
  .floatImgL img {
    display: block; }

.floatColumnR {
  margin: 0 0 15px 15px;
  float: right; }
  .floatColumnR img {
    display: block; }

.floatColumnL {
  margin: 0 15px 15px 0px;
  float: left; }
  .floatColumnL img {
    display: block; }

@media only screen and (max-width: 767px) {
  .floatImgR,
  .floatImgL,
  .floatColumnR,
  .floatColumnL {
    max-width: 100%;
    float: none;
    margin: 1ex auto; } }
.wp_wrapper img {
  height: auto !important; }

/*** table ***/
.wp_wrapper table,
.bordered_table {
  border: 1px solid #7095b0;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 1em 15px; }
  @media only screen and (max-width: 767px) {
    .wp_wrapper table,
    .bordered_table {
      margin: 1ex 5px; } }
  .wp_wrapper table td,
  .bordered_table td {
    border: 1px solid #7095b0;
    padding: 0.6ex 1ex;
    vertical-align: middle;
    background: #ffffff; }
  .wp_wrapper table th,
  .bordered_table th {
    border: 1px solid #7095b0;
    color: #555555;
    padding: 0.6ex 1ex;
    vertical-align: middle;
    text-align: left;
    background: #edfcff; }
    .wp_wrapper table th.alignRight,
    .bordered_table th.alignRight {
      text-align: right; }
    .wp_wrapper table th.alignCenter,
    .bordered_table th.alignCenter {
      text-align: center; }
  .wp_wrapper table thead th,
  .bordered_table thead th {
    color: #1d669b;
    padding: 1ex 1em;
    background: #d1e0eb;
    text-align: center;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
  .wp_wrapper table tbody th,
  .bordered_table tbody th {
    text-align: center; }
  .wp_wrapper table caption,
  .bordered_table caption {
    text-align: right;
    caption-side: top; }
  .wp_wrapper table td.icon-cell,
  .bordered_table td.icon-cell {
    vertical-align: middle; }
    .wp_wrapper table td.icon-cell img,
    .bordered_table td.icon-cell img {
      width: 60px;
      display: block;
      margin: 2px auto; }
  .wp_wrapper table td.num-cell,
  .bordered_table td.num-cell {
    text-align: right; }
  .wp_wrapper table.simple th,
  .bordered_table.simple th {
    width: 45%; }
  @media only screen and (max-width: 767px) {
    .wp_wrapper table.simple,
    .bordered_table.simple {
      width: auto; }
      .wp_wrapper table.simple th,
      .bordered_table.simple th {
        width: auto; } }
  .wp_wrapper table.standard tbody th,
  .bordered_table.standard tbody th {
    width: 30%; }
  @media only screen and (max-width: 767px) {
    .wp_wrapper table.standard,
    .bordered_table.standard {
      width: auto; }
      .wp_wrapper table.standard tbody th,
      .bordered_table.standard tbody th {
        width: auto; } }
  @media only screen and (max-width: 767px) {
    .wp_wrapper table.recolumn, .wp_wrapper table.responsive_table_nojs,
    .bordered_table.recolumn,
    .bordered_table.responsive_table_nojs {
      display: block;
      box-sizing: border-box; }
      .wp_wrapper table.recolumn > *:first-child > tr:first-child > *:first-child,
      .wp_wrapper table.recolumn > tr:first-child > *:first-child, .wp_wrapper table.responsive_table_nojs > *:first-child > tr:first-child > *:first-child,
      .wp_wrapper table.responsive_table_nojs > tr:first-child > *:first-child,
      .bordered_table.recolumn > *:first-child > tr:first-child > *:first-child,
      .bordered_table.recolumn > tr:first-child > *:first-child,
      .bordered_table.responsive_table_nojs > *:first-child > tr:first-child > *:first-child,
      .bordered_table.responsive_table_nojs > tr:first-child > *:first-child {
        border-top: none; }
      .wp_wrapper table.recolumn thead,
      .wp_wrapper table.recolumn tbody,
      .wp_wrapper table.recolumn tr, .wp_wrapper table.responsive_table_nojs thead,
      .wp_wrapper table.responsive_table_nojs tbody,
      .wp_wrapper table.responsive_table_nojs tr,
      .bordered_table.recolumn thead,
      .bordered_table.recolumn tbody,
      .bordered_table.recolumn tr,
      .bordered_table.responsive_table_nojs thead,
      .bordered_table.responsive_table_nojs tbody,
      .bordered_table.responsive_table_nojs tr {
        display: block;
        width: 100%; }
      .wp_wrapper table.recolumn th,
      .wp_wrapper table.recolumn td, .wp_wrapper table.responsive_table_nojs th,
      .wp_wrapper table.responsive_table_nojs td,
      .bordered_table.recolumn th,
      .bordered_table.recolumn td,
      .bordered_table.responsive_table_nojs th,
      .bordered_table.responsive_table_nojs td {
        display: block;
        box-sizing: border-box;
        width: 100%;
        white-space: normal;
        border: 1px solid #7095b0;
        border-left: none;
        border-right: none;
        border-bottom: none;
        border-radius: 0; }
      .wp_wrapper table.recolumn.simple th, .wp_wrapper table.recolumn.standard th, .wp_wrapper table.responsive_table_nojs.simple th, .wp_wrapper table.responsive_table_nojs.standard th,
      .bordered_table.recolumn.simple th,
      .bordered_table.recolumn.standard th,
      .bordered_table.responsive_table_nojs.simple th,
      .bordered_table.responsive_table_nojs.standard th {
        width: 100%; } }
  .wp_wrapper table ul,
  .bordered_table ul {
    margin: 1ex 0;
    padding: 0 0 0 2em; }
  .wp_wrapper table .cell_middle,
  .bordered_table .cell_middle {
    vertical-align: middle; }

.table_wrapper {
  margin: 0 15px 1em; }
  .main_content > .content_section > .table_wrapper {
    margin: 0 15px 1em; }
    @media only screen and (max-width: 767px) {
      .main_content > .content_section > .table_wrapper {
        margin: 0 0 1em; } }
  .table_wrapper .bordered_table {
    width: 100%;
    margin: 0; }

.bordered_table.th_center th {
  text-align: center; }

@media only screen and (max-width: 767px) {
  .table_wrapper {
    width: auto;
    padding: 0;
    margin: 1ex 0 1em;
    overflow-x: auto; }
    .main_content > .table_wrapper {
      margin: 1ex 0 1em;
      min-height: 640px; }

  .table_wrapper .bordered_table {
    margin: 0; }

  .table_wrapper.fixed_table {
    position: relative; }
    .table_wrapper.fixed_table::after {
      content: "";
      width: 100%;
      height: 100%;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      background: rgba(0, 0, 0, 0.6) url(../img/swipe.png) 50% 50%/128px 128px no-repeat;
      cursor: pointer;
      transition: 0.3s all; }
    .table_wrapper.fixed_table.touched::after {
      opacity: 0;
      pointer-events: none; }
    .table_wrapper.fixed_table .bordered_table {
      width: 970px; } }
/*** misc ***/
.related_link > ul, .link_list {
  margin: 1em 0;
  padding: 0;
  list-style-type: none;
  line-height: 140%; }
  @media only screen and (max-width: 767px) {
    .related_link > ul, .link_list {
      border-bottom: 1px dotted #999999; } }
  .related_link > ul.float_li li,
  .link_list.float_li li {
    display: inline-block; }
    @media only screen and (max-width: 767px) {
      .related_link > ul.float_li li,
      .link_list.float_li li {
        display: block; } }
  .related_link > ul ul,
  .link_list ul {
    margin: 0;
    padding: 0 0 0 0;
    list-style-type: none; }
  ul .related_link > ul,
  ul .link_list {
    margin: 0 0 1ex;
    padding: 0;
    list-style-type: none; }
  .related_link > ul li, .link_list li {
    margin: 1ex 0;
    padding: 0 15px;
    list-style-type: none; }
    @media only screen and (max-width: 767px) {
      .related_link > ul li, .link_list li {
        margin: 0 0;
        padding: 0 0 0 15px;
        border-top: 1px dotted #999999; } }
  .related_link > ul a, .link_list a {
    margin: 0;
    padding: 0 0 0 15px;
    text-decoration: none;
    font-weight: bold;
    background: url(../img/arrow_right.png) 0 50% no-repeat;
    background-size: 6px 10px;
    display: inline-block; }
    .related_link > ul a.disable, .link_list a.disable {
      color: #999999;
      pointer-events: none; }
    .related_link > ul a:hover, .related_link > ul a:active, .link_list a:hover, .link_list a:active {
      text-decoration: underline; }
    @media only screen and (max-width: 767px) {
      .related_link > ul a, .link_list a {
        display: block;
        padding: 1.2ex 15px 1.2ex 28px;
        background-position: 10px 50%; } }

.ext::after,
.word::after,
.excel::after,
.download::after,
.pdf::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  background-size: contain;
  margin-left: 0.5ex; }

.ext::after {
  width: 16px;
  height: 14px;
  background: url(../img/icon_ext.png) 50% 50% no-repeat;
  background-size: contain; }

.pdf::after {
  width: 16px;
  height: 16px;
  background: url(../img/icon_pdf.png) 50% 50% no-repeat;
  background-size: contain; }

.word::after {
  width: 24px;
  height: 24px;
  background: url(../img/icon_word.png) 50% 50% no-repeat;
  background-size: contain; }

.excel::after {
  width: 24px;
  height: 24px;
  background: url(../img/icon_excel.png) 50% 50% no-repeat;
  background-size: contain; }

.download::after {
  width: 24px;
  height: 24px;
  background: url(../img/icon_download.png) 50% 50% no-repeat;
  background-size: contain; }

.btn, a.pickup_btn .pickup_label, a.catbtn_btn .catbtn_label {
  display: inline-block;
  padding: 1ex 3em;
  color: #333333;
  text-decoration: none;
  transition: 0.2s all;
  font-weight: 500;
  font-family: "M PLUS 1p", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: 0.1ex;
  background: #ffffff;
  border-radius: 0.5em;
  line-height: 1.8;
  border: 2px solid #333333; }
  @media only screen and (max-width: 767px) {
    .btn, a.pickup_btn .pickup_label, a.catbtn_btn .catbtn_label {
      padding: 0.5ex 1em; } }
  .btn::before, a.pickup_btn .pickup_label::before, a.catbtn_btn .catbtn_label::before {
    content: "";
    display: inline-block;
    vertical-align: -5%;
    width: 8px;
    min-height: 13px;
    height: 1em;
    background: url(../img/arrow_right.png) 50% 50%/6px 10px no-repeat;
    margin-right: 0.8em;
    transition: 0.3s; }
  .btn::after, a.pickup_btn .pickup_label::after, a.catbtn_btn .catbtn_label::after {
    content: "";
    display: inline-block;
    vertical-align: -5%;
    width: 8px;
    min-height: 13px;
    height: 1em;
    background: 50% 50% / contain no-repeat;
    margin-left: 0.5em; }
  .btn.btn_large, a.pickup_btn .btn_large.pickup_label, a.catbtn_btn .btn_large.catbtn_label {
    font-size: 120%;
    padding: 1ex 3em; }
  .btn:link, a.pickup_btn .pickup_label:link, a.catbtn_btn .catbtn_label:link, .btn:visited, a.pickup_btn .pickup_label:visited, a.catbtn_btn .catbtn_label:visited {
    color: #333333;
    text-decoration: none; }
  .btn:hover, a.pickup_btn .pickup_label:hover, a.catbtn_btn .catbtn_label:hover, .btn:active, a.pickup_btn .pickup_label:active, a.catbtn_btn .catbtn_label:active, a:hover .btn, a:hover a.pickup_btn .pickup_label, a.pickup_btn a:hover .pickup_label, a:hover a.catbtn_btn .catbtn_label, a.catbtn_btn a:hover .catbtn_label, a:active .btn, a:active a.pickup_btn .pickup_label, a.pickup_btn a:active .pickup_label, a:active a.catbtn_btn .catbtn_label, a.catbtn_btn a:active .catbtn_label {
    color: #ffffff;
    background-color: #ff624d; }
    .btn:hover::before, a.pickup_btn .pickup_label:hover::before, a.catbtn_btn .catbtn_label:hover::before, .btn:active::before, a.pickup_btn .pickup_label:active::before, a.catbtn_btn .catbtn_label:active::before, a:hover .btn::before, a:hover a.pickup_btn .pickup_label::before, a.pickup_btn a:hover .pickup_label::before, a:hover a.catbtn_btn .catbtn_label::before, a.catbtn_btn a:hover .catbtn_label::before, a:active .btn::before, a:active a.pickup_btn .pickup_label::before, a.pickup_btn a:active .pickup_label::before, a:active a.catbtn_btn .catbtn_label::before, a.catbtn_btn a:active .catbtn_label::before {
      transform: translateX(3px);
      background-image: url(../img/arrow_right_white.png); }
  .btn.ext::after, a.pickup_btn .ext.pickup_label::after, a.catbtn_btn .ext.catbtn_label::after {
    width: 16px;
    height: 14px;
    background-image: url(../img/icon_ext.png); }
  .btn.pdf::after, a.pickup_btn .pdf.pickup_label::after, a.catbtn_btn .pdf.catbtn_label::after {
    width: 16px;
    height: 16px;
    background-image: url(../img/icon_pdf.png); }
  .btn > span, a.pickup_btn .pickup_label > span, a.catbtn_btn .catbtn_label > span {
    display: inline-block;
    transform: rotate(0.05deg); }

a.link_more {
  display: inline-block;
  font-family: "roboto", sans-serif;
  letter-spacing: 0.2ex; }
  a.link_more::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 22px;
    height: 12px;
    background: url(../img/arrow_black.png) 50% 50%/contain no-repeat;
    margin-left: 0.6ex; }

.icon_new {
  display: inline-block;
  color: #ffffff;
  vertical-align: middle;
  margin: 0 1ex;
  font-size: 70%;
  line-height: 1.1;
  padding: 0.7ex 1.2em;
  font-family: arial, sans-serif;
  background-color: #d60000;
  border-radius: 1em; }

.anchor_link {
  margin: 1em 0;
  padding: 0.8em 0 0.8em 2em;
  list-style-type: none;
  background: #ffffff;
  position: relative;
  border-radius: 5px;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  .anchor_link.single_column {
    display: block; }
  .anchor_link:first-child {
    margin-top: 0; }
  .anchor_link li {
    margin: 0 0 0 0;
    padding: 0 2em 0 0; }
  .anchor_link a {
    font-family: "M PLUS 1p", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    padding: 0 0 0 16px;
    background: url(../img/arrow_anchor.png) 0 50% no-repeat;
    background-size: 10px 10px;
    text-decoration: none;
    font-weight: bold;
    font-size: 100%;
    transition: 0.2s all;
    letter-spacing: 0.1ex;
    transform: rotate(0.05deg); }
    .anchor_link a:hover, .anchor_link a:active {
      color: #7bba2a;
      background-position: 0 70%; }
    .anchor_link a.ext {
      background-image: url(../img/icon_ext.png); }
  @media only screen and (min-width: 768px) {
    .lead > .anchor_link:first-child::after {
      content: "";
      display: block;
      position: absolute;
      background: url(../img/anchor_link_decorate.png) 50% 50%/contain no-repeat;
      width: 72px;
      height: 68px;
      right: 30px;
      bottom: 100%;
      z-index: 2; } }

.boxed {
  padding: 20px;
  border: 1px solid #e5e2db;
  margin-bottom: 20px;
  background-color: #ffffff;
  border-radius: 5px; }
  .boxed > *:first-child {
    margin-top: 0;
    padding-top: 0; }
  .boxed > *:last-child {
    margin-bottom: 0;
    padding-bottom: 0; }
  .main_content > .boxed {
    margin-left: 15px;
    min-height: 640px;
    margin-right: 15px; }

.colored_box {
  padding: 15px;
  background: url(../img/colored_box_bg.png);
  margin-bottom: 10px;
  border-radius: 15px;
  border: 2px solid #ffd89b; }
  .colored_box > *:first-child {
    margin-top: 0;
    padding-top: 0; }
  .colored_box > *:last-child {
    margin-bottom: 0;
    padding-bottom: 0; }
  .main_content > .colored_box {
    margin-left: 15px;
    min-height: 640px;
    margin-right: 15px; }
  .colored_box h5 {
    background-color: #ffffff; }

.youtube {
  margin: 5px auto;
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }

.shadowed {
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); }

.round_img {
  border-radius: 15px; }

.topics_list {
  list-style-type: none;
  padding: 0;
  margin: 0; }
  .topics_list.no_thumb > li a {
    width: 100%;
    display: flex;
    align-items: stretch; }
    @media only screen and (max-width: 767px) {
      .topics_list.no_thumb > li a {
        display: block; } }
  .topics_list.no_thumb > li .topics_list_date {
    display: block;
    font-size: 90%;
    color: #f1875a;
    font-family: Arial, Helvetica, "sans-serif"; }
  .topics_list.no_thumb > li .topics_list_cat {
    display: block;
    padding: 0 1ex;
    max-width: 140px; }
    @media only screen and (max-width: 767px) {
      .topics_list.no_thumb > li .topics_list_cat {
        max-width: none; } }
  .topics_list.no_thumb > li .topics_list_title {
    display: block;
    margin-top: 0;
    font-size: 100%;
    flex-grow: 1; }
  .topics_list > li {
    padding: 0.3ex 0;
    margin: 0;
    line-height: 170%;
    color: #333333;
    text-decoration: none;
    box-sizing: border-box;
    border-bottom: 1px dotted #bbbbbb; }
    .topics_list > li:last-child {
      border-bottom: none; }
    .topics_list > li a {
      padding: 0.7ex 10px;
      margin: 0 -10px;
      transition: 0.2s all;
      display: flex;
      border-radius: 3px; }
      .topics_list > li a:link, .topics_list > li a:visited {
        color: #333333;
        text-decoration: none; }
      .topics_list > li a:hover, .topics_list > li a:active {
        color: #333333;
        text-decoration: none;
        background: #fff9e6; }
      .topics_list > li a.disable {
        cursor: default;
        pointer-events: none; }
    .topics_list > li .topics_list_img {
      width: 100px;
      min-width: 100px;
      max-width: 100px;
      padding-right: 20px; }
      @media only screen and (max-width: 767px) {
        .topics_list > li .topics_list_img {
          flex-grow: 1; } }
      .topics_list > li .topics_list_img img {
        display: block;
        border-radius: 10px; }
    .topics_list > li .topics_list_content {
      flex-grow: 1; }
    .topics_list > li .topics_list_attr {
      font-size: 85%;
      line-height: 1.2; }
      .topics_list > li .topics_list_attr .topics_list_date {
        white-space: nowrap;
        font-family: Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        vertical-align: middle;
        color: #111111; }
      .topics_list > li .topics_list_attr .topics_list_cat {
        vertical-align: middle; }
        @media only screen and (max-width: 767px) {
          .topics_list > li .topics_list_attr .topics_list_cat {
            display: block; } }
        .topics_list > li .topics_list_attr .topics_list_cat::before {
          content: " ｜ "; }
          @media only screen and (max-width: 767px) {
            .topics_list > li .topics_list_attr .topics_list_cat::before {
              content: none; } }
    .topics_list > li .topics_list_title {
      margin-top: 0.5ex;
      font-size: 95%; }
      @media only screen and (max-width: 767px) {
        .topics_list > li .topics_list_title {
          margin-top: 1ex;
          padding: 0 15px; } }

.campaign_list {
  margin: 0 -20px;
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 767px) {
    .campaign_list {
      margin: 0; } }
  .campaign_list li {
    box-sizing: border-box;
    margin: 0;
    width: 260px;
    padding: 0 20px; }
    @media only screen and (max-width: 767px) {
      .campaign_list li {
        padding: 0 10px;
        width: 50%;
        box-sizing: border-box; } }
    .campaign_list li a {
      display: block;
      line-height: 1.6;
      transform: translateY(0);
      opacity: 1;
      transition: 0.3s all; }
      .campaign_list li a:link, .campaign_list li a:visited, .campaign_list li a:hover, .campaign_list li a:active {
        text-decoration: none;
        color: #333333; }
      .campaign_list li a:hover, .campaign_list li a:active {
        transform: translateY(3px);
        opacity: 0.7; }
      .campaign_list li a .campaign_list_img {
        border: 1px solid #d4d4d4;
        margin-bottom: 1.2ex;
        padding: 15px;
        height: 130px;
        box-sizing: border-box;
        background-color: #ffffff; }
        @media only screen and (max-width: 767px) {
          .campaign_list li a .campaign_list_img {
            height: auto; } }
        .campaign_list li a .campaign_list_img img {
          display: block;
          max-width: 100%;
          max-height: 100px;
          margin: auto; }
      .campaign_list li a .campaign_list_date {
        font-size: 85%;
        white-space: nowrap;
        font-family: Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        vertical-align: middle;
        color: #111111; }
      .campaign_list li a .campaign_list_title {
        color: #111111;
        padding: 0.5ex 0;
        font-size: 95%;
        font-weight: bold; }
      .campaign_list li a .campaign_list_content {
        font-size: 85%; }

.topics_card_list {
  margin: 0 -15px;
  padding: 0;
  list-style-type: none;
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 767px) {
    .topics_card_list {
      margin: 0 -10px; } }
  .topics_card_list li {
    margin: 0;
    padding: 10px;
    width: 33.33%;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .topics_card_list li {
        padding: 10px;
        width: 50%; } }
    .topics_card_list li a {
      height: 100%;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
      text-decoration: none;
      color: #333333;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      transition: 0.2s all; }
      .topics_card_list li a.disable {
        cursor: default;
        pointer-events: none; }
      .topics_card_list li a:hover:not(.disable), .topics_card_list li a:active:not(.disable) {
        transform: translateY(3px); }
    .topics_card_list li .topics_list_img {
      display: block;
      background: #ffffff;
      min-height: 0%; }
      .topics_card_list li .topics_list_img img {
        display: block;
        max-width: 100%;
        margin: auto;
        vertical-align: middle; }
    .topics_card_list li .label_cat_list {
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 5px; }
      @media only screen and (max-width: 767px) {
        .topics_card_list li .label_cat_list {
          flex-direction: column;
          justify-content: center; } }
    .topics_card_list li .topics_list_attr {
      align-items: center;
      line-height: 1.6; }
    .topics_card_list li .topics_list_date {
      display: block;
      color: #6d6d6d;
      font-size: 90%; }
    .topics_card_list li .topics_list_cat {
      display: block; }
    .topics_card_list li .topics_list_title {
      display: block;
      color: #000000;
      line-height: 1.6;
      margin-top: 1ex; }
    .topics_card_list li .topics_list_desc {
      display: block;
      padding: 15px;
      box-sizing: border-box;
      background-color: #fff;
      flex-grow: 1; }

.label_cat {
  display: inline-block;
  padding: 0.5ex 1em;
  background: #05cb70;
  font-family: "M PLUS 1p", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #ffffff;
  line-height: 1.2;
  font-size: 90%;
  vertical-align: middle;
  border-radius: 3px;
  margin-right: 5px;
  white-space: nowrap;
  min-width: 110px;
  text-align: center; }

.label_topics {
  background-color: #23b3dc; }

.label_event {
  background-color: #ba6fd6; }

.label_media {
  background-color: #4f89f3; }

.label_chuokai {
  background-color: #f34f6e; }

.label_youth-farmer {
  background-color: #78b2f4; }

.thumb_list {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: table;
  width: 100%; }
  .thumb_list > li {
    padding: 0;
    margin: 0;
    line-height: 170%;
    display: table-row-group;
    color: #333333;
    text-decoration: none;
    box-sizing: border-box; }
    .thumb_list > li > * {
      display: table-row; }
      .thumb_list > li > * > * {
        display: table-cell;
        padding: 1em 1.5ex;
        border-bottom: 1px solid #dcdcdc; }
    .thumb_list > li:last-child > * > * {
      border-bottom: none; }
    .thumb_list > li a {
      transition: 0.2s all; }
      .thumb_list > li a:link, .thumb_list > li a:visited {
        color: #333333;
        text-decoration: none; }
      .thumb_list > li a:hover, .thumb_list > li a:active {
        color: #333333;
        background-color: #f7e8aa;
        text-decoration: none; }
        .thumb_list > li a:hover .topics_list_title, .thumb_list > li a:active .topics_list_title {
          text-decoration: underline; }
      .thumb_list > li a.disable {
        cursor: default;
        pointer-events: none; }
        .thumb_list > li a.disable .topics_list_title {
          text-decoration: none; }
    .thumb_list > li .topics_list_img {
      width: 120px;
      vertical-align: top; }
      .thumb_list > li .topics_list_img img {
        display: block;
        width: 100%; }
    .thumb_list > li .topics_list_date {
      white-space: nowrap;
      font-family: Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
      padding: 0.5ex 1ex;
      vertical-align: middle;
      color: #666666; }
    .thumb_list > li .topics_list_title {
      padding: 0.5ex 1ex;
      width: 100%;
      background: url(../img/topics_arrow.png) 100% 50% no-repeat;
      background-size: 16px 16px;
      vertical-align: middle; }

.pickup_list {
  padding: 0;
  list-style-type: none;
  align-items: stretch; }
  .pickup_list li {
    margin: 0;
    padding: 10px;
    display: flex; }

a.pickup_btn {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  border-radius: 15px;
  overflow: hidden;
  text-decoration: none;
  transition: 0.2s all cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transform: translateY(0);
  border: 2px solid #333333; }
  a.pickup_btn.disable {
    cursor: default;
    pointer-events: none; }
  a.pickup_btn:hover:not(.disable), a.pickup_btn:active:not(.disable) {
    transform: translateY(2px); }
    a.pickup_btn:hover:not(.disable) .pickup_img img, a.pickup_btn:active:not(.disable) .pickup_img img {
      transform: scale(1.1); }
    a.pickup_btn:hover:not(.disable) .pickup_label, a.pickup_btn:active:not(.disable) .pickup_label {
      background-color: #ff624d; }
      a.pickup_btn:hover:not(.disable) .pickup_label::before, a.pickup_btn:active:not(.disable) .pickup_label::before {
        transform: translateX(3px); }
  a.pickup_btn .pickup_img {
    display: block;
    overflow: hidden; }
    a.pickup_btn .pickup_img img {
      vertical-align: middle;
      transition: 0.4s all cubic-bezier(0.455, 0.03, 0.515, 0.955);
      width: 100%;
      margin: auto;
      display: block; }
  a.pickup_btn .pickup_label {
    border: none;
    text-align: center;
    height: 100%;
    flex-shrink: 1000;
    border-radius: 0 0 2px 2px;
    padding: 0.5ex 1em; }
    a.pickup_btn .pickup_label::before {
      transition: 0.3s all; }

.catbtn_list {
  margin: 0 -10px;
  padding: 0;
  list-style-type: none;
  align-items: stretch;
  display: flex;
  flex-wrap: wrap; }
  .catbtn_list li {
    margin: 0;
    padding: 10px;
    width: 50%;
    box-sizing: border-box;
    display: flex; }
    @media only screen and (max-width: 767px) {
      .catbtn_list li {
        padding: 5px 10px;
        width: 100%; } }

a.catbtn_btn {
  display: flex;
  align-items: stretch;
  width: 100%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  border-radius: 2px 2px;
  overflow: hidden;
  text-decoration: none;
  transition: 0.2s all cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transform: translateY(0); }
  a.catbtn_btn:hover, a.catbtn_btn:active {
    transform: translateY(2px); }
    a.catbtn_btn:hover .catbtn_label, a.catbtn_btn:active .catbtn_label {
      background-color: #84c2cf;
      color: #ffffff;
      border-color: #84c2cf; }
      a.catbtn_btn:hover .catbtn_label::before, a.catbtn_btn:active .catbtn_label::before {
        background-image: url(../img/arrow_white.png); }
  a.catbtn_btn .catbtn_img {
    width: 30%;
    display: block;
    overflow: hidden;
    padding: 5%;
    box-sizing: border-box; }
    a.catbtn_btn .catbtn_img img {
      vertical-align: middle;
      transition: 0.4s all cubic-bezier(0.455, 0.03, 0.515, 0.955);
      width: 100%; }
  a.catbtn_btn .catbtn_label {
    width: 70%;
    border: none;
    display: flex;
    align-items: center;
    font-size: 105%;
    padding: 1ex 1em;
    justify-content: start; }
    a.catbtn_btn .catbtn_label::before {
      min-width: 7px; }

.pdf_list_column > li {
  margin: 1ex 0; }
  .pdf_list_column > li a {
    text-align: center; }
    .pdf_list_column > li a img {
      width: 90%;
      margin: 1ex auto 1ex;
      display: block;
      border-radius: 5px;
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); }

.columned.img_column > *:first-child {
  width: 28%; }
  @media only screen and (max-width: 767px) {
    .columned.img_column > *:first-child {
      width: 100%; } }
.columned.img_column > *:last-child {
  padding-left: 20px;
  width: 72%; }
  @media only screen and (max-width: 767px) {
    .columned.img_column > *:last-child {
      width: 100%;
      padding-left: 10px; } }

.tabled_list {
  margin: 1ex 0;
  padding: 0;
  list-style-type: none;
  display: table; }
  .main_content > .tabled_list {
    margin-left: 15px;
    min-height: 640px;
    margin-right: 15px; }
  .tabled_list > li {
    margin: 0;
    padding: 0;
    display: table-row; }
    .tabled_list > li > div,
    .tabled_list > li > span {
      display: table-cell; }
      .tabled_list > li > div:first-child,
      .tabled_list > li > span:first-child {
        width: 1ex;
        white-space: nowrap;
        padding-right: 1ex; }

.main .article_date {
  text-align: left;
  font-size: 130%;
  letter-spacing: 0.3ex;
  font-family: "roboto", sans-serif; }
  @media only screen and (max-width: 767px) {
    .main .article_date {
      margin-top: 0;
      font-size: 100%;
      letter-spacing: 0.1ex;
      margin: 0 10px 0; } }
  .main .article_date + * {
    margin-top: 0; }

.columned {
  display: flex;
  margin: 0 -10px;
  margin-left: -10px;
  margin-right: -10px;
  padding: 0;
  list-style-type: none;
  flex-wrap: wrap; }
  .columned.row_reverse {
    flex-direction: row-reverse; }
  .columned.column_reverse {
    flex-direction: column-reverse; }
  .columned > * {
    margin: 0 0 1em;
    box-sizing: border-box;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
    position: relative; }

@media only screen and (min-width: 768px) {
  .pc_column2.img_column > *:first-child {
    width: 40%; }
  .pc_column2.img_column > *:last-child {
    width: 60%; } }

.pc_column2 > * {
  width: 50%; }

.pc_column3 > * {
  width: 33.33%; }

.pc_column4 > * {
  width: 25.00%; }

.pc_column5 > * {
  width: 20.00%; }

.pc_column6 > * {
  width: 16.66%; }

.pc_column7 > * {
  width: 14.28%; }

.pc_column8 > * {
  width: 12.5%; }

@media only screen and (max-width: 767px) {
  .sp_column1 > * {
    width: 100%; }

  .sp_column2 > * {
    width: 50%; }

  .sp_column3 > * {
    width: 33.33%; }

  .sp_column4 > * {
    width: 25.00%; }

  .sp_column5 > * {
    width: 20.00%; } }
.huge_tel_number {
  font-size: 180%;
  font-family: Tahoma, Geneva, sans-serif;
  font-weight: bold;
  color: #38b44f;
  white-space: nowrap;
  line-height: 1.2; }
  .huge_tel_number::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    background: url(../img/icon_tel.svg) 50% 50% no-repeat;
    background-size: contain;
    margin-right: 0.5ex;
    height: 1em;
    width: 1em; }
  .huge_tel_number.freedial::before {
    background: url(../img/icon_freedial.svg) 50% 50% no-repeat;
    background-size: contain;
    width: 1.75em; }

.yellow_marker {
  background: #f1ff55; }

.nowrap {
  white-space: nowrap; }

a.sinker, .pdf_list_column > li a {
  display: inline-block;
  vertical-align: middle;
  transition: 0.3s all;
  opacity: 1; }
  a.sinker img, .pdf_list_column > li a img {
    vertical-align: middle; }
  a.sinker:hover, .pdf_list_column > li a:hover, a.sinker:active, .pdf_list_column > li a:active {
    transform: translateY(3px);
    opacity: 0.7; }

.jamap_container {
  width: 560px;
  height: 480px;
  position: relative;
  margin: auto;
  max-width: 100%; }
  @media only screen and (max-width: 767px) {
    .jamap_container {
      width: 100%;
      height: auto; } }
  .jamap_container .jamap_overlay {
    width: 100%;
    height: 100%;
    pointer-events: none; }
    .jamap_container .jamap_overlay ul,
    .jamap_container .jamap_overlay li {
      margin: 0;
      padding: 0;
      width: 100%;
      height: 100%;
      position: absolute;
      list-style-type: none;
      top: 0;
      left: 0; }
    .jamap_container .jamap_overlay img {
      position: absolute;
      top: 0;
      left: 0; }
  .jamap_container img {
    display: block; }

.init {
  opacity: 0; }

.tilt {
  animation-duration: 3s;
  animation-timing-function: ease-out;
  animation-iteration-count: 1;
  animation-name: tilt;
  transform-origin: 50% 0; }

.init .tilt {
  animation-name: none; }

@keyframes tilt {
  0% {
    transform: rotate(0deg); }
  20% {
    transform: rotate(15deg); }
  40% {
    transform: rotate(-10deg); }
  60% {
    transform: rotate(5deg); }
  80% {
    transform: rotate(-5deg); }
  100% {
    transform: rotate(0deg); } }
.lum-lightbox.lum-open {
  z-index: 530000; }


.article_info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
			-ms-flex-align: center;
					align-items: center;
	-ms-flex-wrap: wrap;
			flex-wrap: wrap;
}

.article_ja {
	margin-right: 10px;
}
.article_ja ._link {
	-webkit-transition: opacity 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
	-o-transition: opacity 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
	transition: opacity 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 50px;
	-webkit-box-align: center;
			-ms-flex-align: center;
					align-items: center;
	-webkit-box-pack: center;
			-ms-flex-pack: center;
					justify-content: center;
	line-height: 1;
	padding: 10px 30px;
	border-radius: 5px;
	background-color: #555;
	color: #fff;
	text-decoration: none;
	-webkit-box-sizing: border-box;
					box-sizing: border-box;
	font-weight: bold;
}
.article_ja ._link:hover {
	opacity: 0.7;
}
.article_ja ._link.disable {
	pointer-events: none;
}
.article_ja ._link._echigo-joetsu {
	background-color: #0fa158;
}
.article_ja ._link._hisui {
	background-color: #17bb69;
}
.article_ja ._link._echigo-nagaoka {
	background-color: #bf9a07;
}
.article_ja ._link._echigo-santou {
	background-color: #008463;
}
.article_ja ._link._niigata-nankan {
	background-color: #bf6b17;
}
.article_ja ._link._kasiwazaki {
	background-color: #1daac3;
}
.article_ja ._link._kita-uonuma {
	background-color: #0b6639;
}
.article_ja ._link._minami-uonuma {
	background-color: #67c136;
}
.article_ja ._link._tokamachi {
	background-color: #83c85e;
}
.article_ja ._link._tsunan {
	background-color: #4b6fb3;
}
.article_ja ._link._niigatashi {
	background-color: #f083b4;
}
.article_ja ._link._niigata-iwafune {
	background-color: #dd6c6c;
}
.article_ja ._link._kamihayashi {
	background-color: #867ece;
}
.article_ja ._link._kitakan-minami {
	background-color: #d93d3d;
}
.article_ja ._link._sasakami {
	background-color: #a1834b;
}
.article_ja ._link._kitaechigo {
	background-color: #4c995f;
}
.article_ja ._link._tainai {
	background-color: #678fb7;
}
.article_ja ._link._niigata-mirai {
	background-color: #bd7032;
}
.article_ja ._link._niidu-satsuki {
	background-color: #3a7dbf;
}
.article_ja ._link._echigo-chuo {
	background-color: #0034ae;
}
.article_ja ._link._sado {
	background-color: #40973c;
}
.article_ja ._link._hamochi {
	background-color: #d96a6a;
}
.article_ja ._link._echigo-ojiya {
	background-color: #002466;
}
.article_ja ._link._groupniigata {
	background-color: #006633;
}
.article_ja ._link.ext::after {
	background-image: url("../img/icon_ext_white.png");
}

.article_sdgs ._icon_list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
			flex-wrap: wrap;
	-webkit-box-align: center;
			-ms-flex-align: center;
					align-items: center;
}
.article_sdgs ._icon_list ._item {
	padding: 3px;
	-webkit-box-sizing: border-box;
					box-sizing: border-box;
}
.article_sdgs ._icon_list ._item ._icon {
	display: block;
	width: 50px;
}
.article_sdgs ._icon_list ._item ._icon img {
	display: block;
	max-width: 100%;
}

.label_cat.label_echigo-joetsu {
	background-color: #0fa158;
}
.label_cat.label_hisui {
	background-color: #17bb69;
}
.label_cat.label_echigo-nagaoka {
	background-color: #bf9a07;
}
.label_cat.label_echigo-santou {
	background-color: #008463;
}
.label_cat.label_niigata-nankan {
	background-color: #bf6b17;
}
.label_cat.label_kasiwazaki {
	background-color: #1daac3;
}
.label_cat.label_kita-uonuma {
	background-color: #0b6639;
}
.label_cat.label_minami-uonuma {
	background-color: #67c136;
}
.label_cat.label_tokamachi {
	background-color: #83c85e;
}
.label_cat.label_tsunan {
	background-color: #4b6fb3;
}
.label_cat.label_niigatashi {
	background-color: #f083b4;
}
.label_cat.label_niigata-iwafune {
	background-color: #dd6c6c;
}
.label_cat.label_kamihayashi {
	background-color: #867ece;
}
.label_cat.label_kitakan-minami {
	background-color: #d93d3d;
}
.label_cat.label_sasakami {
	background-color: #a1834b;
}
.label_cat.label_kitaechigo {
	background-color: #4c995f;
}
.label_cat.label_tainai {
	background-color: #678fb7;
}
.label_cat.label_niigata-mirai {
	background-color: #bd7032;
}
.label_cat.label_niidu-satsuki {
	background-color: #3a7dbf;
}
.label_cat.label_echigo-chuo {
	background-color: #0034ae;
}
.label_cat.label_sado {
	background-color: #40973c;
}
.label_cat.label_hamochi {
	background-color: #d96a6a;
}
.label_cat.label_echigo-ojiya {
	background-color: #002466;
}
.label_cat.label_groupniigata {
	background-color: #006633;
}