@charset "UTF-8";
/**
 * 目次
 *
 * 01. Foundation
 * 02. Layout
 * 03. Component
 *
 */
/* ==========================================================================
   01. Foundation
   ========================================================================== */
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;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

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

ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

html {
  color: #000;
  font-size: 62.5%;
  overflow-y: scroll; }

body {
  font-family: "PT Sans", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 140%;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%; }

/* link
   ========================================================================== */
a {
  color: #0d3a83;
  text-decoration: none; }

a:visited {
  color: #0d3a83;
  text-decoration: none; }

a:hover {
  color: #0d3a83;
  text-decoration: underline; }

/* image
   ========================================================================== */
img {
  line-height: 1.0;
  vertical-align: bottom; }

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

/* ClearFix
   ========================================================================== */
.clear {
  clear: both; }

.clearfix,
.fbox,
#contents,
.item-wrap {
  display: block; }
  .clearfix:after,
  .fbox:after,
  #contents:after,
  .item-wrap:after {
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }

/* float
   ========================================================================== */
.fr {
  float: right; }

.fl {
  float: left; }

ul.fbox li {
  float: left;
  display: inline; }

/* margin
   ========================================================================== */
.mt0 {
  margin-top: 0px !important; }

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

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

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

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

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

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

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

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

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

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

.mt55 {
  margin-top: 55px !important; }

.mt60 {
  margin-top: 60px !important; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* padding
   ========================================================================== */
.pt0 {
  padding-top: 0 !important; }

.pb0 {
  padding-bottom: 0 !important; }

/* form label
   ========================================================================== */
input,
textarea,
label {
  vertical-align: middle; }

/* position
   ========================================================================== */
.text-r {
  text-align: right !important; }

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

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

/* ==========================================================================
   02. Layout
   ========================================================================== */
/* html
   ========================================================================== */
html {
  height: 100%; }

/* body
   ========================================================================== */
body {
  min-height: 100vh;
  min-width: 1000px;
  overflow-x: hidden; }

@media screen and (max-width: 767px) {
  body {
    min-width: 100%; } }
/* wrapper
   ========================================================================== */
/* header
   ========================================================================== */
header .box-center {
  position: relative; }

.head-logo {
  margin: 0 auto;
  padding: 39px 0 29px;
  width: 186px; }

.head-utility {
  position: absolute;
  right: 20px;
  top: 0;
  width: 144px; }
  .head-utility li {
    height: 72px;
    width: 72px; }
    .head-utility li a {
      color: #fff;
      display: block;
      overflow: hidden;
      text-align: center;
      height: 100%;
      width: 100%;
      opacity: 1;
      -webkit-transition: opacity 0.2s linear;
      transition: opacity 0.2s linear; }
      .head-utility li a:hover {
        opacity: .8; }
  .head-utility span {
    display: inline-block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    zoom: 1;
    color: transparent; }

.head-utility-contact a {
  background: #3b547b url(img/icon_contact.png) no-repeat center center;
  background-size: 38px auto; }

.head-utility-cart a {
  background: #26416d url(img/icon_cart.png) no-repeat center center;
  background-size: 38px auto; }

.head-utility-fb a {
  background: #26416d url(img/icon_fb.png) no-repeat center center;
  background-size: 12px auto; }

@media screen and (max-width: 767px) {
  header .box-center {
    height: 57px;
    padding-left: 20px; }

  .head-logo {
    margin: 0;
    padding: 0;
    width: 93px;
    display: inline-block;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
    .head-logo img {
      width: 100%; }

  .head-utility {
    right: 57px;
    top: 0;
    width: 114px; }
    .head-utility li {
      height: 57px;
      width: 57px; }

  .head-utility-contact a {
    background: #3b547b url(img/icon_contact_sp.png) no-repeat center center;
    background-size: 28px auto; }

  .head-utility-cart a {
    background: #26416d url(img/icon_cart_sp.png) no-repeat center center;
    background-size: 28px auto; } }
/* navigation
   ========================================================================== */
#gnav-wrap {
  padding-bottom: 35px; }
  #gnav-wrap .box-center {
    position: relative; }

#gnav li {
  border-right: 1px solid #ccc;
  box-sizing: border-box;
  color: #666;
  font-weight: bold;
  height: 100%;
  line-height: 1.2;
  text-align: center;
  width: 16.6666666667%;
  font-size: 20px;
  font-size: 2rem; }
  #gnav li:first-child {
    border-left: 1px solid #ccc; }
  #gnav li.disabled {
    opacity: .5; }
#gnav a {
  box-sizing: border-box;
  display: block;
  width: 100%;
  opacity: 1;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear; }
  #gnav a:hover {
    opacity: .8; }
  #gnav a:hover {
    text-decoration: none; }
#gnav span {
  color: rgba(0, 0, 0, 0.5);
  display: block;
  font-size: 11px;
  font-size: 1.1rem; }

.gnav-bland-link {
  font-weight: bold;
  white-space: nowrap;
  position: absolute;
  left: 20px;
  top: -120px;
  font-size: 13px;
  font-size: 1.3rem;
  letter-spacing: -.40em; }
  .gnav-bland-link li {
    line-height: 1;
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    vertical-align: middle; }
    .gnav-bland-link li:after {
      content: '/';
      display: inline-block;
      padding: 0 0.5em; }
    .gnav-bland-link li:last-child:after {
      visibility: hidden; }
  .gnav-bland-link a {
    color: #000; }

@media screen and (max-width: 767px) {
  #btn-sp-menu {
    height: 57px;
    width: 57px;
    position: absolute;
    right: 0;
    top: 0;
    display: block !important; }
    #btn-sp-menu span {
      background-color: #1b3d74;
      display: block;
      height: 2px;
      left: 17px;
      position: absolute;
      width: 23px;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
      zoom: 1;
      -webkit-transition: all 0.2s ease;
      transition: all 0.2s ease; }
      #btn-sp-menu span:nth-of-type(1) {
        top: 15px; }
      #btn-sp-menu span:nth-of-type(2) {
        top: 21px; }
      #btn-sp-menu span:nth-of-type(3) {
        top: 27px; }
      #btn-sp-menu span.txt {
        white-space: inherit;
        overflow: inherit;
        text-indent: inherit;
        background: url(/common/css/img/bg_menu.png) no-repeat center center;
        background-size: cover;
        width: 38px;
        height: 9px;
        left: 10px;
        bottom: 12px;
        color: #1b3d74;
        font-weight: bold;
        font-size: 12px;
        font-size: 1.2rem; }
    #btn-sp-menu.close span:nth-of-type(1) {
      -webkit-transform: translateY(7px) rotate(-315deg);
      -ms-transform: translateY(7px) rotate(-315deg);
      transform: translateY(7px) rotate(-315deg); }
    #btn-sp-menu.close span:nth-of-type(2) {
      opacity: 0; }
    #btn-sp-menu.close span:nth-of-type(3) {
      -webkit-transform: translateY(-5px) rotate(315deg);
      -ms-transform: translateY(-5px) rotate(315deg);
      transform: translateY(-5px) rotate(315deg); }

  #gnav-wrap {
    background-color: #1b3d74;
    display: none;
    min-height: 100vh;
    padding-bottom: 35px; }

  #gnav {
    padding: 20px; }
    #gnav li {
      border-bottom: 1px solid #3b547b;
      border-right: none;
      width: 100%; }
      #gnav li:first-child {
        border-left: none; }
      #gnav li.disabled {
        color: #fff;
        padding: 20px 10px;
        text-align: left; }
    #gnav a {
      color: #fff;
      padding: 20px 10px;
      position: relative;
      text-align: left; }
      #gnav a:before {
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        content: '';
        margin: auto;
        height: 10px;
        width: 10px;
        position: absolute;
        bottom: 0;
        right: 2px;
        top: 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg); }
    #gnav span {
      color: rgba(255, 255, 255, 0.5);
      display: inline-block;
      padding-left: 7px; }

  .gnav-bland-link {
    box-sizing: border-box;
    padding: 10px 20px;
    position: static; }
    .gnav-bland-link li {
      float: none;
      display: block;
      height: 57px;
      width: 100%;
      margin-bottom: 10px; }
      .gnav-bland-link li:last-child {
        margin-bottom: 0; }
      .gnav-bland-link li:after {
        display: none; }
      .gnav-bland-link li a {
        background-color: #fff;
        color: #0d3a83;
        display: block;
        font-weight: bold;
        height: 100%;
        width: 100%;
        text-align: center;
        font-size: 20px;
        font-size: 2rem; }
      .gnav-bland-link li span {
        display: inline-block;
        position: relative;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%); } }
/* contents
   ========================================================================== */
#contents {
  padding-bottom: 120px; }

@media screen and (max-width: 767px) {
  #contents {
    padding-bottom: 60px; } }
/* cont-box */
.cont-box-wrap {
  padding-right: 30px;
  letter-spacing: -.40em; }

.bg-cont-box {
  background-color: #f4f4f4;
  margin-bottom: 70px;
  padding: 70px 0 15px;
  border-top: 1px solid #edecec;
  border-bottom: 1px solid #edecec;
  width: 100%; }
  .bg-cont-box .cont-box:nth-child(3n) {
    margin-right: 30px; }
  .bg-cont-box .cont-box:last-child {
    margin-right: -60px; }

.column-cate-ttl {
  padding-bottom: 23px;
  text-align: center; }

.cont-box {
  box-sizing: border-box;
  margin-bottom: 80px;
  margin-right: 15px;
  width: 33.3333333333%;
  display: inline-block;
  letter-spacing: normal;
  vertical-align: middle;
  vertical-align: top; }
  .cont-box:nth-child(3n) {
    margin-right: -30px; }
  .cont-box a {
    display: block;
    text-decoration: none; }
  .cont-box img {
    -webkit-transition: all 0.25s linear;
    transition: all 0.25s linear; }
  .cont-box.cont-box-new .cont-img {
    position: relative; }
    .cont-box.cont-box-new .cont-img:before {
      background-color: #1b3d74;
      box-sizing: border-box;
      color: #fff000;
      content: 'NEW';
      display: block;
      height: 70px;
      padding-top: 25px;
      text-align: center;
      width: 70px;
      position: absolute;
      right: 1px;
      top: 1px; }

.cont-img {
  height: 0;
  overflow: hidden;
  position: relative;
  padding-top: 61%;
  border: 1px solid #e3e3e3;
  box-sizing: border-box;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear; }
  .cont-img img {
    box-sizing: border-box;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    vertical-align: top; }

.cont-text {
  padding: 15px 0 0; }

.cont-ttl {
  margin-top: 5px;
  padding-top: 2px;
  position: relative;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold; }

.cont-date {
  color: #000;
  font-weight: bold;
  font-size: 14px;
  font-size: 1.4rem; }

.cont-category {
  font-weight: bold;
  background-color: #dff0f9;
  margin-right: 7px;
  margin-bottom: 5px;
  padding: 8px 15px;
  border-radius: 6px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  display: inline-block; }

.cont-more {
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 10px;
  padding-top: 19px;
  position: relative;
  font-size: 18px;
  font-size: 1.8rem; }
  .cont-more:before {
    background-color: #6d7b93;
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 39px;
    height: 3px; }

@media screen and (max-width: 767px) {
  .cont-box-wrap {
    padding: 0 20px 20px !important; }

  .bg-cont-box {
    margin-bottom: 40px;
    padding: 40px 0 0; }
    .bg-cont-box .cont-box {
      border-bottom: none;
      padding: 0 !important; }

  .column-cate-ttl {
    padding-left: 20px;
    padding-right: 20px;
    text-align: center; }

  .cont-box {
    border-bottom: 1px solid #e3e3e3;
    display: block;
    margin: 0 0 15px 0 !important;
    padding: 0 0 15px 0;
    position: relative;
    width: 100%;
    display: block; }
    .cont-box:after {
      content: "";
      display: block;
      height: 0;
      clear: both;
      visibility: hidden; }
    .cont-box.cont-box-new .cont-img:before {
      height: 20px;
      padding-top: 4px;
      text-align: center;
      width: 35px;
      font-size: 8px;
      font-size: 0.8rem; }

  .cont-img {
    height: auto;
    float: left;
    padding-top: 0;
    width: 34%; }
    .cont-img img {
      position: static; }

  .cont-text {
    box-sizing: border-box;
    float: right;
    padding: 0 0 0 15px;
    width: 66%; }

  .cont-ttl {
    line-height: 1.14;
    padding-left: 0;
    padding-top: 5px;
    font-size: 14px;
    font-size: 1.4rem; }

  .cont-date {
    font-size: 10px;
    font-size: 1rem; }

  .cont-category {
    display: inline-block;
    font-size: 10px;
    font-size: 1rem; }

  .cont-more {
    margin-top: 0;
    padding-top: 10px;
    text-align: right;
    font-size: 10px;
    font-size: 1rem; }
    .cont-more:before {
      display: none; } }
/* news */
.news-list li {
  margin-bottom: 40px;
  padding-left: 200px;
  position: relative; }
.news-list li.important-list {
  padding-left: 270px; }
.news-list a {
  font-size: 15px;
  font-size: 1.5rem; }

.news-date-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 200px;
  letter-spacing: -.40em; }

.important-list .news-date-wrap {
  width: 270px; }

.news-date {
  padding-right: 20px;
  display: inline-block;
  letter-spacing: normal;
  vertical-align: middle;
  font-size: 16px;
  font-size: 1.6rem; }

.news-cat {
  background-color: #1b3d74;
  box-sizing: border-box;
  color: #fff;
  font-weight: bold;
  line-height: 1;
  padding-top: 7px;
  text-align: center;
  height: 26px;
  min-width: 76px;
  display: inline-block;
  letter-spacing: normal;
  vertical-align: middle;
  font-size: 12px;
  font-size: 1.2rem; }

.news-important {
  background-color: #fff000;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: bold;
  display: inline-block;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
  text-align: center;
  color: #0d3a83;
  padding: 3px 15px;
  letter-spacing: normal;
  box-sizing: border-box;
  margin-left: 20px; }

.news-detail-head .news-date {
  font-size: 18px;
  font-size: 1.8rem; }
.news-detail-head .news-ttl {
  padding: 20px 0 40px;
  font-size: 28px;
  font-size: 2.8rem; }

.news-none {
  text-align: center; }

@media screen and (max-width: 767px) {
  .news-list li {
    margin-bottom: 32px;
    padding-left: 0; }
  .news-list li.important-list {
    padding-left: 0; }
  .news-list a {
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem; }

  .news-date-wrap {
    padding-bottom: 15px;
    position: static; }

  .news-date {
    padding-right: 10px;
    font-size: 11px;
    font-size: 1.1rem; }

  .news-cat {
    padding-top: 4px;
    height: 17px;
    min-width: 51px;
    font-size: 11px;
    font-size: 1.1rem; }

  .news-important {
    font-size: 11px;
    font-size: 1.1rem;
    padding: 2px 10px;
    margin-left: 10px; }

  .news-detail {
    padding: 0 20px; }

  .news-detail-head .news-date {
    font-size: 16px;
    font-size: 1.6rem; }
  .news-detail-head .news-ttl {
    padding: 10px 0 20px;
    font-size: 20px;
    font-size: 2rem; } }
/* pickup */
#pickup-area {
  background-color: #f7f7f7;
  border-bottom: 1px solid #edecec;
  border-top: 1px solid #edecec;
  padding: 68px 0;
  margin-top: 80px; }
  #pickup-area .cont-box {
    margin-bottom: 0; }
  #pickup-area .cont-ttl {
    font-size: 16px;
    font-size: 1.6rem; }

.pickup-ttl {
  padding-bottom: 23px;
  text-align: center; }

.pickup-more {
  border-radius: 1px;
  height: 90px;
  margin: 0 auto;
  width: 922px; }
  .pickup-more a {
    border: 1px solid #26416d;
    border-radius: 1px;
    box-sizing: border-box;
    color: #1b3d74;
    display: block;
    font-weight: bold;
    height: 100%;
    text-align: center;
    font-size: 21px;
    font-size: 2.1rem;
    -webkit-transition: background-color 0.2s linear, color 0.2s linear;
    transition: background-color 0.2s linear, color 0.2s linear; }
    .pickup-more a:hover {
      background-color: #26416d;
      color: #fff000; }
  .pickup-more span {
    height: 18px;
    line-height: 1;
    display: inline-block;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 46%; }

@media screen and (max-width: 767px) {
  #pickup-area {
    padding: 30px 0;
    margin-top: 40px; }
    #pickup-area .cont-ttl {
      font-size: 14px;
      font-size: 1.4rem; }

  .pickup-ttl {
    padding-left: 20px;
    padding-right: 20px;
    text-align: center; }

  .pickup-more {
    height: 50px;
    margin: 0 20px;
    width: auto; }
    .pickup-more a {
      font-size: 20px;
      font-size: 2rem; }
    .pickup-more span {
      top: 42%; } }
/* category top */
.cattop-box-wrap {
  padding-right: 60px; }

.cattop-box {
  border: 1px solid #e3e3e3;
  box-sizing: border-box;
  float: left;
  margin-bottom: 30px;
  margin-right: 30px;
  overflow: hidden;
  width: 33.3333333333%; }
  .cattop-box:nth-child(3n) {
    margin-right: -60px; }
  .cattop-box a {
    display: block; }

.cattop-box-img img {
  height: auto;
  width: 100%;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear; }

.cattop-box-ttl {
  background-color: #fbfbfb;
  color: #000;
  font-weight: normal;
  height: 89px;
  position: relative;
  text-align: center;
  font-size: 18px;
  font-size: 1.8rem; }
  .cattop-box-ttl span {
    display: inline-block;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
  .cattop-box-ttl:before {
    background-color: #1b3d74;
    content: '';
    display: block;
    height: 8px;
    position: absolute;
    left: 0;
    top: 50%;
    width: 30px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }

@media screen and (min-width: 768px) {
  .cattop-box {
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear; }

  .cattop-box-area:hover .cattop-box {
    opacity: .8; }
    .cattop-box-area:hover .cattop-box img {
      -webkit-filter: grayscale(60%);
      filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale");
      filter: grayscale(60%); }
  .cattop-box-area:hover .cattop-box:hover {
    opacity: 1; }
    .cattop-box-area:hover .cattop-box:hover img {
      -webkit-filter: grayscale(0%);
      filter: none;
      filter: grayscale(0%); }
    .cattop-box-area:hover .cattop-box:hover .cattop-box-ttl {
      color: #0d3a83; } }
@media screen and (max-width: 767px) {
  .cattop-box-wrap {
    padding-right: 0; }

  .cattop-box {
    float: none;
    margin-right: 0;
    margin-bottom: 20px;
    width: 100%; }
    .cattop-box:nth-child(3n) {
      margin-right: 0; }

  .cattop-box-ttl {
    height: 40px;
    font-size: 16px;
    font-size: 1.6rem; } }
.cattop-box-wrap-l {
  padding-right: 50px; }
  .cattop-box-wrap-l .cattop-box {
    border: none;
    margin-bottom: 60px;
    margin-right: 50px;
    width: 50%; }
    .cattop-box-wrap-l .cattop-box:nth-child(2n) {
      margin-right: -100px; }

@media screen and (max-width: 767px) {
  .cattop-box-wrap-l {
    padding-right: 0; }
    .cattop-box-wrap-l .cattop-box {
      margin-bottom: 20px;
      margin-right: 0;
      width: 100%; }
      .cattop-box-wrap-l .cattop-box:nth-child(2n) {
        margin-right: 0; } }
/* col2 */
.col2-inner {
  padding-left: 340px;
  position: relative; }

.col2-side {
  position: absolute;
  top: 0;
  left: 0;
  width: 250px; }
  .col2-side.fixed {
    position: fixed;
    margin-left: -340px;
    left: inherit; }
  .col2-side.fixed-release {
    position: absolute;
    margin-left: 0;
    left: 0;
    bottom: 0;
    top: inherit; }

.col2-side-ttl {
  border-bottom: 1px solid #ccc;
  line-height: 1;
  padding: 22px 0 17px;
  font-size: 25px;
  font-size: 2.5rem; }

.col2-side-ttl span {
  color: rgba(0, 0, 0, 0.5);
  padding-left: 10px;
  font-size: 13px;
  font-size: 1.3rem; }

.col2-side-list li {
  border-bottom: 1px solid #ccc;
  font-size: 17px;
  font-size: 1.7rem; }
  .col2-side-list li.current span {
    color: #0d3a83;
    font-weight: bold; }
.col2-side-list a {
  color: #2a2a2a;
  display: block;
  letter-spacing: -1px;
  position: relative;
  text-decoration: none; }
.col2-side-list span {
  display: block;
  padding: 15px 15px 15px 34px;
  position: relative; }
  .col2-side-list span:before, .col2-side-list span:after {
    content: '';
    margin: auto;
    position: absolute;
    left: 14px; }
  .col2-side-list span:before {
    background-color: #1b3d74;
    height: 12px;
    width: 12px;
    top: 20px; }
  .col2-side-list span:after {
    border: 3px solid transparent;
    border-left: 3px solid #fff;
    box-sizing: border-box;
    height: 3px;
    width: 3px;
    left: 19px;
    top: 23px; }

@media screen and (max-width: 1239px) {
  .col2-inner {
    padding-left: 300px;
    position: relative; }

  .col2-side.fixed {
    margin-left: -300px; } }
@media screen and (max-width: 767px) {
  .col2-inner {
    padding-left: 0; }

  .col2-side {
    box-sizing: border-box;
    margin-bottom: 30px;
    padding: 0 20px;
    position: static;
    width: 100%; }

  .col2-side-list li {
    font-size: 14px;
    font-size: 1.4rem; }
  .col2-side-list span {
    padding: 12px 0 8px 20px; }
    .col2-side-list span:before {
      left: 0;
      top: 15px; }
    .col2-side-list span:after {
      top: 18px;
      left: 5px; } }
/* footer
   ========================================================================== */
#pagetop {
  padding-bottom: 30px;
  text-align: center; }
  #pagetop a {
    color: #2a2a2a;
    text-decoration: none;
    padding: 0 0 0 24px;
    position: relative; }
    #pagetop a:before {
      border-top: 1px solid #2a2a2a;
      border-right: 1px solid #2a2a2a;
      content: '';
      margin: auto;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      height: 4px;
      width: 4px;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }

footer {
  background: url(img/foot_bg.jpg) no-repeat center top;
  background-size: cover;
  color: #fff;
  padding: 70px 0;
  text-align: center; }

.foot-utility {
  letter-spacing: -.40em; }
  .foot-utility li {
    line-height: 1;
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    vertical-align: middle; }
    .foot-utility li:after {
      color: #fff;
      content: '/';
      display: inline-block;
      padding: 0 0.7em; }
    .foot-utility li:last-child:after {
      visibility: hidden; }
  .foot-utility a {
    color: #fff; }

.foot-tagline {
  line-height: 1;
  padding: 50px 0 20px;
  font-size: 20px;
  font-size: 2rem; }

.copyright {
  padding-top: 40px; }

.footer-btn-fb {
  width: 155px;
  margin: 30px auto 10px; }
  .footer-btn-fb img {
    width: 100%;
    height: auto; }

@media screen and (max-width: 767px) {
  footer {
    background-image: url(img/foot_bg_sp.jpg);
    padding: 38px 0; }

  .foot-utility {
    padding: 0 20px;
    letter-spacing: -.40em; }
    .foot-utility li {
      font-size: 13px;
      font-size: 1.3rem; }
      .foot-utility li:after {
        padding: 0 0.5em; }

  .foot-tagline {
    line-height: 1;
    padding: 20px 0;
    font-size: 15px;
    font-size: 1.5rem; }

  .foot-logo img {
    width: 77px; }

  .copyright {
    padding-top: 20px;
    font-size: 10px;
    font-size: 1rem; }

  .footer-btn-fb {
    width: 33%;
    margin: 15px auto 0; } }
.topicpath {
  z-index: 1; }

.products-index .use-ttl {
  z-index: 2; }

.cont-box.cont-box-new .cont-img:before {
  z-index: 3; }

/* ==========================================================================
   03. Component
   ========================================================================== */
/* センターボックス */
.box-center {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1240px;
  padding: 0 20px; }

@media screen and (max-width: 767px) {
  .box-center {
    padding: 0;
    max-width: 100%; } }
/* センターボックス（大） */
.box-center-l {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1366px; }

@media screen and (max-width: 767px) {
  .box-center-l {
    max-width: 100%; } }
/* センターボックス（小） */
.box-center-s {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1000px; }

@media screen and (max-width: 767px) {
  .box-center-s {
    max-width: 100%; } }
/* 2カラムボックス（フロート） */
.box-wrap-fl2 {
  display: block; }
  .box-wrap-fl2:after {
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }
  .box-wrap-fl2 .box {
    box-sizing: border-box;
    float: left;
    width: 50%; }

@media screen and (max-width: 767px) {
  .box-wrap-fl2 .box {
    width: 100%; } }
/* 3カラムボックス（フロート） */
.box-wrap-fl3 {
  display: block; }
  .box-wrap-fl3:after {
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }
  .box-wrap-fl3 .box {
    box-sizing: border-box;
    float: left;
    width: 33.3333333333%; }

/* 境界線ボックス */
.box-border {
  border: 5px solid #e3e3e3;
  background-color: #f7f7f7;
  padding: 20px 30px; }

@media screen and (max-width: 767px) {
  .box-border {
    padding: 20px; } }
/* ボタン */
.btn {
  background-color: #1b3d74;
  color: #fff000 !important;
  display: inline-block;
  font-weight: bold;
  height: 40px;
  min-width: 150px;
  padding-left: 10px;
  padding-right: 10px;
  position: relative;
  text-align: center;
  font-size: 18px;
  font-size: 1.8rem;
  -webkit-transition: background-color 0.2s linear, color 0.2s linear;
  transition: background-color 0.2s linear, color 0.2s linear; }
  .btn:hover {
    background-color: #fff000;
    color: #1b3d74 !important;
    text-decoration: none; }
    .btn:hover .icon-arrow-r:before {
      border-left-color: #1b3d74; }
  .btn span {
    display: inline-block;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }

.btn-l {
  box-sizing: border-box;
  height: 55px;
  padding-left: 20px;
  padding-right: 20px;
  min-width: 320px; }

.btn-w600 {
  width: 600px; }

@media screen and (max-width: 767px) {
  .btn {
    height: 35px;
    min-width: 120px;
    font-size: 16px;
    font-size: 1.6rem; }

  .btn-l {
    height: 55px;
    min-width: 100%;
    padding-left: 10px;
    padding-right: 10px; }

  .btn-w600 {
    width: 100%; } }
/* ボタンエリア */
.btn-area {
  margin: 30px 0;
  text-align: center;
  letter-spacing: -.40em; }
  .btn-area li {
    margin: 0 10px;
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle; }

@media screen and (max-width: 767px) {
  .btn-area {
    margin: 20px 0;
    padding: 0 20px;
    text-align: center; }
    .btn-area li {
      margin: 0;
      display: block; } }
.btn-area-form {
  box-sizing: border-box;
  margin: 30px auto;
  width: 660px;
  text-align: center;
  display: block; }
  .btn-area-form:after {
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }
  .btn-area-form .btn-item-next {
    float: right; }
  .btn-area-form .btn-item-back {
    float: left; }

@media screen and (max-width: 767px) {
  .btn-area-form {
    margin: 20px 0;
    padding: 0 20px;
    width: 100%; }
    .btn-area-form .btn-item-next,
    .btn-area-form .btn-item-back {
      float: none; }
    .btn-area-form .btn-item-next {
      margin-bottom: 20px; }
    .btn-area-form .btn-item-back {
      margin: 0 auto;
      width: 80%; } }
.btn-area-r {
  margin: 30px 0;
  text-align: right;
  letter-spacing: -.40em; }
  .btn-area-r li {
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle; }

@media screen and (max-width: 767px) {
  .btn-area-r {
    margin: 20px 0;
    padding: 0 20px;
    text-align: center; }
    .btn-area-r li {
      display: block; } }
.anton {
  font-family: "Anton"; }

/*  vars
   ========================================================================== */
/* input, textarea
   ========================================================================== */
input,
textarea {
  border: 1px solid #e0e0e0;
  box-sizing: border-box;
  color: #000;
  display: inline-block;
  font-family: inehrit;
  min-height: 40px;
  line-height: 1.4;
  outline: none;
  padding: 8px 10px;
  font-size: 14px;
  font-size: 1.4rem;
  -webkit-transition: all 0.1s linear;
  transition: all 0.1s linear; }
  input:focus,
  textarea:focus {
    border-color: #999; }
  input::-ms-clear,
  textarea::-ms-clear {
    visibility: hidden; }
  input::-ms-reveal,
  textarea::-ms-reveal {
    visibility: hidden; }
  input::-webkit-input-placeholder,
  textarea::-webkit-input-placeholder {
    color: #bbb; }
  input::-moz-placeholder,
  textarea::-moz-placeholder {
    color: #bbb; }
  input:-ms-input-placeholder,
  textarea:-ms-input-placeholder {
    color: #bbb; }
  input:focus::-webkit-input-placeholder,
  textarea:focus::-webkit-input-placeholder {
    color: transparent; }
  input:focus::-moz-placeholder,
  textarea:focus::-moz-placeholder {
    color: transparent; }

textarea {
  overflow: auto;
  width: 100%; }

/* error */
.error input,
.error textarea {
  background-color: #fffcfb;
  border-color: #f99281; }
  .error input:hover,
  .error textarea:hover {
    border-color: #f99281; }
  .error input:focus,
  .error textarea:focus {
    border-color: #f99281; }

@media screen and (max-width: 767px) {
  input,
  textarea {
    width: 100%;
    font-size: 16px;
    font-size: 1.6rem; } }
/* submit
   ========================================================================== */
input[type=submit],
input[type=reset],
button[type=submit] {
  border: none !important;
  cursor: pointer;
  font-family: inherit;
  outline: none; }

/* radio
   ========================================================================== */
input[type="radio"] {
  opacity: 0;
  position: absolute; }
  input[type="radio"] + label {
    display: inline-block;
    border-radius: 8px;
    padding-left: 26px; }
    input[type="radio"] + label:before, input[type="radio"] + label:after {
      background-color: #fff;
      border-radius: 50%;
      content: "";
      position: absolute;
      top: 50%;
      -webkit-transition: all 0.1s linear;
      transition: all 0.1s linear; }
    input[type="radio"] + label:before {
      border: 1px solid #ccc;
      box-sizing: border-box;
      height: 18px;
      left: 0;
      margin-top: -8px;
      width: 18px; }
    input[type="radio"] + label:after {
      height: 8px;
      left: 5px;
      margin-top: -3px;
      width: 8px; }
  input[type="radio"]:checked + label:before {
    border-color: #999; }
  input[type="radio"]:checked + label:after {
    background-color: #999; }

/* error */
/* checkbox
   ========================================================================== */
input[type="checkbox"] {
  opacity: 0;
  position: absolute; }
  input[type="checkbox"] + label {
    display: inline-block;
    padding-left: 26px; }
    input[type="checkbox"] + label:before, input[type="checkbox"] + label:after {
      content: "";
      position: absolute;
      top: 50%;
      -webkit-transition: all 0.1s linear;
      transition: all 0.1s linear; }
    input[type="checkbox"] + label:before {
      background-color: #fff;
      border: 1px solid #ccc;
      border-radius: 2px;
      box-sizing: border-box;
      height: 16px;
      left: 1px;
      margin-top: -6px;
      width: 16px; }
    input[type="checkbox"] + label:after {
      border-bottom: 2px solid transparent;
      border-left: 2px solid transparent;
      height: 4px;
      left: 4px;
      margin-top: -2px;
      width: 8px;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }
  input[type="checkbox"]:focus + label:after {
    border-color: #ccc; }
  input[type="checkbox"]:checked + label:before {
    background-color: #999;
    border-color: #999; }
  input[type="checkbox"]:checked + label:after {
    border-color: #fff; }

/* error */
.error input[type="checkbox"] + label:before {
  background-color: #fffcfb;
  border-color: #f99281; }
.error input[type="checkbox"]:checked + label:before {
  background-color: #999;
  border-color: #999; }
.error input[type="checkbox"]:checked + label:after {
  border-color: #fff; }

/* select
   ========================================================================== */
select {
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 0;
  box-sizing: border-box;
  cursor: pointer;
  font-family: inherit;
  height: 40px;
  line-height: 1.4;
  padding: 6px 32px 6px 10px;
  font-size: 14px;
  font-size: 1.4rem;
  -webkit-transition: border-color 0.1s linear;
  transition: border-color 0.1s linear; }
  select:focus {
    border-color: #999; }
  select::-moz-focus-inner {
    border: 0; }
  select:not(:target) {
    padding: 6px\9; }
  @media all and (-ms-high-contrast: none) {
    select {
      padding: 6px 32px 6px 10px; } }
  select::-ms-expand {
    display: none; }

.select-wrap {
  display: inline-block;
  position: relative; }
  .select-wrap:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 4px 0 4px;
    border-color: #1b3d74 transparent transparent transparent;
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }

/* error */
.error select {
  background-color: #fffcfb;
  border-color: #f99281; }
  .error select:hover {
    border-color: #f99281; }
  .error select:focus {
    border-color: #f99281; }

@media screen and (max-width: 767px) {
  select,
  .select-wrap {
    width: 100%; } }
/* その他
   ========================================================================== */
.th-inner {
  position: relative; }
  .th-inner .required {
    background: #ef482d;
    color: #fff;
    line-height: 1;
    padding: 4px 10px;
    position: absolute;
    right: 0;
    font-size: 11px;
    font-size: 1.1rem; }

label {
  cursor: pointer; }

.error-message {
  color: #ef482d;
  padding-top: 5px;
  font-size: 14px;
  font-size: 1.4rem; }

.input-l {
  width: 100%; }

.input-list li {
  margin-bottom: 5px;
  position: relative; }
  .input-list li:last-child {
    margin-bottom: 0; }

.icon-arrow-r {
  padding-left: 14px;
  position: relative; }
  .icon-arrow-r:before {
    border: 4px solid transparent;
    border-left: 4px solid #fff000;
    box-sizing: border-box;
    content: '';
    margin: auto;
    position: absolute;
    top: -1px;
    bottom: 0;
    left: 0;
    height: 4px;
    width: 4px; }

.list-disc {
  margin-left: 1.5em; }
  .list-disc li {
    list-style-type: disc;
    margin-bottom: 5px; }

.list-indent {
  margin-left: 1em; }
  .list-indent li {
    margin-bottom: 5px;
    text-indent: -1em; }

/* image
   ========================================================================== */
img {
  vertical-align: bottom;
  line-height: 1.0;
  max-width: 100%;
  height: auto; }

/* display
   ========================================================================== */
.block {
  display: block; }

.sp-item {
  display: none; }

.pc-block {
  display: block; }

@media screen and (max-width: 767px) {
  .sp-item {
    display: block; }

  .pc-item {
    display: none !important; }

  .pc-block {
    display: inline; }

  .sp-block {
    display: block; } }
.tbl01 {
  border-top: 1px solid #d4dade;
  border-left: 1px solid #d4dade;
  margin-bottom: 30px;
  width: 100%; }
  .tbl01:last-child {
    margin-bottom: 0; }
  .tbl01 th,
  .tbl01 td {
    border-bottom: 1px solid #d4dade;
    border-right: 1px solid #d4dade;
    padding: 15px; }
  .tbl01 th {
    background-color: #dff0f9;
    width: 100px; }
  .tbl01 .head th {
    background-color: #1b3d74;
    color: #fff; }

.main-ttl-wrap {
  padding-bottom: 20px;
  padding-top: 25px; }

.main-ttl {
  color: #1b3d74;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  font-size: 45px;
  font-size: 4.5rem; }
  .main-ttl span {
    color: rgba(0, 0, 0, 0.5);
    display: block;
    padding-top: 5px;
    font-size: 14px;
    font-size: 1.4rem; }

.main-sct-ttl {
  color: #0d3a83;
  font-weight: normal;
  padding-bottom: 50px;
  text-align: center;
  font-size: 45px;
  font-size: 4.5rem; }
  .main-sct-ttl span {
    display: inline-block;
    padding-bottom: 5px;
    position: relative; }
    .main-sct-ttl span:after {
      background-color: #0d3a83;
      content: '';
      display: block;
      width: 88px;
      height: 6px;
      position: absolute;
      bottom: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%); }

.sttl01 {
  border-bottom: 1px solid #ccc;
  line-height: 1;
  margin-bottom: 20px;
  padding: 20px 0 19px 45px;
  position: relative;
  font-size: 25px;
  font-size: 2.5rem; }
  .sttl01:before, .sttl01:after {
    content: '';
    display: block;
    height: 15px;
    width: 15px;
    position: absolute;
    top: 23px; }
  .sttl01:before {
    background-color: #fff000;
    left: 0; }
  .sttl01:after {
    background-color: #1b3d74;
    left: 15px; }

.sttl02 {
  background-color: #f4f4f4;
  box-sizing: border-box;
  height: 48px;
  margin: 30px 0;
  padding-left: 35px;
  padding-top: 10px;
  position: relative;
  font-size: 18px;
  font-size: 1.8rem; }
  .sttl02:before {
    background-color: #1b3d74;
    content: '';
    display: block;
    width: 23px;
    height: 9px;
    position: absolute;
    left: 0;
    top: 20px; }

.sttl03 {
  border: 1px solid #ccc;
  border-radius: 5px;
  line-height: 1;
  padding: 10px 0;
  text-align: center;
  width: 173px;
  font-size: 16px;
  font-size: 1.6rem; }

.sttl04 {
  color: #1b3d74;
  padding: 15px 0 5px;
  font-size: 17px;
  font-size: 1.7rem; }

@media screen and (max-width: 1239px) {
  .sttl03 {
    width: 153px; } }
@media screen and (max-width: 767px) {
  .main-ttl {
    color: #1b3d74;
    line-height: 1;
    text-align: center;
    font-size: 35px;
    font-size: 3.5rem; }
    .main-ttl span {
      color: rgba(0, 0, 0, 0.5);
      display: block;
      padding-top: 5px;
      font-size: 13px;
      font-size: 1.3rem; }

  .main-sct-ttl {
    padding-bottom: 30px;
    padding-top: 10px;
    font-size: 18px;
    font-size: 1.8rem; }
    .main-sct-ttl span:after {
      width: 44px;
      height: 3px; }

  .sttl01 {
    font-weight: bold;
    line-height: 1;
    padding: 15px 0 14px 35px;
    font-size: 18px;
    font-size: 1.8rem; }
    .sttl01:before, .sttl01:after {
      height: 12px;
      width: 12px;
      top: 16px; }
    .sttl01:after {
      left: 12px; }

  .sttl02 {
    height: 40px;
    margin: 20px 0;
    padding-top: 8px;
    font-size: 16px;
    font-size: 1.6rem; }
    .sttl02:before {
      height: 6px;
      top: 17px; }

  .sttl03 {
    padding: 7px 0 5px;
    width: 100%;
    position: static;
    font-size: 14px;
    font-size: 1.4rem; }

  .sttl04 {
    padding: 7px 0 5px;
    font-size: 14px;
    font-size: 1.4rem; } }
/* パンくずリスト
   ========================================================================== */
.topicpath {
  padding-bottom: 25px;
  position: relative;
  font-size: 13px;
  font-size: 1.3rem; }
  .topicpath li {
    padding-left: 20px; }
    .topicpath li:before {
      border-right: 2px solid #1b3d74;
      border-top: 2px solid #1b3d74;
      content: '';
      display: inline-block;
      height: 3px;
      margin-right: 20px;
      position: relative;
      top: -2px;
      width: 3px;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg); }
    .topicpath li:first-child {
      padding-left: 0; }
      .topicpath li:first-child:before {
        display: none; }
      .topicpath li:first-child img {
        position: relative;
        top: -1px; }
  .topicpath a {
    color: #000; }

@media screen and (max-width: 767px) {
  .topicpath {
    display: none;
    padding: 10px 20px 20px;
    font-size: 11px;
    font-size: 1.1rem; }
    .topicpath li {
      padding-left: 10px; }
      .topicpath li:before {
        margin-right: 10px; }
      .topicpath li:first-child img {
        height: auto;
        width: 12px;
        top: -3px; } }
/* pager
   ========================================================================== */
.pager {
  text-align: center;
  letter-spacing: -.40em; }
  .pager li {
    height: 27px;
    margin-right: 10px;
    min-width: 27px;
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle; }
    .pager li:last-child {
      margin-right: 0; }
  .pager a {
    border: 1px solid #ccc;
    box-sizing: border-box;
    display: block;
    padding-top: 2px;
    position: relative;
    height: 100%;
    width: 100%;
    opacity: 1;
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear; }
    .pager a:hover {
      opacity: .8; }
    .pager a:hover {
      text-decoration: none; }

.pager-prev a:before,
.pager-next a:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%); }

.pager-prev a:before {
  border: 4px solid transparent;
  border-right: 4px solid #1b3d74;
  left: 40%; }

.pager-next a:before {
  border: 4px solid transparent;
  border-left: 4px solid #1b3d74;
  left: 60%; }

.pager-current span {
  background-color: #1b3d74;
  box-sizing: border-box;
  color: #fff;
  display: block;
  padding-top: 3px;
  position: relative;
  height: 100%;
  width: 100%; }

/* fadeover
   ========================================================================== */
.fadeover {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear; }
  .fadeover:hover {
    opacity: .8; }

/* SP
   ========================================================================== */
@media screen and (max-width: 767px) {
  .sp-pdg {
    padding: 0 20px; } }
/* color text
   ========================================================================== */
.text-color {
  color: #d01a1a; }

.ve-area {
  font-size: 16px;
  font-size: 1.6rem;
  display: block; }
  .ve-area:after {
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }
  .ve-area p,
  .ve-area ul,
  .ve-area ol {
    margin-bottom: 50px; }
  .ve-area ul {
    margin-left: 1.5em; }
    .ve-area ul li {
      line-height: 1.2;
      list-style-type: disc;
      margin-bottom: 10px; }
  .ve-area ol {
    margin-left: 1.5em; }
    .ve-area ol li {
      line-height: 1.2;
      list-style-type: decimal;
      margin-bottom: 10px; }
  .ve-area h3 {
    border-bottom: 1px solid #ccc;
    clear: both;
    font-weight: normal;
    margin-bottom: 20px;
    padding-bottom: 8px;
    padding-left: 50px;
    position: relative;
    font-size: 25px;
    font-size: 2.5rem; }
    .ve-area h3:before, .ve-area h3:after {
      content: '';
      display: block;
      height: 15px;
      width: 15px;
      position: absolute;
      top: 10px; }
    .ve-area h3:before {
      background-color: #fff000;
      left: 0; }
    .ve-area h3:after {
      background-color: #1b3d74;
      left: 15px; }
  .ve-area h4 {
    font-weight: bold;
    margin-bottom: 20px;
    padding-bottom: 8px;
    font-size: 20px;
    font-size: 2rem; }
  .ve-area a {
    text-decoration: underline; }
    .ve-area a:hover {
      text-decoration: none; }
  .ve-area table {
    margin-bottom: 30px;
    width: 100%; }
    .ve-area table th,
    .ve-area table td {
      border: 1px solid #d4dade;
      padding: 15px; }
    .ve-area table th {
      background-color: #dff0f9;
      width: 100px; }

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

.img-r {
  float: right;
  padding-left: 50px; }

.img-l {
  float: left;
  padding-right: 50px; }

.img-c {
  text-align: center; }

@media screen and (max-width: 767px) {
  .ve-area {
    font-size: 14px;
    font-size: 1.4rem; }
    .ve-area p,
    .ve-area ul,
    .ve-area ol {
      margin-bottom: 20px; }
    .ve-area h3 {
      font-weight: bold;
      line-height: 1;
      padding: 15px 0 14px 35px;
      font-size: 18px;
      font-size: 1.8rem; }
      .ve-area h3:before, .ve-area h3:after {
        height: 12px;
        width: 12px;
        top: 16px; }
      .ve-area h3:after {
        left: 12px; }
    .ve-area h4 {
      font-size: 16px;
      font-size: 1.6rem; }
    .ve-area img {
      height: auto !important;
      width: 100% !important; }
    .ve-area table th,
    .ve-area table td {
      padding: 10px;
      font-size: 14px;
      font-size: 1.4rem; }
    .ve-area table th {
      width: 30%; }

  .img-l,
  .img-r,
  .img-c {
    float: none;
    margin-bottom: 20px;
    padding-left: 0;
    padding-right: 0;
    width: 100%; } }
