@charset "UTF-8";
/*
SCSS variables are information about icon's compiled state, stored under its original file name

.icon-home {
  width: $icon-home-width;
}

The large array-like variables contain all information about a single icon
$icon-home: x y offset_x offset_y width height total_width total_height image_path;
*/
/*
The provided mixins are intended to be used with the array-like variables

.icon-home {
  @include sprite-width($icon-home);
}

.icon-email {
  @include sprite($icon-email);
}
*/
header #headerContent, #utilityBtn, #contentainer, #main, .columnBa, .lytImgBa.float {
  *zoom: 1;
  _zoom: 1;
}

header #headerContent:after, #utilityBtn:after, #contentainer:after, #main:after, .columnBa:after, .lytImgBa.float:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}

textarea,
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"], select, header #headerContent, #glovalNav .nav, #glovalNav .nav a, #topicPath p, #contentainer, #main, #aside, .gotoPageTop, .hdg1, .tableBa, .tableBa th, .tableBa td, .tableTy01, .tableTy01 th, .tableTy01 td, .tableTy02, .tableTy02 th, .tableTy02 td, .tableMenu table, .tableMenu table th, .tableMenu table td {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

#topicPath p:before, #localNav ul li a:after, .gotoPageTop a:before, .hdgNews:before, .hdg2:before, .hdg3:before, ul.listBa > li:before, .listNoteBa > li:before, .listNews01 > li .date:before, .linkTy01 a:after, .btnTy01 a:before,
.btnTy01 button:before, .anchorTy01 > li a:before {
  content: "";
  display: block;
  position: absolute;
}

#topicPath p:before {
  background-image: url(/common/images/sprites.png);
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, main {
  display: block;
}

table {
  border-spacing: 0;
  border-collapse: inherit;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #222;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
  color: #333;
}

body.blackCherry {
  background-color: #1e1e1e !important;
  color: #fff !important;
}

@media screen and (max-width: 766px) {
  img {
    max-width: 100%;
  }
}

p {
  margin-top: 10px;
  margin-bottom: 17px;
}

a {
  color: #393939;
}

a:hover, a:focus {
  color: #27ccc0;
  text-decoration: none;
}

strong {
  font-weight: bold;
  color: #f01e1e;
}

em {
  font-weight: bold;
}

input {
  border: none;
}

input[type="submit"],
button[type="submit"] {
  -webkit-appearance: none;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}

i,
.italic {
  font-style: italic;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","ＭＳ ゴシック", "MS Gothic", sans-serif;
}

input[type="number"]::-webkit-outer-spin-button {
  display: none;
}

textarea,
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"] {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  border: 1px solid #d9dde1;
  background-color: #f0f3f7;
}

textarea.error,
input[type="text"].error,
input[type="tel"].error,
input[type="email"].error,
input[type="number"].error {
  box-shadow: 0 0 3px #cc2c2c inset, 0 0 9px #cc2c2c;
  -webkit-box-shadow: 0 0 3px #cc2c2c inset, 0 0 9px #cc2c2c;
  border: 1px solid #cc2c2c;
  background-color: #fff3f3;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"] {
  padding: 3px 0 3px 5px;
}

select {
  border: 1px solid #ccc;
  padding: 5px 0 5px 5px;
  background-color: #fff;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}

textarea {
  padding: 10px;
  min-height: 150px;
}

sup {
  font-size: 9px;
  font-size: 0.9rem;
  vertical-align: text-top;
}

sub {
  font-size: 9px;
  font-size: 0.9rem;
  vertical-align: text-bottom;
}

.caption {
  display: block;
  white-space: normal;
}

div.section {
  padding: 0 17px;
}

@media screen and (max-width: 766px) {
  div.section {
    padding: 0 8px;
  }
}

div.section2 {
  padding: 0 44px;
}

@media screen and (max-width: 766px) {
  div.section2 {
    padding: 0 22px;
  }
}

audio {
  display: none;
  -webkit-appearance: none;
}

.jsOffNone {
  display: none;
}

/* ---------------------------------------------------------------------------------------------------------------
   ヘッダー
--------------------------------------------------------------------------------------------------------------- */
header {
  width: 100%;
  padding: 0;
  position: relative;
}

header.blackCherry {
  background-color: #1e1e1e !important;
  color: #fff !important;
}

header.blackCherry * {
  background-color: #1e1e1e !important;
  color: #fff !important;
}

header.open {
  padding-bottom: 0;
}

header.open #glovalNav {
  margin-top: 12px;
}

header .menu {
  position: absolute;
  top: 2px;
  right: 10px;
  margin: 0;
  display: none;
}

header .menu a {
  position: relative;
  display: block;
  width: 21px;
  height: 15px;
}

header .menu a span {
  display: none;
}

header p {
  margin: 0;
}

header #headerContent {
  position: relative;
  width: 1100px;
  margin: 0 auto;
}

header #firstComment {
  background-color: #dcdddd;
  padding: 3px 10px 1px;
}

header figure {
  margin: 0 auto;
  line-height: 0;
}

header figure img {
  width: 100%;
}

header figure.ty2 {
  padding: 30px 0;
}

@media screen and (max-width: 1120px) {
  header #headerContent {
    width: 100%;
  }
}

@media screen and (max-width: 766px) {
  header .menu {
    display: block;
  }
  header #headerContent {
    margin: 0;
  }
  header #firstComment {
    font-size: 11px;
  }
}

/*グロナビ*/
#glovalNav.blackCherry {
  background-color: #1e1e1e !important;
  color: #fff !important;
}

#glovalNav.blackCherry * {
  background-color: #1e1e1e !important;
  color: #fff !important;
}

#glovalNav .nav {
  width: 100%;
  display: table;
  table-layout: fixed;
  line-height: 1;
  background-color: #006835;
}

#glovalNav .nav li {
  display: table-cell;
  vertical-align: top;
}

#glovalNav .nav li:first-child a {
  border-left: none;
}

#glovalNav .nav a {
  display: block;
  text-decoration: none;
  text-align: center;
  color: #fff;
  min-height: 85px;
  padding-top: 20px;
  border-left: 2px solid #fff;
}

#glovalNav .nav a.current, #glovalNav .nav a:hover, #glovalNav .nav a:focus {
  background-color: #22ac07;
}

#glovalNav .nav .title {
  display: block;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.2;
  margin-bottom: 10px;
  letter-spacing: 0.2rem;
}

#glovalNav .nav .caption {
  display: block;
  font-size: 11px;
  font-size: 1.1rem;
  letter-spacing: 0.1rem;
}

@media screen and (max-width: 1120px) {
  #glovalNav .nav li {
    margin-left: 15px;
  }
  #glovalNav .nav a {
    font-size: 12px;
    font-size: 1.2rem;
  }
  #glovalNav .nav .title {
    font-size: 17px;
    font-size: 1.7rem;
  }
}

@media screen and (max-width: 766px) {
  #glovalNav {
    height: auto !important;
    margin-bottom: 30px;
  }
  #glovalNav .nav {
    width: 100%;
    overflow: hidden;
    display: block;
  }
  #glovalNav .nav li {
    float: left;
    margin: 0;
    display: block;
    width: 33.3%;
  }
  #glovalNav .nav li a {
    min-height: 0;
    height: 53px;
    border-left: 1px solid #fff;
  }
  #glovalNav .nav li:first-child, #glovalNav .nav li:nth-child(2), #glovalNav .nav li:nth-child(3) {
    /*width: 50%;*/
    border-bottom: 1px dotted rgba(255, 255, 255, 0.3);
  }
  #glovalNav .nav li:nth-child(4) a {
    border-left: none;
  }
  #glovalNav .nav li:last-child a {
    padding-top: 11px;
  }
  #glovalNav .nav li .title {
    font-size: 14px;
  }
  #glovalNav .nav li .caption {
    display: none;
  }
}

#utilityBtn {
  margin: 10px 0;
}

#utilityBtn dl {
  display: table;
  float: left;
  margin-left: 20px;
}

#utilityBtn dl:first-child {
  margin-left: 0;
}

#utilityBtn dl dt, #utilityBtn dl dd {
  display: table-cell;
  vertical-align: middle;
}

#utilityBtn dl dt {
  font-size: 11px;
  padding-right: 5px;
  text-align: left;
}

#utilityBtn li {
  float: left;
  margin-left: 5px;
}

#utilityBtn li:first-child {
  margin-left: 0;
}

#utilityBtn li a {
  display: block;
  padding: 13px 0;
  border: 1px solid #aaa;
  border-radius: 2px;
  background-color: #fff;
  font-size: 13px;
  width: 40px;
  text-align: center;
  line-height: 1;
  text-decoration: none;
}

#utilityBtn li a:hover, #utilityBtn li a:focus {
  text-decoration: underline;
  color: #333;
}

@media screen and (max-width: 766px) {
  #utilityBtn {
    display: none;
  }
}

/* ---------------------------------------------------------------------------------------------------------------
   パンくず
--------------------------------------------------------------------------------------------------------------- */
#topicPath {
  background-color: #fff;
  margin: 15px 0 40px;
}

#topicPath p {
  position: relative;
  width: 1100px;
  margin: 0 auto;
  font-size: 12px;
  font-size: 1.2rem;
  padding-left: 33px;
  color: #356388;
}

#topicPath p:before {
  background-image: url(/common/images/sprites.png);
  background-position: -12px 0px;
  width: 12px;
  height: 12px;
  top: 50%;
  margin-top: -6px;
  left: 15px;
}

#topicPath a {
  color: #356388;
}

#topicPath em {
  color: #3992d5;
  font-weight: normal;
}

@media screen and (max-width: 1120px) {
  #topicPath p {
    width: auto;
  }
}

@media screen and (max-width: 766px) {
  #topicPath {
    margin: 10px 0 20px;
  }
}

/* ---------------------------------------------------------------------------------------------------------------
   コンテンツ
--------------------------------------------------------------------------------------------------------------- */
#contentainer {
  width: 1100px;
  margin: 40px auto 60px;
}

@media screen and (max-width: 1120px) {
  #contentainer {
    width: auto;
    padding: 0 10px;
  }
}

@media screen and (max-width: 766px) {
  #contentainer {
    margin: 0 0;
    padding: 0;
  }
}

#main {
  display: block;
  float: left;
  width: 790px;
  position: relative;
}

#main.blackCherry {
  background-color: #1e1e1e !important;
  color: #fff !important;
}

#main.blackCherry * {
  background-color: #1e1e1e !important;
  color: #fff !important;
}

#main > *:first-child {
  margin-top: 0;
}

#main.col1 {
  width: 1100px;
  float: none;
}

@media screen and (max-width: 1120px) {
  #main {
    width: 72%;
  }
  #main.col1 {
    width: 100%;
  }
}

@media screen and (max-width: 766px) {
  #main {
    width: 100%;
    -webkit-box-shadow: none;
    box-shadow: none;
    padding: 0 10px;
    float: none;
  }
}

/* ---------------------------------------------------------------------------------------------------------------
   サイドナビ
--------------------------------------------------------------------------------------------------------------- */
#aside {
  float: right;
  width: 270px;
  margin-bottom: 40px;
}

#aside.blackCherry {
  background-color: #1e1e1e !important;
  color: #fff !important;
}

#aside.blackCherry * {
  background-color: #1e1e1e !important;
  color: #fff !important;
}

@media screen and (max-width: 1120px) {
  #aside {
    width: 26%;
  }
}

@media screen and (max-width: 766px) {
  #aside {
    float: none;
    width: 100%;
    padding: 0 10px;
  }
}

#aside + * {
  clear: both;
}

#localNav h2 a {
  display: block;
  color: #184187;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  border-top: 4px solid #3f8dd7;
  padding: 20px 15px;
}

#localNav ul li a {
  position: relative;
  display: block;
  background-color: #f4f4f4;
  padding: 12px 15px;
  border-bottom: 1px solid #fff;
  font-size: 14px;
  font-size: 1.4rem;
}

#localNav ul li a:after {
  top: 50%;
  right: 10px;
  margin-top: -4.5px;
}

#localNav ul li a.current {
  background-color: #92c7fb;
  text-decoration: none;
}

#localNav ul li:last-child a {
  border-radius: 0 0 2px 2px;
}

/* ---------------------------------------------------------------------------------------------------------------
   フッター
--------------------------------------------------------------------------------------------------------------- */
footer {
  margin-top: 50px;
  background-color: #006835;
  padding: 5px 0 5px;
}

footer.blackCherry {
  background-color: #1e1e1e !important;
  color: #fff !important;
}

footer.blackCherry * {
  background-color: #1e1e1e !important;
  color: #fff !important;
}

footer .copy {
  text-align: center;
  font-size: 11px;
  font-size: 1.1rem;
  color: #fff;
  margin: 0;
}

.gotoPageTop {
  width: 1100px;
  margin: 0 auto;
  text-align: right;
}

.gotoPageTop.blackCherry {
  background-color: #1e1e1e !important;
  color: #fff !important;
}

.gotoPageTop.blackCherry * {
  background-color: #1e1e1e !important;
  color: #fff !important;
}

.gotoPageTop a {
  position: relative;
  padding-left: 25px;
  display: inline-block;
}

.gotoPageTop a:before {
  top: 50%;
  left: 0;
  width: 10px;
  height: 10px;
  margin-top: -3px;
  border-top: 3px solid #006835;
  border-right: 3px solid #006835;
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

@media screen and (max-width: 1120px) {
  .gotoPageTop {
    width: 100%;
    padding-right: 10px;
  }
}

/* --------------------------------------------------
   調整用
-------------------------------------------------- */
/*width*/
.w1 {
  width: 1% !important;
}

.w2 {
  width: 2% !important;
}

.w3 {
  width: 3% !important;
}

.w4 {
  width: 4% !important;
}

.w5 {
  width: 5% !important;
}

.w6 {
  width: 6% !important;
}

.w7 {
  width: 7% !important;
}

.w8 {
  width: 8% !important;
}

.w9 {
  width: 9% !important;
}

.w10 {
  width: 10% !important;
}

.w11 {
  width: 11% !important;
}

.w12 {
  width: 12% !important;
}

.w13 {
  width: 13% !important;
}

.w14 {
  width: 14% !important;
}

.w15 {
  width: 15% !important;
}

.w16 {
  width: 16% !important;
}

.w17 {
  width: 17% !important;
}

.w18 {
  width: 18% !important;
}

.w19 {
  width: 19% !important;
}

.w20 {
  width: 20% !important;
}

.w21 {
  width: 21% !important;
}

.w22 {
  width: 22% !important;
}

.w23 {
  width: 23% !important;
}

.w24 {
  width: 24% !important;
}

.w25 {
  width: 25% !important;
}

.w26 {
  width: 26% !important;
}

.w27 {
  width: 27% !important;
}

.w28 {
  width: 28% !important;
}

.w29 {
  width: 29% !important;
}

.w30 {
  width: 30% !important;
}

.w31 {
  width: 31% !important;
}

.w32 {
  width: 32% !important;
}

.w33 {
  width: 33% !important;
}

.w34 {
  width: 34% !important;
}

.w35 {
  width: 35% !important;
}

.w36 {
  width: 36% !important;
}

.w37 {
  width: 37% !important;
}

.w38 {
  width: 38% !important;
}

.w39 {
  width: 39% !important;
}

.w40 {
  width: 40% !important;
}

.w41 {
  width: 41% !important;
}

.w42 {
  width: 42% !important;
}

.w43 {
  width: 43% !important;
}

.w44 {
  width: 44% !important;
}

.w45 {
  width: 45% !important;
}

.w46 {
  width: 46% !important;
}

.w47 {
  width: 47% !important;
}

.w48 {
  width: 48% !important;
}

.w49 {
  width: 49% !important;
}

.w50 {
  width: 50% !important;
}

.w51 {
  width: 51% !important;
}

.w52 {
  width: 52% !important;
}

.w53 {
  width: 53% !important;
}

.w54 {
  width: 54% !important;
}

.w55 {
  width: 55% !important;
}

.w56 {
  width: 56% !important;
}

.w57 {
  width: 57% !important;
}

.w58 {
  width: 58% !important;
}

.w59 {
  width: 59% !important;
}

.w60 {
  width: 60% !important;
}

.w61 {
  width: 61% !important;
}

.w62 {
  width: 62% !important;
}

.w63 {
  width: 63% !important;
}

.w64 {
  width: 64% !important;
}

.w65 {
  width: 65% !important;
}

.w66 {
  width: 66% !important;
}

.w67 {
  width: 67% !important;
}

.w68 {
  width: 68% !important;
}

.w69 {
  width: 69% !important;
}

.w70 {
  width: 70% !important;
}

.w71 {
  width: 71% !important;
}

.w72 {
  width: 72% !important;
}

.w73 {
  width: 73% !important;
}

.w74 {
  width: 74% !important;
}

.w75 {
  width: 75% !important;
}

.w76 {
  width: 76% !important;
}

.w77 {
  width: 77% !important;
}

.w78 {
  width: 78% !important;
}

.w79 {
  width: 79% !important;
}

.w80 {
  width: 80% !important;
}

.w81 {
  width: 81% !important;
}

.w82 {
  width: 82% !important;
}

.w83 {
  width: 83% !important;
}

.w84 {
  width: 84% !important;
}

.w85 {
  width: 85% !important;
}

.w86 {
  width: 86% !important;
}

.w87 {
  width: 87% !important;
}

.w88 {
  width: 88% !important;
}

.w89 {
  width: 89% !important;
}

.w90 {
  width: 90% !important;
}

.w91 {
  width: 91% !important;
}

.w92 {
  width: 92% !important;
}

.w93 {
  width: 93% !important;
}

.w94 {
  width: 94% !important;
}

.w95 {
  width: 95% !important;
}

.w96 {
  width: 96% !important;
}

.w97 {
  width: 97% !important;
}

.w98 {
  width: 98% !important;
}

.w99 {
  width: 99% !important;
}

.w100 {
  width: 100% !important;
}

.wAuto {
  width: auto !important;
}

/*SPのときのみ幅100%強制*/
@media screen and (max-width: 766px) {
  .spW100 {
    width: 100% !important;
  }
}

/*margin,padding*/
.m-top-0 {
  margin-top: 0px !important;
}

.m-right-0 {
  margin-right: 0px !important;
}

.m-bottom-0 {
  margin-bottom: 0px !important;
}

.m-left-0 {
  margin-left: 0px !important;
}

.p-top-0 {
  padding-top: 0px !important;
}

.p-right-0 {
  padding-right: 0px !important;
}

.p-bottom-0 {
  padding-bottom: 0px !important;
}

.p-left-0 {
  padding-left: 0px !important;
}

.m-top-5 {
  margin-top: 5px !important;
}

.m-right-5 {
  margin-right: 5px !important;
}

.m-bottom-5 {
  margin-bottom: 5px !important;
}

.m-left-5 {
  margin-left: 5px !important;
}

.p-top-5 {
  padding-top: 5px !important;
}

.p-right-5 {
  padding-right: 5px !important;
}

.p-bottom-5 {
  padding-bottom: 5px !important;
}

.p-left-5 {
  padding-left: 5px !important;
}

.m-top-10 {
  margin-top: 10px !important;
}

.m-right-10 {
  margin-right: 10px !important;
}

.m-bottom-10 {
  margin-bottom: 10px !important;
}

.m-left-10 {
  margin-left: 10px !important;
}

.p-top-10 {
  padding-top: 10px !important;
}

.p-right-10 {
  padding-right: 10px !important;
}

.p-bottom-10 {
  padding-bottom: 10px !important;
}

.p-left-10 {
  padding-left: 10px !important;
}

.m-top-15 {
  margin-top: 15px !important;
}

.m-right-15 {
  margin-right: 15px !important;
}

.m-bottom-15 {
  margin-bottom: 15px !important;
}

.m-left-15 {
  margin-left: 15px !important;
}

.p-top-15 {
  padding-top: 15px !important;
}

.p-right-15 {
  padding-right: 15px !important;
}

.p-bottom-15 {
  padding-bottom: 15px !important;
}

.p-left-15 {
  padding-left: 15px !important;
}

.m-top-20 {
  margin-top: 20px !important;
}

.m-right-20 {
  margin-right: 20px !important;
}

.m-bottom-20 {
  margin-bottom: 20px !important;
}

.m-left-20 {
  margin-left: 20px !important;
}

.p-top-20 {
  padding-top: 20px !important;
}

.p-right-20 {
  padding-right: 20px !important;
}

.p-bottom-20 {
  padding-bottom: 20px !important;
}

.p-left-20 {
  padding-left: 20px !important;
}

.m-top-25 {
  margin-top: 25px !important;
}

.m-right-25 {
  margin-right: 25px !important;
}

.m-bottom-25 {
  margin-bottom: 25px !important;
}

.m-left-25 {
  margin-left: 25px !important;
}

.p-top-25 {
  padding-top: 25px !important;
}

.p-right-25 {
  padding-right: 25px !important;
}

.p-bottom-25 {
  padding-bottom: 25px !important;
}

.p-left-25 {
  padding-left: 25px !important;
}

.m-top-30 {
  margin-top: 30px !important;
}

.m-right-30 {
  margin-right: 30px !important;
}

.m-bottom-30 {
  margin-bottom: 30px !important;
}

.m-left-30 {
  margin-left: 30px !important;
}

.p-top-30 {
  padding-top: 30px !important;
}

.p-right-30 {
  padding-right: 30px !important;
}

.p-bottom-30 {
  padding-bottom: 30px !important;
}

.p-left-30 {
  padding-left: 30px !important;
}

.m-top-35 {
  margin-top: 35px !important;
}

.m-right-35 {
  margin-right: 35px !important;
}

.m-bottom-35 {
  margin-bottom: 35px !important;
}

.m-left-35 {
  margin-left: 35px !important;
}

.p-top-35 {
  padding-top: 35px !important;
}

.p-right-35 {
  padding-right: 35px !important;
}

.p-bottom-35 {
  padding-bottom: 35px !important;
}

.p-left-35 {
  padding-left: 35px !important;
}

.m-top-40 {
  margin-top: 40px !important;
}

.m-right-40 {
  margin-right: 40px !important;
}

.m-bottom-40 {
  margin-bottom: 40px !important;
}

.m-left-40 {
  margin-left: 40px !important;
}

.p-top-40 {
  padding-top: 40px !important;
}

.p-right-40 {
  padding-right: 40px !important;
}

.p-bottom-40 {
  padding-bottom: 40px !important;
}

.p-left-40 {
  padding-left: 40px !important;
}

.m-top-45 {
  margin-top: 45px !important;
}

.m-right-45 {
  margin-right: 45px !important;
}

.m-bottom-45 {
  margin-bottom: 45px !important;
}

.m-left-45 {
  margin-left: 45px !important;
}

.p-top-45 {
  padding-top: 45px !important;
}

.p-right-45 {
  padding-right: 45px !important;
}

.p-bottom-45 {
  padding-bottom: 45px !important;
}

.p-left-45 {
  padding-left: 45px !important;
}

.m-top-50 {
  margin-top: 50px !important;
}

.m-right-50 {
  margin-right: 50px !important;
}

.m-bottom-50 {
  margin-bottom: 50px !important;
}

.m-left-50 {
  margin-left: 50px !important;
}

.p-top-50 {
  padding-top: 50px !important;
}

.p-right-50 {
  padding-right: 50px !important;
}

.p-bottom-50 {
  padding-bottom: 50px !important;
}

.p-left-50 {
  padding-left: 50px !important;
}

.p-bottom-14 {
  padding-bottom: 14px !important;
}

.p-top-14 {
  padding-top: 14px !important;
}

/*テキストカラー*/
.colorRed {
  color: #f01e1e !important;
}

/*text-align*/
.tRight {
  text-align: right !important;
}

.tCenter {
  text-align: center !important;
}

.tLeft {
  text-align: left !important;
}

.vTop {
  vertical-align: top !important;
}

.vMiddle {
  vertical-align: middle !important;
}

.positionCenter {
  margin-left: auto !important;
  margin-right: auto !important;
}

.inlineBlock {
  display: inline-block !important;
}

.Relative {
  position: relative;
}

/*float*/
.fltL {
  float: left;
}

.fltR {
  float: right;
}

/*SPサイズになると非表示*/
@media screen and (max-width: 766px) {
  .spNone {
    display: none !important;
  }
}

/*PCサイズになると非表示*/
.pcNone {
  display: none !important;
}

@media screen and (max-width: 766px) {
  .pcNone {
    display: block !important;
  }
}

.blockR {
  float: right;
}

.blockR + * {
  clear: both;
}

/*border*/
.borderBa {
  border: 1px solid #d5d5d5;
}

/*文字サイズ(子孫要素も全て適用させる)*/
.fs10 {
  font-size: 10px !important;
  font-size: 1.0rem !important;
}

.fs10 * {
  font-size: 10px !important;
  font-size: 1.0rem !important;
}

.fs12 {
  font-size: 12px !important;
  font-size: 1.2rem !important;
}

.fs12 * {
  font-size: 12px !important;
  font-size: 1.2rem !important;
}

.fs14 {
  font-size: 14px !important;
  font-size: 1.4rem !important;
}

.fs14 * {
  font-size: 14px !important;
  font-size: 1.4rem !important;
}

.fs15 {
  font-size: 15px !important;
  font-size: 1.5rem !important;
}

.fs15 * {
  font-size: 15px !important;
  font-size: 1.5rem !important;
}

.fs16 {
  font-size: 16px !important;
  font-size: 1.6rem !important;
}

.fs16 * {
  font-size: 16px !important;
  font-size: 1.6rem !important;
}

.fs17 {
  font-size: 17px !important;
  font-size: 1.7rem !important;
}

.fs17 * {
  font-size: 17px !important;
  font-size: 1.7rem !important;
}

.fs18 {
  font-size: 18px !important;
  font-size: 1.8rem !important;
}

.fs18 * {
  font-size: 18px !important;
  font-size: 1.8rem !important;
}

.fs28 {
  font-size: 28px !important;
  font-size: 2.8rem !important;
}

.fs28 * {
  font-size: 28px !important;
  font-size: 2.8rem !important;
}

.fs36 {
  font-size: 36px !important;
  font-size: 3.6rem !important;
}

.fs36 * {
  font-size: 36px !important;
  font-size: 3.6rem !important;
}

.fBold {
  font-weight: bold !important;
}

.fBold * {
  font-weight: bold !important;
}

.wild {
  height: auto !important;
}

em.ty01,
strong.ty01 {
  color: #cc0000;
  font-weight: normal;
}

em.ty02,
strong.ty02 {
  color: #005;
}

.jsOffNone {
  display: none;
}

/*下線*/
.underline {
  text-decoration: underline !important;
}

/* ----------------------------------------------------------------------------------------------------
   見出し
---------------------------------------------------------------------------------------------------- */
.hdgNews {
  position: relative;
  padding: 4px 0 2px;
  background-color: #332323;
  color: #fff;
  font-size: 20px;
  font-size: 2rem;
  font-family: "Book Antiqua", Century,"ヒラギノ明朝 Pro","Hiragino Mincho Pro","游明朝","Yu Mincho","ＭＳ 明朝","MS Mincho";
  text-align: center;
}

.hdgNews:before {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 11px 0 11px;
  border-color: #332323 transparent transparent transparent;
  top: 100%;
  left: 50%;
  margin-left: -11px;
}

.hdg1 {
  font-size: 74px;
  font-size: 7.4rem;
  font-family: "Book Antiqua", Century,"ヒラギノ明朝 Pro","Hiragino Mincho Pro","游明朝","Yu Mincho","ＭＳ 明朝","MS Mincho";
  color: #006835;
  margin-bottom: 30px;
  padding-top: 15px;
}

@media screen and (max-width: 766px) {
  .hdg1 {
    font-size: 34px;
    font-size: 3.4rem;
    background: none;
    height: auto;
    padding: 5px 0 10px;
    margin: 5px 0;
  }
  .hdg1 + .hdg2 {
    margin-top: 15px;
  }
}

.hdg2 {
  position: relative;
  margin: 40px 0 15px;
  padding: 0 0 0 32px;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.4;
  border-bottom: 1px solid #006835;
}

.hdg2:before {
  top: 50%;
  left: 6px;
  margin-top: -9px;
  width: 13px;
  height: 13px;
  background-color: #006835;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (max-width: 766px) {
  .hdg2 {
    font-size: 20px;
    font-size: 2rem;
  }
}

.hdg3 {
  position: relative;
  font-size: 20px;
  font-size: 2rem;
  padding: 0 0 0 20px;
  margin: 35px 0 10px;
}

.hdg2 + .hdg3 {
  margin-top: 15px;
}

.hdg3:before {
  top: 9px;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 10px;
  background-color: #f39800;
}

/* ----------------------------------------------------------------------------------------------------
   レイアウト
---------------------------------------------------------------------------------------------------- */
/*カラム*/
.columnBa {
  margin: 10px 0 20px;
}

@media screen and (max-width: 1120px) {
  .columnBa {
    margin-left: -2% !important;
  }
}

@media screen and (max-width: 766px) {
  .columnBa {
    margin-left: 0 !important;
  }
}

.columnBa > .col,
.columnBa > .col2of3,
.columnBa > .col1of3,
.columnBa > .col3of4,
.columnBa > .col1of4,
.columnBa > .col2of4 {
  float: left;
  margin-top: 0;
}

.columnBa > .col > *:first-child,
.columnBa > .col2of3 > *:first-child,
.columnBa > .col1of3 > *:first-child,
.columnBa > .col3of4 > *:first-child,
.columnBa > .col1of4 > *:first-child,
.columnBa > .col2of4 > *:first-child {
  margin-top: 0;
}

.columnBa > .col img,
.columnBa > .col2of3 img,
.columnBa > .col1of3 img,
.columnBa > .col3of4 img,
.columnBa > .col1of4 img,
.columnBa > .col2of4 img {
  max-width: 100%;
}

@media screen and (max-width: 766px) {
  .columnBa > .col,
  .columnBa > .col2of3,
  .columnBa > .col1of3,
  .columnBa > .col3of4,
  .columnBa > .col1of4,
  .columnBa > .col2of4 {
    float: none;
    width: 100% !important;
    margin-left: 0 !important;
    height: auto !important;
  }
  .columnBa > .col > .boxTy01,
  .columnBa > .col2of3 > .boxTy01,
  .columnBa > .col1of3 > .boxTy01,
  .columnBa > .col3of4 > .boxTy01,
  .columnBa > .col1of4 > .boxTy01,
  .columnBa > .col2of4 > .boxTy01 {
    height: auto !important;
  }
}

.columnBa.col2 {
  margin-left: -28px;
}

.columnBa.col2 > .col {
  width: 361px;
  margin-left: 28px;
  margin-bottom: 28px;
}

.columnBa.col2 > .col2of3 {
  width: 476px;
  margin-left: 28px;
  margin-bottom: 28px;
}

.columnBa.col2 > .col1of3 {
  width: 246px;
  margin-left: 28px;
  margin-bottom: 28px;
}

@media screen and (max-width: 1120px) {
  .columnBa.col2 > .col,
  .columnBa.col2 > .col2of3,
  .columnBa.col2 > .col1of3,
  .columnBa.col2 > .col3of4,
  .columnBa.col2 > .col1of4,
  .columnBa.col2 > .col2of4 {
    width: 48%;
    margin-left: 2%;
  }
}

.columnBa.col3 {
  margin-left: -28px;
}

.columnBa.col3 > .col {
  width: 231.3px;
  margin-left: 28px;
  margin-bottom: 28px;
}

.columnBa.col3 > .col img {
  max-width: 100%;
}

.columnBa.col3 > .col2of4 {
  width: 460px;
  margin-left: 20px;
  margin-bottom: 20px;
}

.columnBa.col3 > .col1of4 {
  width: 220px;
  margin-left: 20px;
  margin-bottom: 20px;
}

@media screen and (max-width: 1120px) {
  .columnBa.col3 > .col,
  .columnBa.col3 > .col2of3,
  .columnBa.col3 > .col1of3,
  .columnBa.col3 > .col3of4,
  .columnBa.col3 > .col1of4,
  .columnBa.col3 > .col2of4 {
    width: 31.3%;
    margin-left: 2%;
  }
}

.columnBa.col4 {
  margin-left: -10px;
}

.columnBa.col4 > .col {
  width: 175px;
  margin-left: 10px;
  margin-bottom: 10px;
}

.columnBa.col4 > .col img {
  max-width: 175px;
}

@media screen and (max-width: 1120px) {
  .columnBa.col4 > .col,
  .columnBa.col4 > .col2of3,
  .columnBa.col4 > .col1of3,
  .columnBa.col4 > .col3of4,
  .columnBa.col4 > .col1of4,
  .columnBa.col4 > .col2of4 {
    width: 23%;
    margin-left: 2%;
  }
}

.columnBa.col5 {
  margin-left: -10px;
}

.columnBa.col5 > .col {
  width: 136px;
  margin-left: 10px;
  margin-bottom: 10px;
}

.columnBa.col5 > .col img {
  max-width: 136px;
}

@media screen and (max-width: 1120px) {
  .columnBa.col5 > .col,
  .columnBa.col5 > .col2of3,
  .columnBa.col5 > .col1of3,
  .columnBa.col5 > .col3of4,
  .columnBa.col5 > .col1of4,
  .columnBa.col5 > .col2of4 {
    width: 48%;
    margin-left: 2%;
  }
}

@media screen and (max-width: 766px) {
  .columnBa.col2 > .col img, .columnBa.col3 > .col img, .columnBa.col4 > .col img, .columnBa.col5 > .col img {
    max-width: 100%;
  }
}

#main.col1 .columnBa.col2 {
  margin-left: -3%;
}

#main.col1 .columnBa.col2 > .col {
  width: 47%;
  margin-left: 3%;
  margin-bottom: 3%;
}

#main.col1 .columnBa.col3 {
  margin-left: -3.333%;
}

#main.col1 .columnBa.col3 > .col {
  width: 30%;
  margin-left: 3.333%;
  margin-bottom: 3.333%;
}

#main.col1 .columnBa.col4 {
  margin-left: -2%;
}

#main.col1 .columnBa.col4 > .col {
  width: 23%;
  margin-left: 2%;
  margin-bottom: 2%;
}

#main.col1 .columnBa.col4 > .col img {
  max-width: 100%;
}

@media screen and (max-width: 1120px) {
  #main.col1 .columnBa.col4 > .col {
    width: 23%;
  }
}

@media screen and (max-width: 766px) {
  #main.col1 .columnBa.col2 > .col, #main.col1 .columnBa.col3 > .col, #main.col1 .columnBa.col4 > .col {
    margin-bottom: 20px;
  }
}

/*テーブルレイアウト*/
/*幅調整や余白は調整クラスで。SP時は有無を言わさずカラム落ち + 余白強制0にするので注意。*/
.lytTbl,
.lytFlexible {
  width: 100%;
  display: table;
  margin: 10px 0;
}

.lytTbl > .col,
.lytTbl > .fix,
.lytFlexible > .col,
.lytFlexible > .fix {
  display: table-cell;
  vertical-align: top;
}

.lytTbl > .col > *:first-child,
.lytTbl > .fix > *:first-child,
.lytFlexible > .col > *:first-child,
.lytFlexible > .fix > *:first-child {
  margin-top: 0;
}

.lytTbl > .col > *:last-child,
.lytTbl > .fix > *:last-child,
.lytFlexible > .col > *:last-child,
.lytFlexible > .fix > *:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 766px) {
  .lytTbl,
  .lytFlexible {
    display: block;
  }
  .lytTbl > .col,
  .lytTbl > .fix,
  .lytFlexible > .col,
  .lytFlexible > .fix {
    display: block;
    width: auto !important;
    padding: 0 !important;
    margin-top: 10px;
  }
  .lytTbl > .col:first-child,
  .lytTbl > .fix:first-child,
  .lytFlexible > .col:first-child,
  .lytFlexible > .fix:first-child {
    margin-top: 0;
  }
}

.lytFlexible > .col {
  padding-right: 15px;
}

.lytFlexible > .fix + .col {
  padding-right: 0;
  padding-left: 15px;
}

.lytFlexible > .fix {
  white-space: nowrap;
}

/*画像*/
.lytImgBa {
  margin-top: 10px;
  margin-bottom: 25px;
  width: 100%;
}

.lytImgBa.imageR, .lytImgBa.imageL {
  display: table;
  vertical-align: top;
}

.lytImgBa.imageR > .img, .lytImgBa.imageL > .img {
  display: table-cell;
  vertical-align: top;
  padding-left: 15px;
  white-space: nowrap;
}

.lytImgBa.imageR > .img .caption, .lytImgBa.imageL > .img .caption {
  display: block;
}

@media screen and (max-width: 766px) {
  .lytImgBa.imageR > .img .caption, .lytImgBa.imageL > .img .caption {
    width: auto !important;
  }
}

.lytImgBa.imageR > .img img, .lytImgBa.imageL > .img img {
  max-width: none;
  margin-bottom: 0;
}

.lytImgBa.imageR > .img img + .caption, .lytImgBa.imageL > .img img + .caption {
  margin-top: -2px;
  font-size: 10px;
  font-size: 1rem;
}

.lytImgBa.imageR > .content, .lytImgBa.imageL > .content {
  display: table-cell;
  width: 100%;
}

.lytImgBa.imageR > .content > *:first-child, .lytImgBa.imageL > .content > *:first-child {
  margin-top: 0;
}

.lytImgBa.imageR > .content > *:last-child, .lytImgBa.imageL > .content > *:last-child {
  margin-bottom: 0;
}

.lytImgBa.imageR > .content > *:last-child *:last-child, .lytImgBa.imageL > .content > *:last-child *:last-child {
  margin-bottom: 0;
}

.lytImgBa.imageL {
  direction: rtl;
}

.lytImgBa.imageL > .img {
  direction: ltr;
  padding-left: 0;
  padding-right: 15px;
}

.lytImgBa.imageL > .img img {
  max-width: none;
}

.lytImgBa.imageL > .content {
  direction: ltr;
}

.lytImgBa.float {
  display: block;
}

.lytImgBa.float > .img,
.lytImgBa.float > .content {
  display: block;
  margin-top: 0;
}

.lytImgBa.float > .img > *:first-child,
.lytImgBa.float > .content > *:first-child {
  margin-top: 0;
}

.lytImgBa.float > .img > *:last-child,
.lytImgBa.float > .content > *:last-child {
  margin-bottom: 0;
}

.lytImgBa.float.imageR > .img {
  float: right;
}

.lytImgBa.float.imageL {
  direction: ltr;
}

.lytImgBa.float.imageL > .img {
  float: left;
}

@media screen and (max-width: 766px) {
  .lytImgBa.imageR, .lytImgBa.imageL {
    display: block;
  }
  .lytImgBa.imageR > .img, .lytImgBa.imageL > .img {
    float: none !important;
    display: block;
    text-align: center;
    padding: 0;
  }
  .lytImgBa.imageR > .img img, .lytImgBa.imageL > .img img {
    max-width: 100%;
  }
  .lytImgBa.imageR > .content, .lytImgBa.imageL > .content {
    display: block;
    margin-bottom: 20px;
  }
  .lytImgBa.float.imageR > .content, .lytImgBa.float.imageL > .content {
    margin-bottom: 0;
  }
  .lytImgBa.float.imageR > .img, .lytImgBa.float.imageL > .img {
    margin-bottom: 20px;
  }
  .lytImgBa.spKeep.imageR, .lytImgBa.spKeep.imageL {
    display: table !important;
  }
  .lytImgBa.spKeep.imageR > .img, .lytImgBa.spKeep.imageL > .img {
    display: table-cell !important;
    padding-left: 15px;
  }
  .lytImgBa.spKeep.imageR > .content, .lytImgBa.spKeep.imageL > .content {
    display: table-cell !important;
    margin-bottom: 10px;
  }
  .lytImgBa.spKeep.imageL > .img {
    padding-left: 0;
    padding-right: 15px;
  }
  .lytImgBa.spKeep.float.imageR > .content, .lytImgBa.spKeep.float.imageL > .content {
    margin-bottom: 0;
  }
  .lytImgBa.spKeep.float.imageR > .img, .lytImgBa.spKeep.float.imageL > .img {
    margin-bottom: 20px;
  }
}

/*画像1カラム配置の場合に付ける*/
.column1Img100 {
  text-align: center;
  margin: 10px 0;
}

.column1Img100 img, .column1Img100.img {
  max-width: 100%;
}

.column1Img100.left {
  text-align: left;
}

@media screen and (max-width: 766px) {
  .spImgWidthHarf img {
    width: 50% !important;
  }
}

/* ----------------------------------------------------------------------------------------------------
   リスト
---------------------------------------------------------------------------------------------------- */
ul > li > *:first-child, ul > dt > *:first-child, ul > dd > *:first-child, ol > li > *:first-child, ol > dt > *:first-child, ol > dd > *:first-child, dl > li > *:first-child, dl > dt > *:first-child, dl > dd > *:first-child {
  margin-top: 0;
}

ul > li > *:last-child, ul > dt > *:last-child, ul > dd > *:last-child, ol > li > *:last-child, ol > dt > *:last-child, ol > dd > *:last-child, dl > li > *:last-child, dl > dt > *:last-child, dl > dd > *:last-child {
  margin-bottom: 0;
}

ul.listBa {
  margin: 10px 0;
}

ul.listBa > li {
  position: relative;
  margin-bottom: 5px;
  padding-left: 30px;
}

ul.listBa > li:before {
  content: "・";
  top: 0;
  left: 0;
}

.listOrderBa {
  margin: 10px 0;
  list-style: decimal outside none;
  padding-left: 2.6rem;
}

.listOrderBa > li {
  margin-bottom: 5px;
  padding-left: 10px;
}

.listOrderBa > li > .listOrderBa {
  margin-top: 35px !important;
}

.listOrderBa > li:last-child {
  margin-bottom: 0;
}

dl.listBa {
  margin: 20px 0 20px;
}

dl.listBa > dt {
  font-weight: bold;
  margin-bottom: 1px;
  font-size: 16px;
  font-size: 1.6rem;
  font-family: Century, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "ＭＳ 明朝","MS Mincho";
}

dl.listBa > dd {
  margin-bottom: 27px;
}

dl.listBa > dd:last-of-type {
  margin-bottom: 0;
}

dl.listTy01 {
  margin: 20px 0 20px;
}

dl.listTy01 > dt {
  font-size: 11px;
  font-size: 1.1rem;
  margin-bottom: 8px;
  font-family: Century, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "ＭＳ 明朝","MS Mincho";
}

dl.listTy01 > dd {
  font-size: 12px;
  font-size: 1.2rem;
  margin-bottom: 27px;
}

dl.listTy01 > dd:last-of-type {
  margin-bottom: 0;
}

.listNoteBa {
  margin: 10px 0;
}

.listNoteBa > li {
  position: relative;
  font-size: 14px;
  font-size: 1.4rem;
  padding-left: 18px;
  line-height: 1.3;
  margin-top: 12px;
}

.listNoteBa > li:first-child {
  margin-top: 0;
}

.listNoteBa > li:before {
  content: "※";
  top: 0;
  left: 0;
}

.listNews01 {
  margin: 10px 0 50px;
}

.listNews01 > li {
  margin-top: 20px;
  padding-bottom: 15px;
  border-bottom: 2px dotted #ccc;
}

.listNews01 > li:first-child {
  margin-top: 0;
}

.listNews01 > li .date {
  display: block;
  position: relative;
  font-size: 18px;
  font-size: 1.8rem;
  padding: 0 0 0 20px;
  margin: 0 0 5px;
}

.listNews01 > li .date:before {
  top: 9px;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 10px;
  background-color: #f39800;
}

.listBnr {
  margin: 10px 0;
  text-align: center;
}

.listBnr > li {
  margin: 20px 0 0;
  line-height: 0;
}

.listBnr > li a {
  display: inline-block;
}

.listBnr > li:first-child {
  margin-top: 0;
}

.listBnr > li img {
  max-width: 100%;
}

@media screen and (max-width: 1120px) {
  .listBnr > li img {
    width: 100%;
  }
}

@media screen and (max-width: 766px) {
  .listBnr > li img {
    width: auto;
  }
}

/* ----------------------------------------------------------------------------------------------------
   リンクリスト リストじゃないリンクもついでに
---------------------------------------------------------------------------------------------------- */
/*アイコン系*/
img.icon {
  display: inline-block !important;
  margin: 0 5px;
  vertical-align: middle;
  width: auto !important;
  border: none !important;
}

.linkTy01 a {
  position: relative;
  padding-right: 20px;
  display: inline-block;
  text-decoration: none;
  color: #275980;
  font-size: 14px;
  font-size: 1.4rem;
  font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "ＭＳ 明朝","MS Mincho";
}

.linkTy01 a:focus, .linkTy01 a:hover {
  color: #27ccc0;
}

.linkTy01 a:after {
  background-image: url(/common/images/sprites.png);
  background-position: 0px 0px;
  width: 10px;
  height: 8px;
  top: 5px;
  right: 0;
}

.linkTy01 a .caption {
  display: block;
  font-family: Century;
  font-size: 10px;
  font-size: 1rem;
}

/* ----------------------------------------------------------------------------------------------------
   ボックス
---------------------------------------------------------------------------------------------------- */
*[class^="box"] *:first-child {
  margin-top: 0;
}

*[class^="box"] *:last-child {
  margin-bottom: 0;
}

.boxBa {
  margin: 20px 0;
  padding: 10px;
  background-color: #ccc;
}

.boxBa.yellow {
  background-color: #FAF5C5;
}

.boxTy01 {
  border: 1px solid #dbdbdb;
  background-color: #fff;
  padding: 10px;
  margin: 20px 0;
}

/* ----------------------------------------------------------------------------------------------------
   テーブル
---------------------------------------------------------------------------------------------------- */
table caption {
  font-weight: bold;
  margin-bottom: 5px;
}

table img {
  vertical-align: middle;
}

table.allCenter thead th,
table.allCenter thead td,
table.allCenter tbody th,
table.allCenter tbody td,
table.allCenter th,
table.allCenter td {
  text-align: center;
}

table.theadCenter thead th,
table.theadCenter thead td {
  text-align: center !important;
}

table.theadLeft thead th,
table.theadLeft thead td {
  text-align: left !important;
}

table.tbodyLeft tbody th,
table.tbodyLeft tbody td {
  text-align: left;
}

table.tbodyTdRight tbody td {
  text-align: right;
}

table.vMiddle th, table.vMiddle td {
  vertical-align: middle;
}

table.vTop th, table.vTop td {
  vertical-align: top;
}

table tr th > *:first-child,
table tr td > *:first-child {
  margin-top: 0;
}

table tr th > *:last-child,
table tr td > *:last-child {
  margin-bottom: 0;
}

.tableBa {
  width: 100%;
  border-top: 1px solid #cfcfcf;
  border-right: 1px solid #cfcfcf;
}

.tableBa th, .tableBa td {
  border-left: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
  vertical-align: middle;
}

.tableBa th {
  background-color: #f3fafb;
  padding: 15px;
  font-weight: bold;
  overflow: hidden;
}

.tableBa td {
  padding: 12px;
  background-color: #fff;
}

@media screen and (max-width: 766px) {
  .tableBa col {
    width: 100% !important;
  }
  .tableBa th, .tableBa td {
    float: left;
    width: 100%;
    padding: 8px 10px;
  }
  .tableBa tr td {
    border-bottom: none;
  }
  .tableBa tr td:first-of-type {
    border-bottom: none;
  }
  .tableBa tr td:last-of-type {
    border-bottom: 1px solid #cbcbcb;
    padding-bottom: 8px;
  }
  .tableBa tr th {
    border-bottom: none;
  }
}

.tableTy01 {
  width: 100%;
  margin: 10px 0 20px;
}

.tableTy01 th, .tableTy01 td {
  vertical-align: middle;
  padding: 15px 20px;
}

.tableTy01 th {
  background-color: #f4f4f4;
  background-color: #2441B1;
  color: #fff;
  overflow: hidden;
}

.tableTy01 td {
  background-color: #fff;
  background-color: #1636B1;
  color: #fff;
}

.tableTy01 td a {
  color: #fff;
}

@media screen and (max-width: 766px) {
  .tableTy01 col {
    width: 100% !important;
  }
  .tableTy01 th, .tableTy01 td {
    float: left;
    width: 100%;
    padding: 8px 10px;
  }
  .tableTy01 tr td {
    border-bottom: none;
  }
  .tableTy01 tr td:first-of-type {
    border-bottom: none;
  }
  .tableTy01 tr td:last-of-type {
    border-bottom: 1px solid #cbcbcb;
    padding-bottom: 8px;
  }
  .tableTy01 tr th {
    border-bottom: none;
  }
}

.tableTy02 {
  width: 100%;
  border-top: 1px solid #cfcfcf;
  border-right: 1px solid #cfcfcf;
  margin: 20px 0;
}

.tableTy02 th, .tableTy02 td {
  border-left: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
  vertical-align: middle;
}

.tableTy02 th {
  background-color: #f4f4f4;
  padding: 15px;
  font-weight: bold;
  overflow: hidden;
}

.tableTy02 td {
  padding: 12px;
  background-color: #fff;
}

@media screen and (max-width: 766px) {
  .tableTy02 col {
    width: 100% !important;
  }
  .tableTy02 th, .tableTy02 td {
    float: left;
    width: 100%;
    padding: 8px 10px;
  }
  .tableTy02 tr td {
    border-bottom: none;
  }
  .tableTy02 tr td:first-of-type {
    border-bottom: none;
  }
  .tableTy02 tr td:last-of-type {
    border-bottom: 1px solid #cbcbcb;
    padding-bottom: 8px;
  }
  .tableTy02 tr th {
    border-bottom: none;
  }
}

.tableMenu {
  background-color: #f3fafb;
  padding: 35px;
}

.tableMenu .notice {
  color: #36989d;
  text-align: right;
}

.tableMenu table {
  width: 100%;
  padding: 10px 56px 30px 40px;
  margin-top: 30px;
  border-bottom: 1px solid #cef0f3;
}

.tableMenu table caption {
  color: #144165;
  font-size: 15px;
  font-size: 1.5rem;
  padding-left: 40px;
}

.tableMenu table caption:before {
  content: "";
  display: inline-block;
  background-image: url(/common/images/sprites.png);
  background-position: -26px 0px;
  width: 36px;
  height: 24px;
  margin: 0px 10px 0 0;
  vertical-align: sub;
}

.tableMenu table th, .tableMenu table td {
  vertical-align: middle;
}

.tableMenu table th {
  overflow: hidden;
  vertical-align: top;
  width: 55%;
}

.tableMenu table td {
  text-align: right;
  width: 25%;
  padding: 6px 0;
}

@media screen and (max-width: 766px) {
  .tableMenu {
    padding: 15px;
  }
  .tableMenu table {
    padding: 5px 5px 15px;
    margin-top: 15px;
  }
  .tableMenu table caption {
    padding-left: 20px;
  }
  .tableMenu table col {
    width: 100% !important;
  }
  .tableMenu table th, .tableMenu table td {
    float: left;
    width: 100%;
    padding: 8px 10px;
  }
  .tableMenu table tr td {
    border-bottom: none;
  }
  .tableMenu table tr td:first-of-type {
    border-bottom: none;
  }
  .tableMenu table tr td:last-of-type {
    border-bottom: 1px dotted #dedede;
  }
  .tableMenu table tr:last-child td:last-of-type {
    border-bottom: none;
  }
  .tableMenu table tr th {
    border-bottom: none;
  }
}

/* ----------------------------------------------------------------------------------------------------
   ボタン
---------------------------------------------------------------------------------------------------- */
.btnTy01 a,
.btnTy01 button {
  position: relative;
  display: block;
  background-color: #006835;
  padding: 15px 0 13px;
  font-size: 22px;
  font-size: 2.2rem;
  color: #fff;
  text-align: center;
  text-decoration: none;
  border: none;
}

.btnTy01 a:focus, .btnTy01 a:hover,
.btnTy01 button:focus,
.btnTy01 button:hover {
  background-color: #22ac07;
  cursor: pointer;
}

.btnTy01 a:before,
.btnTy01 button:before {
  top: 50%;
  right: 20px;
  width: 12px;
  height: 12px;
  margin-top: -8px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.btnTy01.download a {
  display: inline-block;
  text-align: left;
  padding: 15px 45px 13px 15px;
}

@media screen and (max-width: 766px) {
  .btnTy01 a,
  .btnTy01 button {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .btnTy01 a:before,
  .btnTy01 button:before {
    right: 15px;
    width: 6px;
    height: 6px;
    margin-top: -5px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }
}

/* ----------------------------------------------------------------------------------------------------
   ナビゲーション
---------------------------------------------------------------------------------------------------- */
.anchorTy01 > li {
  margin-top: 0.8rem;
}

.anchorTy01 > li:first-child {
  margin-top: 0;
}

.anchorTy01 > li a {
  position: relative;
  font-size: 17px;
  font-size: 1.7rem;
  padding-left: 2.5rem;
  display: inline-block;
}

.anchorTy01 > li a:before {
  top: 4px;
  left: 0;
  width: 10px;
  height: 10px;
  border-top: 3px solid #006835;
  border-right: 3px solid #006835;
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

/* ----------------------------------------------------------------------------------------------------
   フォーム
---------------------------------------------------------------------------------------------------- */
/* ----------------------------------------------------------------------------------------------------
   その他
---------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 766px) {
  .leafret .btnTy01 a {
    text-align: left;
    padding: 12px 22px 12px 15px;
  }
}

#profileWrap img {
  width: 200px;
}

#profileWrap ul.pht {
  display: table;
}

@media screen and (max-width: 766px) {
  #profileWrap ul.pht {
    display: block;
  }
}

#profileWrap ul.pht li {
  display: table-cell;
  padding-right: 30px;
}

@media screen and (max-width: 766px) {
  #profileWrap ul.pht li {
    display: block;
    padding-right: 0;
    text-align: center;
  }
}

.phtSingle {
  text-align: left;
}

@media screen and (max-width: 766px) {
  .phtSingle {
    text-align: center;
  }
}

.sig {
  font-size: 120%;
}

#colorbox,
#cboxOverlay,
#cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden;
}

#cboxWrapper {
  max-width: none;
}

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%;
}

#cboxMiddleLeft,
#cboxBottomLeft {
  clear: left;
}

#cboxContent {
  position: relative;
}

#cboxLoadedContent {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#cboxTitle {
  margin: 0;
}

#cboxLoadingOverlay,
#cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#cboxPrevious,
#cboxNext,
#cboxClose,
#cboxSlideshow {
  cursor: pointer;
}

.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block;
  max-width: none;
  -ms-interpolation-mode: bicubic;
}

.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
}

#colorbox,
#cboxContent,
#cboxLoadedContent {
  box-sizing: content-box;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
}

#cboxOverlay {
  background: url(/common/images/colorbox/overlay.png) repeat 0 0;
}

#colorbox {
  outline: 0;
}

#cboxTopLeft {
  width: 21px;
  height: 21px;
  background: url(/common/images/colorbox/controls.png) no-repeat -101px 0;
}

#cboxTopRight {
  width: 21px;
  height: 21px;
  background: url(/common/images/colorbox/controls.png) no-repeat -130px 0;
}

#cboxBottomLeft {
  width: 21px;
  height: 21px;
  background: url(/common/images/colorbox/controls.png) no-repeat -101px -29px;
}

#cboxBottomRight {
  width: 21px;
  height: 21px;
  background: url(/common/images/colorbox/controls.png) no-repeat -130px -29px;
}

#cboxMiddleLeft {
  width: 21px;
  background: url(/common/images/colorbox/controls.png) left top repeat-y;
}

#cboxMiddleRight {
  width: 21px;
  background: url(/common/images/colorbox/controls.png) right top repeat-y;
}

#cboxTopCenter {
  height: 21px;
  background: url(/common/images/colorbox/border.png) 0 0 repeat-x;
}

#cboxBottomCenter {
  height: 21px;
  background: url(/common/images/colorbox/border.png) 0 -29px repeat-x;
}

#cboxContent {
  background: #fff;
  overflow: hidden;
}

.cboxIframe {
  background: #fff;
}

#cboxError {
  padding: 50px;
  border: 1px solid #ccc;
}

#cboxLoadedContent {
  margin-bottom: 28px;
  margin-top: 30px;
}

#cboxTitle {
  position: absolute;
  bottom: 2px;
  left: 0;
  text-align: center;
  width: 100%;
  color: #949494;
  font-size: 13px;
  padding-right: 20px;
}

#cboxCurrent {
  position: absolute;
  top: 1px;
  left: 58px;
  color: #949494;
}

#cboxLoadingOverlay {
  background: url(/common/images/colorbox/loading_background.png) no-repeat center center;
}

#cboxLoadingGraphic {
  background: url(/common/images/colorbox/loading.gif) no-repeat center center;
}

#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  width: auto;
  background: none;
}

#cboxPrevious:active,
#cboxNext:active,
#cboxSlideshow:active,
#cboxClose:active {
  outline: 0;
}

#cboxSlideshow {
  position: absolute;
  bottom: 4px;
  right: 30px;
  color: #0092ef;
}

#cboxPrevious {
  position: absolute;
  top: 0;
  left: 0;
  background: url(/common/images/colorbox/controls.png) no-repeat -75px 0;
  width: 25px;
  height: 25px;
  text-indent: -9999px;
}

#cboxPrevious:hover {
  background-position: -75px -25px;
}

#cboxNext {
  position: absolute;
  top: 0;
  left: 27px;
  background: url(/common/images/colorbox/controls.png) no-repeat -50px 0;
  width: 25px;
  height: 25px;
  text-indent: -9999px;
}

#cboxNext:hover {
  background-position: -50px -25px;
}

#cboxClose {
  position: absolute;
  top: 0;
  right: 0;
  background: url(/common/images/colorbox/controls.png) no-repeat -25px 0;
  width: 25px;
  height: 25px;
  text-indent: -9999px;
}

#cboxClose:hover {
  background-position: -25px -25px;
}

.cboxIE #cboxTopLeft,
.cboxIE #cboxTopCenter,
.cboxIE #cboxTopRight,
.cboxIE #cboxBottomLeft,
.cboxIE #cboxBottomCenter,
.cboxIE #cboxBottomRight,
.cboxIE #cboxMiddleLeft,
.cboxIE #cboxMiddleRight {
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
}

/* ----------------------------------------------------------------------------------------------------
   印刷対応
---------------------------------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------------------------------------------
   トップページにしか登場しないようなやつ専用
--------------------------------------------------------------------------------------------------------------- */
body.top #contentainer {
  margin-top: 30px;
}

@media screen and (max-width: 766px) {
  body.top #contentainer {
    margin-top: 0;
  }
}

#tweetWrap {
  width: 100%;
  margin: 20px 0;
}

.twitter-timeline {
  height: 1380px !important;
}

@media screen and (max-width: 766px) {
  .twitter-timeline {
    height: 860px !important;
  }
}

@media screen and (max-width: 500px) {
  .twitter-timeline {
    height: 360px !important;
  }
}

#twitter-widget-0 {
  width: 100% !important;
}

.timeline .stream {
  height: 400px !important;
}
