.mod-title-visual {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

.cf:before,
.cf:after {
  content: " ";
  display: table; }

.cf:after {
  clear: both; }

.cf {
  *zoom: 1; }

.br-sp {
  display: none; }

@media screen and (max-width: 640px) {
  .br-pc {
    display: none; } }

.btn-container {
  margin: 20px auto; }
  .btn-container .mod-btn {
    width: 260px; }

.btn-container--3 {
  width: 760px; }
  .btn-container--3 .mod-btn {
    float: left;
    padding: 0 10px;
    width: 33.333%; }

.btn-container--4 {
  width: 760px; }
  .btn-container--4 .mod-btn {
    float: left;
    padding: 0 5px;
    width: 25%; }

.mod-text-open:after {
  content: "";
  width: 9px;
  height: 6px;
  display: inline-block;
  background-image: url(../img/ico-readmore-arrow.png);
  background-size: 9px auto;
  background-repeat: no-repeat;
  margin-left: 8px; }

.mod-text-open.mod-text-open--white:after {
  background-image: url(../img/ico-readmore-arrow-white.png); }

#tmpl_main .mod-btn:hover {
  text-decoration: none !important; }

.mod-btn {
  width: auto;
  margin: 0 auto;
  text-decoration: none;
  font-size: 14px;
  font-family: "SST W15 Bold", sans-serif !important;
  font-weight: normal;
  display: block;
  box-sizing: border-box;
  text-align: center; }
  .mod-btn:hover .mod-btn__inner {
    background-color: #bfbfbf; }
  .mod-btn:hover {
    text-decoration: none; }
  .mod-btn.is-external .mod-btn__content:after {
    content: "";
    display: inline-block;
    margin-left: 10px;
    background-image: url(../img/ico-external.png);
    width: 11px;
    height: 9px;
    background-size: 11px auto;
    background-repeat: no-repeat; }
  .mod-btn.is-anchor .mod-btn__content:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -6px;
    background-image: url(../img/ico-anchor.png);
    width: 9px;
    height: 11px;
    background-size: 9px auto;
    background-repeat: no-repeat; }

.mod-btn__inner {
  position: relative;
  width: 100%;
  display: table;
  color: #5d5d5d;
  background-color: #dadada;
  height: 60px;
  box-sizing: border-box;
  padding: 0 10px;
  -webkit-transition: 0.1s background-color linear;
  transition: 0.1s background-color linear; }

.mod-btn__content {
  display: table-cell;
  vertical-align: middle; }

.mod-btn--02 .mod-btn__inner {
  height: 73px; }

.mod-pagetop {
  display: block;
  width: 60px;
  height: 60px;
  position: absolute;
  right: 0;
  box-sizing: border-box;
  background-color: #000;
  background-image: url(../img/ico-pagetop.png);
  background-repeat: no-repeat;
  background-size: 16px 13px;
  background-position: center center;
  text-indent: -9999px;
  -webkit-transition: 0.1s opacity linear;
  transition: 0.1s opacity linear; }

.mod-sitemap-open {
  display: none; }

.mod-pagetop:hover {
  opacity: 0.8; }

@media screen and (max-width: 640px) {
  .contents-block .mod-btn {
    font-size: 13px; }
  .btn-container .mod-btn {
    float: none;
    margin-top: 10px; }
  .btn-container .mod-btn:first-child {
    margin-top: 0; }
  .btn-container--3,
  .btn-container--4 {
    width: auto; }
    .btn-container--3 .mod-btn,
    .btn-container--4 .mod-btn {
      padding: 0 0;
      width: auto; }
  .mod-btn--02 .mod-btn__inner {
    height: 60px; }
  .mod-pagetop {
    width: 100%;
    height: 48px;
    position: static; }
  .mod-sitemap-open {
    font-size: 12px !important;
    display: block;
    width: auto;
    background-color: #404043;
    color: #fff;
    font-family: "SST W15 Bold", sans-serif;
    font-size: 14px;
    margin-left: -18px;
    margin-right: -18px;
    padding-left: 18px;
    padding-right: 18px;
    line-height: 42px;
    position: relative;
    letter-spacing: 0.04em; }
    .mod-sitemap-open:after {
      content: "";
      display: block;
      background: url(../img/ico-sitemap-open.png) left top no-repeat;
      width: 15px;
      height: 8px;
      background-size: 15px 8px;
      position: absolute;
      right: 18px;
      top: 17px; }
  .mod-sitemap-open:hover {
    text-decoration: none !important; }
  .mod-sitemap-open.is-open:after {
    background-image: url(../img/ico-sitemap-close.png); }
  .use-js .mod-sitemap-open {
    display: block; }
  .mod-sitemap-open {
    display: none; } }

.mod-mainvisual {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  height: 400px; }

@media screen and (min-width: 641px) {
  .mod-mainvisual {
    min-width: 1190px; } }

@media screen and (max-width: 640px) {
  .mod-mainvisual {
    height: 300px; } }

@media screen and (max-width: 640px) {
  .mod-mainvisual {
    height: 200px; } }

.mod-blockvisual {
  position: relative;
  width: 1190px;
  height: 370px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  margin-left: auto;
  margin-right: auto; }

.mod-blockvisual--border {
  border: 1px solid #eeeeee; }

.mod-blockvisual--wide {
  width: 100%; }

.mod-title-visual {
  width: 90%;
  text-align: center;
  margin: 0;
  font-weight: 300;
  font-size: 25px;
  color: #fff;
  letter-spacing: 0.08em; }

.mod-title-visual--small {
  font-size: 25px; }

.mod-blockvisual--liquid {
  height: auto; }
  .mod-blockvisual--liquid img {
    width: 100%;
    height: auto;
    vertical-align: top; }

@media screen and (max-width: 640px) {
  .mod-blockvisual {
    width: auto;
    height: 230px; }
  .mod-blockvisual--liquid {
    height: auto; } }

@media screen and (max-width: 640px) {
  .mod-blockvisual {
    width: auto;
    height: 150px; }
  .mod-blockvisual--liquid {
    height: auto; } }

.mod-title {
  font-size: 31px;
  font-family: "SST W15 Bold", sans-serif;
  margin: 0;
  text-align: center; }

.mod-contents-top .mod-title {
  margin-bottom: 25px;
  color: #656565; }

.mod-title-02 {
  font-size: 31px;
  font-weight: normal;
  margin: 0;
  text-align: center;
  letter-spacing: 0;
  line-height: 1.3; }

@media screen and (max-width: 640px) {
  .mod-title {
    font-size: 25px; }
  .mod-title-02 {
    font-size: 25px; } }

@media screen and (min-width: 641px) {
  .mod-block {
    min-width: 1190px; }
  .mod-block--inner {
    padding-left: 0;
    padding-right: 0; } }

.mod-table {
  table-layout: fixed;
  color: #666666;
  border-collapse: collapse;
  text-align: left;
  font-size: 14px; }
  .mod-table td,
  .mod-table th {
    position: relative;
    font-size: 14px;
    border-bottom: 1px solid #e6e6e6;
    vertical-align: middle;
    padding: 27px 0;
    box-sizing: border-box; }
  .mod-table th {
    color: #656565;
    width: 230px;
    font-size: 14px;
    line-height: 1.6;
    text-align: left;
    font-family: "SST W15 Bold", sans-serif;
    font-weight: normal;
    padding-right: 15px; }

.mod-table-btn-container {
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 160px; }
  .mod-table-btn-container .mod-btn {
    margin-top: 10px; }
  .mod-table-btn-container .mod-btn__inner {
    min-height: 50px;
    height: 50px; }
  .mod-table-btn-container .mod-btn:first-child {
    margin-top: 0; }

@media screen and (min-width: 641px) {
  .mod-table-cell__txt {
    padding-right: 360px; }
  .mod-table-cell__inner {
    height: 100%;
    position: relative; }
  .mod-table-btn-container .mod-btn {
    width: 160px; }
  .mod-table-btn-container--horizon {
    width: 340px;
    text-align: right; }
    .mod-table-btn-container--horizon .mod-btn {
      margin-top: 0;
      display: inline-block;
      width: 160px;
      margin-left: 7px; } }

@media screen and (max-width: 640px) {
  .mod-table {
    width: 100%;
    display: block; }
    .mod-table tr {
      display: block; }
    .mod-table th {
      width: auto;
      border-bottom: none; }
    .mod-table td,
    .mod-table th {
      display: block;
      position: relative;
      padding: 26px 0; }
    .mod-table td {
      padding-top: 0; }
    .mod-table .mod-table-cell--button {
      padding-right: 0; }
  .mod-table-btn-container {
    position: static;
    margin-top: 20px;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
    width: auto; }
    .mod-table-btn-container .mod-btn__inner {
      min-height: 60px;
      height: 60px; }
  .mod-table-btn-container--horizon {
    width: auto; }
    .mod-table-btn-container--horizon .mod-btn {
      display: block;
      width: auto; } }

.mod-btn-menu {
  width: 24px;
  height: 28px; }

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  box-sizing: border-box;
  -webkit-transition: all .4s;
  transition: all .4s; }

.menu-trigger {
  position: relative;
  width: 18px;
  height: 19px;
  top: 8px; }

.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #999999; }

.menu-trigger span:nth-of-type(1) {
  top: 0; }

.menu-trigger span:nth-of-type(2) {
  top: 5px; }

.menu-trigger span:nth-of-type(3) {
  top: 10px; }

.is-localmenu-open .menu-trigger span:nth-of-type(1) {
  -webkit-transform: translateY(5px) rotate(-45deg);
  -ms-transform: translateY(5px) rotate(-45deg);
      transform: translateY(5px) rotate(-45deg); }

.is-localmenu-open .menu-trigger span:nth-of-type(2) {
  left: 50%;
  -webkit-animation: active-menu-bar02 .8s forwards;
  animation: active-menu-bar02 .8s forwards;
  opacity: 0; }

.c-menu__block--sort {
  display: none; }

.top .c-menu__block--sort {
  display: block; }

@-webkit-keyframes active-menu-bar02 {
  100% {
    height: 0; } }

@keyframes active-menu-bar02 {
  100% {
    height: 0; } }

.is-localmenu-open .menu-trigger span:nth-of-type(3) {
  -webkit-transform: translateY(-5px) rotate(45deg);
  -ms-transform: translateY(-5px) rotate(45deg);
      transform: translateY(-5px) rotate(45deg); }

.mod-text-block {
  display: inline-block; }

.mod-contents-top {
  text-align: center;
  margin-top: 93px;
  margin-bottom: 150px; }
  .mod-contents-top p {
    font-size: 15px;
    margin-bottom: 15px;
    letter-spacing: 0;
    line-height: 1.8; }

.mod-text-open {
  display: none; }

.mod-text-block p {
  margin-top: 30px; }

@media screen and (min-width: 641px) {
  .mod-contents-top {
    width: 960px;
    margin-left: auto;
    margin-right: auto; } }

@media screen and (max-width: 640px) {
  .mod-contents-top {
    margin-top: 58px;
    margin-bottom: 55px; }
    .mod-contents-top p {
      text-align: left; }
  .mod-text-block {
    text-align: left; }
  .mod-text-sub {
    display: none; }
  .mod-text-open {
    display: inline-block;
    padding: 10px 10px 10px 0;
    font-weight: bold; }
    .mod-text-open.is-hide {
      visibility: hidden; }
  .mod-contents-block {
    padding-left: 30px;
    padding-right: 30px; }
  .mod-title-visual {
    font-size: 25px; }
  .no-js .mod-text-sub {
    display: block; }
  .no-js .mod-text-open {
    display: none; }
  .br-sp {
    display: block; } }
