@charset "UTF-8";

/* ------------------------------------------------------------ */
/* 基本、レイアウト指定 */
/* ------------------------------------------------------------ */
.sp_disnon {
  display: none !important;
}
.img100 {
  width: 100% !important;
}

* html body {
  background: url(null) fixed;
}
.img_left {
  float: left;
  margin: 0 15px 15px 0;
}
.img_right {
  float: right;
  margin: 0 0 15px 15px;
}

/* ボトムマージン */
.mb10 {
  margin-bottom: 10px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb50 {
  margin-bottom: 50px;
}
.mb60 {
  margin-bottom: 60px;
}
.mb70 {
  margin-bottom: 70px;
}
.mb80 {
  margin-bottom: 80px;
}

/* 文字レイアウト指定 */
.center {
  text-align: center;
}
.left {
  text-align: left;
}
.right {
  text-align: right;
}

/* 文字装飾 */
.bold {
  font-weight: bold;
}
.red {
  color: #ff0000 !important;
}
.font14 {
  font-size: 107%;
}
.font16 {
  font-size: 122%;
}
.font18 {
  font-size: 136%;
}
.font20 {
  font-size: 152%;
}
.small {
  font-size: 85%;
}

.ib {
  display: inline-block;
}

/**
 * 4.0 Alignment抜粋
 */

.alignleft {
  float: left;
  margin: 7px 20px 20px 0;
}
.alignright {
  float: right;
  margin: 7px 0 20px 20px;
}
.aligncenter {
  clear: both;
  display: block;
  margin: 7px auto;
}

/* ------------------------------------------------------------ */
/* リンク色 */
/* ------------------------------------------------------------ */

a:link,
a:visited,
a:hover,
a:active {
  color: #444444;
  text-decoration: none;
}
.archive a,
.single a {
  text-decoration: underline;
}

/* 外部リンク */
.blankLink {
  padding-left: 15px;
  background: url(../img/icon_blankLink.jpg) no-repeat 0 2px;
}
.map .blankLink,
.newsletter .blankLink {
  padding-left: 0 !important;
  background: none !important;
}
#enterLinks .blankLink {
  background: none !important;
}
.map .blankLink:after,
.newsletter .blankLink:after,
#enterLinks .blankLink {
  content: " " !important;
}

/* ------------------------------------------------------------ */
/* 全体格納 */
/* ------------------------------------------------------------ */
body {
  color: #3e3e3e;
  background-color: #fff;
  -webkit-text-size-adjust: 100%; /* 文字サイズのリセット*/
}

/* ------------------------------------------------------------ */
/* ヘッダー */
/* ------------------------------------------------------------ */
#header {
  height: 55px;
}
h1 {
  float: left;
  width: 175px;
  padding: 8px 0 0 14px;
}
#homeBtn {
  float: right;
  width: 55px;
  height: 45px;
  padding-top: 10px;
  color: #fff;
  text-align: center;
  background: #0096db; /* Old browsers */
  background: -webkit-linear-gradient(
    top,
    #0096db 0%,
    #0072aa 100%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to bottom,
    #0096db 0%,
    #0072aa 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
#homeBtn img {
  width: 50%;
}

/* ------------------------------------------------------------ */
/* 共通ナビゲーション */
/* ------------------------------------------------------------ */
#information {
  width: 91%;
  margin: 3% auto;
  padding: 1.5%;
}
#information .inner {
  padding: 10px 0;
  background-color: #e9f3fb;
  text-align: center;
  border: #0093da 4px solid;
}
#information h2 {
  color: #444444 !important;
  font-size: 22px;
  font-weight: bold;
}
#information .phone {
  display: inline-block;
  margin-bottom: 5px;
  padding: 2px 5px 6px 40px;
  font-size: 30px;
  font-weight: bold;
  background:
    url(../img/sp/sp_icon_phone.jpg) no-repeat 10px 16px,
    #fff;
  background-size: 26px 20px;
  border: #444444 1px solid;
  border-radius: 5px;
}
#information .phone .small {
  font-size: 11px;
  font-weight: normal;
}
#information .phone .msg {
  font-size: 11px;
  font-weight: normal;
  line-height: 0.2em;
}
#information table {
  width: 260px;
  margin: 0 auto 7px;
  text-align: left;
  font-size: 15px;
}
#information table tr:first-child,
#information table tr:nth-child(2) {
  border-bottom: 1px solid #ccc;
}
#information th {
  padding: 5px 5px 5px 0;
  text-align: left;
  font-weight: bold;
  vertical-align: middle;
}
#information td {
  padding: 5px 0;
}
#information .btn,
#information .btn2 {
  display: inline-block;
  width: 35%;
  margin: 5px;
  font-weight: bold;
  border: #444444 1px solid;
  border-radius: 5px;
  background:
    url(../img/sp/sp_icon_arrow_right.jpg) no-repeat 94% 12px,
    #fff;
  background-size: 6px 9px;
}
#information .btn {
  padding: 5px 20px 5px 5px;
  font-size: 17px;
}
#information .btn2 {
  padding: 5px 20px 5px 5px;
  font-size: 14px;
}

/* ------------------------------------------------------------ */
/* メインナビ */
/* ------------------------------------------------------------ */
#sp_cNavi,
#sp_add_navi {
  width: 100%;
}
#sp_cNavi li,
#sp_add_navi li {
  position: relative;
  height: 50px;
  border-top: #fff 1px solid;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  line-height: 50px;
}
#sp_cNavi a,
#sp_add_navi a {
  /*display:inline-block;*/
  width: 100%;
  line-height: 50px;
}
#sp_cNavi .txt,
#sp_add_navi .txt {
  width: 90%;
  margin: 0 auto;
  padding-left: 40px;
  box-sizing: border-box;
  background: url(../img/sp/sp_icon_arrow_bottom.png) no-repeat right 18px;
  background-size: 15px 11px;
  line-height: 50px;
}
#sp_cNavi .li01 {
  background: #73bcce; /* Old browsers */
  background: -webkit-linear-gradient(
    top,
    #72c4d8 0%,
    #00a7d1 100%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to bottom,
    #72c4d8 0%,
    #00a7d1 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
#sp_cNavi .li02 {
  background: #7ebfa3; /* Old browsers */
  background: -webkit-linear-gradient(
    top,
    #7ebfa3 0%,
    #05b267 100%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to bottom,
    #7ebfa3 0%,
    #05b267 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
#sp_cNavi .li03 {
  background: #f4c45d; /* Old browsers */
  background: -webkit-linear-gradient(
    top,
    #f4c45d 0%,
    #ed9e00 100%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to bottom,
    #f4c45d 0%,
    #ed9e00 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
#sp_cNavi .li04 {
  background: #db9190; /* Old browsers */
  background: -webkit-linear-gradient(
    top,
    #db9190 0%,
    #db5c59 100%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to bottom,
    #db9190 0%,
    #db5c59 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
#sp_cNavi .li05 {
  background: #a889c1; /* Old browsers */
  background: -webkit-linear-gradient(
    top,
    #a889c1 0%,
    #9060af 100%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to bottom,
    #a889c1 0%,
    #9060af 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
#sp_add_navi .li06 {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(1, #ad302f),
    color-stop(0, #ba7070)
  );
  background: -webkit-linear-gradient(#ba7070, #ad302f);
  background: -moz-linear-gradient(#ba7070, #ad302f);
  background: -o-linear-gradient(#ba7070, #ad302f);
  background: -ms-linear-gradient(#ba7070, #ad302f);
  background: linear-gradient(#ba7070, #ad302f);
}
#sp_add_navi .wtext {
  color: #fff;
}
#sp_cNavi li .icon,
#sp_add_navi li .icon {
  position: absolute;
  width: 33px;
  left: 10px;
}
#sp_cNavi .li01 .icon {
  top: 7px;
}
#sp_cNavi .li02 .icon {
  top: 15px;
}
#sp_cNavi .li03 .icon {
  top: 8px;
}
#sp_cNavi .li04 .icon {
  top: 4px;
}
#sp_cNavi .li05 .icon {
  top: 10px;
}
#sp_add_navi .li06 .icon {
  top: 6px;
}
#sp_cNavi .inner,
#sp_add_navi .inner {
  display: none;
}
#sp_cNavi .li01 ~ .inner {
  background-color: #e0f4fa;
}
#sp_cNavi .li02 ~ .inner {
  background-color: #e3f8f0;
}
#sp_cNavi .li03 ~ .inner {
  background-color: #faf1db;
}
#sp_cNavi .li04 ~ .inner {
  background-color: #f9e7e6;
}
#sp_cNavi .li05 ~ .inner {
  background-color: #eadef1;
}
#sp_cNavi .li06 ~ .inner {
  background-color: #e0f4fa;
}
#sp_cNavi dl dt,
#sp_cNavi .dtItem li,
#sp_add_navi dl dt,
#sp_add_navi .dtItem li {
  height: 45px;
  padding: 0 3%;
  font-size: 16px;
  font-weight: bold;
  line-height: 45px;
  border-top: none !important;
  border-bottom: #3e3e3e 1px solid;
}
#sp_cNavi .dtItem li:fisrt-child {
  border-top: #3e3e3e 1px solid;
}
#sp_cNavi dl li {
  height: 40px;
  padding: 0 3%;
  font-size: 14px;
  font-weight: normal;
  line-height: 40px;
  border-top: none !important;
  border-bottom: #797979 1px dotted;
}
#sp_cNavi dl li:last-child {
  border-bottom: #3e3e3e 1px solid !important;
}
#sp_cNavi dl li:before {
  content: "-";
  padding-right: 5px;
  color: #3e3e3e;
  font-weight: bold;
}
#sp_cNavi_sub {
  border-bottom: #fff 1px solid;
}
#sp_cNavi_sub li {
  float: left;
  width: 50%;
  box-sizing: border-box;
  border-top: #fff 1px solid;
  color: #fff;
  background: #0096db; /* Old browsers */
  background: -moz-linear-gradient(
    top,
    #0096db 0%,
    #0072aa 100%
  ); /* FF3.6-15 */
  background: -webkit-linear-gradient(
    top,
    #0096db 0%,
    #0072aa 100%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to bottom,
    #0096db 0%,
    #0072aa 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0096db', endColorstr='#0072aa',GradientType=0 ); /* IE6-9 */
}
#sp_cNavi_sub a {
  display: block;
  width: 90%;
  height: 50px;
  margin: 0 auto;
  color: #fff;
  background: url(../img/sp/sp_icon_arrow_rigntL.png) no-repeat right 18px;
  background-size: 10px 15px;
  font-size: 16px;
  font-weight: bold;
  line-height: 50px;
}
#sp_cNavi_sub li:first-child {
  border-right: #fff 1px solid;
}

/* ------------------------------------------------------------ */
/* 重要なお知らせ */
/* ------------------------------------------------------------ */
#top .important-box {
  width: 95%;
  height: auto;
  margin: 4% auto;
  border: 3px solid #c00000;
  box-sizing: border-box;
}
#top .important-box h2 {
  padding: 10px;
  font-size: 126%;
  text-align: center;
  color: #fff;
  background: #c00000;
  width: 100%;
  height: auto;
  margin: 0 auto;
  box-sizing: border-box;
}
#top .important-box .txt {
  background: #fff;
  padding: 2%;
  font-size: 100%;
  width: 100%;
  height: auto;
  margin: 0 auto;
  box-sizing: border-box;
}

#top .important-box h3 {
  font-size: 114%;
  text-align: center;
  margin: 0 auto 12px;
  padding: 0 0 5px;
  border-bottom: 1px solid #c00000;
}

/* ------------------------------------------------------------ */
/* TOPページ */
/* ------------------------------------------------------------ */
#top #content {
  width: 100%;
}

/* ニュースエリア */
#top .newsArea .spTitle {
  clear: both;
  width: 100%;
  height: 40px;
  padding-left: 10px;
  background-color: #dad9d9;
  color: #2e4054;
  font-size: 16px;
  font-weight: bold;
  line-height: 40px;
  box-sizing: border-box;
}
#top .newsArea .spTitle span {
  display: inline-block;
  float: right;
  margin-right: 10px;
  font-size: 13px;
}
#top .newsArea .spTitle span a {
  text-decoration: underline;
}
#top .newsArea .content_wrap {
  position: relative;
  width: 100%;
}
#top .newsArea .content_wrap a {
  display: block;
  /*text-decoration:underline !important;*/
  color: #3e3e3e !important;
}
#top .newsArea .content_wrap li {
  width: 90%;
  padding: 5px 5% 7px;
  list-style: none !important;
  border-bottom: #444444 1px dotted;
}
#top .newsArea .content_wrap li .date {
  font-weight: bold;
}
#top .newsArea .content_wrap li .cat {
  display: inline-block;
  width: 82px;
  margin: 5px 10px;
  padding: 1px 0;
  text-align: center;
  color: #fff;
  font-weight: bold;
}
#top .newsArea .content_wrap li .txt {
  display: block;
  font-size: 15px;
}
#top .newsArea .content_wrap li .notice {
  background-color: #4d6fde;
}
#top .newsArea .content_wrap li .recruitinfo {
  background-color: #9873b0;
}
#top .newsArea .content_wrap li .event {
  background-color: #dc739d;
}
#top .newsArea .content_wrap li .report {
  background-color: #4fbaa2;
}
#top .newsArea .content_wrap li .newsletter {
  background-color: #0093da;
}

/* ------------------------------------------------------------ */
/* TOPページ下部エリア */
/* ------------------------------------------------------------ */
/* サブナビ */
#sNavi {
  clear: both;
  width: 100%;
  border-top: #444444 1px solid;
}
#sNavi a {
  display: block;
  height: 45px;
  font-size: 16px;
  font-weight: bold;
  line-height: 45px;
  border-bottom: #444444 1px solid;
}
#sNavi li {
  width: 90%;
  margin: 0 5%;
  background: url(../img/sp/sp_icon_arrow_circle.jpg) no-repeat right 15px;
  background-size: 18px 18px;
}

/* バナーエリア */
.bnArea {
  width: 100%;
  margin: 0 auto;
  padding-top: 10px;
}
.bnLarge li {
  width: 94%;
  margin: 0 3% 10px;
}
.bnLarge li:first-child {
  margin-bottom: 10px !important;
}
.bnLarge li.col2 a {
  display: block;
  width: 48%;
}
.bnLarge li.col2 a:first-child {
  float: left;
  margin-right: 2%;
}
.bnLarge li.col2 a:last-child {
  float: right;
  margin-left: 2%;
}
.bnLarge li.col2 a img {
  width: 100%;
  height: auto;
}
.bnNormal {
  clear: both;
  width: 94%;
  margin: 0 3%;
}
.bnNormal li {
  float: left;
  width: 48%;
  margin: 0 0 10px 4%;
}
.bnNormal li:nth-child(odd) {
  margin-left: 0 !important;
}
.bnNormal li img {
  width: 100%;
}

/* 2020.11.30　追記 */
.flx_ban {
  width: 94%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.flx_ban li {
  width: calc((100% - 10px) / 2);
  margin: 0 10px 10px 0;
}
.flx_ban li:nth-of-type(2n) {
  margin: 0 0 10px;
}
.flx_ban li a {
  display: block;
}
.flx_ban li.col2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.flx_ban li.col2 a {
  width: calc(100% / 2);
}
.flx_ban li.col2 a:first-of-type {
  margin: 0 5px 0 0;
}

/* ------------------------------------------------------------ */
/* ページトップ */
/* ------------------------------------------------------------ */
#pagetop {
  clear: both;
  width: 100%;
  height: 35px;
  line-height: 35px;
}
#pagetop a {
  display: block;
  color: #fff;
  text-align: center;
  background: #0096db; /* Old browsers */
  background: -webkit-linear-gradient(
    top,
    #0096db 0%,
    #0072aa 100%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to bottom,
    #0096db 0%,
    #0072aa 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
#pagetop span {
  display: inline-block;
  padding-left: 25px;
  font-size: 18px;
  background: url(../img/sp/sp_icon_arrow_pagetop.png) no-repeat 0 7px;
  background-size: 20px 20px;
}
#top #sp_allow {
  display: none !important;
}
#sp_allow {
  display: none;
  position: fixed;
  right: 5%;
  bottom: 10px;
  z-index: 1000;
}
#sp_allow a {
  width: 28px;
  height: 28px;
  display: block;
}

/* ------------------------------------------------------------ */
/* フッター */
/* ------------------------------------------------------------ */
#footer {
  background-color: #e9e9e9;
}

#footer .infoArea {
  width: 100%;
  text-align: center;
}
#footer .infoArea ul {
  display: table;
  width: 100%;
}
#footer .infoArea li {
  width: 90%;
  margin: 0 5% 10px;
}
#footer .infoArea .info {
  width: 86%;
  margin: 10px 7%;
}
#footer .infoArea .info img {
  margin-bottom: 3px;
}
#footer .infoArea .info p {
  padding-left: 60px;
  font-size: 92%;
  line-height: 1.3em;
}
#footer .infoArea .certify {
  text-align: center !important;
}
#footer .infoArea .certify img {
  margin-bottom: 10px;
}
#footer .info img {
  max-width: 240px;
}
#footer .infoArea li.iyc {
  max-width: 200px;
  margin: 0 auto 2em;
}
#copyright {
  clear: both;
  height: 45px;
  padding-top: 3px;
  text-align: center;
  color: #fff;
  font-size: 13px;
  background: #0096db; /* Old browsers */
  background: -webkit-linear-gradient(
    top,
    #0096db 0%,
    #0072aa 100%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to bottom,
    #0096db 0%,
    #0072aa 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
