@charset "UTF-8";
@media (min-width: 992px) {
  .sp {
    display: none; } }

@media (max-width: 991px) {
  .pc {
    display: none; } }

.c1 {
  color: #D80039; }

.c2 {
  color: linear-gradient(0.25turn, #d80039 0%, #ac002e 100%); }

.c3 {
  color: #F7E3E8; }

.c4 {
  color: #007FFF; }

.c5 {
  color: #E1EDFA; }

.c6 {
  color: #9A9A9A; }

.c7 {
  color: #F2F2F2; }

.bs1 {
  -webkit-box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.2);
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.2); }

.ts1 {
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1); }

.container {
  position: relative;
  text-align: left; }
  @media (max-width: 1199px) and (min-width: 768px) {
    .container {
      max-width: 100%;
      width: 100%;
      padding-left: 30px;
      padding-right: 30px; } }
  @media (max-width: 991px) {
    .container {
      max-width: 100%;
      width: 100%; } }

.row {
  position: relative;
  text-align: left; }
  .row.row-50 {
    margin-left: -25px;
    margin-right: -25px; }
    .row.row-50 > div[class*="col"] {
      padding-left: 25px;
      padding-right: 25px; }

.layout--head {
  position: relative; }
  @media (min-width: 992px) {
    .layout--head {
      height: 120px; } }
  @media (max-width: 991px) {
    .layout--head {
      height: 50px; } }

.layout--site_logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  left: 35px;
  top: 50%;
  z-index: 120;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif"; }
  .layout--site_logo a {
    display: block;
    width: 205px;
    height: 63px;
    background: url(../image/layout/site_logo.png) no-repeat left top;
    background-size: contain;
    text-indent: -9999px; }
  @media (max-width: 991px) {
    .layout--site_logo {
      left: 15px; }
      .layout--site_logo a {
        width: 95px;
        height: 34px; } }

@media (max-width: 991px) {
  .layout-- {
    position: relative;
    z-index: 100;
    height: 50px;
    background: #FFF; }
    .layout--head_menu-sp {
      position: fixed;
      right: 0;
      top: 0;
      z-index: 1000; }
      .layout--head_menu-sp a {
        display: block;
        width: 45px;
        height: 50px;
        background: url(../image/head/head_menu-sp.png) no-repeat left top;
        background-size: 45px auto; }
    #base.open .layout--head_menu-sp a {
      background: url(../image/head/head_menu-sp.png) no-repeat left bottom;
      background-size: 45px auto; }
    #base.open .layout--menu_back-sp {
      position: fixed;
      left: 0;
      top: 0;
      z-index: 10;
      height: 100%;
      width: 100%;
      background: rgba(0, 0, 0, 0.6); } }

@media (min-width: 992px) {
  .layout--main_navi {
    position: relative;
    z-index: 100;
    display: block !important; }
    .layout--main_navi ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      position: relative;
      z-index: 100;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end;
      height: 120px;
      padding-right: 35px;
      font-size: 1.8rem;
      font-weight: 500; }
      .layout--main_navi ul li:not(.navi_contact):not(:last-child) {
        margin-right: 1.5em; }
      .layout--main_navi ul li:not(.navi_contact) dt {
        font-weight: normal; }
      .layout--main_navi ul li:not(.navi_contact):last-child {
        margin-right: 0; }
      .layout--main_navi ul li:not(.navi_contact) a,
      .layout--main_navi ul li:not(.navi_contact) dl dt a {
        display: block;
        line-height: 48px;
        color: #222;
        text-decoration: none;
        -webkit-transition: all ease 0.2s;
        -o-transition: all ease 0.2s;
        transition: all ease 0.2s; }
        body#top .layout--main_navi ul li:not(.navi_contact) a, body#top
        .layout--main_navi ul li:not(.navi_contact) dl dt a {
          color: #FFF;
          text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1); }
        .layout--main_navi ul li:not(.navi_contact) a:hover,
        .layout--main_navi ul li:not(.navi_contact) dl dt a:hover {
          content: "";
          color: #D80039; }
      .layout--main_navi ul li:not(.navi_contact) dl dd {
        display: none; }
      .layout--main_navi ul li:not(.navi_contact) ul {
        display: none; }
      .layout--main_navi ul li:not(.navi_contact) img {
        vertical-align: middle; }
      .layout--main_navi ul li.navi_sns > a {
        display: block;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        background-size: contain !important; }
        .layout--main_navi ul li.navi_sns > a.twitter {
          width: 31px;
          height: 25px;
          background-image: url("../image/layout/icon_twitter.png"); }
          body#top .layout--main_navi ul li.navi_sns > a.twitter {
            background-image: url("../image/layout/icon_twitter-top.png"); }
        .layout--main_navi ul li.navi_sns > a.line {
          width: 34px;
          height: 35px;
          background-image: url("../image/layout/icon_line.png"); }
          body#top .layout--main_navi ul li.navi_sns > a.line {
            background-image: url("../image/layout/icon_line-top.png"); }
      .layout--main_navi ul li.navi_line:not(:last-child) img {
        fill: #000; }
      .layout--main_navi ul li.navi_twitter:not(:last-child) {
        margin-right: 1.2em; }
      .layout--main_navi ul li.navi_contact {
        padding-left: 1em; }
        .layout--main_navi ul li.navi_contact a {
          display: block;
          line-height: 48px;
          color: #222;
          text-decoration: none;
          padding: 3px 30px;
          background: -webkit-gradient(linear, left top, right top, from(#d80039), to(#ac002e));
          background: -webkit-linear-gradient(left, #d80039 0%, #ac002e 100%);
          background: -o-linear-gradient(left, #d80039 0%, #ac002e 100%);
          background: linear-gradient(0.25turn, #d80039 0%, #ac002e 100%);
          border-radius: 100px;
          line-height: 42px;
          -webkit-box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.2);
          color: #FFF;
          font-weight: bold; }
          .layout--main_navi ul li.navi_contact a:hover {
            background: #FFF;
            color: #D80039; }
            .layout--main_navi ul li.navi_contact a:hover:before {
              content: "";
              display: block;
              width: 26.459px;
              height: 19.444px;
              background-size: cover;
              background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226.459%22%20height%3D%2219.444%22%20viewBox%3D%220%200%2026.459%2019.444%22%3E%3Cpath%20d%3D%22M10942.595%2C15837.442a1.6%2C1.6%2C0%2C0%2C1-1.507-1.062l7.15-7.15%2C0%2C.008%2C2.7%2C2.7a4.645%2C4.645%2C0%2C0%2C0%2C6.566%2C0l2.706-2.707%2C0%2C.008%2C7.143%2C7.143a1.593%2C1.593%2C0%2C0%2C1-1.5%2C1.062Zm18.971-9.563%2C5.891-5.886v.012l0%2C0%2C0%2C4.873v6.892ZM10941%2C15822l.008.008V15822l2.433%2C2.44%2C3.445%2C3.441-5.886%2C5.887Zm11.3%2C8.589-11.272-11.272a1.6%2C1.6%2C0%2C0%2C1%2C1.57-1.315h23.268a1.591%2C1.591%2C0%2C0%2C1%2C1.565%2C1.315l-8.562%2C8.565-2.71%2C2.707a2.73%2C2.73%2C0%2C0%2C1-3.859%2C0Z%22%20transform%3D%22translate%28-10941.001%20-15817.997%29%22%20fill%3D%22%23D80039%22%2F%3E%3C%2Fsvg%3E");
              display: inline-block;
              position: relative;
              top: -2px;
              margin-right: 10px;
              vertical-align: middle; }
          .layout--main_navi ul li.navi_contact a:before {
            content: "";
            display: block;
            width: 26.459px;
            height: 19.444px;
            background-size: cover;
            background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226.459%22%20height%3D%2219.444%22%20viewBox%3D%220%200%2026.459%2019.444%22%3E%3Cpath%20d%3D%22M10942.595%2C15837.442a1.6%2C1.6%2C0%2C0%2C1-1.507-1.062l7.15-7.15%2C0%2C.008%2C2.7%2C2.7a4.645%2C4.645%2C0%2C0%2C0%2C6.566%2C0l2.706-2.707%2C0%2C.008%2C7.143%2C7.143a1.593%2C1.593%2C0%2C0%2C1-1.5%2C1.062Zm18.971-9.563%2C5.891-5.886v.012l0%2C0%2C0%2C4.873v6.892ZM10941%2C15822l.008.008V15822l2.433%2C2.44%2C3.445%2C3.441-5.886%2C5.887Zm11.3%2C8.589-11.272-11.272a1.6%2C1.6%2C0%2C0%2C1%2C1.57-1.315h23.268a1.591%2C1.591%2C0%2C0%2C1%2C1.565%2C1.315l-8.562%2C8.565-2.71%2C2.707a2.73%2C2.73%2C0%2C0%2C1-3.859%2C0Z%22%20transform%3D%22translate%28-10941.001%20-15817.997%29%22%20fill%3D%22%23FFF%22%2F%3E%3C%2Fsvg%3E");
            display: inline-block;
            position: relative;
            top: -2px;
            margin-right: 10px;
            vertical-align: middle; } }

@media (min-width: 768px) and (max-width: 1200px) {
  .layout--main_navi ul {
    padding-right: 0px; } }

@media (max-width: 991px) {
  .layout--main_navi {
    display: none;
    position: fixed;
    top: 50px;
    left: 0;
    z-index: 100;
    width: 100%;
    background: #282828; }
    .layout--main_navi > ul {
      width: 100%; }
      .layout--main_navi > ul > li {
        position: relative;
        width: 100%;
        text-align: left;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
        .layout--main_navi > ul > li dl dt {
          font-weight: normal; }
        .layout--main_navi > ul > li dl dt a,
        .layout--main_navi > ul > li > a {
          display: block;
          padding: 12px 15px;
          color: #FFF; }
        .layout--main_navi > ul > li dl dd a {
          color: #999999; }
        .layout--main_navi > ul > li dl dd ul li {
          margin: 0 0 15px 28px; }
        .layout--main_navi > ul > li.navi_entry {
          background: #D80039; }
    .layout--main_navi a {
      text-decoration: none; }
    .layout--main_navi .toggle_icon {
      display: block;
      position: absolute;
      right: 0;
      top: 0;
      width: 44px;
      height: 44px;
      background: url(../image/head/head_toggle-sp.png) no-repeat center top;
      background-size: 22px; }
    .layout--main_navi .toggle_icon.-active {
      background: url(../image/head/head_toggle-sp.png) no-repeat center bottom;
      background-size: 22px; }
    .layout--main_navi li.navi_sns {
      border-bottom: none;
      text-align: center;
      padding: 25px;
      padding-bottom: 0;
      text-align: center; }
      .layout--main_navi li.navi_sns > a {
        display: inline-block;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        background-size: contain !important;
        margin: 0 15px; }
        .layout--main_navi li.navi_sns > a.twitter {
          width: 31px;
          height: 25px;
          background-image: url("../image/layout/icon_twitter.png"); }
          body#top .layout--main_navi li.navi_sns > a.twitter {
            background-image: url("../image/layout/icon_twitter-top.png"); }
        .layout--main_navi li.navi_sns > a.line {
          width: 34px;
          height: 35px;
          background-image: url("../image/layout/icon_line.png"); }
          body#top .layout--main_navi li.navi_sns > a.line {
            background-image: url("../image/layout/icon_line-top.png"); }
    .layout--main_navi li.navi_contact {
      padding: 25px; }
      .layout--main_navi li.navi_contact a {
        display: block;
        line-height: 48px;
        color: #222;
        text-decoration: none;
        padding: 3px 30px;
        background: -webkit-gradient(linear, left top, right top, from(#d80039), to(#ac002e));
        background: -webkit-linear-gradient(left, #d80039 0%, #ac002e 100%);
        background: -o-linear-gradient(left, #d80039 0%, #ac002e 100%);
        background: linear-gradient(0.25turn, #d80039 0%, #ac002e 100%);
        border-radius: 100px;
        line-height: 42px;
        -webkit-box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.2);
        box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.2);
        color: #FFF;
        font-weight: bold;
        text-align: center;
        max-width: 300px;
        margin: 0 auto; }
        .layout--main_navi li.navi_contact a:hover {
          background: #FFF;
          color: #D80039; }
          .layout--main_navi li.navi_contact a:hover:before {
            content: "";
            display: block;
            width: 26.459px;
            height: 19.444px;
            background-size: cover;
            background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226.459%22%20height%3D%2219.444%22%20viewBox%3D%220%200%2026.459%2019.444%22%3E%3Cpath%20d%3D%22M10942.595%2C15837.442a1.6%2C1.6%2C0%2C0%2C1-1.507-1.062l7.15-7.15%2C0%2C.008%2C2.7%2C2.7a4.645%2C4.645%2C0%2C0%2C0%2C6.566%2C0l2.706-2.707%2C0%2C.008%2C7.143%2C7.143a1.593%2C1.593%2C0%2C0%2C1-1.5%2C1.062Zm18.971-9.563%2C5.891-5.886v.012l0%2C0%2C0%2C4.873v6.892ZM10941%2C15822l.008.008V15822l2.433%2C2.44%2C3.445%2C3.441-5.886%2C5.887Zm11.3%2C8.589-11.272-11.272a1.6%2C1.6%2C0%2C0%2C1%2C1.57-1.315h23.268a1.591%2C1.591%2C0%2C0%2C1%2C1.565%2C1.315l-8.562%2C8.565-2.71%2C2.707a2.73%2C2.73%2C0%2C0%2C1-3.859%2C0Z%22%20transform%3D%22translate%28-10941.001%20-15817.997%29%22%20fill%3D%22%23D80039%22%2F%3E%3C%2Fsvg%3E");
            display: inline-block;
            position: relative;
            top: -2px;
            margin-right: 10px;
            vertical-align: middle; }
        .layout--main_navi li.navi_contact a:before {
          content: "";
          display: block;
          width: 26.459px;
          height: 19.444px;
          background-size: cover;
          background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226.459%22%20height%3D%2219.444%22%20viewBox%3D%220%200%2026.459%2019.444%22%3E%3Cpath%20d%3D%22M10942.595%2C15837.442a1.6%2C1.6%2C0%2C0%2C1-1.507-1.062l7.15-7.15%2C0%2C.008%2C2.7%2C2.7a4.645%2C4.645%2C0%2C0%2C0%2C6.566%2C0l2.706-2.707%2C0%2C.008%2C7.143%2C7.143a1.593%2C1.593%2C0%2C0%2C1-1.5%2C1.062Zm18.971-9.563%2C5.891-5.886v.012l0%2C0%2C0%2C4.873v6.892ZM10941%2C15822l.008.008V15822l2.433%2C2.44%2C3.445%2C3.441-5.886%2C5.887Zm11.3%2C8.589-11.272-11.272a1.6%2C1.6%2C0%2C0%2C1%2C1.57-1.315h23.268a1.591%2C1.591%2C0%2C0%2C1%2C1.565%2C1.315l-8.562%2C8.565-2.71%2C2.707a2.73%2C2.73%2C0%2C0%2C1-3.859%2C0Z%22%20transform%3D%22translate%28-10941.001%20-15817.997%29%22%20fill%3D%22%23FFF%22%2F%3E%3C%2Fsvg%3E");
          display: inline-block;
          position: relative;
          top: -2px;
          margin-right: 10px;
          vertical-align: middle; } }

.layout--body {
  background: url("../image/layout/body_back.jpg") repeat center center;
  background-size: 701px 736px; }

.layout--foot {
  padding: 50px 0;
  background: #F2F2F2;
  font-size: 1.4rem; }
  .layout--foot a {
    color: #222;
    text-decoration: none; }
    .layout--foot a:hover {
      text-decoration: underline; }
  @media (min-width: 992px) {
    .layout--foot .flex {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  @media (max-width: 991px) {
    .layout--foot .flex .info {
      margin-bottom: 30px; } }
  @media (min-width: 992px) {
    .layout--foot .flex .info {
      margin-right: 50px; } }
  .layout--foot .flex .info .foot_logo a {
    display: block;
    width: 152px;
    height: 47px;
    margin: 0 0 15px;
    background: url(../image/layout/foot_logo.png) no-repeat left top;
    background-size: contain;
    text-indent: -9999px; }
  @media (min-width: 992px) {
    .layout--foot .flex .navi {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  @media (min-width: 992px) {
    .layout--foot .flex .navi dl + dl {
      margin-left: 40px; } }
  .layout--foot .flex .navi dl dt {
    font-weight: bold; }
    @media (max-width: 991px) {
      .layout--foot .flex .navi dl dt {
        margin-top: 10px; } }
    .layout--foot .flex .navi dl dt + dt {
      margin-top: 10px; }
  .layout--foot .flex .navi dl dd {
    padding-left: 10px;
    padding-top: 10px; }
    .layout--foot .flex .navi dl dd ul li a {
      display: inline-block;
      position: relative;
      padding-left: 1.2em; }
      .layout--foot .flex .navi dl dd ul li a:before {
        content: "";
        position: absolute;
        left: 4px;
        top: 7px;
        width: 4px;
        height: 8px;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        background-image: url("../image/layout/arrow.png");
        background-size: contain;
        color: #D80039;
        font-size: 2rem; }
    @media (min-width: 992px) {
      .layout--foot .flex .navi dl dd ul + ul {
        margin-left: 30px; } }

.layout--foot_pagetop {
  position: fixed;
  right: 50px;
  bottom: 50px;
  z-index: 1100; }
  .layout--foot_pagetop a {
    display: block;
    width: 50px;
    height: 50px;
    background: url(../image/layout/pagetop.png) no-repeat center center;
    background-size: contain; }
    @media (max-width: 575.98px) {
      .layout--foot_pagetop a {
        display: none; } }

.layout--copyright {
  padding: 20px 20px;
  background: #D80039;
  color: #FFF;
  font-size: 1.3rem; }
  @media (min-width: 992px) {
    .layout--copyright {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; } }
  .layout--copyright a {
    color: #FFF;
    text-decoration: none; }
    .layout--copyright a:hover {
      text-decoration: underline; }
