@charset "UTF-8";
.clearfix:after {
  content: "";
  clear: both;
  display: block; }

/*　キーカラー　*/
/*　マスターワイズ　*/
/* 一括初期化
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿*/
/*テーブル*/
table {
  border-collapse: collapse;
  border-spacing: 0; }
  table ul, table ol {
    margin: 0 25px; }

/*ヘッディング*/
h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  font-style: normal;
  font-weight: normal; }

/*パラグラフ*/
p {
  padding: 0;
  margin: 0; }

/*　水平線　*/
hr {
  width: 960px;
  border-color: #222;
  border-width: 1px 0 0 0;
  border-style: solid;
  height: 0;
  margin: 0 auto 40px; }

/*　アドレス　*/
address {
  font-style: normal; }

/*　イメージフローティング　*/
.imgLeft {
  float: left;
  padding: 0 2em 2em 0 !important; }

.imgRight {
  float: right;
  padding: 0 0 2em 2em !important; }

.imgLeft, .imgRight {
  width: auto;
  font-size: .9em;
  background: #fff; }

.imgLeft img,
.imgRight img {
  margin: 0 0 10px; }

/*　トップページに戻る　*/
#pageTop {
  clear: both;
  position: fixed;
  bottom: 100px;
  right: 5px;
  z-index: 9999;
  text-decoration: none; }
  #pageTop a {
    display: block;
    width: auto;
    color: #fff;
    opacity: .6;
    font-size: 1.8rem;
    background: #000;
    border-radius: 3px;
    padding: 10px 20px;
    display: inline-block;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    box-shadow: 0 0 1px transparent; }

#pageTop a:hover, #pageTop a:focus, #pageTop a:active {
  opacity: 1;
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px); }

.module {
  display: inline-block;
  width: auto;
  line-height: 1;
  background-color: #c50814;
  color: #fff;
  border-radius: 25px;
  padding: 12px 50px; }
  .module:hover {
    color: #e60012;
    background-color: #fecd2f; }

/* ボディ設定
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿*/
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: normal; }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold; }
html {
  font-size: 62.5%;
  /*　10px想定　*/
  color: #333;
  font-family: "Yu Gothic",YuGothic,Helvetica,sans-serif;
  line-height: 1;
  /*　デバイスフォント最適化　*/
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility; }

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, html {
    font-family: Meiryo, メイリオ, sans-serif; }

  /* IE11 */ }
body {
  font-size: 1.4em; }

*:focus {
  outline: none; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
header {
  width: 100%;
  background: rgba(255, 255, 255, 0.9);
  padding: 23px 0 20px;
  /*　ナビゲーション　*/
  /*言語選択*/
  /*セレクト*/
  /*SP用*/ }
  header section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 960px;
    font-size: 1.5rem;
    margin: 0 auto; }
  header #site-logo {
    width: 230px;
    height: 43px;
    text-indent: -9999px; }
    header #site-logo a {
      display: block;
      width: 100%;
      height: 100%;
      background-image: url(../images/common/ttl_site.png); }
  header nav {
    width: 510px; }
    header nav ul {
      display: flex;
      justify-content: space-between;
      align-items: center;
      list-style: none; }
    header nav a {
      display: block;
      color: #222;
      text-decoration: none; }
      header nav a:hover {
        color: #c50814; }
  header dl {
    position: relative;
    width: 106px; }
  header dt {
    width: auto;
    text-align: center;
    border-radius: 15px;
    background-color: #dfdfdf;
    padding: 8px 0;
    margin: 0 0 2px;
    -webkit-transition: all .2s ease;
    -moz-transition: all .2s ease; }
    header dt:hover, header dt:focus {
      color: #fff;
      background-color: #888;
      cursor: pointer; }
  header dd {
    display: none;
    position: absolute;
    width: 100%;
    font-size: 1.3rem; }
    header dd ul {
      display: block;
      width: auto;
      text-align: center; }
    header dd a {
      display: block;
      width: auto;
      color: #fff;
      background: rgba(0, 0, 0, 0.7);
      padding: 8px 0;
      margin: 0 0 1px; }
      header dd a:hover {
        color: #fff;
        background: rgba(0, 0, 0, 0.4); }
  header .selected {
    color: #c50814; }
  header #sp_language {
    display: none; }

/*SP NAV*/
#nav_sp {
  display: none; }

/*　リンク設定　*/
a {
  -webkit-transition: all .2s ease;
  -moz-transition: all .2s ease; }

article a {
  color: #c50814;
  text-decoration: none; }
article a:hover {
  opacity: .9;
  text-decoration: underline; }

/*　下部バナーリンク　＿＿＿＿＿　*/
#bnr_link {
  width: auto;
  line-height: 0;
  background: #e2e2e2;
  padding: 12px 0; }
  #bnr_link ul {
    display: flex;
    justify-content: space-between;
    width: 960px;
    list-style: none;
    margin: 0 auto; }

/*　フッター　＿＿＿＿＿　*/
footer {
  width: 960px;
  font-size: 1.2rem;
  line-height: 1.6;
  text-align: center;
  padding: 20px 0;
  margin: 0 auto; }
  footer address {
    border-bottom: 1px solid #e4e4e4;
    padding: 0 0 20px;
    margin: 0 0 10px; }
  footer strong {
    font-size: 1.3rem; }
  footer p {
    color: #c3c3c3; }

/* その他の設定
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿ */
.alignLeft {
  text-align: left; }

.alignRight {
  text-align: right; }

.alignCenter {
  text-align: center; }

/*　文字サイズ小さい　*/
.small {
  font-size: 1.4rem; }

/*　文字サイズさらに小さい　*/
.large {
  font-size: 1.8rem; }

/* ピクト設定（aタグに付ける）
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿ */
/* 読み上げ文字 */
.vi {
  height: 0px;
  overflow: hidden;
  position: absolute;
  text-indent: -9999px;
  margin: 0px;
  padding: 0px; }

/* テーブル設定
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿ */
/*　サイズ補正用　*/
.width05 {
  width: 5%; }

.width10 {
  width: 10%; }

.width15 {
  width: 15%; }

.width20 {
  width: 20%; }

.width25 {
  width: 25%; }

.width30 {
  width: 30%; }

.width40 {
  width: 40%; }

.width50 {
  width: 50%; }

.width60 {
  width: 60%; }

.width70 {
  width: 70%; }

.width80 {
  width: 80%; }

.width90 {
  width: 90%; }

.width100 {
  width: 100%; }

/*　レスポンシブ対応（ブレークポイント 540px）
＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿*/
@media screen and (max-width: 540px) {
  img {
    max-width: 100%;
    height: auto; }

  /*　サイズ補正用　*/
  .width05, .width10, .width15, .width20, .width25, .width30, .width40, .width50, .width60, .width70, .width80, .width90, .width100 {
    width: 100%; }

  /*　イメージフローティング　*/
  .imgLeft, .imgRight {
    float: none;
    width: auto;
    text-align: center;
    padding: 0 0 1em !important; }

  /*　水平線　*/
  hr {
    width: 100%;
    border-color: #222;
    border-width: 1px 0 0 0;
    border-style: solid;
    height: 0;
    margin: 0 auto 40px; }

  /* ボディ設定 */
  header {
    position: relative;
    width: 100%;
    /*　ナビゲーション　*/ }
    header section {
      display: block;
      width: 100%; }
    header #site-logo {
      width: 210px;
      height: 35px;
      text-indent: -9999px;
      margin: 0 0 0 10px; }
      header #site-logo a {
        background-size: contain; }
    header nav {
      display: none; }
    header #sp_language {
      position: absolute;
      z-index: 9999;
      display: block;
      top: 30px;
      right: 10px;
      font-size: 1.2rem;
      list-style: none;
      line-height: 1.4; }
      header #sp_language a {
        color: inherit; }
      header #sp_language dt {
        width: auto;
        font-size: 1.2rem;
        color: #fff;
        background: #222;
        padding: 4px 8px; }
        header #sp_language dt:before {
          content: "\f1ab";
          font-family: FontAwesome;
          padding: 0 5px 0 0; }
      header #sp_language dd {
        display: none; }
      header #sp_language li {
        list-style: none;
        text-align: center; }
      header #sp_language a {
        display: block;
        width: 100%;
        font-weight: bold;
        text-decoration: none;
        background-color: rgba(255, 255, 255, 0.9);
        padding: 10px 10px;
        margin: 0 0 1px; }

  /*SP NAV*/
  #nav_sp {
    position: fixed;
    bottom: 0;
    z-index: 9999;
    display: block;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.97);
    padding: 12px 8px;
    /*セレクト*/ }
    #nav_sp ul {
      display: flex;
      justify-content: space-around;
      width: 90%;
      font-size: 1rem;
      text-align: center;
      font-weight: bold;
      list-style: none;
      margin: 0 auto; }
    #nav_sp li {
      color: #7f8c8d; }
    #nav_sp li:first-child a:before {
      content: "\f0a8"; }
    #nav_sp li:nth-child(2) a:before {
      content: "\f207"; }
    #nav_sp li:last-child a:before {
      content: "\f041"; }
    #nav_sp a {
      text-decoration: none;
      color: inherit; }
    #nav_sp a:before {
      display: block;
      font-size: 1.8rem;
      font-family: FontAwesome;
      padding: 0 0 5px; }
    #nav_sp .selected {
      color: #c50814; }

  /*　リンク設定　*/
  a {
    -webkit-transition: all .2s ease;
    -moz-transition: all .2s ease; }

  article a {
    color: #c50814;
    text-decoration: none; }
  article a:hover {
    opacity: .9;
    text-decoration: underline; }

  /*　下部バナーリンク　＿＿＿＿＿　*/
  #bnr_link {
    width: auto;
    line-height: 1.3;
    background: #e2e2e2;
    padding: 1em 1em .8em; }
    #bnr_link ul {
      display: block;
      width: 100%;
      text-align: center; }

  /*　フッター　＿＿＿＿＿　*/
  footer {
    width: 100%;
    font-size: 1.2rem;
    line-height: 1.6;
    text-align: left;
    padding: 20px;
    margin: 0 0 50px; }
    footer address {
      padding: 0 0 10px;
      margin: 0 0 10px; } }
/*　ここまで　*/
