@charset "UTF-8";
/* *****************************************************
Contents ---------------
01: reset
02: common
03: LayerBase
04: LayerBody
------------------------
***************************************************** */
/* *****************************************************
reset
***************************************************** */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  vertical-align: baseline;
  font-size: 100%;
  font-style: normal;
  outline: 0;
}

body {
  width: auto;
  min-width: 980px;
  background: #ffffff;
  font-size: 88%;
  /* 14px */
  line-height: 158%;
  /* 22px */
  font-family: "Helvetica Neue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  color: #555565;
  word-wrap: break-word;
  word-break: break-word;
}
@media screen and (min-width: 768px) and (max-width: 979px) {
  body {
    min-height: 1150px;
  }
}
@media only screen and (max-width: 640px) {
  body {
    min-width: 320px;
    min-height: 1px;
    -webkit-text-size-adjust: 100%;
    font-size: 100%;
    /* 16px */
    line-height: 143%;
    /* 21px */
  }
}

body.en {
  font-size: 94%;
  /* 15px */
  line-height: 160%;
  /* 24px */
}
@media only screen and (max-width: 640px) {
  body.en {
    min-width: 320px;
    min-height: 1px;
    -webkit-text-size-adjust: 100%;
    font-size: 100%;
    /* 16px */
    line-height: 132%;
    /* 21px */
  }
}

article, aside, details, figcaption, figure, footer, header, menu, nav, section, mark, time {
  display: block;
}

h1, h2, h3, h4, h5, h6, strong, em {
  font-weight: normal;
}

ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  color: #007abf;
  text-decoration: none;
  outline: none;
}

a:link {
  color: #007abf;
}

a:visited {
  color: #804894;
}

a:hover, a:active {
  color: #007abf;
  text-decoration: underline;
}

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

img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
}
@media only screen and (max-width: 640px) {
  img {
    width: 100%;
    height: auto;
  }
}

img[width="1"] {
  width: auto;
}

img[height="1"] {
  height: auto;
}

@media only screen and (max-width: 640px) {
  iframe {
    width: 100%;
    height: auto;
  }
}
input, select {
  vertical-align: middle;
  font-family: "Helvetica Neue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

textarea {
  font-family: "Helvetica Neue", Helvetica, Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}

sup {
  vertical-align: super;
  font-size: 10px;
}

/* *****************************************************
common
***************************************************** */
.skipLink, #skip {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  overflow: hidden;
  outline: none;
}

/*clearfix*/
.clearfix, .clear, #LayerBody, #AreaHeader, #HeaderRight, #AreaGnavi ul, #AreaGnavi li .mega-menu .mega-contents, #AreaGnavi li .mega-menu .mega-contents .link-list-side, #AreaGnavi .mega-box, #LayerContents, ul.link-list-side, .pagination, .tab, .tab-list, .fnavi, .column2, .column2-sneak, .column2-border, .column2-btn, .column2-box, .column2-box-none, .column3, .column3-box, .column3-box-none, .column4-box, .news-list dl, .sns, #FooterNavi ul, .footer-link ul, #IdSlider, .area-prompt, .area-prompt .news-prompt, .area-prompt .news-prompt dl, .area-prompt-en, .area-prompt-en .news-prompt, .area-prompt-en .news-prompt dl, .area-active, .topics .column2, .topics .column4, #TopPage .news-list ul, #TopPage .news-list dl, #Carousel .carousel-slide, .area-sns, #TopPage .pickup, #TopPage.en .pickup ul, .area-banner ul, .area-banner-en ul {
  *zoom: 1;
}

.clearfix:before, .clear:before, #LayerBody:before, #AreaHeader:before, #HeaderRight:before, #AreaGnavi ul:before, #AreaGnavi li .mega-menu .mega-contents:before, #AreaGnavi li .mega-menu .mega-contents .link-list-side:before, #AreaGnavi .mega-box:before, #LayerContents:before, ul.link-list-side:before, .pagination:before, .tab:before, .tab-list:before, .fnavi:before, .column2:before, .column2-sneak:before, .column2-border:before, .column2-btn:before, .column2-box:before, .column2-box-none:before, .column3:before, .column3-box:before, .column3-box-none:before, .column4-box:before, .news-list dl:before, .sns:before, #FooterNavi ul:before, .footer-link ul:before, #IdSlider:before, .area-prompt:before, .area-prompt .news-prompt:before, .area-prompt .news-prompt dl:before, .area-prompt-en:before, .area-prompt-en .news-prompt:before, .area-prompt-en .news-prompt dl:before, .area-active:before, .topics .column2:before, .topics .column4:before, #TopPage .news-list ul:before, #TopPage .news-list dl:before, #Carousel .carousel-slide:before, .area-sns:before, #TopPage .pickup:before, #TopPage.en .pickup ul:before, .area-banner ul:before, .area-banner-en ul:before,
.clearfix:after,
.clear:after,
#LayerBody:after,
#AreaHeader:after,
#HeaderRight:after,
#AreaGnavi ul:after,
#AreaGnavi li .mega-menu .mega-contents:after,
#AreaGnavi li .mega-menu .mega-contents .link-list-side:after,
#AreaGnavi .mega-box:after,
#LayerContents:after,
ul.link-list-side:after,
.pagination:after,
.tab:after,
.tab-list:after,
.fnavi:after,
.column2:after,
.column2-sneak:after,
.column2-border:after,
.column2-btn:after,
.column2-box:after,
.column2-box-none:after,
.column3:after,
.column3-box:after,
.column3-box-none:after,
.column4-box:after,
.news-list dl:after,
.sns:after,
#FooterNavi ul:after,
.footer-link ul:after,
#IdSlider:after,
.area-prompt:after,
.area-prompt .news-prompt:after,
.area-prompt .news-prompt dl:after,
.area-prompt-en:after,
.area-prompt-en .news-prompt:after,
.area-prompt-en .news-prompt dl:after,
.area-active:after,
.topics .column2:after,
.topics .column4:after,
#TopPage .news-list ul:after,
#TopPage .news-list dl:after,
#Carousel .carousel-slide:after,
.area-sns:after,
#TopPage .pickup:after,
#TopPage.en .pickup ul:after,
.area-banner ul:after,
.area-banner-en ul:after {
  content: "";
  display: table;
}

.clearfix:after, .clear:after, #LayerBody:after, #AreaHeader:after, #HeaderRight:after, #AreaGnavi ul:after, #AreaGnavi li .mega-menu .mega-contents:after, #AreaGnavi li .mega-menu .mega-contents .link-list-side:after, #AreaGnavi .mega-box:after, #LayerContents:after, ul.link-list-side:after, .pagination:after, .tab:after, .tab-list:after, .fnavi:after, .column2:after, .column2-sneak:after, .column2-border:after, .column2-btn:after, .column2-box:after, .column2-box-none:after, .column3:after, .column3-box:after, .column3-box-none:after, .column4-box:after, .news-list dl:after, .sns:after, #FooterNavi ul:after, .footer-link ul:after, #IdSlider:after, .area-prompt:after, .area-prompt .news-prompt:after, .area-prompt .news-prompt dl:after, .area-prompt-en:after, .area-prompt-en .news-prompt:after, .area-prompt-en .news-prompt dl:after, .area-active:after, .topics .column2:after, .topics .column4:after, #TopPage .news-list ul:after, #TopPage .news-list dl:after, #Carousel .carousel-slide:after, .area-sns:after, #TopPage .pickup:after, #TopPage.en .pickup ul:after, .area-banner ul:after, .area-banner-en ul:after {
  clear: both;
}

/* *****************************************************
LayerContainer
***************************************************** */
#LayerContainer {
  position: relative;
  width: 100%;
  min-height: 100%;
  margin: 0 auto;
  overflow: hidden;
  zoom: 1;
}

* html #LayerContainer {
  height: auto !important;
  /*IE6対策*/
  height: 100%;
  /*IE6対策*/
}

/* *****************************************************
LayerBase
***************************************************** */
#LayerBase {
  clear: both;
  width: 100%;
  height: auto;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

/* *****************************************************
LayerBody
***************************************************** */
#LayerBody {
  clear: both;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0 0 15px 0;
  background-color: #aab2bd;
}
@media only screen and (max-width: 640px) {
  #LayerBody {
    padding: 0;
  }
}

#TopPage #LayerBody {
  padding: 0;
}
#TopPage .topics img {
  width: 100%;
  height: auto;
}

/* *****************************************************
Contents ---------------
01: LayerHeader
------------------------
***************************************************** */
/* *****************************************************
LayerHeader
***************************************************** */
#LayerHeader {
  width: auto;
}

.form #LayerHeader {
  border-bottom: 2px solid #ea0001;
}

/* AreaHeader
----------------------------------------------------- */
#AreaHeader {
  width: 980px;
  margin: 0 auto;
  background-color: #fff;
}
@media only screen and (max-width: 640px) {
  #AreaHeader {
    width: 100%;
    height: 45px;
    padding: 0 0 0 0;
  }
}

/* HeaderLeft */
#HeaderLeft {
  float: left;
  width: 151px;
  margin: 19px 0 0 0;
}
@media only screen and (max-width: 640px) {
  #HeaderLeft {
    width: 94px;
    margin: 10px 0 0 10px;
  }
}
#HeaderLeft #logo {
  width: 151px;
  height: 40px;
  margin: 0;
  overflow: hidden;
}

#HeaderLeft h1#logo {
  width: 302px;
  height: 40px;
  margin: 0;
  overflow: hidden;
}

@media only screen and (max-width: 640px) {
  #HeaderLeft #logo {
    width: 94px;
    height: 25px;
  }

  #HeaderLeft h1#logo {
    width: 200px;
    height: 30px;
  }
  
  #HeaderLeft #logo img {
    width: 100%;
    height: auto;
  }
}

.en #HeaderLeft #logo {
  width: 170px;
}
@media only screen and (max-width: 640px) {
  .en #HeaderLeft #logo {
    width: 105px;
  }
}

/* HeaderRight */
#HeaderRight {
  float: right;
  width: 497px;
  width: 497px\9;
  margin: 26px 0 0 31px;
}
#HeaderRight .en {
  float: left;
  margin: 0;
}
#HeaderRight .en a {
  display: block;
  width: 90px;
  height: 0;
  padding: 26px 0 0 0;
  font-size: 14px;
  background: url(img/common.png) -466px -191px no-repeat;
  overflow: hidden;
}
#HeaderRight .en a:hover {
  background-position: -566px -191px;
}
#HeaderRight .jpn {
  float: left;
  margin: 0;
}
#HeaderRight .jpn a {
  display: block;
  width: 100px;
  height: 0;
  padding: 26px 0 0 0;
  font-size: 14px;
  background: url(img/common_en.png) 0 -349px no-repeat;
  overflow: hidden;
}
#HeaderRight .jpn a:hover {
  background-position: -110px -349px;
}
#HeaderRight .sp-menu {
  display: none;
}
@media only screen and (max-width: 640px) {
  #HeaderRight {
    width: 129px;
    margin: 0 10px 0 0;
  }
  #HeaderRight .en,
  #HeaderRight .jpn {
    display: none;
  }
  #HeaderRight .sp-menu {
    display: block;
    float: left;
    width: 88px;
    height: 45px;
    margin: 0;
    padding: 0 0 0 0;
    background: url(img/sp_menu.png) 0 12px no-repeat;
    background-size: 84px 20px;
    text-indent: -9999px;
    cursor: pointer;
    overflow: hidden;
  }
}

.en #HeaderRight {
  width: 491px;
}
@media only screen and (max-width: 640px) {
  .en #HeaderRight {
    width: 129px;
  }
}

* + html #HeaderRight {
  width: 497px;
}

* + html .en #HeaderRight {
  width: 495px;
}

/* IdFontsize */
#IdFontsize {
  float: left;
  margin: 0 0 0 10px;
  font-size: 11px;
  line-height: 100%;
}
#IdFontsize dt,
#IdFontsize dd {
  float: left;
}
#IdFontsize dt {
  margin: 9px 9px 0 0;
  font-size: 11px;
  line-height: 100%;
}
#IdFontsize dd {
  display: block;
  width: 40px;
  height: 26px;
  padding: 0 0 0 0;
  font-size: 14px;
  line-height: 100%;
  text-indent: -9999px;
  background: url(img/common.png) 0 0 no-repeat;
  overflow: hidden;
  cursor: pointer;
}
#IdFontsize #IdFontS {
  background-position: 0 -191px;
}
#IdFontsize #IdFontS.highlight,
#IdFontsize #IdFontS:hover {
  background-position: -130px -191px;
}
#IdFontsize #IdFontM {
  background-position: -40px -191px;
}
#IdFontsize #IdFontM.highlight,
#IdFontsize #IdFontM:hover {
  background-position: -170px -191px;
}
#IdFontsize #IdFontL {
  background-position: -80px -191px;
}
#IdFontsize #IdFontL.highlight,
#IdFontsize #IdFontL:hover {
  background-position: -210px -191px;
}
@media only screen and (max-width: 640px) {
  #IdFontsize {
    display: none;
  }
}

.en #IdFontsize dd {
  background: url(img/common_en.png) 0 0 no-repeat;
}
.en #IdFontsize #IdFontS {
  background-position: -220px -349px;
}
.en #IdFontsize #IdFontS.highlight,
.en #IdFontsize #IdFontS:hover {
  background-position: -350px -349px;
}
.en #IdFontsize #IdFontM {
  background-position: -260px -349px;
}
.en #IdFontsize #IdFontM.highlight,
.en #IdFontsize #IdFontM:hover {
  background-position: -390px -349px;
}
.en #IdFontsize #IdFontL {
  background-position: -300px -349px;
}
.en #IdFontsize #IdFontL.highlight,
.en #IdFontsize #IdFontL:hover {
  background-position: -430px -349px;
}

/* SearchWindow */
#SearchWindow,
#SearchWindowSP {
  position: relative;
  float: right;
  width: 176px;
  height: 23px;
  height: 20px\9;
  margin: 0 0 0 10px;
  padding: 3px 10px 0 10px;
  padding: 6px 10px 0 10px\9;
  background: url(img/common.png) -260px -191px no-repeat !important;
}
#SearchWindow form,
#SearchWindowSP form {
  font-size: 14px !important;
  line-height: 100% !important;
}
#SearchWindow table,
#SearchWindowSP table {
  margin: 0 !important;
}
#SearchWindow .gsc-input-box,
#SearchWindowSP .gsc-input-box {
  border: none !important;
  height: 16px !important;
}
#SearchWindow .gsc-input-box .gsc-input,
#SearchWindowSP .gsc-input-box .gsc-input {
  padding: 0;
}
#SearchWindow .gsc-input .gsc-input,
#SearchWindowSP .gsc-input .gsc-input {
  width: 155px !important;
  font-size: 14px !important;
  line-height: 100% !important;
  padding: 0 0 0 4px !important;
  color: #8e959f !important;
  border: none;
  background-color: white !important;
  outline: 0 !important;
  border: none !important;
}
#SearchWindow .gsc-search-button .gsc-search-button,
#SearchWindowSP .gsc-search-button .gsc-search-button {
  position: absolute !important;
  top: 6px !important;
  right: 9px !important;
  width: 14px !important;
  height: 0 !important;
  padding: 15px 0 0 0 !important;
  background: url(img/common.png) -754px -191px no-repeat !important;
  overflow: hidden !important;
  border: none !important;
  outline: 0 !important;
  cursor: pointer !important;
  min-width: 1px !important;
}
#SearchWindow .gsc-clear-button,
#SearchWindowSP .gsc-clear-button {
  display: none !important;
}
@media only screen and (max-width: 640px) {
  #SearchWindow,
  #SearchWindowSP {
    display: none;
  }
}

.sp-search {
  display: none;
  float: left;
  width: 41px;
  height: 0;
  padding: 21px 0 0 0;
  background: url(img/btn_search_sp.png) 0 12px no-repeat;
  background-size: 40px 20px;
  overflow: hidden;
  cursor: pointer;
  margin: 0;
}
@media only screen and (max-width: 640px) {
  .sp-search {
    display: block;
    height: 45px;
    padding: 0;
    text-indent: -9999px;
  }
}

.gsc-control-cse table,
.gsc-control-cse td,
.gsc-control-cse th {
  border: none;
  padding: 0;
}

.gsc-selected-option-container {
  word-wrap: normal !important;
  word-break: normal !important;
}

.gsc-selected-option {
  word-wrap: normal !important;
  word-break: normal !important;
}

.gsc-search-box table,
.gsc-search-box th,
.gsc-search-box td {
  border: none;
  padding: 0;
  width: auto !important;
}

.gsc-input-box {
  border: none !important;
  height: 32px !important;
}

.contents-search {
  margin-bottom: 30px;
}

.gsst_b {
  padding: 0 !important;
}

.gsib_b {
  display: none !important;
}

.gsc-clear-button {
  display: none !important;
}

.sp-search-contents {
  display: none;
}
@media only screen and (max-width: 640px) {
  .sp-search-contents {
    padding: 10px;
    background: url(img/sp_menu_arrow.png) 63% 0 no-repeat #aab2bd;
  }
  .sp-search-contents #SearchWindowSP {
    position: relative;
    display: block;
    float: none;
    width: 100%;
    height: 45px;
    margin: 0 0 0 0;
    padding: 12px 0 0 0;
    background: white !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .sp-search-contents #SearchWindowSP .gsc-input {
    display: table-cell;
    width: 100% !important;
  }
  .sp-search-contents #SearchWindowSP .gsc-input .gsc-input {
    width: 100% !important;
    padding: 0 42px 0 11px !important;
    color: #8e959f !important;
    font-size: 16px !important;
    border: none !important;
    background: #fff;
    outline: 0 !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background-position: 8px 50% !important;
  }
  .sp-search-contents #SearchWindowSP .gsc-search-button {
    display: block;
    position: absolute !important;
    top: 9px !important;
    right: 10px !important;
    width: 27px !important;
    height: 27px !important;
  }
  .sp-search-contents #SearchWindowSP .gsc-search-button .gsc-search-button {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 27px !important;
    height: 0 !important;
    padding: 27px 0 0 0 !important;
    background: url(img/search_sp.png) 0 0 no-repeat !important;
    background-size: 27px 27px !important;
    overflow: hidden !important;
    border: none !important;
    outline: 0 !important;
    cursor: pointer;
  }
}

/* title-header */
.title-header {
  clear: both;
  margin: 0 0 4px 0;
  padding: 0;
  text-align: right;
  font-size: 11px;
  line-height: 100%;
  color: #ff0000;
}
@media only screen and (max-width: 640px) {
  .title-header {
    display: none;
  }
}

/* AreaGnavi
----------------------------------------------------- */
#AreaGnavi {
  position: relative;
  margin: 0 0 0 0;
  border-top: 2px solid #ea0001;
  z-index: 100;
}
@media only screen and (max-width: 640px) {
  #AreaGnavi {
    display: none;
    margin: 0;
    padding: 10px 0 10px 0;
    background: url(img/sp_menu_arrow.png) 87% 0 no-repeat #aab2bd;
    border-top: none;
    font-size: 113%;
    line-height: 128%;
  }
  #AreaGnavi .en {
    margin: 0 10px 0;
  }
  #AreaGnavi .en a {
    display: block;
    width: auto;
    height: 24px;
    padding: 13px 0 8px 45px;
    font-weight: bold;
    text-decoration: none;
    background: url(img/gnavi_sp.png) 10px -271px no-repeat white;
    background-size: 304px 307px;
  }
  #AreaGnavi .jpn {
    margin: 0 10px 0;
  }
  #AreaGnavi .jpn a {
    display: block;
    width: auto;
    height: 24px;
    padding: 13px 0 8px 45px;
    font-weight: bold;
    text-decoration: none;
    background: url(img/gnavi_en_sp.png) 10px -271px no-repeat white;
    background-size: 304px 307px;
  }
}
#AreaGnavi ul {
  width: 980px;
  margin: 0 auto;
  padding: 0;
  list-style-type: none;
}
@media only screen and (max-width: 640px) {
  #AreaGnavi ul {
    width: auto;
    margin: 0 0 10px 0;
    padding: 0 0 5px 0;
    border-bottom: 1px solid #bcc2cc;
  }
}
#AreaGnavi li {
  float: left;
  margin: 0;
  padding: 0;
  z-index: 100;
  width: auto;
}
@media only screen and (max-width: 640px) {
  #AreaGnavi li {
    float: none;
    margin: 0 10px 5px;
  }
}
#AreaGnavi li a {
  display: block;
  width: 196px;
  height: 0;
  padding: 90px 0 0 0;
  background: url(img/common.png) 0 0 no-repeat;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  #AreaGnavi li a {
    background: none;
    width: auto;
    height: 24px;
    padding: 13px 0 8px 45px;
    font-weight: bold;
    text-decoration: none;
    background: url(img/gnavi_sp.png) 0 0 no-repeat white;
    background-size: 304px 307px;
  }
}
#AreaGnavi li.gnavi01 a {
  background-position: 0 0;
}
#AreaGnavi li.gnavi01 strong a, #AreaGnavi li.gnavi01.active > a:first-child {
  background-position: 0 -90px;
}
@media only screen and (max-width: 640px) {
  #AreaGnavi li.gnavi01 a {
    background-position: -267px 11px;
  }
  #AreaGnavi li.gnavi01 strong a, #AreaGnavi li.gnavi01.active > a:first-child {
    background-position: -267px 11px;
  }
}
#AreaGnavi li.gnavi02 a {
  background-position: -196px 0;
}
#AreaGnavi li.gnavi02 strong a, #AreaGnavi li.gnavi02.active > a:first-child {
  background-position: -196px -90px;
}
@media only screen and (max-width: 640px) {
  #AreaGnavi li.gnavi02 a {
    background-position: -209px -41px;
  }
  #AreaGnavi li.gnavi02 strong a, #AreaGnavi li.gnavi02.active > a:first-child {
    background-position: -209px -41px;
  }
}
#AreaGnavi li.gnavi03 a {
  background-position: -392px 0;
}
#AreaGnavi li.gnavi03 strong a, #AreaGnavi li.gnavi03.active > a:first-child {
  background-position: -392px -90px;
}
@media only screen and (max-width: 640px) {
  #AreaGnavi li.gnavi03 a {
    background-position: -151px -100px;
  }
  #AreaGnavi li.gnavi03 strong a, #AreaGnavi li.gnavi03.active > a:first-child {
    background-position: -151px -100px;
  }
}
#AreaGnavi li.gnavi04 a {
  background-position: -588px 0;
}
#AreaGnavi li.gnavi04 strong a, #AreaGnavi li.gnavi04.active > a:first-child {
  background-position: -588px -90px;
}
@media only screen and (max-width: 640px) {
  #AreaGnavi li.gnavi04 a {
    background-position: -97px -157px;
  }
  #AreaGnavi li.gnavi04 strong a, #AreaGnavi li.gnavi04.active > a:first-child {
    background-position: -97px -157px;
  }
}
#AreaGnavi li.gnavi05 a {
  background-position: -784px 0;
}
#AreaGnavi li.gnavi05 strong a, #AreaGnavi li.gnavi05.active > a:first-child {
  background-position: -784px -90px;
}
@media only screen and (max-width: 640px) {
  #AreaGnavi li.gnavi05 a {
    background-position: -44px -215px;
  }
  #AreaGnavi li.gnavi05 strong a, #AreaGnavi li.gnavi05.active > a:first-child {
    background-position: -44px -215px;
  }
}
#AreaGnavi li .mega-menu {
  position: absolute;
  top: 90px;
  left: 0;
  width: 100%;
  border-top: 1px solid #e5e5e5;
  background: #fff;
  z-index: 100;
  display: none;
}
#AreaGnavi li .mega-menu .shadow {
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 5px;
  margin: 0;
  padding: 0;
  z-index: 100;
  background: url(img/bg_megamenu.png) 0 bottom repeat-x;
}
@media only screen and (max-width: 640px) {
  #AreaGnavi li .mega-menu {
    display: none !important;
  }
}
#AreaGnavi li .mega-menu .mega-contents {
  width: 979px;
  min-height: 329px;
  margin: 0 auto;
  border-right: 1px solid #dde0e7;
  zoom: 1;
}
#AreaGnavi li .mega-menu .mega-contents .contents-left {
  display: block;
  float: left;
  width: 196px;
  min-height: 291px;
  padding: 38px 0 0 0;
  background: #f1f2f6;
  text-align: center;
}
#AreaGnavi li .mega-menu .mega-contents .contents-left p {
  margin: 0 0 29px 0;
  text-align: center;
}
#AreaGnavi li .mega-menu .mega-contents .contents-left p + p {
  margin: 0;
}
#AreaGnavi li .mega-menu .mega-contents .contents-left:hover .btn-gray-arrow {
  background: #e9ebf0;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e9ebf0), color-stop(100%, #fcfdfd));
  background: -webkit-linear-gradient(#e9ebf0, #fcfdfd);
  background: -moz-linear-gradient(#e9ebf0, #fcfdfd);
  background: -o-linear-gradient(#e9ebf0, #fcfdfd);
  background: linear-gradient(#e9ebf0, #fcfdfd);
}
#AreaGnavi li .mega-menu .mega-contents .contents-left:hover {
  text-decoration: none;
}
#AreaGnavi li .mega-menu .mega-contents h2 {
  width: auto;
  margin: 0 0 29px 0;
  padding: 0;
  background: none;
  border-bottom: none;
  text-align: center;
  color: #555565;
  text-decoration: none;
  font-size: 115%;
  line-height: 132%;
}
#AreaGnavi li .mega-menu .mega-contents .contents-right {
  float: right;
  width: 755px;
  padding: 24px 0 23px 28px;
}
#AreaGnavi li .mega-menu .mega-contents h3 {
  margin: 20px 0 11px 0;
  padding: 0;
  border-bottom: none;
}
#AreaGnavi li .mega-menu .mega-contents .link-list-side {
  width: auto;
  margin: -6px 0 0 -28px;
  list-style-type: none;
}
#AreaGnavi li .mega-menu .mega-contents .link-list-side li {
  width: 213px;
  margin: 6px 0 0 28px;
  padding: 0 0 0 11px;
  background: url(img/icon_list.png) -389px 8px no-repeat;
}
#AreaGnavi li .mega-menu .mega-contents .link-list-side li a {
  display: inline;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  background: none;
}
#AreaGnavi li .mega-menu .mega-contents .link-list-side li.m-t-10 {
  margin-top: -10px;
}
#AreaGnavi li .mega-menu .single-link a {
  width: auto;
  height: auto;
  margin: 0;
  padding: 0 0 0 11px;
  background: url(img/icon_list.png) -389px 7px no-repeat;
}
@media only screen and (max-width: 640px) {
  #AreaGnavi li .mega-menu .single-link a {
    display: inline-block;
    background: url(img/icon_list_sp.png) -514px 7px no-repeat;
    background-size: 520px 545px;
  }
}
#AreaGnavi li .mega-menu .btn-gray-arrow {
  width: auto;
  height: auto;
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  padding: 5px 0 4px 0;
  border: 1px solid #ccd0d9;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
  background: #fcfdfd;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fcfdfd), color-stop(100%, #e9ebf0));
  background: -webkit-linear-gradient(#fcfdfd, #e9ebf0);
  background: -moz-linear-gradient(#fcfdfd, #e9ebf0);
  background: -o-linear-gradient(#fcfdfd, #e9ebf0);
  background: linear-gradient(#fcfdfd, #e9ebf0);
}
#AreaGnavi li .mega-menu .btn-gray-arrow span {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  padding: 0 19px 0 34px;
  background: url(img/icon_list.png) -367px 9px no-repeat;
}
@media only screen and (max-width: 640px) {
  #AreaGnavi li .mega-menu .btn-gray-arrow span {
    padding: 0 15px 0 25px;
    background: url(img/icon_list_sp.png) -500px 7px no-repeat;
    background-size: 520px 545px;
  }
}
#AreaGnavi li .mega-menu .btn-gray-arrow span.small {
  font-size: 93%;
  line-height: 139%;
  padding: 0 15px 0 20px;
  background: url(img/icon_list.png) -378px 7px no-repeat;
}
#AreaGnavi li .mega-menu .btn-gray-arrow:hover {
  background: #e9ebf0;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e9ebf0), color-stop(100%, #fcfdfd));
  background: -webkit-linear-gradient(#e9ebf0, #fcfdfd);
  background: -moz-linear-gradient(#e9ebf0, #fcfdfd);
  background: -o-linear-gradient(#e9ebf0, #fcfdfd);
  background: linear-gradient(#e9ebf0, #fcfdfd);
  text-decoration: underline;
}
#AreaGnavi .mega-box {
  margin: 0 0 20px 0;
  letter-spacing: normal;
}
#AreaGnavi .mega-box .box-contents {
  display: block;
  position: relative;
  float: left;
  width: 184px;
  min-height: 163px;
  margin: 0 0 0 0;
  padding: 15px;
  border: 5px solid #e6e9ee;
  letter-spacing: normal;
  vertical-align: top;
  background: none;
}
#AreaGnavi .mega-box .box-contents + .box-contents {
  margin: 0 0 0 28px;
}
#AreaGnavi .mega-box .box-contents p + p {
  margin: 0;
  vertical-align: bottom;
}

#AreaGnavi li.gnavi02 .mega-menu .mega-contents .link-list-side {
  margin: -40px 0 0 -28px;
}
#AreaGnavi li.gnavi02 .mega-menu .mega-contents .link-list-side li {
  margin: 40px 0 0 28px;
}

/* 20170213_追加 
#AreaGnavi li.gnavi03 .mega-menu .mega-contents .contents-left {
  min-height: 255px;
} */

.en #AreaGnavi li a {
  background: url(img/common_en.png) 0 0 no-repeat;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .en #AreaGnavi li a {
    padding: 13px 0 8px 45px;
    background: url(img/gnavi_en_sp.png) 0 0 no-repeat white;
    background-size: 304px 307px;
  }
}
.en #AreaGnavi li.gnavi01 a {
  background-position: 0 0;
}
.en #AreaGnavi li.gnavi01 strong a, .en #AreaGnavi li.gnavi01 a:hover, .en #AreaGnavi li.gnavi01.active > a:first-child {
  background-position: 0 -90px;
}
@media only screen and (max-width: 640px) {
  .en #AreaGnavi li.gnavi01 a {
    background-position: -267px 11px;
  }
  .en #AreaGnavi li.gnavi01 strong a, .en #AreaGnavi li.gnavi01 a:hover, .en #AreaGnavi li.gnavi01.active > a:first-child {
    background-position: -267px 11px;
  }
}
.en #AreaGnavi li.gnavi02 a {
  background-position: -196px 0;
}
.en #AreaGnavi li.gnavi02 strong a, .en #AreaGnavi li.gnavi02 a:hover, .en #AreaGnavi li.gnavi02.active > a:first-child {
  background-position: -196px -90px;
}
@media only screen and (max-width: 640px) {
  .en #AreaGnavi li.gnavi02 a {
    background-position: -209px -41px;
  }
  .en #AreaGnavi li.gnavi02 strong a, .en #AreaGnavi li.gnavi02 a:hover, .en #AreaGnavi li.gnavi02.active > a:first-child {
    background-position: -209px -41px;
  }
}
.en #AreaGnavi li.gnavi03 a {
  background-position: -392px 0;
}
.en #AreaGnavi li.gnavi03 strong a, .en #AreaGnavi li.gnavi03 a:hover, .en #AreaGnavi li.gnavi03.active > a:first-child {
  background-position: -392px -90px;
}
@media only screen and (max-width: 640px) {
  .en #AreaGnavi li.gnavi03 a {
    background-position: -151px -100px;
  }
  .en #AreaGnavi li.gnavi03 strong a, .en #AreaGnavi li.gnavi03 a:hover, .en #AreaGnavi li.gnavi03.active > a:first-child {
    background-position: -151px -100px;
  }
}
.en #AreaGnavi li.gnavi04 a {
  background-position: -588px 0;
}
.en #AreaGnavi li.gnavi04 strong a, .en #AreaGnavi li.gnavi04 a:hover, .en #AreaGnavi li.gnavi04.active > a:first-child {
  background-position: -588px -90px;
}
@media only screen and (max-width: 640px) {
  .en #AreaGnavi li.gnavi04 a {
    background-position: -95px -157px;
  }
  .en #AreaGnavi li.gnavi04 strong a, .en #AreaGnavi li.gnavi04 a:hover, .en #AreaGnavi li.gnavi04.active > a:first-child {
    background-position: -95px -157px;
  }
}
.en #AreaGnavi li.gnavi05 a {
  background-position: -784px 0;
}
.en #AreaGnavi li.gnavi05 strong a, .en #AreaGnavi li.gnavi05 a:hover, .en #AreaGnavi li.gnavi05.active > a:first-child {
  background-position: -784px -90px;
}
@media only screen and (max-width: 640px) {
  .en #AreaGnavi li.gnavi05 a {
    background-position: -42px -215px;
  }
  .en #AreaGnavi li.gnavi05 strong a, .en #AreaGnavi li.gnavi05 a:hover, .en #AreaGnavi li.gnavi05.active > a:first-child {
    background-position: -42px -215px;
  }
}

/* *****************************************************
Contents ---------------
01: LayerContents
02: LayerContentsBody
03: Contents
04: Ohters
------------------------
***************************************************** */
/* *****************************************************
LayerContents
***************************************************** */
#LayerContents {
  position: relative;
  width: 980px;
  margin: 28px auto 0;
  padding: 0;
  background: #fff;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  #LayerContents {
    width: auto;
    margin: 0;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -ms-border-radius: 0px;
    -o-border-radius: 0px;
    border-radius: 0px;
  }
}

.three-active #LayerContents {
  -webkit-border-radius: 5px 5px 0 0;
  -moz-border-radius: 5px 5px 0 0;
  -ms-border-radius: 5px 5px 0 0;
  -o-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
}

#TopPage #LayerContents {
  width: auto;
  margin: 0;
  padding: 0;
  background: none;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  -ms-border-radius: 0px;
  -o-border-radius: 0px;
  border-radius: 0px;
}

#Topics #LayerContents {
  background: none;
}

/* *****************************************************
LayerContentsBody
***************************************************** */
#LayerContentsMain {
  position: relative;
  float: left;
  width: 672px;
  height: 100%;
  margin: 0 0 0 28px;
  padding: 0 28px 20px 0;
}
@media only screen and (max-width: 640px) {
  #LayerContentsMain {
    float: none;
    width: auto;
    height: auto !important;
    margin: 0 10px;
    padding: 0 0 10px 0;
  }
}

#CategoryTop #LayerContentsMain {
  float: none;
  width: auto;
}

.form #LayerContentsMain {
  float: none;
  width: auto;
}

.three-active #LayerContentsMain {
  padding-bottom: 0;
}
@media only screen and (max-width: 640px) {
  .three-active #LayerContentsMain {
    padding: 0 0 10px 0;
  }
}

#TopPage #LayerContentsMain,
#Topics #LayerContentsMain {
  float: none;
  width: auto;
  margin: 0 auto;
  padding: 0;
}

/* *****************************************************
LayerContentsBody
***************************************************** */
#LayerContentsBody {
  width: auto;
}

#TopPage #LayerContentsBody,
#Topics #LayerContentsBody {
  float: none;
  width: 980px;
  margin: 0 auto;
}
@media only screen and (max-width: 640px) {
  #TopPage #LayerContentsBody,
  #Topics #LayerContentsBody {
    width: auto;
    padding: 0 10px;
  }
}

/* heading
----------------------------------------------------- */
.hgroup {
  position: relative;
}
.hgroup .h-link {
  position: absolute;
  top: -10px;
  right: -10px;
}
@media only screen and (max-width: 640px) {
  .hgroup .h-link {
    position: relative;
    top: -10px;
    right: 0;
    text-align: right;
  }
}

h1 {
  width: 680px;
  margin: 34px 28px 45px -8px;
  font-size: 172%;
  line-height: 121%;
  font-weight: bold;
}
@media only screen and (max-width: 640px) {
  h1 {
    width: auto;
    margin: 20px 0 30px 0;
    font-size: 163%;
    line-height: 120%;
  }
}

#CategoryTop h1 {
  width: auto;
}

#Topics h1 {
  width: auto;
  margin: 0 0 28px 0;
  padding: 32px 22px 30px;
  background: #fff;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}
@media only screen and (max-width: 640px) {
  #Topics h1 {
    margin: 28px 0 28px 0;
  }
}

h2 {
  width: 662px;
  margin: 54px 0 30px -28px;
  padding: 0 28px 9px 38px;
  font-size: 129%;
  line-height: 128%;
  font-weight: bold;
  border-bottom: 2px solid #ec0000;
  background: url(img/icon_list.png) 18px -398px no-repeat;
}
@media only screen and (max-width: 640px) {
  h2 {
    width: 96%;
    font-size: 125%;
    line-height: 125%;
    margin: 30px 0 15px -10px;
    padding: 2px 5% 5px 18px;
    border-bottom: 3px solid #ec0000;
    background: url(img/icon_list_sp.png) 8px -522px no-repeat;
    background-size: 520px 545px;
  }
}

#LayerContentsBody > h2:first-child {
  margin: 50px 0 30px -28px;
}
@media only screen and (max-width: 640px) {
  #LayerContentsBody > h2:first-child {
    margin: 30px 0 15px -10px;
  }
}

#CategoryTop h2,
.form h2 {
  width: 914px;
}
@media only screen and (max-width: 640px) {
  #CategoryTop h2,
  .form h2 {
    width: 101%;
  }
}

h3 {
  margin: 31px 0  20px 0;
  padding: 0 0 10px 0;
  font-size: 115%;
  line-height: 132%;
  font-weight: bold;
  border-bottom: 1px solid #dde0e7;
}
@media only screen and (max-width: 640px) {
  h3 {
    margin: 20px 0  10px 0;
    padding: 0 0 5px 0;
    font-size: 113%;
    line-height: 128%;
  }
}

h4 {
  margin: 0 0 18px 0;
  font-weight: bold;
}

/* p
----------------------------------------------------- */
p {
  margin: 0 0 23px 0;
}
@media only screen and (max-width: 640px) {
  p {
    margin: 0 0 13px 0;
  }
}
p.title {
  margin: 0 0 17px 0;
}

.box-contents p {
  margin: 0 0 12px 0;
}

.news-page #LayerContentsBody p {
  text-indent: 1em;
}

.news-page #LayerContentsBody .indent-none {
  text-indent: 0;
}

.indent-one {
  text-indent: 1em;
}

span.indent-one {
  display: block;
  text-indent: 1em;
}

.indent-none {
  text-indent: 0;
}

.en #LayerContentsBody p {
  text-indent: 0em;
}

/* ul
----------------------------------------------------- */
ul {
  margin: 0 0 23px 22px;
  list-style-type: disc;
}
@media only screen and (max-width: 640px) {
  ul {
    margin: 0 0 13px 22px;
  }
}

ul li {
  margin: 5px 0 0 0;
}
ul li:first-child {
  margin: 0;
}
ul ul {
  margin: 0 0 0 22px;
}

.news-page.en #LayerContentsBody ul {
  margin: 0 0 23px 0;
  padding: 0 0 0 22px;
  list-style-type: none;
}

.news-page.en #LayerContentsBody ul li {
  margin: 10px 0 0 0;
  text-indent: -1em;
}

.news-page.en #LayerContentsBody ul li:before {
  content:"- ";
  display: inline-block;
  width: 1em;
  text-indent: 0;
}

.news-page.en #LayerContentsBody ul.pagination {
  list-style-type: none;
  margin: 0;
  padding: 20px 0 0 0;
}

.news-page.en #LayerContentsBody ul.pagination li {
  text-indent: 0;
  margin: 0 0 0 15px;
  padding: 0 13px 0 13px;
}

.news-page.en #LayerContentsBody ul.pagination .prev {
  padding: 0 0 0 13px;
}

.news-page.en #LayerContentsBody ul.pagination li:before {
  content:"";
  display: none;
}

.news-page.en #LayerContentsBody ul.pagination li:first-child {
  margin: 0;
}

.box-contents ul,
.summary ul,
.column2-border ul {
  margin: 0 0 11px 22px;
}

#CategoryTop .column3-box ul {
  margin-bottom: 11px;
}

ul.link-list {
  margin-left: 0;
  list-style-type: none;
}
@media only screen and (max-width: 640px) {
  ul.link-list {
    margin-left: 0;
  }
}
ul.link-list li {
  margin-top: 6px;
  padding: 0 0 0 11px;
  background: url(img/icon_list.png) -389px 8px no-repeat;
}
@media only screen and (max-width: 640px) {
  ul.link-list li {
    margin-top: 8px;
    background: url(img/icon_list_sp.png) -514px 7px no-repeat;
    background-size: 520px 545px;
  }
}
ul.link-list li:first-child {
  margin-top: 0;
}

ul.link-list-side {
  margin-left: 0;
  list-style-type: none;
}
ul.link-list-side li {
  float: left;
  width: 50%;
  margin-top: 6px;
  padding: 0 0 0 11px;
  background: url(img/icon_list.png) -389px 8px no-repeat;
}

.site-map ul.link-list-side {
  margin: 0 0 15px 0;
}
.site-map ul.link-list-side li {
  width: 193px;
}
@media only screen and (max-width: 640px) {
  .site-map ul.link-list-side li {
    width: 100%;
  }
}
@media only screen and (max-width: 640px) {
  .site-map ul.link-list-side li br {
    display: none;
  }
}
.site-map .site-left {
  float: left;
}
.site-map .site-left .box-contents {
  float: none;
}

.pagination {
  list-style-type: none;
  margin: 0;
  padding: 20px 0 0 0;
  border-top: 1px solid #dde0e7;
  text-align: center;
  letter-spacing: -0.4em;
}
@media only screen and (max-width: 640px) {
  .pagination {
    padding: 15px 0 0 0;
  }
}
.pagination li {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  letter-spacing: normal;
  margin: 0 0 0 15px;
  padding: 0;
}
.pagination li:first-child {
  margin: 0;
}
.pagination .prev {
  padding: 0 0 0 13px;
  background: url(img/icon_list.png) -264px -123px no-repeat;
}
@media only screen and (max-width: 640px) {
  .pagination .prev {
    background: url(img/icon_list_sp.png) -394px -119px no-repeat;
    background-size: 520px 545px;
  }
}
.pagination .next {
  margin: 0 0 0 14px;
  padding: 0 13px 0 13px;
  border-left: 1px solid #dde0e7;
  background: url(img/page_next.png) right 7px no-repeat;
}
@media only screen and (max-width: 640px) {
  .pagination .next {
    margin: 0 0 0 10px;
    padding: 0 13px 0 10px;
    background: url(img/page_next_sp.png) right 4px no-repeat;
    background-size: 8px 12px;
  }
}

.anchor-link,
.fifth-menu-link {
  list-style-type: none;
  margin: 0 0 20px 0;
  padding: 6px 14px 18px;
  line-height: 100%;
  letter-spacing: -0.4em;
  background: #f1f2f6;
}
@media only screen and (max-width: 640px) {
  .anchor-link,
  .fifth-menu-link {
    margin: 0 0 5px 0;
    padding: 0 10px 11px;
  }
}
.anchor-link li,
.fifth-menu-link li {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  margin: 12px 0 0 10px;
  padding: 0 0 0 10px;
  border-left: 1px solid #ccd0d9;
}
@media only screen and (max-width: 640px) {
  .anchor-link li,
  .fifth-menu-link li {
    margin: 11px 0 0 8px;
    padding: 0 0 0 8px;
  }
}
.anchor-link li:first-child,
.fifth-menu-link li:first-child {
  border-left: none;
  margin: 11px 0 0 0;
  padding: 0;
}
.anchor-link li.none,
.fifth-menu-link li.none {
  border-left: none;
  margin: 11px 0 0 0;
  padding: 0;
}
.anchor-link a,
.fifth-menu-link a {
  padding: 0 0 0 11px;
  background: url(img/icon_list.png) -340px -44px no-repeat;
}
@media only screen and (max-width: 640px) {
  .anchor-link a,
  .fifth-menu-link a {
    padding: 0 0 0 9px;
    background: url(img/icon_list_sp.png) -485px -24px no-repeat;
    background-size: 520px 545px;
  }
}

.fifth-menu-link {
  padding: 5px 13px 17px;
  background: none;
  border: 1px solid #ccd0d9;
}
@media only screen and (max-width: 640px) {
  .fifth-menu-link {
    padding: 0 10px 11px;
  }
}
.fifth-menu-link a {
  padding: 0 0 0 11px;
  background: url(img/icon_list.png) -389px 6px no-repeat;
}
@media only screen and (max-width: 640px) {
  .fifth-menu-link a {
    padding: 0 0 0 9px;
    background: url(img/icon_list_sp.png) -515px 6px no-repeat;
    background-size: 520px 545px;
  }
}

.border-link {
  list-style-type: none;
  margin: 0 0 20px 0;
  padding: 6px 14px 18px;
  line-height: 100%;
  letter-spacing: -0.4em;
}
@media only screen and (max-width: 640px) {
  .border-link {
    margin: 0 0 5px 0;
    padding: 0 10px 11px;
  }
}
.border-link li {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  margin: 12px 0 0 10px;
  padding: 0 0 0 10px;
  border-left: 1px solid #ccd0d9;
}
@media only screen and (max-width: 640px) {
  .border-link li {
    margin: 11px 0 0 8px;
    padding: 0 0 0 8px;
  }
}
.border-link li:first-child {
  border-left: none;
  margin: 11px 0 0 0;
  padding: 0;
}
.border-link li.none {
  border-left: none;
  margin: 11px 0 0 0;
  padding: 0;
}
.border-link a {
  padding: 0 0 0 11px;
  background: url(img/icon_list.png) -389px 6px no-repeat;
}
@media only screen and (max-width: 640px) {
  .border-link a {
    padding: 0 0 0 9px;
    background: url(img/icon_list_sp.png) -514px 6px no-repeat;
    background-size: 520px 545px;
  }
}

.tab {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.tab li {
  float: left;
  margin: 0 0 0 12px;
}
@media only screen and (max-width: 640px) {
  .tab li {
    float: none;
    width: 100%;
    margin: 0 0 0 0;
  }
}
.tab li:first-child {
  margin: 0;
}
.tab li a {
  display: block;
  width: 302px;
  padding: 13px 13px;
  text-align: center;
  border: 1px solid #ccd0d9;
  border-bottom: none;
  background: #fcfdfd;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fcfdfd), color-stop(100%, #e9ebf0));
  background: -webkit-linear-gradient(#fcfdfd, #e9ebf0);
  background: -moz-linear-gradient(#fcfdfd, #e9ebf0);
  background: -o-linear-gradient(#fcfdfd, #e9ebf0);
  background: linear-gradient(#fcfdfd, #e9ebf0);
  -webkit-border-radius: 5px 5px 0 0;
  -moz-border-radius: 5px 5px 0 0;
  -ms-border-radius: 5px 5px 0 0;
  -o-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
}
@media only screen and (max-width: 640px) {
  .tab li a {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
}
.tab li a span {
  padding: 0 0 0 10px;
  background: url(img/icon_list.png) -389px 5px no-repeat;
}
.tab li a:hover {
  background: #e9ebf0;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e9ebf0), color-stop(100%, #fcfdfd));
  background: -webkit-linear-gradient(#e9ebf0, #fcfdfd);
  background: -moz-linear-gradient(#e9ebf0, #fcfdfd);
  background: -o-linear-gradient(#e9ebf0, #fcfdfd);
  background: linear-gradient(#e9ebf0, #fcfdfd);
}
.tab li a.active {
  width: 304px;
  color: #fff;
  border: none;
  padding: 13px 13px 14px;
  background: #ea0000;
}
.tab li a.active span {
  background: url(img/icon_list.png) -101px -293px no-repeat;
}
@media only screen and (max-width: 640px) {
  .tab li a.active {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
}

.tab-list {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.tab-list li {
  float: left;
  margin: 0 0 0 0;
  font-size: 12px;
}
@media only screen and (max-width: 640px) {
  .tab-list li {
    width: 50%;
    margin: 0 0 0 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
}
.tab-list li a {
  display: block;
  width: auto;
  padding: 10px 12px;
  text-align: center;
  border: 1px solid #ccd0d9;
  background: #fcfdfd;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fcfdfd), color-stop(100%, #e9ebf0));
  background: -webkit-linear-gradient(#fcfdfd, #e9ebf0);
  background: -moz-linear-gradient(#fcfdfd, #e9ebf0);
  background: -o-linear-gradient(#fcfdfd, #e9ebf0);
  background: linear-gradient(#fcfdfd, #e9ebf0);
  -webkit-border-radius: 5px 5px 0 0;
  -moz-border-radius: 5px 5px 0 0;
  -ms-border-radius: 5px 5px 0 0;
  -o-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
}
@media only screen and (max-width: 640px) {
  .tab-list li a {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
  }
}
.tab-list li a span {
  padding: 0 0 0 10px;
  background: url(img/icon_list.png) -389px 5px no-repeat;
}
.tab-list li a:hover {
  background: #e9ebf0;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e9ebf0), color-stop(100%, #fcfdfd));
  background: -webkit-linear-gradient(#e9ebf0, #fcfdfd);
  background: -moz-linear-gradient(#e9ebf0, #fcfdfd);
  background: -o-linear-gradient(#e9ebf0, #fcfdfd);
  background: linear-gradient(#e9ebf0, #fcfdfd);
}
.tab-list li a.active {
  width: auto;
  color: #fff;
  border: none;
  padding: 11px 12px;
  background: #ea0000;
}
.tab-list li a.active span {
  background: url(img/icon_list.png) -101px -293px no-repeat;
}
@media only screen and (max-width: 640px) {
  .tab-list li a.active {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
}

#CategoryTop .tab li a {
  padding: 10px 0 10px;
  width: 454px;
}
#CategoryTop .tab li a span {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  padding: 3px 0 2px 45px;
  background: url(img/bg_tab_area.png) -61px 1px no-repeat;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .tab li a {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
}
#CategoryTop .tab li a.active {
  width: 456px;
  padding: 11px 0 10px;
}
#CategoryTop .tab li a.active span {
  background: url(img/bg_tab_area.png) 0 -73px no-repeat;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .tab li a.active {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
}
#CategoryTop .tab li:first-child a span {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  padding: 3px 0 2px 47px;
  background: url(img/bg_tab_bus.png) -60px 5px no-repeat;
}
#CategoryTop .tab li:first-child a.active span {
  background: url(img/bg_tab_bus.png) 0 -77px no-repeat;
}

.notes {
  margin: 0 0 15px 0;
  font-size: 86%;
  line-height: 142%;
  list-style-type: none;
}
.notes li {
  margin-top: 10px;
  text-indent: -1.2em;
  padding-left: 1.2em;
}
@media only screen and (max-width: 640px) {
  .notes li {
    text-indent: -1.3em;
    padding-left: 1.3em;
  }
}

.notes-num {
  margin: 0 0 15px 0;
  font-size: 86%;
  line-height: 142%;
  list-style-type: none;
}
.notes-num li {
  margin-top: 10px;
  text-indent: -1.8em;
  padding-left: 1.8em;
}
@media only screen and (max-width: 640px) {
  .notes-num li {
    text-indent: -1.9em;
    padding-left: 1.9em;
  }
}

/* ol
----------------------------------------------------- */
ol {
  margin: 0 0 11px 23px;
}
@media only screen and (max-width: 640px) {
  ol {
    margin: 0 0 10px 23px;
  }
}
ol li {
  margin: 5px 0 0 0;
}
ol li:first-child {
  margin: 0;
}

/* table
----------------------------------------------------- */
table {
  width: 100%;
  margin: 0 0 20px 0;
  border: 1px solid #dde0e7;
}
@media only screen and (max-width: 640px) {
  table {
    border-top: none;
  }
  table.td-header tr:first-child {
    display: none;
  }
  table.td-header td:first-child {
    text-align: left;
    font-weight: bold;
    background: #f1f2f6;
  }
  table.td-list {
    display: none;
  }
  table.td-list-sp {
    display: block;
  }
  table.td-list-sp td {
    float: left;
    width: 50%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  table.td-list-sp td:nth-child(even) {
    border-left: 1px solid #dde0e7;
  }
}

th,
td {
  padding: 13px 11px;
  border: 1px solid #dde0e7;
  vertical-align: top;
}
@media only screen and (max-width: 640px) {
  th,
  td {
    display: list-item;
    list-style-type: none;
    border: none;
    padding: 10px;
    border-top: 1px solid #dde0e7;
  }
}

th {
  text-align: left;
  background: #f1f2f6;
}

.td-list-sp {
  display: none;
}

.no-border {
  width: auto;
  border: none;
}
.no-border th,
.no-border td {
  padding: 5px 5px;
  border: none;
  vertical-align: top;
  background: none;
}
@media only screen and (max-width: 640px) {
  .no-border th,
  .no-border td {
    display: table-cell;
    list-style-type: none;
    border: none;
  }
}

/* text
----------------------------------------------------- */
strong,
em {
  font-weight: bold;
}

.caution {
  color: #ea0000;
}

.note {
  font-size: 86%;
  line-height: 142%;
}

.caption {
  margin: 10px 0 10px 0;
  font-size: 86%;
  line-height: 142%;
}
@media only screen and (max-width: 640px) {
  .caption {
    width: auto !important;
    margin-bottom: 10px;
  }
}

.icon-new {
  display: inline-block;
  width: auto;
  margin-left: 5px;
  padding: 3px 8px;
  vertical-align: middle;
  color: #fff;
  background: #ea0000;
  text-decoration: none;
  font-size: 72%;
  line-height: 150%;
  vertical-align: text-bottom;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  -ms-border-radius: 50px;
  -o-border-radius: 50px;
  border-radius: 50px;
  white-space: nowrap;
  text-decoration: none;
}

a.box-contents:hover,
a.box-contents:hover .icon-new {
  text-decoration: none;
}

a.box-contents time {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

a.box-contents:hover time, 
a.box-contents:hover ul {
  text-decoration: underline;
}


@media only screen and (max-width: 640px) {
  .icon-new {
    font-size: 69%;
    line-height: 146%;
  }
}

.title {
  font-size: 115%;
  line-height: 132%;
  font-weight: bold;
}
@media only screen and (max-width: 640px) {
  .title {
    font-size: 113%;
    line-height: 128%;
  }
}

.title-red {
  color: #ea0000;
  font-size: 115%;
  line-height: 132%;
  font-weight: bold;
}
@media only screen and (max-width: 640px) {
  .title-red {
    font-size: 113%;
    line-height: 128%;
  }
}

.single-link {
  text-indent: 0;
}
.single-link a {
  padding: 0 0 0 11px;
  background: url(img/icon_list.png) -389px 6px no-repeat;
}
@media only screen and (max-width: 640px) {
  .single-link a {
    display: inline-block;
    background: url(img/icon_list_sp.png) -514px 7px no-repeat;
    background-size: 520px 545px;
  }
}

a .single-link {
  padding: 0 0 0 11px;
  background: url(img/icon_list.png) -389px 7px no-repeat;
}
@media only screen and (max-width: 640px) {
  a .single-link {
    display: inline-block;
    background: url(img/icon_list_sp.png) -514px 7px no-repeat;
    background-size: 520px 545px;
  }
}

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

.dis-none {
  display: none;
}

@media only screen and (max-width: 640px) {
  .dis-none-sp {
    display: none;
  }
}
#AreaInline #fancybox-close {
  display: block;
}

.area-inline {
  width: 780px;
  padding: 20px 20px 70px;
}
@media only screen and (max-width: 640px) {
  .area-inline {
    width: auto;
  }
  .area-inline img {
    width: auto;
    max-width: 100%;
  }
}

/* icon-file
----------------------------------------------------- */
.news-page #LayerContentsBody .pdf,
.news-page #LayerContentsBody .xls,
.news-page #LayerContentsBody .doc,
.news-page #LayerContentsBody .ppt,
.news-page #LayerContentsBody .link,
.news-page #LayerContentsBody .large {
  text-indent: 0;
}

.pdf a,
.xls a,
.doc a,
.ppt a {
  padding: 0 0 0 20px;
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
}

@media only screen and (max-width: 640px) {
  .pdf a,
  .xls a,
  .doc a,
  .ppt a,
  .link a,
  .large a {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
}
.link a {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  padding: 0 0 0 17px;
  background: url(img/icon_file.png) 0 -137px no-repeat;
}
@media only screen and (max-width: 640px) {
  .link a {
    padding: 0 0 0 20px;
    background: url(img/icon_file_sp.png) 0 -191px no-repeat;
    background-size: 200px 208px;
  }
}

.pdf a {
  background: url(img/icon_file.png) -31px -105px no-repeat;
}
@media only screen and (max-width: 640px) {
  .pdf a {
    background: url(img/icon_file_sp.png) -46px -145px no-repeat;
    background-size: 200px 208px;
  }
}

.xls a {
  background: url(img/icon_file.png) -99px -33px no-repeat;
}
@media only screen and (max-width: 640px) {
  .xls a {
    background: url(img/icon_file_sp.png) -139px -48px no-repeat;
    background-size: 200px 208px;
  }
}

.doc a {
  background: url(img/icon_file.png) -65px -69px no-repeat;
}
@media only screen and (max-width: 640px) {
  .doc a {
    background: url(img/icon_file_sp.png) -93px -97px no-repeat;
    background-size: 200px 208px;
  }
}

.ppt a {
  background: url(img/icon_file.png) -133px 3px no-repeat;
}
@media only screen and (max-width: 640px) {
  .ppt a {
    background: url(img/icon_file_sp.png) -186px 1px no-repeat;
    background-size: 200px 208px;
  }
}

.large a {
  padding: 0 0 0 17px;
  background: url(img/btn_large.png) 0 3px no-repeat;
}
@media only screen and (max-width: 640px) {
  .large a {
    background: url(img/icon_list_sp.png) -218px -298px no-repeat;
    background-size: 520px 545px;
  }
}

.douga,
.douga-wmv {
  display: block;
}
.douga .icon-douga,
.douga-wmv .icon-douga {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 63px;
  height: 63px;
}
@media only screen and (max-width: 640px) {
  .douga .icon-douga,
  .douga-wmv .icon-douga {
    width: auto;
    max-width: 100%;
    height: auto;
  }
}
.douga:hover,
.douga-wmv:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  /* ie lt 8 */
  -ms-filter: "alpha(opacity=80)";
  /* ie 8 */
  -moz-opacity: 0.8;
  /* FF lt 1.5, Netscape */
  -khtml-opacity: 0.8;
  /* Safari 1.x */
}

a:hover .img-on {
  opacity: 0.8;
  filter: alpha(opacity=80);
  /* ie lt 8 */
  -ms-filter: "alpha(opacity=80)";
  /* ie 8 */
  -moz-opacity: 0.8;
  /* FF lt 1.5, Netscape */
  -khtml-opacity: 0.8;
  /* Safari 1.x */
}

/* *****************************************************
Ohters
***************************************************** */
/* tnavi
----------------------------------------------------- */
.tnavi {
  position: relative;
  height: auto;
  min-height: 24px;
  border-bottom: 1px solid #dde0e7;
}
@media only screen and (max-width: 640px) {
  .tnavi {
    min-height: 1px;
    border-bottom: none;
    border-top: 1px solid #d8d9dd;
  }
}

.tnavi ol {
  width: 708px;
  margin: 13px 0 0 20px;
  padding: 0 252px 11px 0;
  font-size: 79%;
  line-height: 100%;
}
@media only screen and (max-width: 640px) {
  .tnavi ol {
    width: 100%;
    margin: 0;
    padding: 8px 0 8px 10px;
    font-size: 75%;
    line-height: 142%;
    background: #f1f2f6;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
}

#CategoryTop ol {
  width: auto;
  padding: 0 170px 11px 0;
}
@media only screen and (max-width: 640px) {
  #CategoryTop ol {
    padding: 8px 0 8px 10px;
  }
}

.tnavi ol li {
  display: inline;
  list-style: none;
  margin: 10px 0 0 0;
  padding: 0 0 0 20px;
  line-height: 139%;
  background: url(img/icon_list.png) -308px -70px no-repeat;
}
@media only screen and (max-width: 640px) {
  .tnavi ol li {
    margin: 0;
    padding: 0 0 0 17px;
    background: url(img/icon_list_sp.png) -421px -86px no-repeat;
    background-size: 520px 545px;
  }
}
.tnavi ol li:first-child {
  padding: 0;
  background: none;
}
.tnavi ol li a {
  margin: 0;
  padding: 0;
  color: #007abf;
  text-decoration: none;
  outline: none;
}
.tnavi ol li a:link {
  color: #007abf;
}
.tnavi ol li a:visited {
  color: #804894;
}
.tnavi ol li a:hover, .tnavi ol li a:active {
  color: #007abf;
  text-decoration: underline;
}

/* fnavi
----------------------------------------------------- */
.fnavi {
  width: 980px;
  margin: 25px auto 0;
}
.fnavi a {
  float: right;
  font-weight: bold;
  padding: 0 0 0 17px;
  background: url(img/icon_list.png) -26px -361px no-repeat;
}
@media only screen and (max-width: 640px) {
  .fnavi a {
    font-size: 88%;
    line-height: 136%;
    background: url(img/icon_list_sp.png) -21px -362px no-repeat;
    background-size: 390px 409px;
  }
}
@media only screen and (max-width: 640px) {
  .fnavi {
    width: auto;
    margin: 0 10px 15px 0;
  }
}

@media only screen and (max-width: 640px) {
  #TopPage .fnavi {
    width: auto;
    margin: 0 10px 0 0;
  }
}

/* column2
----------------------------------------------------- */
.column2 {
  margin: 0 0 20px 0;
}
.column2 .column2-img-left,
.column2 .column2-text-left {
  float: left;
}
.column2 .column2-img-right,
.column2 .column2-text-right {
  float: right;
}
.column2 .column2-img-left p,
.column2 .column2-img-right p {
  margin-bottom: 13px;
}
@media only screen and (max-width: 640px) {
  .column2 .column2-img-left p.caption,
  .column2 .column2-img-left p + p,
  .column2 .column2-img-right p.caption,
  .column2 .column2-img-right p + p {
    margin-bottom: 15px;
  }
}
.column2 .column2-img-left p.caption,
.column2 .column2-img-left p + p,
.column2 .column2-text-left p.caption,
.column2 .column2-text-left p + p {
  margin-right: 20px;
}
@media only screen and (max-width: 640px) {
  .column2 .column2-img-left p.caption,
  .column2 .column2-img-left p + p,
  .column2 .column2-text-left p.caption,
  .column2 .column2-text-left p + p {
    margin-right: 0;
    margin-bottom: 15px;
  }
}
@media only screen and (max-width: 640px) {
  .column2 {
    margin: 0 0 15px 0;
  }
  .column2 .column2-img-left,
  .column2 .column2-img-right {
    width: 40%;
  }
  .column2 .column2-text-left,
  .column2 .column2-text-right {
    width: 58%;
  }
}

/* column2-sneak
----------------------------------------------------- */
.column2-sneak {
  margin: 0 0 20px 0;
}
.column2-sneak .column2-img-left,
.column2-sneak .column2-text-left {
  float: left;
}
.column2-sneak .column2-img-right,
.column2-sneak .column2-text-right {
  float: right;
}
.column2-sneak .column2-img-right {
  margin-left: 25px;
}
.column2-sneak .column2-img-right p {
  margin-bottom: 13px;
}
@media only screen and (max-width: 640px) {
  .column2-sneak .column2-img-right p.caption,
  .column2-sneak .column2-img-right p + p {
    margin-bottom: 15px;
  }
}
.column2-sneak .column2-img-left p,
.column2-sneak .column2-text-left p {
  margin-bottom: 13px;
}
.column2-sneak .column2-img-left p.caption,
.column2-sneak .column2-img-left p + p,
.column2-sneak .column2-text-left p.caption,
.column2-sneak .column2-text-left p + p {
  margin-right: 20px;
}
@media only screen and (max-width: 640px) {
  .column2-sneak .column2-img-left p.caption,
  .column2-sneak .column2-img-left p + p,
  .column2-sneak .column2-text-left p.caption,
  .column2-sneak .column2-text-left p + p {
    margin-right: 0;
    margin-bottom: 15px;
  }
}
@media only screen and (max-width: 640px) {
  .column2-sneak {
    margin: 0 0 15px 0;
  }
  .column2-sneak .column2-img-left,
  .column2-sneak .column2-text-left {
    width: 40% !important;
    margin-right: 15px;
  }
  .column2-sneak .column2-img-right,
  .column2-sneak .column2-text-right {
    width: 40% !important;
    margin-left: 15px;
  }
  .column2-sneak .column2-img-left p,
  .column2-sneak .column2-img-right p {
    margin: 0;
  }
  .column2-sneak .column2-img-left p.caption, .column2-sneak .column2-img-left p + p,
  .column2-sneak .column2-img-right p.caption,
  .column2-sneak .column2-img-right p + p {
    margin: 10px 0 10px 0;
  }
}
@media only screen and (max-width: 640px) and (max-width: 640px) {
  .column2-sneak .column2-img-left p.caption, .column2-sneak .column2-img-left p + p,
  .column2-sneak .column2-img-right p.caption,
  .column2-sneak .column2-img-right p + p {
    margin-top: 5px;
  }
}

.summary .column2-img-right {
  width: 224px;
}
.summary .column2-img-right p {
  width: 224px;
  height: 146px;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .summary .column2-img-right p {
    width: 100%;
    height: auto;
  }
}
.summary .column2-text-left {
  width: 420px !important;
}
@media only screen and (max-width: 640px) {
  .summary .column2-text-left {
    float: none;
  }
}
@media only screen and (max-width: 640px) {
  .summary .column2-img-right {
    width: 40% !important;
  }
  .summary .column2-text-left {
    width: auto !important;
  }
}
.summary + .summary {
  padding: 20px 0 0 0;
  border-top: 1px dotted #ccd0d9;
}
.summary ul + p {
  margin: 0;
}

@media only screen and (max-width: 640px) {
  #CategoryTop .column2-sneak .column2-text-left {
    float: none;
    width: auto;
    margin-left: 0;
  }
}

.news-page #LayerContentsBody .column2-img-left p,
.news-page #LayerContentsBody .column2-img-right p {
  text-indent: 0;
}

/* column2-border
----------------------------------------------------- */
.column2-border {
  margin: 0 0 20px 0;
  padding: 15px;
  border: 5px solid #e6e9ee;
}
.column2-border .column2-img-left,
.column2-border .column2-text-left {
  float: left;
}
.column2-border .column2-img-right,
.column2-border .column2-text-right {
  float: right;
}
.column2-border .column2-img-right {
  margin-left: 15px;
}
.column2-border .column2-img-left {
  margin-right: 15px;
}
@media only screen and (max-width: 640px) {
  .column2-border {
    margin: 0 0 15px 0;
    padding: 5px;
  }
  .column2-border .column2-text-left,
  .column2-border .column2-text-right {
    float: none;
    width: auto;
  }
  .column2-border .column2-img-left {
    width: 40%;
    margin-right: 8px;
  }
  .column2-border .column2-img-right {
    width: 40%;
    margin-left: 8px;
  }
  .column2-border .column2-text-right .link-list li {
    display: table-cell;
  }
}
.column2-border .column2-img-left p,
.column2-border .column2-img-right p {
  margin: 0;
}
.column2-border .note {
  margin: 0 0 5px 0;
}
.column2-border .link-list {
  font-size: 115%;
  line-height: 132%;
  font-weight: bold;
}
@media only screen and (max-width: 640px) {
  .column2-border .link-list {
    font-size: 113%;
    line-height: 128%;
  }
}

/* column2-btn
----------------------------------------------------- */
.column2-btn p {
  width: 448px;
  text-align: right;
}
.column2-btn p + p {
  text-align: left;
}
.column2-btn p a {
  width: 290px;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .column2-btn p {
    float: none;
    width: auto;
    text-align: center;
  }
  .column2-btn p + p {
    margin-top: 10px;
    text-align: center;
  }
}

/* column2-box
----------------------------------------------------- */
.site-map .column2-box .box-contents {
  padding: 15px 15px 0;
}
@media only screen and (max-width: 640px) {
  .site-map .column2-box .box-contents {
    padding: 15px 0 0;
    min-height: 1px !important;
  }
  .site-map .column2-box .box-contents .link-list {
    padding: 0 15px 15px;
  }
}
@media only screen and (max-width: 640px) {
  .site-map .column2-box .link-list-side {
    margin: 0 15px 15px;
  }
}
.site-map .column2-box .site-m-t28 {
  margin-top: 28px;
}
@media only screen and (max-width: 640px) {
  .site-map .column2-box .site-m-t28 {
    margin-top: 0;
  }
}
.site-map .column2-box .site-m-t31 {
  margin-top: 31px;
}
@media only screen and (max-width: 640px) {
  .site-map .column2-box .site-m-t31 {
    margin-top: 0;
  }
}
.site-map .column2-box .site-donation {
  min-height: 248px;
}
.site-map .column2-box .site-en-donate {
  min-height: 117px;
}

.column2-box {
  margin: -20px 0 28px -28px;
}
@media only screen and (max-width: 640px) {
  .column2-box {
    margin: 0 0 0 0;
  }
}
.column2-box h2 {
  width: auto !important;
  margin: -15px -15px 15px;
  padding: 8px 15px;
  font-weight: bold;
  background: #f1f2f6;
  border-bottom: 5px solid #e6e9ee;
}
@media only screen and (max-width: 640px) {
  .column2-box h2 {
    margin: -15px 0 15px;
  }
}
.column2-box h2 a {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  padding: 0 0 0 10px;
  background: url(img/icon_list.png) -389px 9px no-repeat;
}
.column2-box h2.none {
  margin: -15px -15px 0;
  border-bottom: none;
}
@media only screen and (max-width: 640px) {
  .column2-box h2.none {
    margin: -15px 0 0;
  }
}
.column2-box h3 {
  margin: 20px 0 0 0;
  padding: 0;
  font-size: 100%;
  line-height: 136%;
  border-bottom: none;
}
@media only screen and (max-width: 640px) {
  .column2-box h3 {
    margin: 20px 15px 0 15px;
  }
}
.column2-box .box-contents {
  float: left;
  width: 282px;
  margin: 20px 0 0 28px;
  padding: 15px;
  border: 5px solid #e6e9ee;
}
@media only screen and (max-width: 640px) {
  .column2-box .box-contents {
    width: 100%;
    padding: 5px;
    margin: 0 0 10px 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
}
.column2-box .box-contents .link-list {
  display: table-cell;
  *display: inline;
  *zoom: 1;
  /* vertical-align: middle; */
  vertical-align: top;
  padding: 0 0 11px 0;
}
@media only screen and (max-width: 640px) {
  .column2-box .box-contents .link-list {
    height: auto !important;
  }
}
.column2-box .box-contents .column2-img-left,
.column2-box .box-contents .column2-img-right,
.column2-box .box-contents .column2-text-left,
.column2-box .box-contents .column2-text-right {
  width: 134px;
}
@media only screen and (max-width: 640px) {
  .column2-box .box-contents .column2-img-left,
  .column2-box .box-contents .column2-img-right,
  .column2-box .box-contents .column2-text-left,
  .column2-box .box-contents .column2-text-right {
    width: 68%;
  }
}
.column2-box .box-contents .column2-img-left p,
.column2-box .box-contents .column2-img-right p {
  margin: 0;
}
@media only screen and (max-width: 640px) {
  .column2-box .box-contents .column2-img-left,
  .column2-box .box-contents .column2-img-right {
    width: 30%;
  }
}
.column2-box .box-contents .column2-img-left,
.column2-box .box-contents .column2-text-left {
  float: left;
}
.column2-box .box-contents .column2-img-right,
.column2-box .box-contents .column2-text-right {
  float: right;
}
@media only screen and (max-width: 640px) {
  .column2-box .box-contents .left,
  .column2-box .box-contents .right {
    width: 48%;
  }
}
.column2-box .box-contents .left a,
.column2-box .box-contents .right a {
  width: 134px;
}
@media only screen and (max-width: 640px) {
  .column2-box .box-contents .left a,
  .column2-box .box-contents .right a {
    width: 100%;
  }
}
.column2-box .box-contents .left .link-list,
.column2-box .box-contents .right .link-list {
  height: auto !important;
}

@media only screen and (max-width: 640px) {
  .opening {
    margin: -4% 0 0 -4%;
  }
}
@media only screen and (max-width: 640px) {
  .opening .box-contents {
    float: left;
    width: 46%;
    margin: 4% 0 0 4%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
}

#CategoryTop .column2-box .box-contents {
  width: 408px;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .column2-box .box-contents {
    width: 100%;
  }
}
#CategoryTop .column2-box .box-contents .link-list {
  height: auto !important;
}
#CategoryTop .column2-box .left,
#CategoryTop .column2-box .right {
  width: 48%;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .column2-box .left,
  #CategoryTop .column2-box .right {
    width: 100%;
  }
}
#CategoryTop .column2-box .left a,
#CategoryTop .column2-box .right a {
  width: 100%;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .column2-box .left a,
  #CategoryTop .column2-box .right a {
    width: 100%;
  }
}

/* column2-box-none
----------------------------------------------------- */
.column2-box-none {
  margin: 0 0 28px 0;
}
@media only screen and (max-width: 640px) {
  .column2-box-none {
    margin: 0 0 10px 0;
  }
}
.column2-box-none .box-contents {
  float: left;
  width: 322px;
  margin: 0 0 0 28px;
}
@media only screen and (max-width: 640px) {
  .column2-box-none .box-contents {
    width: 48%;
    margin: 0 0 0 4%;
  }
}
.column2-box-none .box-contents:first-child {
  margin: 0;
}

/* column3
----------------------------------------------------- */
.column3 {
  margin: 0 0 28px 0;
}
.column3 .box-contents {
  float: left;
  width: 206px;
  margin: 0 0 0 27px;
}
@media only screen and (max-width: 640px) {
  .column3 .box-contents {
    width: 48%;
    margin: 0 0 8px 0;
  }
}
.column3 .box-contents:first-child {
  margin: 0;
}
@media only screen and (max-width: 640px) {
  .column3 .sp-right {
    float: right;
  }
}

/* column3-box
----------------------------------------------------- */
.column3-box {
  margin: -20px 0 28px -27px;
  letter-spacing: -0.4em;
}
@media only screen and (max-width: 640px) {
  .column3-box {
    margin: -4% 0 10px -4%;
  }
}
.column3-box .heading {
  margin: -15px -15px 15px;
  padding: 8px 0;
  text-align: center;
  font-weight: bold;
  background: #f1f2f6;
  border-bottom: 5px solid #e6e9ee;
}
@media only screen and (max-width: 640px) {
  .column3-box .heading {
    margin: -5px -5px 5px;
  }
}
.column3-box .box-contents {
  display: inline-block;
  width: 166px;
  margin: 20px 0 0 27px;
  padding: 15px;
  border: 5px solid #e6e9ee;
  letter-spacing: normal;
  vertical-align: top;
}
@media only screen and (max-width: 640px) {
  .column3-box .box-contents {
    width: 46%;
    margin: 4% 0 0 4%;
    padding: 5px;
    vertical-align: top;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
}
.column3-box .box-contents .icon-new {
  margin-left: 5px;
  white-space: nowrap;
  vertical-align: middle;
}
.column3-box .box-contents .icon-new img {
  vertical-align: text-top;
}
.column3-box .over-hidden {
  width: 166px;
  height: 108px;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .column3-box .over-hidden {
    width: auto;
    height: 82px;
  }
}

#CategoryTop .column3-box .box-contents {
  width: 250px;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .column3-box .box-contents {
    width: 46%;
  }
}
#CategoryTop .column3-box .over-hidden {
  width: 250px;
  height: 161px;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .column3-box .over-hidden {
    width: auto;
    height: 82px;
  }
}

.over-hidden-140 {
  position: relative;
  width: 250px;
  height: 140px;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .over-hidden-140 {
    width: auto;
    height: 69px;
  }
}

/* column3-box-none
----------------------------------------------------- */
.column3-box-none {
  margin: -20px 0 28px -27px;
  letter-spacing: -0.4em;
}
@media only screen and (max-width: 640px) {
  .column3-box-none {
    margin: -4% 0 10px -4%;
  }
}
.column3-box-none .box-contents {
  display: inline-block;
  width: 206px;
  margin: 28px 0 0 27px;
  padding: 0;
  letter-spacing: normal;
  vertical-align: top;
}
@media only screen and (max-width: 640px) {
  .column3-box-none .box-contents {
    width: 46%;
    margin: 4% 0 0 4%;
  }
}

/* column4-box
----------------------------------------------------- */
.column4-box {
  margin: -20px 0 28px -28px;
}
@media only screen and (max-width: 640px) {
  .column4-box {
    margin: -4% 0 4% -4%;
    letter-spacing: -0.4em;
  }
}
.column4-box .box-contents {
  display: block;
  float: left;
  width: 170px;
  margin: 20px 0 0 28px;
  padding: 15px;
  border: 5px solid #e6e9ee;
  letter-spacing: normal;
  vertical-align: top;
}
@media only screen and (max-width: 640px) {
  .column4-box .box-contents {
    float: none;
    display: inline-block;
    width: 46%;
    margin: 4% 0 0 4%;
    padding: 5px;
    vertical-align: top;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
}
.column4-box .box-contents .column2-img {
  width: 170px;
  height: 110px;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .column4-box .box-contents .column2-img {
    width: 100%;
    height: auto;
  }
}

/* column1-sp
----------------------------------------------------- */
@media only screen and (max-width: 640px) {
  .column1-sp {
    margin: 0 0 0 0;
  }
  .column1-sp .box-contents {
    float: none;
    width: 100%;
    height: auto !important;
    margin: 0 0 10px 0;
  }
  .column1-sp .box-contents .left {
    width: 35%;
  }
  .column1-sp .box-contents .right {
    width: 60%;
  }

  #CategoryTop .column1-sp {
    margin: 0 0 0 0;
  }
  #CategoryTop .column1-sp .box-contents {
    float: none;
    width: 100%;
    height: auto !important;
    margin: 0 0 10px 0;
  }
  #CategoryTop .column1-sp .box-contents .left {
    width: 35%;
  }
  #CategoryTop .column1-sp .box-contents .right {
    width: 60%;
  }

  .column2-sneak.column1-sp div,
  .column2.column1-sp div {
    float: none !important;
    width: 100% !important;
    margin: 0;
  }
  .column2-sneak.column1-sp div p img,
  .column2.column1-sp div p img {
    width: auto;
    max-width: 100%;
    margin-bottom: 13px;
  }
}
/* border
----------------------------------------------------- */
.b-bottom {
  margin: 0 0 20px 0;
  padding: 0 0 9px 0;
  border-bottom: 1px dotted #ccd0d9;
}
@media only screen and (max-width: 640px) {
  .b-bottom {
    margin: 0 0 15px 0;
    padding: 0 0 15px 0;
    border-bottom: 1px solid #ccd0d9;
  }
}

.b-none {
  border: none;
}

/* btn
----------------------------------------------------- */
.set-right .btn-gray-arrow,
.set-right .btn-gray,
.set-right .btn-blue {
  text-align: left;
}

.btn-gray-arrow {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  padding: 5px 0 4px 0;
  border: 1px solid #ccd0d9;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
  background: #fcfdfd;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fcfdfd), color-stop(100%, #e9ebf0));
  background: -webkit-linear-gradient(#fcfdfd, #e9ebf0);
  background: -moz-linear-gradient(#fcfdfd, #e9ebf0);
  background: -o-linear-gradient(#fcfdfd, #e9ebf0);
  background: linear-gradient(#fcfdfd, #e9ebf0);
}
.btn-gray-arrow span {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  padding: 0 19px 0 34px;
  background: url(img/icon_list.png) -367px 9px no-repeat;
  text-align: left;
}
@media only screen and (max-width: 640px) {
  .btn-gray-arrow span {
    padding: 0 15px 0 25px;
    background: url(img/icon_list_sp.png) -500px 7px no-repeat;
    background-size: 520px 545px;
  }
}
.btn-gray-arrow span.small {
  font-size: 93%;
  line-height: 139%;
  padding: 0 15px 0 20px;
  background: url(img/icon_list.png) -378px 7px no-repeat;
}
@media only screen and (max-width: 640px) {
  .btn-gray-arrow span.small {
    padding: 0 15px 0 25px;
    background: url(img/icon_list_sp.png) -500px 7px no-repeat;
    background-size: 520px 545px;
  }
}
.btn-gray-arrow:hover {
  background: #e9ebf0;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e9ebf0), color-stop(100%, #fcfdfd));
  background: -webkit-linear-gradient(#e9ebf0, #fcfdfd);
  background: -moz-linear-gradient(#e9ebf0, #fcfdfd);
  background: -o-linear-gradient(#e9ebf0, #fcfdfd);
  background: linear-gradient(#e9ebf0, #fcfdfd);
  text-decoration: underline;
}
.btn-gray-arrow:hover span {
  text-decoration: underline;
}

.btn-gray {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  padding: 5px 0 4px 0;
  border: 1px solid #ccd0d9;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
  background: #fcfdfd;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fcfdfd), color-stop(100%, #e9ebf0));
  background: -webkit-linear-gradient(#fcfdfd, #e9ebf0);
  background: -moz-linear-gradient(#fcfdfd, #e9ebf0);
  background: -o-linear-gradient(#fcfdfd, #e9ebf0);
  background: linear-gradient(#fcfdfd, #e9ebf0);
}
.btn-gray span {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  padding: 0 19px 0 34px;
  text-align: left;
}
@media only screen and (max-width: 640px) {
  .btn-gray span {
    padding: 0 15px 0 35px;
  }
}
.btn-gray span.link {
  background: url(img/icon_file.png) 16px -137px no-repeat;
}
@media only screen and (max-width: 640px) {
  .btn-gray span.link {
    background: url(img/icon_file_sp.png) 15px -192px no-repeat;
    background-size: 200px 208px;
  }
}
.btn-gray span.pdf {
  background: url(img/icon_file.png) -18px -106px no-repeat;
}
@media only screen and (max-width: 640px) {
  .btn-gray span.pdf {
    background: url(img/icon_file_sp.png) -33px -146px no-repeat;
    background-size: 200px 208px;
  }
}
.btn-gray:hover {
  background: #e9ebf0;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e9ebf0), color-stop(100%, #fcfdfd));
  background: -webkit-linear-gradient(#e9ebf0, #fcfdfd);
  background: -moz-linear-gradient(#e9ebf0, #fcfdfd);
  background: -o-linear-gradient(#e9ebf0, #fcfdfd);
  background: linear-gradient(#e9ebf0, #fcfdfd);
  text-decoration: underline;
}
.btn-gray:hover span {
  text-decoration: underline;
}

.btn-blue {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  padding: 5px 0 4px 0;
  border: 1px solid #006097;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
  background: #0079bc;
  color: #fff;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #0079bc), color-stop(100%, #00639b));
  background: -webkit-linear-gradient(#0079bc, #00639b);
  background: -moz-linear-gradient(#0079bc, #00639b);
  background: -o-linear-gradient(#0079bc, #00639b);
  background: linear-gradient(#0079bc, #00639b);
}
.btn-blue span {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  color: #fff;
  font-weight: bold;
  padding: 0 19px 0 30px;
  background: url(img/icon_list.png) -345px -17px no-repeat;
  text-align: left;
}
@media only screen and (max-width: 640px) {
  .btn-blue span {
    padding: 0 15px 0 25px;
    background: url(img/icon_list_sp.png) -443px -52px no-repeat;
    background-size: 520px 545px;
  }
}
.btn-blue:hover {
  color: #fff;
  background: #00639b;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #00639b), color-stop(100%, #0079bc));
  background: -webkit-linear-gradient(#00639b, #0079bc);
  background: -moz-linear-gradient(#00639b, #0079bc);
  background: -o-linear-gradient(#00639b, #0079bc);
  background: linear-gradient(#00639b, #0079bc);
  text-decoration: underline;
}
.btn-blue:hover span {
  text-decoration: underline;
}

.btn-blue-link {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  padding: 5px 0 4px 0;
  border: 1px solid #006097;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
  border-radius: 20px;
  background: #0079bc;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #0079bc), color-stop(100%, #00639b));
  background: -webkit-linear-gradient(#0079bc, #00639b);
  background: -moz-linear-gradient(#0079bc, #00639b);
  background: -o-linear-gradient(#0079bc, #00639b);
  background: linear-gradient(#0079bc, #00639b);
}
.btn-blue-link span {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  color: #fff;
  font-weight: bold;
  padding: 0 19px 0 34px;
  text-align: left;
}
@media only screen and (max-width: 640px) {
  .btn-blue-link span {
    padding: 0 15px 0 35px;
  }
}
.btn-blue-link span.link {
  background: url(img/icon_file.png) 16px -137px no-repeat;
}
@media only screen and (max-width: 640px) {
  .btn-blue-link span.link {
    background: url(img/icon_file_sp.png) 15px -192px no-repeat;
    background-size: 200px 208px;
  }
}
.btn-blue-link:hover {
  background: #e9ebf0;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #00639b), color-stop(100%, #0079bc));
  background: -webkit-linear-gradient(#00639b, #0079bc);
  background: -moz-linear-gradient(#00639b, #0079bc);
  background: -o-linear-gradient(#00639b, #0079bc);
  background: linear-gradient(#00639b, #0079bc);
  text-decoration: underline;
}
.btn-blue-link:hover span {
  text-decoration: underline;
}

/* news-list
----------------------------------------------------- */
.news-list dl {
  border-top: 1px dotted #ccd0d9;
  margin: 14px 0 0;
  padding: 12px 3px 0;
}
@media only screen and (max-width: 640px) {
  .news-list dl {
    border-top: 1px solid #ccd0d9;
    margin: 12px 0 0;
    padding: 13px 0 0;
  }
}
.news-list dl:first-child {
  margin: 0;
  padding: 0 3px 0;
  border-top: none;
}
.news-list dl dt,
.news-list dl dd {
  float: left;
  padding: 0;
}
.news-list dl dt {
  width: 120px;
  margin: 0 0 0 0;
}
@media only screen and (max-width: 640px) {
  .news-list dl dt {
    width: 135px;
  }
}
.news-list dl dd {
  width: 545px;
  margin: 0 0 0 0;
}
@media only screen and (max-width: 640px) {
  .news-list dl dd {
    float: none;
    width: auto;
    padding-top: 5px;
  }
  .news-list dl dd:last-child {
    clear: both;
  }
}
.news-list dl dd a {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  padding: 0 0 0 11px;
  background: url(img/icon_list.png) -389px 8px no-repeat;
}
@media only screen and (max-width: 640px) {
  .news-list dl dd a {
    background: url(img/icon_list_sp.png) -514px 7px no-repeat;
    background-size: 520px 545px;
  }
}
.news-list dl dd + dd {
  width: 446px;
}
@media only screen and (max-width: 640px) {
  .news-list dl dd + dd {
    width: auto;
  }
}
.news-list dl .icon {
  width: 90px;
  margin-right: 10px;
  text-align: center;
  line-height: 100%;
}
.news-list dl .icon span {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  width: 100%;
  padding: 3px 0;
  vertical-align: middle;
  background: #ccd0d9;
  font-size: 72%;
  line-height: 150%;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}
@media only screen and (max-width: 640px) {
  .news-list dl .icon span {
    font-size: 63%;
    line-height: 150%;
  }
}
@media only screen and (max-width: 640px) {
  .news-list dl .icon {
    float: left;
    padding: 0;
  }
}

/* sns
----------------------------------------------------- */
.sns {
  position: absolute;
  top: 10px;
  right: 18px;
  width: 234px;
}
@media only screen and (max-width: 640px) {
  .sns {
    position: relative;
    top: 0;
    right: 0;
    width: auto;
    padding: 10px 10px 10px 0;
    border-bottom: 1px solid #dde0e7;
  }
}
.sns p {
  float: right;
  height: 20px;
  margin: 0;
}
.sns .facebook {
  width: 70px;
  margin: 0 0 0 8px;
}
.sns .facebook iframe {
  width: 70px;
  height: 20px !important;
}
.sns .twitter {
  width: 65px;
}

head ~ body .sns .facebook {
  margin: 0 0 0 20px;
}

html:not(:target) .sns .facebook {
  margin: 0 0 0 8px;
}

/* ewm-area
----------------------------------------------------- */
p.em-area {
  padding: 15px;
  border: 5px solid #e6e9ee;
}

.em-area {
  display: block;
  width: auto;
  margin: 0 0 20px 0;
  padding: 15px;
  border: 5px solid #e6e9ee;
}

.em-area-pink {
  display: block;
  width: auto;
  margin: 0 0 20px 0;
  padding: 15px;
  border: 5px solid #fde5e5;
}
@media only screen and (max-width: 640px) {
  .em-area-pink .single-link a {
    display: inline;
  }
}

/* area-faq
----------------------------------------------------- */
.area-faq dl {
  margin: 0 0 20px 0;
  border: 1px solid #dde0e7;
}
.area-faq dt,
.area-faq dd {
  padding: 15px 17px 11px 53px;
}
@media only screen and (max-width: 640px) {
  .area-faq dt,
  .area-faq dd {
    padding: 10px 10px 10px 30px;
  }
}
.area-faq dt {
  font-weight: bold;
  border-bottom: 1px solid #dde0e7;
  background: url(img/icon_list.png) -160px -192px no-repeat #f1f2f6;
}
@media only screen and (max-width: 640px) {
  .area-faq dt {
    background: url(img/icon_list_sp.png) -187px -177px no-repeat #f1f2f6;
    background-size: 390px 409px;
  }
}
.area-faq dd {
  background: url(img/icon_list.png) -205px -147px no-repeat;
}
@media only screen and (max-width: 640px) {
  .area-faq dd {
    background: url(img/icon_list_sp.png) -226px -137px no-repeat;
    background-size: 390px 409px;
  }
}

.chronology {
  width: 100%;
  margin: 0 0 20px 0;
  border: none;
}
@media only screen and (max-width: 640px) {
  .chronology {
    border: none;
  }
}
.chronology tr:first-child th,
.chronology tr:first-child td {
  border-top: none;
}
.chronology th,
.chronology td {
  padding: 15px 12px;
  border: none;
  border-top: 1px dotted #ccd0d9;
}
@media only screen and (max-width: 640px) {
  .chronology th,
  .chronology td {
    display: table-cell;
    padding: 10px 7px;
  }
}
.chronology th {
  width: 108px;
  font-weight: normal;
  text-align: left;
  background: #f1f2f6;
}
@media only screen and (max-width: 640px) {
  .chronology th {
    width: 69px;
    text-align: right;
  }
}
.chronology th span {
  float: right;
}

/* map
----------------------------------------------------- */
#AreaTab #IdTabPanel2 {
  display: none;
}
#AreaTab #IdTabPanel3 {
  display: none;
}
#AreaTab #IdTabPanel4 {
  display: none;
}
#AreaTab #IdTabPanel5 {
  display: none;
}
#AreaTab #AnchorTab2,
#AreaTab #AnchorTab3,
#AreaTab #AnchorTab4 {
  display: none;
}

#AreaTabContents {
  padding: 20px 15px;
  border: 1px solid #dde0e7;
}
#AreaTabContents.map-img {
  padding: 0;
  border: none;
}
#AreaTabContents .column2-box .box-contents {
  width: 266px;
}
@media only screen and (max-width: 640px) {
  #AreaTabContents .column2-box .box-contents {
    width: 100%;
  }
}
#AreaTabContents .column2-box .link-list {
  height: auto !important;
}
#AreaTabContents .column3 .box-contents + .box-contents {
  margin: 0 0 0 11px;
}
@media only screen and (max-width: 640px) {
  #AreaTabContents .column3 .box-contents + .box-contents {
    margin: 0 0 8px 0;
  }
}
#AreaTabContents .anchor-link .line-none {
  margin-left: 0;
  padding-left: 0;
  border-left: none;
}
@media only screen and (max-width: 640px) {
  #AreaTabContents .anchor-link {
    padding-top: 1px;
  }
  #AreaTabContents .anchor-link li {
    display: block;
    margin-left: 0;
    padding-left: 0;
    border-left: none;
  }
}

@media only screen and (max-width: 640px) {
  #CategoryTop #AreaTab {
    display: none;
  }
}
#CategoryTop #AreaTab #IdTabPanel2 {
  display: none;
}

#CategoryTop #AreaTabContents {
  margin: 0 0 28px 0;
  padding: 45px 21px 0;
}

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

.map-sp {
  display: none;
}
@media only screen and (max-width: 640px) {
  .map-sp {
    display: block;
  }
  .map-sp .select-box select {
    height: 27px;
    padding: 0 11px 0 6px;
    color: #545465;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
    background: url(img/bg_select.png) center right no-repeat #fcfdfd;
    background: url(img/bg_select.png) center right no-repeat, -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fcfdfd), color-stop(100%, #e9ebf0));
    background: url(img/bg_select.png) center right no-repeat, -webkit-linear-gradient(#fcfdfd, #e9ebf0);
    background: url(img/bg_select.png) center right no-repeat, -moz-linear-gradient(#fcfdfd, #e9ebf0);
    background: url(img/bg_select.png) center right no-repeat, -o-linear-gradient(#fcfdfd, #e9ebf0);
    background: url(img/bg_select.png) center right no-repeat, linear-gradient(#fcfdfd, #e9ebf0);
    background-size: 35px 33px;
    border: 1px solid #ccd0d9;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-indent: .01px;
    /*Firefox用*/
    text-overflow: "";
    /*Firefox用*/
  }
  .map-sp .select-box select option {
    height: 27px;
  }
  .map-sp .select-box .left {
    width: 45%;
    float: left;
  }
  .map-sp .select-box .right {
    width: 50%;
    float: right;
  }
  .map-sp .select-box .right a {
    width: 100%;
  }
}

.gsc-control-cse {
  padding: 0 !important;
}

table.gsc-above-wrapper-area-container,
table.gsc-table-result {
  margin: 0;
}

.gsc-cursor-box.gs-bidi-start-align {
  text-align: center;
}

@media only screen and (max-width: 640px) {
  .gcsc-branding-img-noclear img {
    width: auto;
  }

  .gcsc-branding th,
  .gcsc-branding td {
    display: table-cell;
  }
}
.contents-search {
  margin-bottom: 30px;
}
.contents-search th,
.contents-search td {
  display: table-cell;
}
.contents-search .gsc-input .gsc-input {
  width: 370px !important;
  font-size: 14px !important;
  line-height: 100% !important;
  padding: 7px 5px !important;
  color: #8e959f !important;
  border: 1px solid #ccd0d9 !important;
  background-color: white !important;
  word-break: normal;
  word-wrap: normal;
  background-position: 4% 55% !important;
}
@media only screen and (max-width: 640px) {
  .contents-search .gsc-input .gsc-input {
    width: 200px !important;
  }
}
.contents-search .gsc-search-button .gsc-search-button {
  width: auto !important;
  height: 32px !important;
  margin-top: 0px !important;
  display: inline-block !important;
  font-size: 14px !important;
  letter-spacing: normal !important;
  border: 1px solid #ccd0d9 !important;
  cursor: pointer;
  background: #fcfdfd;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fcfdfd), color-stop(100%, #e9ebf0));
  background: -webkit-linear-gradient(#fcfdfd, #e9ebf0);
  background: -moz-linear-gradient(#fcfdfd, #e9ebf0);
  background: -o-linear-gradient(#fcfdfd, #e9ebf0);
  background: linear-gradient(#fcfdfd, #e9ebf0);
  cursor: pointer;
  color: #555565;
  min-width: 70px !important;
}
.contents-search .gsc-search-button .gsc-search-button:hover {
  background: #e9ebf0;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e9ebf0), color-stop(100%, #fcfdfd));
  background: -webkit-linear-gradient(#e9ebf0, #fcfdfd);
  background: -moz-linear-gradient(#e9ebf0, #fcfdfd);
  background: -o-linear-gradient(#e9ebf0, #fcfdfd);
  background: linear-gradient(#e9ebf0, #fcfdfd);
}

.search-result .pagination {
  margin-bottom: 25px;
  padding: 0;
  text-align: left;
}
.search-result dl {
  margin-bottom: 25px;
}
.search-result dt {
  margin-top: 20px;
}
.search-result dd {
  margin-top: 5px;
}

/* area-3active
----------------------------------------------------- */
#CategoryTop .area-3active {
  width: 900px;
  height: 1119px;
  padding: 100px 40px 0;
  margin-left: -28px;
  background: url(img/bg_3area.jpg) 0 0 no-repeat;
  overflow: hidden;
  *zoom: 1;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .area-3active {
    width: 100%;
    height: auto;
    padding: 50px 10px 50px 10px;
    margin-left: -10px;
    background: url(img/bg_3area_sp.jpg) 0 0 repeat-y;
    background-size: 100% auto;
  }
}
#CategoryTop .area-3active .box-contents {
  width: 360px;
  margin: 0 0 20px 0;
  padding: 15px 15px 20px;
  border: 5px solid #fde7e6;
  background: #fff;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .area-3active .box-contents {
    width: auto;
    margin: 0 15px 0 15px;
    padding: 7px 7px 10px;
  }
}
#CategoryTop .area-3active .box-contents h2 {
  width: auto;
  margin: 0 0 22px 0;
  padding: 20px 0 20px 79px;
  border: none;
  background: url(img/active_img.png) 0 0 no-repeat;
  color: #ed0000;
  font-size: 143%;
  line-height: 125%;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .area-3active .box-contents h2 {
    margin: 0 0 11px 0;
    padding: 8px 0 8px 40px;
    font-size: 113%;
    line-height: 128%;
    background: url(img/active_img_sp.png) 0 0 no-repeat;
    background-size: 150px 150px;
  }
}
#CategoryTop .area-3active .box-contents.active01 {
  margin: 0 auto 45px;
  overflow: hidden;
  *zoom: 1;
}
#CategoryTop .area-3active .box-contents.active01 h2 {
    background-position: -235px 0;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .area-3active .box-contents.active01 h2 {
    background-position: -117px 0;
  }
}
@media only screen and (max-width: 640px) {
  #CategoryTop .area-3active .box-contents.active01 {
    margin: 0 15px 0 15px;
  }
}
#CategoryTop .area-3active .box-contents.active02 {
  float: left;
  min-height: 262px;
}
#CategoryTop .area-3active .box-contents.active02 h2 {
  background-position: -117px -118px;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .area-3active .box-contents.active02 h2 {
    background-position: -59px -58px;
  }
}
@media only screen and (max-width: 640px) {
  #CategoryTop .area-3active .box-contents.active02 {
    min-height: 1px;
    float: none;
  }
}
#CategoryTop .area-3active .box-contents.active03 {
  float: right;
}
#CategoryTop .area-3active .box-contents.active03 h2 {
  background-position: 0 -235px;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .area-3active .box-contents.active03 h2 {
    background-position: 0 -117px;
  }
}
@media only screen and (max-width: 640px) {
  #CategoryTop .area-3active .box-contents.active03 {
    float: none;
  }
}
#CategoryTop .area-3active .border-sp {
  display: none;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .area-3active .border-sp {
    display: block;
    width: 10px;
    height: 50px;
    margin: 0 auto;
  }
}
#CategoryTop .area-3active .border-link {
  list-style-type: none;
  margin: -10px 0 0 0;
  padding: 0 0 0 0;
  overflow: hidden;
  *zoom: 1;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .area-3active .border-link {
    margin: -5px 0 0 0;
    padding: 0;
    font-size: 92%;
  }
}
#CategoryTop .area-3active .border-link li {
  display: block;
  float: left;
  margin: 16px 0 0 0;
  padding: 0 0 0 0;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .area-3active .border-link li {
    margin: 10px 0 0 0;
  }
}
#CategoryTop .area-3active .border-link li + li {
  margin: 16px 0 0 10px;
  padding: 0 0 0 10px;
  border-left: 1px solid #ccd0d9;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .area-3active .border-link li + li {
    margin: 10px 0 0 7px;
    padding: 0 0 0 5px;
  }
}
@media only screen and (max-width: 640px) {
  #CategoryTop .area-3active .border-link li.link03, #CategoryTop .area-3active .border-link li.link05 {
    clear: left;
    margin: 10px 0 0 0;
    padding: 0 0 0 0;
    border-left: none;
  }
}
#CategoryTop .area-3active .border-link li.link04 {
  clear: left;
  margin: 16px 0 0 0;
  padding: 0 0 0 0;
  border-left: none;
}
@media only screen and (max-width: 640px) {
  #CategoryTop .area-3active .border-link li.link04 {
    clear: right;
    margin: 10px 0 0 7px;
    padding: 0 0 0 5px;
    border-left: 1px solid #ccd0d9;
  }
}

/* form
----------------------------------------------------- */
#table, #check_table {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  border-top-width: 1px;
  border-right-width: 1px;
  border-left-width: 1px;
  border-top-style: solid;
  border-right-style: solid;
  border-left-style: solid;
  border-top-color: #D5D5D5;
  border-right-color: #D5D5D5;
  border-left-color: #D5D5D5;
}

.row {
  overflow: hidden;
  background-color: #eeeeee;
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #D5D5D5;
  line-height: 24px;
}

.f_head {
  text-align: right;
  width: 230px;
  float: left;
}
@media only screen and (max-width: 640px) {
  .f_head {
    text-align: left;
    float: none;
    width: auto;
    padding: 0 5px;
  }
}

.f_body {
  text-align: left;
  margin-left: 250px;
}
.f_body br {
  display: none;
}
@media only screen and (max-width: 640px) {
  .f_body {
    margin-left: 0;
    padding: 0 5px;
  }
  .f_body br {
    display: block;
  }
}

#tel1,
#tel2,
#tel3 {
  width: 40px;
  text-align: center;
}

.f_body input,
.f_body select {
  vertical-align: middle;
  margin-left: 5px;
  margin-right: 5px;
  border: 1px solid #ccd0d9;
  color: #545465;
  height: 18px;
}

.f_body select {
  height: 22px;
}

#comment {
  width: 500px;
  height: 450px;
  border: 1px solid #ccd0d9;
  color: #545465;
}
@media only screen and (max-width: 640px) {
  #comment {
    width: 100%;
    height: 250px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
}

.mail_red {
  font-size: 10px;
  color: #ea0000;
}

.boldtxt {
  font-weight: bold;
}

.under_btns {
  width: auto;
  margin-right: auto;
  margin-left: auto;
  padding-top: 10px;
  padding-bottom: 10px;
}

.under_btns input {
  padding-top: 10px;
  padding-bottom: 10px;
  padding-right: 1.5em;
  padding-left: 1.5em;
  margin-left: 10px;
}

#check_head {
  padding: 10px;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #D5D5D5;
}
#check_head h3 {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  border-bottom: none;
}
#check_head p {
  margin: 0 0 0 0;
}

/* *****************************************************
Contents ---------------
01: LayerSnavi
------------------------
***************************************************** */
/* *****************************************************
LayerSnavi
***************************************************** */
#CategoryTop #LayerSnavi {
  display: none;
}
@media only screen and (max-width: 640px) {
  #CategoryTop #LayerSnavi {
    display: block;
  }
}

#LayerSnavi {
  float: right;
  width: 252px;
  margin: 0;
  padding: 0 0 20px 0;
  border-left: 1px solid #dde0e7;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
#LayerSnavi h2 {
  width: auto;
  margin: 30px 0 20px 0;
  padding: 0 15px 0px 25px;
  border-bottom: none;
  background: none;
}
@media only screen and (max-width: 640px) {
  #LayerSnavi h2 {
    margin: 30px 0 10px 0;
    padding: 0 5px 0px 5px;
  }
}
@media only screen and (max-width: 640px) {
  #LayerSnavi {
    float: none;
    width: auto;
    height: auto !important;
    margin: 0 0 0 0;
    padding: 0;
    border-left: none;
  }
  #LayerSnavi .snavi-link {
    padding: 0 5px;
  }
}
#LayerSnavi ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
#LayerSnavi .snavi {
  margin: 0;
  padding: 15px;
  border-bottom: 1px solid #dde0e7;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  #LayerSnavi .snavi {
    border-top: 1px solid #dde0e7;
  }
}
#LayerSnavi .snavi a {
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  -ms-border-radius: 50px;
  -o-border-radius: 50px;
  border-radius: 50px;
  text-align: left;
}

* + html #LayerSnavi {
  width: 251px;
}

#AreaLnavi {
  margin: 0 0 20px 0;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi {
    margin: 0 0 0 0;
  }
}
#AreaLnavi h2 {
  display: table;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 115%;
  line-height: 132%;
  background: none;
  border-bottom: none;
  vertical-align: middle;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi h2 {
    border-top: 1px solid #dde0e7;
  }
}
#AreaLnavi h2 strong {
  display: table;
  width: 100%;
}
#AreaLnavi h2 strong a {
  color: #fff;
  background: #ea0000;
}
#AreaLnavi h2 strong a span {
  background: url(img/icon_list.png) 0 5px no-repeat #ea0000;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi h2 strong a span {
    font-size: 100%;
    line-height: 132%;
    background: url(img/icon_list_sp.png) -143px -370px no-repeat;
    background-size: 520px 545px;
  }
}
#AreaLnavi h2 strong a.active span {
  background: url(img/icon_list.png) -139px -249px no-repeat;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi h2 strong a.active span {
    background: url(img/icon_list_sp.png) -179px -333px no-repeat;
    background-size: 520px 545px;
  }
}
#AreaLnavi h2 a {
  display: table-cell;
  height: 90px;
  vertical-align: middle;
  text-decoration: none;
  background: #f1f2f6;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi h2 a {
    height: 45px;
    text-align: center;
  }
}
#AreaLnavi h2 a span {
  display: block;
  margin: 0 0 0 18px;
  padding: 0 10px 0 16px;
  background: url(img/icon_list.png) -57px -332px no-repeat #f1f2f6;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi h2 a span {
    display: inline-block;
    margin: 0;
    padding: 0 0 0 20px;
    background: url(img/icon_list_sp.png) -68px -446px no-repeat;
    background-size: 520px 545px;
  }
}
#AreaLnavi h2 a:hover {
  color: #fff;
  background: #ea0000;
}
#AreaLnavi h2 a:hover span {
  background: url(img/icon_list.png) 0 5px no-repeat #ea0000;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi h2 a:hover span {
    background: url(img/icon_list_sp.png) -143px -370px no-repeat;
    background-size: 520px 545px;
  }
}
#AreaLnavi h2 a.active span {
  background: url(img/icon_list.png) -98px -290px no-repeat;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi h2 a.active span {
    background: url(img/icon_list_sp.png) -104px -409px no-repeat;
    background-size: 520px 545px;
  }
}
#AreaLnavi h2 a.active:hover span {
  color: #fff;
  background: url(img/icon_list.png) -139px -249px no-repeat #ea0000;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi h2 a.active:hover span {
    background: url(img/icon_list_sp.png) -179px -334px no-repeat #ea0000;
    background-size: 520px 545px;
  }
}
#AreaLnavi ul {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #dde0e7;
}
#AreaLnavi li {
  margin: 0;
  padding: 0;
}
#AreaLnavi li.title {
  padding: 13px 28px 13px 18px;
  border-top: 1px solid #dde0e7;
  font-size: 100%;
  line-height: 136%;
  font-weight: normal;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi li.title {
    padding: 13px 28px 13px 10px;
    font-size: 88%;
    line-height: 136%;
  }
}
#AreaLnavi li strong {
  font-weight: normal;
}
#AreaLnavi li strong a {
  color: #ffffff;
  background: url(img/icon_list.png) 18px 18px no-repeat #ea0000;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi li strong a {
    background: url(img/icon_list_sp.png) -133px -361px no-repeat #ea0000;
    background-size: 520px 545px;
  }
}
#AreaLnavi li strong a.active {
  background: url(img/icon_list.png) -121px -236px no-repeat #ea0000;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi li strong a.active {
    background: url(img/icon_list_sp.png) -171px -324px no-repeat #ea0000;
    background-size: 520px 545px;
  }
}
#AreaLnavi li a {
  display: block;
  margin: 0;
  padding: 13px 28px 13px 35px;
  border-top: 1px solid #dde0e7;
  background: url(img/icon_list.png) -39px -318px no-repeat;
  text-decoration: none;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi li a {
    padding: 12px 10px 12px 30px;
    font-size: 88%;
    line-height: 136%;
    background: url(img/icon_list_sp.png) -58px -437px no-repeat;
    background-size: 520px 545px;
  }
}
#AreaLnavi li a:hover {
  color: #fff;
  background: url(img/icon_list.png) 18px 18px no-repeat #ea0000;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi li a:hover {
    background: url(img/icon_list_sp.png) -133px -361px no-repeat #ea0000;
    background-size: 520px 545px;
  }
}
#AreaLnavi li a.active {
  background: url(img/icon_list.png) -80px -277px no-repeat;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi li a.active {
    background: url(img/icon_list_sp.png) -95px -400px no-repeat;
    background-size: 520px 545px;
  }
}
#AreaLnavi li a.active:hover {
  color: #fff;
  background: url(img/icon_list.png) -121px -236px no-repeat #ea0000;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi li a.active:hover {
    background: url(img/icon_list_sp.png) -171px -324px no-repeat #ea0000;
    background-size: 520px 545px;
  }
}
#AreaLnavi li ul {
  border-bottom: none;
}
#AreaLnavi li ul li strong {
  font-weight: normal;
}
#AreaLnavi li ul li strong a {
  color: #ffffff;
  background: url(img/bg_snavi04.png) 35px -24px no-repeat #ea0000;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi li ul li strong a {
    background: url(img/bg_snavi04_sp.png) 31px -56px no-repeat #ea0000;
    background-size: auto;
  }
}
#AreaLnavi li ul li a {
  padding: 13px 28px 13px 47px;
  background: url(img/bg_snavi04.png) -11px 21px no-repeat #fde5e5;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi li ul li a {
    padding: 12px 10px 12px 45px;
    background: url(img/bg_snavi04_sp.png) -43px 17px no-repeat #fde5e5;
    background-size: auto;
  }
}
#AreaLnavi li ul li a:hover {
  color: #ffffff;
  background: url(img/bg_snavi04.png) 35px -24px no-repeat #ea0000;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi li ul li a:hover {
    background: url(img/bg_snavi04_sp.png) 31px -56px no-repeat #ea0000;
    background-size: auto;
  }
}
#AreaLnavi li ul li.title {
  padding: 13px 28px 13px 35px;
  border-top: 1px solid #dde0e7;
  font-size: 100%;
  line-height: 136%;
  font-weight: normal;
  background: #fde5e5;
}
@media only screen and (max-width: 640px) {
  #AreaLnavi li ul li.title {
    padding: 12px 10px 12px 29px;
    font-size: 88%;
    line-height: 136%;
  }
}

.link-contents {
  display: block;
  margin: 10px 15px 10px;
  padding: 10px;
  border: 5px solid #e6e9ee;
}
.link-contents p {
  margin: 0;
  text-decoration: none;
}
.link-contents p + p {
  margin-top: 5px;
}

a.link-contents .single-link {
  padding: 0 0 0 11px;
  background: url(img/icon_list.png) -389px 9px no-repeat;
}
@media only screen and (max-width: 640px) {
  a.link-contents .single-link {
    display: inline-block;
    background: url(img/icon_list_sp.png) -514px 9px no-repeat;
    background-size: 520px 545px;
  }
}

/* *****************************************************
Contents ---------------
01: LayerFooter
------------------------
***************************************************** */
#LayerFooter {
  background-color: #fff;
  border-top: 2px solid #ea0001;
}
@media only screen and (max-width: 640px) {
  #LayerFooter {
    border-top: none;
  }
}

/* FooterNavi
----------------------------------------------------- */
#FooterNavi {
  margin-bottom: 4px;
  background: #f9fafe;
  border-bottom: 1px solid #dde0e7;
}
@media only screen and (max-width: 640px) {
  #FooterNavi {
    display: none;
  }
}
#FooterNavi ul {
  width: 980px;
  margin: 0 auto;
  list-style-type: none;
}
#FooterNavi li {
  float: left;
  margin: 0;
  padding: 0;
}
#FooterNavi li a {
  display: block;
  width: 196px;
  height: 0;
  padding: 79px 0 0 0;
  background: url(img/common.png) 0 0 no-repeat;
  overflow: hidden;
}
#FooterNavi li.fnavi01 a {
  background-position: 0 -232px;
}
#FooterNavi li.fnavi01 a:hover {
  background-position: 0 -311px;
}
#FooterNavi li.fnavi02 a {
  background-position: -196px -232px;
}
#FooterNavi li.fnavi02 a:hover {
  background-position: -196px -311px;
}
#FooterNavi li.fnavi03 a {
  background-position: -392px -232px;
}
#FooterNavi li.fnavi03 a:hover {
  background-position: -392px -311px;
}
#FooterNavi li.fnavi04 a {
  background-position: -588px -232px;
}
#FooterNavi li.fnavi04 a:hover {
  background-position: -588px -311px;
}
#FooterNavi li.fnavi05 a {
  background-position: -784px -232px;
}
#FooterNavi li.fnavi05 a:hover {
  background-position: -784px -311px;
}

.en #FooterNavi li a {
  background: url(img/common_en.png) 0 0 no-repeat;
}
.en #FooterNavi li.fnavi01 a {
  background-position: 0 -180px;
}
.en #FooterNavi li.fnavi01 a:hover {
  background-position: 0 -259px;
}
.en #FooterNavi li.fnavi02 a {
  background-position: -196px -180px;
}
.en #FooterNavi li.fnavi02 a:hover {
  background-position: -196px -259px;
}
.en #FooterNavi li.fnavi03 a {
  background-position: -392px -180px;
}
.en #FooterNavi li.fnavi03 a:hover {
  background-position: -392px -259px;
}
.en #FooterNavi li.fnavi04 a {
  background-position: -588px -180px;
}
.en #FooterNavi li.fnavi04 a:hover {
  background-position: -588px -259px;
}
.en #FooterNavi li.fnavi05 a {
  background-position: -784px -180px;
}
.en #FooterNavi li.fnavi05 a:hover {
  background-position: -784px -259px;
}

/* footer-link
----------------------------------------------------- */
.footer-link ul {
  width: 980px;
  margin: 0 auto;
  font-size: 12px;
  list-style-type: none;
  letter-spacing: -.4em;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .footer-link ul {
    width: 100%;
    margin: 0 10px;
    font-size: 75%;
    line-height: 142%;
  }
}
.footer-link li {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  margin: 16px 0 0 16px;
  padding: 0 0 0 16px;
  letter-spacing: normal;
}
.footer-link li + li {
  border-left: 1px solid #dee1e8;
}
@media only screen and (max-width: 640px) {
  .footer-link li {
    display: block;
    float: left;
    margin: 15px 0 0 5px;
    padding: 0 0 0 5px;
    letter-spacing: normal;
    border-left: 1px solid #dee1e8;
  }
  .footer-link li:nth-child(3n+1) {
    clear: both;
    border-left: none;
    margin: 15px 0 0 0;
    padding: 0 0 0 0;
  }
  .footer-link li.sp-br {
    border-left: none;
    margin-left: 0;
    padding: 0;
    clear: both;
  }
  .footer-link li.sp-br + li {
    clear: right;
    margin: 15px 0 0 5px;
    padding: 0 0 0 5px;
    border-left: 1px solid #dee1e8;
  }
}

.en .footer-link ul {
  font-size: 13px;
  text-align: left;
}
.en .footer-link ul li {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  margin: 16px 0 0 0;
  padding: 0;
}
.en .footer-link ul li + li {
  margin: 16px 0 0 16px;
  padding: 0 0 0 16px;
  border-left: 1px solid #dee1e8;
}

* + html .footer-link li {
  float: none;
  display: inline;
  zoom: 1;
}

/* area-copy
----------------------------------------------------- */
.area-copy {
  margin-top: 22px;
  padding: 0 0 15px 0;
  border-top: 1px solid #dde0e7;
}
@media only screen and (max-width: 640px) {
  .area-copy {
    margin: 14px 0 0 0;
    padding: 0 0 14px 0;
    border-top: 3px solid #e70000;
  }
}
.area-copy div {
  width: 980px;
  margin: 0 auto;
}
@media only screen and (max-width: 640px) {
  .area-copy div {
    width: auto;
  }
}
.area-copy .f-logo {
  float: left;
  margin: 15px 0 0 0;
}
@media only screen and (max-width: 640px) {
  .area-copy .f-logo {
    display: none;
  }
}
.area-copy .copy {
  float: right;
  margin: 21px 0 0 0;
  padding: 0;
  font-size: 79%;
  line-height: 146%;
}
@media only screen and (max-width: 640px) {
  .area-copy .copy {
    float: none;
    text-align: center;
    margin: 14px 0 0 0;
    font-size: 63%;
    line-height: 150%;
  }
}

.en .area-copy .copy {
  font-size: 63%;
  line-height: 150%;
}

.form .area-copy {
  margin-top: 0;
  border-top: none;
}

/* *****************************************************
Contents ---------------
01: slider
02: LayerContentsBody
03: Others
------------------------
***************************************************** */
/* *****************************************************
slider
***************************************************** */
#slider {
  position: relative;
  width: 980px;
  height: auto;
  margin: 0 auto 50px -28px;
}
#slider ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
#slider ul li {
  margin: 0;
  padding: 0;
}
@media only screen and (max-width: 640px) {
  #slider {
    width: auto;
    margin: 0 -10px 30px;
  }
}

#SliderWrap {
  position: relative;
  margin: 0 auto 50px;
}

#LoopSlider {
  position: relative;
  width: 980px;
  margin: 0 auto;
  height: auto;
  min-height: 400px;
}
@media only screen and (max-width: 640px) {
  #LoopSlider {
    width: 100%;
    overflow: hidden;
    height: auto;
    min-height: 131px;
    background: #fff;
  }
}
#LoopSlider .over_l,
#LoopSlider .over_r {
  position: absolute;
  top: 0;
  width: 980px;
  height: 400px;
  background: #AAB2BE;
  filter: alpha(opacity=80);
  opacity: 0.8;
  zoom: 1;
}
@media only screen and (max-width: 640px) {
  #LoopSlider .over_l,
  #LoopSlider .over_r {
    display: none;
  }
}
#LoopSlider .over_l {
  left: -980px;
}
#LoopSlider .over_r {
  right: -980px;
}

#IdSlider {
  top: 0;
  left: 0;
  margin: 0 0 30px 0;
  padding: 0;
  list-style-type: none;
}

#IdSlider li {
  position: relative;
  float: left;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 640px) {
  #IdSlider li {
    width: auto;
    height: auto;
  }
}
#IdSlider li img {
  display: block;
}

@media screen and (max-width: 640px) {
  #IdSlider li img {
    width: 100%;
    height: auto;
  }
}
#SlideSelect {
  z-index: 10;
}

#IdPrev {
  display: none;
}
@media screen and (max-width: 640px) {
  #IdPrev {
    position: absolute;
    top: 50%;
    margin-top: -16px;
    outline: 0;
    text-indent: -9999px;
    z-index: 9999;
    display: block;
    width: 25px;
    height: 50px;
    top: 42%;
    left: 0;
    background: url(img/slider_sp.png) no-repeat -28px -10px;
    background-size: 50px 57px;
  }
}

#IdNext {
  display: none;
}
@media screen and (max-width: 640px) {
  #IdNext {
    position: absolute;
    top: 50%;
    margin-top: -16px;
    outline: 0;
    text-indent: -9999px;
    z-index: 9999;
    display: block;
    width: 25px;
    height: 50px;
    top: 42%;
    right: 0;
    background: url(img/slider_sp.png) no-repeat 3px -10px;
    background-size: 50px 57px;
  }
}

#Pagination {
  position: absolute;
  bottom: -35px;
  width: 100%;
  margin: 0;
  padding: 0;
  letter-spacing: -.40em;
  text-align: center;
  list-style-type: none;
}
@media screen and (max-width: 640px) {
  #Pagination {
    bottom: -35px;
  }
}

* + html #Pagination {
  position: relative;
  bottom: 0;
  margin: 15px 0 0 0;
}

#Pagination li {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  width: 10px;
  height: 0;
  margin: 0 0 0 10px;
  padding: 10px 0 0 0;
  background: url(img/common.png) -779px -191px no-repeat;
  cursor: pointer;
  letter-spacing: normal;
  overflow: hidden;
}

#Pagination li:first-child {
  margin: 0;
}

#Pagination li.active,
#Pagination li:hover {
  background: url(img/common.png) -818px -191px no-repeat;
}

/* *****************************************************
LayerContentsBody
***************************************************** */
/* area-prompt
----------------------------------------------------- */
.area-prompt {
  height: auto;
  margin: 0 0 28px 0;
  background: #ffffff;
}
@media only screen and (max-width: 640px) {
  .area-prompt {
    margin: 0 0 10px 0;
    padding: 9px 0;
  }
}
.area-prompt .hgroup {
  float: left;
  width: 120px;
  height: auto;
}
.area-prompt .hgroup h2 {
  display: table-cell;
  *display: inline;
  *zoom: 1;
  width: 120px;
  margin: 0;
  padding: 9px 0 5px;
  text-align: center;
  vertical-align: middle;
  color: #fff;
  font-size: 100%;
  line-height: 136%;
  font-weight: normal;
  background: #ea0001;
}
@media only screen and (max-width: 640px) {
  .area-prompt .hgroup {
    float: none;
    width: auto;
  }
  .area-prompt .hgroup h2 {
    display: block;
    width: auto;
    height: auto !important;
    margin: 0 0 5px 0;
    padding: 2px 0 5px 18px;
    color: #555565;
    font-size: 125%;
    line-height: 125%;
    font-weight: bold;
    text-align: left;
    border-bottom: 3px solid #ec0000;
    background: url(img/icon_list_sp.png) 8px -522px no-repeat;
    background-size: 520px 545px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -ms-border-radius: 0px;
    -o-border-radius: 0px;
    border-radius: 0px;
  }
}
.area-prompt .news-prompt {
  float: right;
  width: 860px;
  padding: 8px 0;
}
.area-prompt .news-prompt dl {
  padding: 0 22px;
}
.area-prompt .news-prompt dl dt,
.area-prompt .news-prompt dl dd {
  padding: 9px 0 6px;
}
.area-prompt .news-prompt dl dt {
  float: left;
  width: 120px;
  margin: 0 0 0 0;
}
.area-prompt .news-prompt dl dd {
  margin-left: 120px;
}
@media only screen and (max-width: 640px) {
  .area-prompt .news-prompt {
    float: none;
    width: auto;
    padding: 0;
  }
  .area-prompt .news-prompt dl {
    padding: 8px 10px;
  }
  .area-prompt .news-prompt dl dt,
  .area-prompt .news-prompt dl dd {
    float: none;
    width: auto;
    padding: 0;
  }
  .area-prompt .news-prompt dl dd {
    padding: 5px 0 0;
    margin-left: 0;
  }
}

.area-prompt-en {
  height: auto;
  margin: 0 0 28px 0;
  background: #ffffff;
}
@media only screen and (max-width: 640px) {
  .area-prompt-en {
    margin: 0 0 10px 0;
    padding: 0 0;
  }
}
.area-prompt-en .hgroup {
  float: none;
  width: auto;
  height: auto;
}
.area-prompt-en .hgroup h2 {
  display: block;
  width: auto;
  margin: 0;
  padding: 15px 0 11px;
  text-align: center;
  color: #fff;
  font-size: 127%;
  line-height: 127%;
  font-weight: bold;
  border: none;
  background: #ea0000;
  -webkit-border-radius: 5px 5px 0 0;
  -moz-border-radius: 5px 5px 0 0;
  -ms-border-radius: 5px 5px 0 0;
  -o-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
}
.area-prompt-en .news-prompt {
  padding: 8px 0;
}
.area-prompt-en .news-prompt dl {
  padding: 0 22px;
}
.area-prompt-en .news-prompt dl dt,
.area-prompt-en .news-prompt dl dd {
  padding: 9px 0 6px;
}
.area-prompt-en .news-prompt dl dt {
  float: left;
  width: 97px;
  margin: 0 0 0 0;
}
.area-prompt-en .news-prompt dl dd {
  margin-left: 97px;
}
.area-prompt-en .news-prompt dl dd a {
  display: inline-block;
  letter-spacing: normal;
  padding: 0 0 0 11px;
  background: url(img/icon_list.png) -389px 8px no-repeat;
}
@media only screen and (max-width: 640px) {
  .area-prompt-en .news-prompt dl dd a {
    padding: 0 0 0 11px;
    background: url(img/icon_list_sp.png) -514px 7px no-repeat;
    background-size: 520px 545px;
  }
}
@media only screen and (max-width: 640px) {
  .area-prompt-en .news-prompt {
    float: none;
    width: auto;
    padding: 0;
  }
  .area-prompt-en .news-prompt dl {
    padding: 8px 10px;
  }
  .area-prompt-en .news-prompt dl dt,
  .area-prompt-en .news-prompt dl dd {
    float: none;
    width: auto;
    padding: 0;
  }
  .area-prompt-en .news-prompt dl dd {
    padding: 5px 0 0;
    margin-left: 0;
  }
}

/* area-active
----------------------------------------------------- */
.area-active {
  margin: 0 0 19px 0;
  padding: 0 27px 0 25px;
  background: #fff;
}
@media only screen and (max-width: 640px) {
  .area-active {
    margin: 0 0 10px 0;
    padding: 9px 0 0;
  }
  .area-active .btn-active {
    text-align: center;
  }
}
.area-active h2 {
  width: auto;
  margin: 40px 0 10px 0;
  padding: 0 0 2px 39px;
  background: url(img/bg_active_h2.png) 0 2px no-repeat;
  border-bottom: none;
}
@media only screen and (max-width: 640px) {
  .area-active h2 {
    width: auto;
    margin: 0 0 6px 0;
    padding: 2px 0 5px 45px;
    border-bottom: 3px solid #ec0000;
    background: url(img/bg_active_h2_sp.png) 18px 5px no-repeat;
    background-size: 20px 18px;
  }
}
.area-active .left {
  width: 426px;
}
@media only screen and (max-width: 640px) {
  .area-active .left {
    float: none;
    width: auto;
  }
  .area-active .left p {
    margin-left: 16px;
    margin-right: 16px;
  }
}
.area-active .right {
  width: 502px;
}
.area-active .right p {
  margin: 0;
}
.area-active .right .active-sp {
  display: none;
}
@media only screen and (max-width: 640px) {
  .area-active .right {
    float: none;
    width: auto;
    margin: 0 16px 13px 16px;
  }
  .area-active .right img {
    width: 100%;
    height: auto;
  }
  .area-active .right .active-sp {
    display: block;
  }
  .area-active .right .active-pc {
    display: none;
  }
}

.site-map .area-active {
  display: block;
  width: 438px;
  margin: 0 0 0 -15px;
  padding: 0 0 0 0;
  background: #fff;
  border-top: 5px solid #e6e9ee;
}
@media only screen and (max-width: 640px) {
  .site-map .area-active {
    width: 100%;
    margin: 0 0 0 0;
  }
}
.site-map .area-active p {
  margin: 0 0 0 0;
  padding: 0;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .site-map .area-active p img {
    width: 100%;
    height: auto;
  }
}

/* topics
----------------------------------------------------- */
.topics .btn-link {
  text-align: right;
}
@media only screen and (max-width: 640px) {
  .topics .btn-link {
    margin: 0;
    text-align: center;
  }
}
.topics a:hover dd {
  text-decoration: underline;
}
.topics .column2 {
  margin: 19px 0 28px 0;
  padding: 0;
}
@media only screen and (max-width: 640px) {
  .topics .column2 {
    margin: 10px 0 0 0;
  }
}
.topics .column2-box {
  position: relative;
  float: left;
  width: 476px;
  height: 310px;
  margin: 0 0 0 28px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .topics .column2-box {
    width: 100%;
    height: auto;
  }
}
.topics .column2-box:first-child {
  margin: 0;
}
.topics .column2-box img {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}
@media only screen and (max-width: 640px) {
  .topics .column2-box {
    float: none;
    width: 100%;
    height: auto;
    margin: 0 0 10px 0;
    overflow: hidden;
  }
  .topics .column2-box:first-child {
    margin: 0 0 10px 0;
  }
  .topics .column2-box p:first-child img {
    width: 100%;
    height: auto;
  }
  .topics .column2-box p {
    margin: 0;
  }
}
.topics .column4 {
  margin: -28px 0 28px -28px;
}
@media only screen and (max-width: 640px) {
  .topics .column4 {
    margin: 0 0 0 0;
  }
}
.topics .column4-box {
  position: relative;
  float: left;
  width: 224px;
  height: 224px;
  margin: 28px 0 0 28px;
  background: #fff;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}
.topics .column4-box p {
  margin: 0;
  width: 224px;
  height: 224px;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .topics .column4-box p {
    width: 100%;
    height: auto;
  }
}
@media only screen and (max-width: 640px) {
  .topics .column4-box {
    width: 49%;
    height: auto;
    margin: 0 0 10px 2%;
    overflow: hidden;
  }
  .topics .column4-box:nth-child(odd) {
    margin: 0 0 0 0;
  }
  .topics .column4-box p {
    margin: 0;
  }
  .topics .column4-box img {
    width: 100%;
    height: auto;
  }
}
.topics .icon-new {
  position: absolute;
  top: 10px;
  left: 10px;
}
@media only screen and (max-width: 640px) {
  .topics .icon-new {
    top: 8px;
    left: 7px;
  }
}
.topics dl {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 15px 0 16px 0;
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  -ms-border-radius: 0 0 4px 4px;
  -o-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px;
  background-color: rgba(255, 255, 255, 0.8);
  filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#eeffffff,EndColorStr=#eeffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#eeffffff,EndColorStr=#eeffffff);
  zoom: 1;
  letter-spacing: normal;
}
@media only screen and (max-width: 640px) {
  .topics dl {
    padding: 10px 0;
    filter: none;
    font-size: 88%;
    line-height: 136%;
  }
}
.topics dl dt {
  margin: 0 0 5px 0;
  padding: 0 18px 0;
  color: #555565;
}
@media only screen and (max-width: 640px) {
  .topics dl dt {
    padding: 0 10px;
  }
}
.topics dl dd {
  padding: 0 18px 0 25px;
  background: url(img/icon_list.png) -373px 8px no-repeat;
}
@media only screen and (max-width: 640px) {
  .topics dl dd {
    background: url(img/icon_list_sp.png) -504px 6px no-repeat;
    background-size: 520px 545px;
    padding: 0 10px 0 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
  }
}

/* IE9 */
:root .topics dl {
  filter: none\0/IE9;
}

/* news-list
----------------------------------------------------- */
#TopPage .news-list {
  position: relative;
  margin: 0 0 28px 0;
  padding: 16px 0 0 0;
  background: #fff;
}
@media only screen and (max-width: 640px) {
  #TopPage .news-list {
    margin: 0 0 10px 0;
    padding: 9px 0 10px 0;
  }
}
#TopPage .news-list ul {
  position: absolute;
  top: 9px;
  right: 18px;
  list-style-type: none;
}
@media only screen and (max-width: 640px) {
  #TopPage .news-list ul {
    width: 100%;
    position: relative;
    top: 0;
    right: 0;
    display: table-row-group;
  }
}
#TopPage .news-list li {
  float: left;
  margin: 0 0 0 10px;
  padding: 0;
}
#TopPage .news-list li:first-child {
  margin: 0;
}
@media only screen and (max-width: 640px) {
  #TopPage .news-list li {
    margin: 10px 0 0 10px;
  }
  #TopPage .news-list li:first-child {
    margin: 10px 0 0 10px;
  }
}
#TopPage .news-list h2 {
  width: auto;
  margin: 0;
  padding: 0 0 9px 38px;
}
@media only screen and (max-width: 640px) {
  #TopPage .news-list h2 {
    padding: 2px 0 5px 18px;
  }
}
@media only screen and (max-width: 640px) {
  #TopPage .news-list .area-news {
    width: 100%;
    display: table-header-group;
  }
}
#TopPage .news-list dl {
  margin: 0;
  padding: 0 23px;
  border-top: none;
  background: #ffffff;
}
@media only screen and (max-width: 640px) {
  #TopPage .news-list dl {
    width: 100%;
    display: inline-block;
    padding: 8px 10px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
  }
}
#TopPage .news-list dl dt,
#TopPage .news-list dl dd {
  float: left;
  padding: 16px 0 16px;
}
@media only screen and (max-width: 640px) {
  #TopPage .news-list dl dt,
  #TopPage .news-list dl dd {
    padding: 0;
  }
}
#TopPage .news-list dl dt {
  width: 125px;
  margin: 0 0 0 0;
}
@media only screen and (max-width: 640px) {
  #TopPage .news-list dl dt {
    width: 135px;
  }
}
#TopPage .news-list dl dd {
  width: 679px;
  margin: 0 0 0 0;
}
@media only screen and (max-width: 640px) {
  #TopPage .news-list dl dd {
    width: auto;
    float: none;
  }
  #TopPage .news-list dl dd:last-child {
    clear: both;
    padding-top: 10px;
  }
}
#TopPage .news-list dl dd img {
  vertical-align: middle;
}
#TopPage .news-list dl dd a {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  padding: 0 0 0 11px;
  background: url(img/icon_list.png) -389px 8px no-repeat;
}
@media only screen and (max-width: 640px) {
  #TopPage .news-list dl dd a {
    padding: 0 0 0 11px;
    background: url(img/icon_list_sp.png) -514px 7px no-repeat;
    background-size: 520px 545px;
  }
}
#TopPage .news-list dl .icon {
  width: 120px;
  margin-right: 10px;
  padding: 17px 0 16px;
}
@media only screen and (max-width: 640px) {
  #TopPage .news-list dl .icon {
    float: left;
    padding: 0;
  }
}
#TopPage .news-list dl .icon-new {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  letter-spacing: normal;
  vertical-align: top;
  white-space: nowrap;
}
#TopPage .news-list dl:last-child {
  -webkit-border-radius: 0 0 5px 5px;
  -moz-border-radius: 0 0 5px 5px;
  -ms-border-radius: 0 0 5px 5px;
  -o-border-radius: 0 0 5px 5px;
  border-radius: 0 0 5px 5px;
}
@media only screen and (max-width: 640px) {
  #TopPage .news-list dl:last-child {
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
  }
}
#TopPage .news-list dl.odd {
  background: #f1f2f6;
}
#TopPage .news-list dl.fixation {
  background: #fde5e5;
}

#TopPage.en .news-list dl dt {
  width: 97px;
  margin: 0 0 0 0;
}
@media only screen and (max-width: 640px) {
  #TopPage.en .news-list dl dt {
    width: auto;
  }
}
#TopPage.en .news-list dl dd {
  float: none;
  width: auto;
  margin-left: 97px;
}
@media only screen and (max-width: 640px) {
  #TopPage.en .news-list dl dd {
    width: auto;
    margin-left: 0;
  }
  #TopPage.en .news-list dl dd:last-child {
    clear: both;
    padding-top: 5px;
  }
}

/* Carousel
----------------------------------------------------- */
#Carousel {
  margin: 0 0 28px 0;
  padding: 0;
  background: #fff;
}
@media only screen and (max-width: 640px) {
  #Carousel {
    margin: 0 0 10px 0;
    padding: 0;
  }
}
#Carousel .carousel-slide {
  margin: -28px 0 0 -28px;
  padding: 0 0 0 0;
}
@media only screen and (max-width: 640px) {
  #Carousel .carousel-slide {
    margin: -10px 0 0 -10px;
  }
}
#Carousel .carousel-slide .carousel-box {
  position: relative;
  float: left;
  margin: 28px 0 0 28px;
  margin-right: 0 !important;
}
#Carousel .carousel-slide .carousel-box p {
  margin: 0;
}
@media only screen and (max-width: 640px) {
  #Carousel .carousel-slide .carousel-box {
    margin: 10px 0 10px 10px;
    margin-right: 0 !important;
  }
  #Carousel .carousel-slide .carousel-box img {
    width: 100% !important;
  }
}
#Carousel .carousel-slide a:hover .text {
  text-decoration: underline;
}
#Carousel .carousel-slide .text {
  display: table;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60px;
  margin: 0;
  padding: 0;
  font-weight: bold;
  background-color: rgba(255, 255, 255, 0.8);
  filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#eeffffff,EndColorStr=#eeffffff);
  -ms-filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#eeffffff,EndColorStr=#eeffffff);
  zoom: 1;
  vertical-align: middle;
}
#Carousel .carousel-slide .text span {
  display: table-cell;
  padding: 0 25px;
  vertical-align: middle;
  background: url(img/icon_list.png) -374px 27px no-repeat;
}
#Carousel .carousel-slide .text.line2 span {
  background: url(img/icon_list.png) -374px 16px no-repeat;
}
@media only screen and (max-width: 640px) {
  #Carousel .carousel-slide .text {
    height: 45px;
    padding: 3px 0 0 0;
  }
  #Carousel .carousel-slide .text span {
    padding: 0 15px;
    background: url(img/icon_list_sp.png) -509px 19px no-repeat;
    background-size: 520px 545px;
  }
  #Carousel .carousel-slide .text.line2 span {
    background: url(img/icon_list_sp.png) -509px 19px no-repeat;
    background-size: 520px 545px;
  }
}

#TopPage #Carousel {
  padding: 20px;
}
@media only screen and (max-width: 640px) {
  #TopPage #Carousel {
    margin: 0 0 10px 0;
    padding: 10px 10px 0;
    background: #fff;
  }
}
#TopPage #Carousel .carousel-slide {
  margin: -20px 0 0 -20px;
}
@media only screen and (max-width: 640px) {
  #TopPage #Carousel .carousel-slide {
    margin: -10px 0 0 -10px;
  }
}
#TopPage #Carousel .carousel-slide .carousel-box {
  margin: 20px 0 0 20px;
}
@media only screen and (max-width: 640px) {
  #TopPage #Carousel .carousel-slide .carousel-box {
    margin: 10px 0 10px 10px;
  }
  #TopPage #Carousel .carousel-slide .carousel-box img {
    width: 100% !important;
  }
}

/* IE9 */
:root #Carousel .carousel-slide .text {
  filter: none\0/IE9;
}

* + html #Carousel .carousel-slide span {
  display: block;
  margin: 8px 0 0 0;
  padding: 0 25px 0;
  vertical-align: middle;
}

/* *****************************************************
Others
***************************************************** */
#Others {
  padding: 0 0 18px 0;
  background: #ccd0d9;
}

.en #Others {
  padding: 0 0 0 0;
  background: #ccd0d9;
}

#OthersContents {
  width: 980px;
  margin: 0 auto;
  padding: 28px 0 31px 0;
}
@media only screen and (max-width: 640px) {
  #OthersContents {
    width: auto;
    padding: 10px 0 17px 0;
  }
}

.en #OthersContents {
  padding: 28px 0 30px 0;
}

/* area-sns
----------------------------------------------------- */
.area-sns {
  margin: 0 0 30px 0;
  padding: 0 0 30px 0;
  border-bottom: 1px solid #aab2bd;
}
@media only screen and (max-width: 640px) {
  .area-sns {
    margin: 0 10px 10px 10px;
    padding: 0 0 0 0;
  }
}
.area-sns div {
  float: left;
  width: 288px;
  height: 288px;
  margin: 0 0 0 28px;
  padding: 10px;
  background: #fff;
}
.area-sns div:first-child {
  margin: 0;
}
@media only screen and (max-width: 640px) {
  .area-sns div {
    width: 49%;
    height: auto;
    padding: 0;
    margin: 0 0 10px 0;
    background: none;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -ms-border-radius: 0px;
    -o-border-radius: 0px;
    border-radius: 0px;
  }
}
.area-sns .area-fb iframe {
  border: 1px solid #dddddd;
  background: #fff;
}
.area-sns .area-fb .sp-fb {
  display: none;
}
@media only screen and (max-width: 640px) {
  .area-sns .area-fb iframe {
    display: none;
  }
  .area-sns .area-fb .sp-fb {
    display: block;
    margin: 0;
  }
  .area-sns .area-fb .sp-fb img {
    width: 100%;
    height: auto;
  }
}
.area-sns .area-twitter .pc-tw {
  width: 288px;
  height: 290px;
  overflow: hidden;
}
.area-sns .area-twitter .sp-tw {
  display: none;
}
@media only screen and (max-width: 640px) {
  .area-sns .area-twitter {
    margin: 0 0 10px 2%;
  }
  .area-sns .area-twitter .pc-tw {
    display: none;
  }
  .area-sns .area-twitter .sp-tw {
    display: block;
    margin: 0;
  }
  .area-sns .area-twitter .sp-tw img {
    width: 100%;
    height: auto;
  }
}
.area-sns .area-youtube {
  width: 308px;
  height: 238px;
  padding: 35px 0;
  background: #1b1b1b;
}
@media only screen and (max-width: 640px) {
  .area-sns .area-youtube {
    float: none;
    clear: both;
    width: 100%;
    height: auto;
    padding: 0;
  }
  .area-sns .area-youtube iframe {
    width: 100%;
    height: auto;
  }
}

/* pickup
----------------------------------------------------- */
#TopPage .pickup {
  margin: -28px 0 0 -28px;
  padding: 0 0 30px 0;
}
@media only screen and (max-width: 640px) {
  #TopPage .pickup {
    margin: 0 10px 0 10px;
    padding: 0 0 0 0;
  }
}
#TopPage .pickup .pickup-box {
  float: left;
  width: 308px;
  min-height: 187px;
  margin: 28px 0 0 28px;
  padding: 0;
  background: #fff;
}
@media only screen and (max-width: 640px) {
  #TopPage .pickup .pickup-box {
    float: none;
    width: auto;
    margin: 0;
    min-height: 1px!important;
  }
  #TopPage .pickup .pickup-box br {
    display: none;
  }
}
#TopPage .pickup .pickup-box h2 {
  width: auto;
  margin: 0;
  padding: 15px 10px 10px 20px;
  color: #fff;
  font-size: 100%;
  line-height: 136%;
  border-bottom: none;
  background: #aab2be;
  -webkit-border-radius: 5px 5px 0 0;
  -moz-border-radius: 5px 5px 0 0;
  -ms-border-radius: 5px 5px 0 0;
  -o-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
}
#TopPage .pickup .pickup-box h2 img {
  margin-top: -3px;
  margin-right: 15px;
  vertical-align: middle;
}
@media only screen and (max-width: 640px) {
  #TopPage .pickup .pickup-box h2 img {
    width: auto;
    max-width: 100%;
    margin-top: -6px;
  }
}
@media only screen and (max-width: 640px) {
  #TopPage .pickup .pickup-box h2 {
    padding: 13px 10px 12px 10px;
    font-size: 125%;
    line-height: 125%;
    background-size: auto;
  }
}
#TopPage .pickup .pickup-box h3 {
  margin: 0;
  padding: 0;
  color: #555565;
  font-weight: bold;
  border-bottom: none;
}
#TopPage .pickup .pickup-box .text {
  color: #555565;
  margin: 0;
  padding: 0;
}
#TopPage .pickup .pickup-box .column2 {
  margin: 0;
  padding: 20px 20px 10px 20px;
}
@media only screen and (max-width: 640px) {
  #TopPage .pickup .pickup-box .column2 {
    margin: 0 0 10px 0;
    padding: 10px 10px 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
}
#TopPage .pickup .pickup-box .column2 p {
  margin-bottom: 0;
}
#TopPage .pickup .pickup-box .left {
  width: 84px;
}
@media only screen and (max-width: 640px) {
  #TopPage .pickup .pickup-box .left {
    width: 20%;
    float: left;
  }
  #TopPage .pickup .pickup-box .left img {
    width: 100%;
    height: auto;
  }
}
#TopPage .pickup .pickup-box .right {
  width: 169px;
}
@media only screen and (max-width: 640px) {
  #TopPage .pickup .pickup-box .right {
    width: 75%;
    float: right;
  }
}

#TopPage.en .pickup {
  margin: 0 0 30px 0;
  padding: 0 0 30px 0;
  border-bottom: 1px solid #aab2bd;
}
@media only screen and (max-width: 640px) {
  #TopPage.en .pickup {
    margin: 0 10px 10px 10px;
    padding: 0 0 10px 0;
  }
}
#TopPage.en .pickup ul {
  list-style-type: none;
  margin: -28px 0 0 -28px;
  padding: 0;
}
@media only screen and (max-width: 640px) {
  #TopPage.en .pickup ul {
    margin: 0;
  }
}
#TopPage.en .pickup ul li {
  float: left;
  margin: 28px 0 0 28px;
}
@media only screen and (max-width: 640px) {
  #TopPage.en .pickup ul li {
    width: 48%;
    margin: 4% 0 0 4%;
  }
  #TopPage.en .pickup ul li:nth-child(1), #TopPage.en .pickup ul li:nth-child(2) {
    margin: 0 0 0 4%;
  }
  #TopPage.en .pickup ul li:nth-child(odd) {
    margin-left: 0;
  }
}

/* area-banner
----------------------------------------------------- */
.area-banner {
  border-top: 1px solid #aab2bd;
  margin: 0 0 0 0;
  padding: 30px 0 0 0;
}
@media only screen and (max-width: 640px) {
  .area-banner {
    margin: 0 10px;
    padding: 10px 0 0;
  }
}
.area-banner ul {
  margin: -28px 0 0 -28px;
  padding: 0;
  list-style-type: none;
}
@media only screen and (max-width: 640px) {
  .area-banner ul {
    margin: 0;
  }
}
.area-banner li {
  float: left;
  height: 60px;
  margin: 28px 0 0 28px;
  padding: 0;
}
.area-banner li:first-child {
  margin: 28px 0 0 28px;
}
@media only screen and (max-width: 640px) {
  .area-banner li {
    width: 48%;
    height: auto;
    margin: 4% 0 0 4%;
  }
  .area-banner li:nth-child(1), .area-banner li:nth-child(2) {
    margin: 0 0 0 4%;
  }
  .area-banner li:nth-child(odd) {
    margin-left: 0;
  }
  .area-banner li img {
    width: 100%;
    height: auto;
  }
}

@media only screen and (max-width: 640px) {
  .area-banner-en {
    margin: 0 10px;
  }
}
.area-banner-en ul {
  list-style-type: none;
  margin: -28px 0 0 -28px;
  padding: 0;
}
@media only screen and (max-width: 640px) {
  .area-banner-en ul {
    margin: 0;
  }
}
.area-banner-en ul li {
  float: left;
  margin: 28px 0 0 28px;
}
@media only screen and (max-width: 640px) {
  .area-banner-en ul li {
    width: 48%;
    margin: 4% 0 0 4%;
  }
  .area-banner-en ul li:nth-child(1), .area-banner-en ul li:nth-child(2) {
    margin: 0 0 0 4%;
  }
  .area-banner-en ul li:nth-child(odd) {
    margin-left: 0;
  }
}

/* 150609 追記 */
.area-sns .fb-page {
  float: none;
  margin: 0;
  padding: 0;
  width: auto;
  height: auto;
}

/* 170213 追記 */
@media only screen and (max-width: 640px) {
 .maxWidth100 {
   max-width: 100%;
   width: auto;
   height: auto;
 }
}

.tab-list2 {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.tab-list2 li {
  float: left;
  margin: 0 0 0 0;
  font-size: 12px;
  width: 20%;
}
@media only screen and (max-width: 640px) {
  .tab-list2 li {
    width: 50%;
    margin: 0 0 0 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  .tab-list2 li:last-child {
    width: 100%;
  }
}
.tab-list2 li a {
  display: block;
  width: auto;
  padding: 10px 12px;
  text-align: center;
  border: 1px solid #ccd0d9;
  background: #fcfdfd;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fcfdfd), color-stop(100%, #e9ebf0));
  background: -webkit-linear-gradient(#fcfdfd, #e9ebf0);
  background: -moz-linear-gradient(#fcfdfd, #e9ebf0);
  background: -o-linear-gradient(#fcfdfd, #e9ebf0);
  background: linear-gradient(#fcfdfd, #e9ebf0);
  -webkit-border-radius: 5px 5px 0 0;
  -moz-border-radius: 5px 5px 0 0;
  -ms-border-radius: 5px 5px 0 0;
  -o-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
}
@media only screen and (max-width: 640px) {
  .tab-list2 li a {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
  }
}
.tab-list2 li a span {
  padding: 0 0 0 10px;
  background: url(img/icon_list.png) -389px 5px no-repeat;
}
.tab-list2 li a:hover {
  background: #e9ebf0;
  background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #e9ebf0), color-stop(100%, #fcfdfd));
  background: -webkit-linear-gradient(#e9ebf0, #fcfdfd);
  background: -moz-linear-gradient(#e9ebf0, #fcfdfd);
  background: -o-linear-gradient(#e9ebf0, #fcfdfd);
  background: linear-gradient(#e9ebf0, #fcfdfd);
}
.tab-list2 li a.active {
  width: auto;
  color: #fff;
  border: none;
  padding: 11px 12px;
  background: #ea0000;
}
.tab-list2 li a.active span {
  background: url(img/icon_list.png) -101px -293px no-repeat;
}
@media only screen and (max-width: 640px) {
  .tab-list2 li a.active {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
}

.em1 {
  padding-top: 1.5em;
}
.bottomfix {
  /*min-height: 65px;*/
  position: fixed;
  bottom: 0;
  visibility: hidden;
}

#AnchorLink .anchor-link {
  width: 644px;
  font-size: 13px;
  line-height: 28px;
  background-color: #fde5e5;
  margin:0;
}
.bottomfix.-visible {
  visibility: visible;
  animation: fadeIn 0.5s ease 0s 1 normal;
  -webkit-animation: fadeIn 0.5s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

.bottomfix.-bottom {
  position: relative;
  margin-bottom: 0;
}

#AnchorLink .btn-close {
  margin: 0;
  position: absolute;
  top: -10px;
  right: -10px;
}

img.img-border {
  border: solid 1px #e6e9ee;
}

@media screen and (max-width: 640px) {
#AnchorLink {
  min-height: 100px;
  width: auto;
  margin-right: 10px;
}
#AnchorLink .anchor-link {
    width:auto;
  }

#AnchorLink .btn-close {
  width: 10%;
  right: -5%;
}
}


/* 180123 add ここから */
.no-column #LayerContentsMain {
  float: none;
  width: auto;
}
.no-column #AnchorLink .anchor-link {
  width: auto;
}

.no-column h2 {
  width: 914px;
}
@media screen and (max-width: 640px) {
  .no-column h2 {
    width: 96%;
  }
}
.no-column .column2-box .box-contents {
  width: 408px;
}
@media screen and (max-width: 640px) {
  .no-column .column2-box .box-contents {
    width: 100%;
  }
}

/* ***************************
frame
*************************** */
.frame {
  margin: 0;
  padding: 0;
}

.frame + .column4-box {
  margin-top: 0;
}

.frame + p {
  margin-top: 30px;
}
@media screen and (max-width: 640px) {
  .frame + p {
    margin-top: 15px;
  }
}

@media screen and (max-width: 640px) {
  .frame + .column4-box,
  #CategoryTop .frame + .column4-box {
    margin-top: 20px;
  }
}

* + .frame {
  margin-top: 30px;
}
@media screen and (max-width: 640px) {
  * + .frame {
    margin-top: 20px;
  }
}

.frame__haed {
  margin: 0;
  padding: 10px 20px 7px;
  background: #e6e9ee;
}

.bg-red .frame__haed {
  background: #ea0000;
}
.bg-red .frame__link:hover .frame__body{
  border-color: #fde3e4;
  background: #fde3e4;
}
.bg-blue .frame__haed{
  background: #3580ba;
}
.bg-blue .frame__link:hover .frame__body{
  border-color: #c0e1fb;
  background: #c0e1fb;
}
.bg-green .frame__haed{
  background: #479554;
}
.bg-green .frame__link:hover .frame__body{
  border-color: #ceefc5;
  background: #ceefc5;
}
.bg-orange .frame__haed{
  background: #f25807;
}
.bg-orange .frame__link:hover .frame__body{
  border-color: #f7e8d7;
  background: #f7e8d7;
}
.bg-yellow .frame__haed{
  background: #f4bd07;
}
.bg-yellow .frame__link:hover .frame__body{
  border-color: #f4e7ba;
  background: #f4e7ba;
}
.bg-pink .frame__haed {
  background: #f7c1c4;
}

.bg-gold .frame__haed {
  background: #d4c88a;
}

.frame__haed__title,
.frame__haed__link {
  margin: 0;
}

.frame__haed__title {
  color: #333;
  font-size: 129%;
  line-height: 128%;
  font-weight: bold;
}

.bg-red .frame__haed__title,
.bg-blue .frame__haed__title,
.bg-green .frame__haed__title {
  color: #fff;
}

.frame__link:hover {
  text-decoration: none;
}


.frame__haed__link {
  padding-left: 18px;
  color: #fff;
  font-size: 115%;
  line-height: 132%;
  font-weight: bold;
  background: url(img/icon_arrow.png) 0 6px no-repeat;
}

.frame__body {
  margin: 0;
  padding: 20px 15px;
  color: #535566;
  border: 5px solid #e6e9ee;
}

.frame__haed + .frame__body {
  border-top: none;
}

.frame__body__title {
  margin-bottom: 15px;
  font-size: 115%;
  line-height: 132%;
  font-weight: bold;
}

.frame__heading {
  width: 100%;
  margin: 0 0 15px 0;
  padding: 0 28px 9px 27px;
  font-size: 129%;
  line-height: 128%;
  font-weight: bold;
  border-bottom: 1px solid #e6e9ee;
  background: url(img/icon_list.png) 10px -398px no-repeat;
  box-sizing: border-box;
}
/* ***************************
grid
*************************** */
.grid {
  overflow: hidden;
}

* + .grid {
  margin: 30px 0 0;
}
@media screen and (max-width: 640px) {
  * + .grid {
    margin-top: 20px;
  }
}
.grid__body {
  display: block;
  /*width: 100%;*/
  margin: -30px -14px 0 -14px;
  letter-spacing: -.34em;
  box-sizing: border-box;
}
@media screen and (max-width: 640px) {
  .grid__body {
    margin: 0 0 0;
  }
}
@media screen and (max-width: 640px) {
  .grid__body {
    display: block;
    margin: 0;
  }
}

.grid__item {
  display: inline-block;
  margin: 0;
  padding: 30px 14px 0;
  vertical-align: top;
  letter-spacing: normal;
  box-sizing: border-box;
}

@media screen and (max-width: 640px) {
  .grid__item {
    display: block;
    margin: 0;
    padding: 0;
  }

  .grid__item  + .grid__item {
    margin-top: 20px;
  }

  .is-linkList + .is-linkList {
    margin-top: 8px;
  }
}

.grid__item img {
  max-width: 100%;
  height: auto;
}
@media only screen and (max-width: 640px) {
  .grid__item img {
    width: auto;
  }
}



.width1 {
  width:8.33333333333%;
}
.width2 {
  width:16.6666666667%;
}
.width3 {
  width:25.0%;
}
.width4 {
  width:33.3333333333%;
}
.width5 {
  width:41.6666666667%;
}
.width6 {
  width:50.0%;
}
.width7 {
  width:58.3333333333%;
}
.width8 {
  width:66.6666666667%;
}
.width9 {
  width:75.0%;
}
.width10 {
  width:83.3333333333%;
}
.width11 {
  width:91.6666666667%;
}
.width12 {
  width: 100%;
}
@media screen and (max-width: 640px) {
  .width1,
  .width2,
  .width3,
  .width4,
  .width5,
  .width6,
  .width7,
  .width8,
  .width9,
  .width10,
  .width11 {
    width: 100%;
  }
}

.gridAward .grid__body {
  margin: -30px 0 0;
}
@media screen and (max-width: 640px) {
  .gridAward .grid__body {
    margin: 0 0 0;
  }
}
.gridAward .grid__item {
  padding: 30px 0 0;
}
@media screen and (max-width: 640px) {
  .gridAward .grid__item {
    padding: 0 0 0;
  }
}
.gridAward .grid__item + .grid__item {
  padding: 30px 0 0 15px;
}
@media screen and (max-width: 640px) {
  .gridAward .grid__item + .grid__item {
    padding: 0;
  }
}
.gridAward .grid__img {
  width: 390px;
}

.gridAward .grid__text {
  border-left-style: dotted;
  border-left-width: 2px;
  border-color: #ccc;
  margin-left: 15px;
  min-height: 180px;
  width: 50%;
}

@media screen and (max-width: 640px) {
  .gridAward .grid__img {
    width: auto;
  }
  .gridAward .grid__text {
  border-left: none;
  width: 100%;
  min-height: auto;
  }
}

/* ***************************
inline
*************************** */
.inline {
  letter-spacing: -.34em;
}

.inline__item {
  display: inline-block;
  vertical-align: top;
  letter-spacing: normal;
}

.inline__item + .inline__item {
  margin-left: 10px;
}

/* ***************************
btnDonate
*************************** */
.btnDonate {
  position: fixed;
  top: 195px;
  right: 0;
  z-index: 5;
}
.btnDonate a {
  display: block;
}

.btnDonate img {
  font-size: 0em;
}
@media screen and (max-width: 640px) {
  .btnDonate {
    width: 32px;
    height: auto;
  }

  .btnDonate img {
    width: 100%;
    height: auto;
  }
}

/* ***************************
column2-box.is-help
*************************** */
.column2-box.is-help {
  
}

.column2-box.is-help .column2-img-left {
  width: 104px;
  margin-right: 10px;
}

.boxLink {
  
}

.is-help .box-contents:hover {
  text-decoration: none;
  background: #f0f3f8;
  border-color: #f0f3f8;
}

.is-help .box-contents .title,
.is-help .box-contents .period {
  color: #535566;
}

/* ***************************
detailLink
*************************** */
.detailLink {
  margin-top: 15px;
}

.detailLink__body {
  display: inline-block;
  padding: 0 0 0 11px;
  background: url(img/icon_list.png) -389px 8px no-repeat;
}
/* 180123 add ここまで */


/* 180918 add */
table.area-faq {
  width: 100%;
  margin: 0 0 20px 0;
  border: 1px solid #dde0e7;
}
table.area-faq thead th {
  padding: 15px 17px 11px 53px;
  font-weight: bold;
  border: none;
  border-bottom: 1px solid #dde0e7;
  background: url(img/icon_list.png) -160px -192px no-repeat #f1f2f6;
  vertical-align: baseline;
}

table.area-faq tbody td {
  padding: 15px 17px 11px 53px;
  border: none;
  background: url(img/icon_list.png) -205px -147px no-repeat;
  vertical-align: baseline;
}
/* 180918 add ここまで */

/* 190603 add */
/* ***************************
news-heading-img
*************************** */
.news-heading-img {
  margin: 32px 0 29px 2px;
}
@media only screen and (max-width: 640px) {
  .news-heading-img {
    margin: 25px 0 25px 2px;
  }
}
.news-heading-img img {
  width: auto;
}


/* ***************************
latest-news
*************************** */
.latest-news {
  margin: -20px 0 28px -28px;
  letter-spacing: -0.4em;
}
@media screen and (max-width: 640px) {
  .latest-news {
    margin: -10px 0 28px;
    margin-left: 0;
  }
}
.latest-news-item {
  display: inline-block;
  width: 322px;
  margin: 20px 0 0 28px;
  letter-spacing: normal;
}
@media screen and (max-width: 640px) {
  .latest-news-item {
    width: 100%;
    margin: 10px 0 0;
    box-sizing: border-box;
  }
}
.latest-news-item.is-feature {
  width: 672px;
}
@media screen and (max-width: 640px) {
  .latest-news-item.is-feature {
    width: 100%;
  }
}
.latest-news-contents {
  position: relative;
  display: block;
  padding: 15px;
  border: 5px solid #e6e9ee;
  color: #555565;
  text-decoration: none;
  letter-spacing: -0.4em;
}
.latest-news-contents:link,
.latest-news-contents:hover,
.latest-news-contents:active,
.latest-news-contents:visited {
  color: #555565;
  text-decoration: none;
}
.latest-news-item.is-feature .latest-news-contents:before {
  position: absolute;
  content: "";
  display: block;
  width: 70px;
  height: 70px;
  top: 0;
  left: 0;
  background: url('img/icon_feature.png') left top no-repeat;
}


.latest-news-left,
.latest-news-right {
  display: inline-block;
  width: 50%;
  letter-spacing: normal;
  vertical-align: top;
  box-sizing: border-box;
}
.latest-news-left {
  padding-right: 7px;
}
@media screen and (max-width: 640px) {
  .latest-news-left {
    width: 30%;
  }
}
.latest-news-item.is-feature .latest-news-left {
  width: 364px;
  padding-right: 14px;
}
@media screen and (max-width: 640px) {
  .latest-news-item.is-feature .latest-news-left {
    width: 100%;
    padding-right: 0;
  }
}
.latest-news-right {
  padding-left: 7px;
  text-align: right;
}
@media screen and (max-width: 640px) {
  .latest-news-right {
    width: 70%;
  }
}
.latest-news-item.is-feature .latest-news-right {
  width: 268px;
  padding-left: 14px;
}
@media screen and (max-width: 640px) {
  .latest-news-item.is-feature .latest-news-right {
    width: 100%;
    margin-top: 11px;
    padding-left: 0;
  }
}
.latest-news-img {
  margin: 0;
}
.latest-news-date {
  margin: 0 0 6px;
  text-align: left;
}


.latest-news-title {
  margin: 0;
  font-weight: bold;
  text-align: left;
}
.latest-news-item.is-feature .latest-news-title {
  font-size: 142.85%;
  line-height: 150%;
}
@media screen and (max-width: 640px) {
  .latest-news-item.is-feature .latest-news-title {
    font-size: 125%;
    line-height: 150%;
  }
}
.latest-news-subTitle {
  margin: 4px 0 0;
  font-size: 85.71%;
  line-height: 150%;
  font-weight: bold;
  text-align: left;
}
.latest-news-item.is-feature .latest-news-subTitle {
  font-size: 100%;
  line-height: 158%;
}

.latest-news-desc {
  margin: 11px 0 0;
  text-align: left;
}
.latest-news-more {
  display: inline-block;
  margin: 25px 0 0;
  padding: 0 0 0 11px;
  background: url(img/icon_list.png) -389px 8px no-repeat;
  color: #007abf;
}
.latest-news-contents:visited .latest-news-more {
  color: #804894;
}
@media screen and (max-width: 640px) {
  .latest-news-more {
    margin-top: 16px;
  }
}

.icon-feature {
  display: inline-block;
  width: auto;
  margin: -4px 0 0 5px;
  padding: 4px 8px 2px;
  vertical-align: middle;
  color: #fff;
  background: #ea0000;
  text-decoration: none;
  font-size: 85.71%;
  line-height: 125%;
  vertical-align: text-bottom;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  -ms-border-radius: 50px;
  -o-border-radius: 50px;
  border-radius: 50px;
  white-space: nowrap;
  text-decoration: none;
  vertical-align: middle;
}
@media screen and (max-width: 640px) {
  .icon-feature {
    padding: 3px 8px;
    font-size: 87.5%;
    line-height: 114.28%;
  }
}

/* ***************************
newsTitle
*************************** */
.newsTitle {
  margin: 34px -28px 18px;
  padding: 0 28px 18px;
  border-bottom: 3px solid #ec0000;
}
@media screen and (max-width: 640px) {
  .newsTitle {
    margin: 20px -28px 10px;
  }
}
.newsTitle-main {
  margin: 0;
  font-size: 185.71%;
  line-height: 146.15%;
}
@media screen and (max-width: 640px) {
  .newsTitle-main {
    font-size: 162.5%;
    line-height: 146.15%;
  }
}
.newsTitle-sub {
  margin: 4px 0 0;
  font-size: 114.28%;
  line-height: 150%;
}
@media screen and (max-width: 640px) {
  .newsTitle-sub {
    font-size: 100%;
    line-height: 150%;
  }
}

/* ***************************
newsBody
*************************** */
.newsBody {

}
.newsBody h2 {
  position: relative;
  width: auto;
  margin-left: 0;
  margin-bottom: 16px;
  padding: 0;
  background: none;
  border: none;
  font-size: 142.85%;
  line-height: 140%;
}
.newsBody h2.underline {
  margin-bottom: 30px;
  padding: 0 0 8px;
  border-bottom: 3px solid #ccc;
  text-decoration: none;
}
@media screen and (max-width: 640px) {
  .newsBody h2 {
    margin-bottom: 12px;
    font-size: 125%;
    line-height: 140%;
  }
  .newsBody h2.underline {
    margin-bottom: 15px;
  }
}

/* CMSカスタマイズが手間なのでCSSでマージン調整 */
.newsBody p.set-right:nth-of-type(1) + h2 {
  margin-top: 0;
}

.newsBody img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: auto;
}
.newsBody#LayerContentsBody .caption {
  text-indent: 0;
}

/* ***************************
relatedBox
*************************** */
.relatedBox {
}
* + .relatedBox {
  margin-top: 54px;
}
.pdf-note ~ .relatedBox {
  margin-top: 40px;
}
.relatedBox + .relatedBox {
  margin-top: 54px;
}
#LayerContentsBody .relatedBox p {
  text-indent: 0;
}
h2.relatedBox-title {
  margin: 0 0 28px;
  padding: 11px 17px 8px;
  background: #e6e9ee;
  border-bottom: 3px solid #aab2bd;
}
h2.relatedBox-title:after {
  content: none;
}
.relatedBox-body {
}
.relatedBox .em-area .link-list {
  margin: 0;
}

/* ***************************
movie
*************************** */
.movie {
  overflow: hidden;
}
.movie-innner {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.movie-innner iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

/* ***************************
pdf-note
*************************** */
.news-page #LayerContentsBody .pdf-note {
  text-align: center;
  text-indent: 0;
  margin: 60px 0 10px;
}
/* 190603 add ここまで */