@charset "UTF-8";
/*************************************
 Reset
**************************************/
@import url("https://fonts.googleapis.com/css?family=Archivo+Black|EB+Garamond");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  box-sizing: border-box; }

/* HTML5 display-role reset for older browsers 
*/
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

html, body {
  font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 500;
  font-size: 16px; }

.font-mincho {
  font-family: Georgia, 'Hiragino Mincho ProN', 'Yu Mincho', serif;
  font-weight: 400; }

.font-futura {
  font-family: Futura, "Century Gothic", CenturyGothic, Arial, sans-serif; }

.font-garamond {
  font-family: 'EB Garamond', serif; }

.font-normal {
  font-weight: 400; }

.font-bold {
  font-weight: bold; }

.justify, .product-block-01 .product-info .product-description, .product-block-02 .product-content .product-description {
  text-align: justify;
  text-justify: inter-ideograph; }

a {
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }

.header,
.section,
.footer {
  width: 100%; }

.w950 {
  width: 950px;
  margin: 0 auto; }

.simple-list li {
  margin-bottom: 5px;
  padding-left: 1em;
  text-indent: -1em; }
  .simple-list lilast-child {
    margin-bottom: 0; }

.nav-list li a {
  text-decoration: none; }

.nav-list-flex {
  -js-dispay: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .nav-list-flex li a {
    height: 100%; }

.nav-list-5 li {
  width: 20%; }

.nav-list-4 li {
  width: 25%; }

.breadcrumb {
  padding: 15px 0;
  overflow: hidden; }
  .breadcrumb li {
    float: left;
    font-weight: bold; }

input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled,
input[type="file"]:disabled::-webkit-file-upload-button,
button:disabled,
select:disabled,
optgroup:disabled,
option:disabled,
select[disabled] > option {
  color: #e9e9e9; }

body {
  color: #000; }

a {
  color: #000; }
  a:hover {
    color: #000; }

.header, .section, .footer {
  min-width: 950px; }

.title-h2-01 {
  background-color: #021F35;
  color: #fff;
  padding: 10px 15px;
  font-size: 21px;
  font-weight: bold;
  margin-bottom: 25px; }

.title-h3-01 {
  font-size: 23px;
  font-weight: bold;
  border-left: 8px solid #00953A;
  border-bottom: 1px solid #00953A;
  padding: 0 12px 7px;
  margin-bottom: 20px; }

.title-normal-01 {
  font-size: 19px;
  font-weight: bold;
  margin-bottom: 20px; }

.btn-base, .btn-01, .btn-99 {
  background-color: #021F35;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  padding: 8px 22px 8px 12px;
  display: inline-block;
  cursor: pointer;
  letter-spacing: 0;
  font-size: 15px;
  transition: background 0.6s ease, color 0.6s ease, border 0.6s ease; }
  .btn-base.btn-01-semilong, .btn-01-semilong.btn-01, .btn-01-semilong.btn-99 {
    padding: 8px 40px 8px 30px; }
  .btn-base .btn-inner, .btn-01 .btn-inner, .btn-99 .btn-inner {
    display: inline-block;
    vertical-align: middle;
    position: relative; }
    .btn-base .btn-inner:after, .btn-01 .btn-inner:after, .btn-99 .btn-inner:after {
      content: "";
      display: inline-block;
      width: 8px;
      height: 10px;
      background: url(../../assets/img/btn/icon_btn_arrow_01.png) no-repeat;
      background-position: center center;
      background-size: 8px 7px;
      margin-left: 5px;
      transition: all 0.6s ease;
      position: absolute;
      right: -15px;
      top: 50%;
      margin-top: -5px; }

.btn-01:hover {
  background-color: #00953A;
  color: #fff; }
  .btn-01:hover .btn-inner:after {
    -webkit-transform: translateX(3px);
            transform: translateX(3px); }

.header {
  min-height: 150px; }
  .header-branding {
    padding: 45px 0 0;
    position: relative;
    margin-bottom: 20px; }
  .header .title-h1 {
    font-size: 26px; }
    .header .title-h1-text {
      margin-top: 5px; }
  .header .contact {
    position: absolute;
    bottom: 0;
    right: 0; }
  .header .search {
    margin-bottom: 15px; }
    .header .search-box {
      min-height: 1.8em;
      display: inline-block;
      box-sizing: border-box;
      padding: 2px; }
    .header .search .submit-button {
      position: relative;
      display: inline-block; }
      .header .search .submit-button input {
        border: 1px solid #333;
        background: #dcdddd;
        cursor: pointer;
        letter-spacing: 2px; }
      .header .search .submit-button:after {
        content: "";
        display: block;
        background: url(../../assets/img/search/icon_sitesearch.png) no-repeat;
        background-size: 17px 21px;
        width: 17px;
        height: 21px;
        position: absolute;
        bottom: -10px;
        right: -10px; }
  .header .telephone-notice {
    font-size: 16px;
    font-weight: bold; }
  .header .telephone-number {
    font-weight: bold;
    font-size: 18px; }
    .header .telephone-number span {
      font-size: 35px; }

.footer {
  background: #021F35;
  color: #fff;
  padding: 50px 0;
  font-size: 14px; }
  .footer .company-profile,
  .footer .privacy-policy {
    text-align: right; }
  .footer .company-profile {
    margin-bottom: 20px; }
  .footer a {
    color: #fff; }

.header-navigation {
  background-color: #021F35; }

.nav-list li {
  border-left: 1px solid #fff; }
  .nav-list li:last-child {
    border-right: 1px solid #fff; }
  .nav-list li a {
    width: 100%;
    display: table;
    padding: 10px 0;
    text-align: center;
    line-height: 1.3;
    position: relative;
    font-size: 16px;
    color: #fff;
    background-color: #021F35;
    transition: color 0.6s ease, background-color 0.6s ease; }
    .nav-list li a:after {
      content: '';
      display: block;
      background-color: #00953A;
      width: 100%;
      height: 0;
      transition: height 0.6s ease;
      position: absolute;
      bottom: 0;
      left: 0; }
    .nav-list li a:hover {
      color: #000;
      background-color: #fff; }
      .nav-list li a:hover:after {
        height: 6px; }
    .nav-list li a span {
      display: table-cell;
      vertical-align: middle; }
  .nav-list li.selected a {
    color: #000;
    background-color: #fff; }
    .nav-list li.selected a:after {
      height: 6px; }

.product-block-01 {
  word-wrap: break-word; }
  .product-block-01:hover .wrap-btn .product-image {
    opacity: 0.7; }
  .product-block-01:hover .wrap-btn .product-name,
  .product-block-01:hover .wrap-btn .product-info {
    color: #00953A; }
  .product-block-01:hover .wrap-btn .btn {
    background-color: #00953A;
    color: #fff; }
    .product-block-01:hover .wrap-btn .btn .btn-inner:after {
      -webkit-transform: translateX(3px);
              transform: translateX(3px); }
  .product-block-01 .wrap-btn {
    text-decoration: none;
    display: block; }
    .product-block-01 .wrap-btn .product-image {
      transition: opacity 0.6s ease; }
    .product-block-01 .wrap-btn .product-name,
    .product-block-01 .wrap-btn .product-info {
      transition: color 0.6s ease; }
  .product-block-01 .product-image {
    width: 228px;
    height: 164px;
    border: 1px solid #dcdddd;
    overflow: hidden;
    margin-bottom: 10px;
    padding: 10px;
    text-align: center; }
    .product-block-01 .product-image img {
      max-width: 100%;
      max-height: 100%;
      width: auto;
      height: auto;
      display: inline-block;
      vertical-align: middle; }
  .product-block-01 .product-name {
    color: #003A70;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
    line-height: 1.2; }
    .product-block-01 .product-name .min {
      font-size: 14px;
      display: inline-block; }
  .product-block-01 .product-info {
    letter-spacing: 0;
    font-size: 11px;
    line-height: 1.6;
    margin-bottom: 20px; }
    .product-block-01 .product-info .product-spec {
      margin-top: 15px; }
  .product-block-01 .product-btn {
    width: 100%;
    position: absolute;
    bottom: 0px;
    text-align: center; }

.product-block-02 {
  word-wrap: break-word; }
  .product-block-02 .product-image {
    float: left;
    width: 270px; }
    .product-block-02 .product-image a {
      display: block;
      transition: opacity 0.3s ease; }
      .product-block-02 .product-image a:hover {
        opacity: 0.75; }
    .product-block-02 .product-image img {
      display: inline-block;
      vertical-align: middle;
      max-width: 100%; }
    .product-block-02 .product-image .product-image-sub {
      margin-top: 20px; }
      .product-block-02 .product-image .product-image-sub .product-image-sub-title {
        font-size: 12px;
        margin: 0 0 5px; }
      .product-block-02 .product-image .product-image-sub-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; }
        .product-block-02 .product-image .product-image-sub-list li {
          width: 84px;
          display: inline-block;
          padding: 5px 0;
          border: 1px solid #e8e8e8; }
          .product-block-02 .product-image .product-image-sub-list li.empty {
            border: none;
            height: 0; }
  .product-block-02 .product-content {
    margin-left: 300px;
    line-height: 1.5;
    position: relative; }
    .product-block-02 .product-content .product-name {
      line-height: 1.1;
      font-size: 40px;
      margin-bottom: 15px;
      font-weight: bold; }
      .product-block-02 .product-content .product-name span {
        display: inline-block; }
      .product-block-02 .product-content .product-name .min {
        font-size: 24px; }
    .product-block-02 .product-content .product-catchphrase {
      font-size: 24px;
      color: #003A70;
      margin-bottom: 15px;
      font-weight: bold; }
    .product-block-02 .product-content .product-description {
      font-size: 13px;
      margin-bottom: 15px; }
    .product-block-02 .product-content .product-spec {
      font-size: 13px;
      min-height: 52px;
      margin: 0 230px 0 0;
      line-height: 1.6; }
    .product-block-02 .product-content .product-btn {
      position: absolute;
      right: 0;
      bottom: 0; }
      .product-block-02 .product-content .product-btn .btn-inner {
        font-size: 23px; }

.section-mainvisual {
  height: 480px;
  background: url(../img/bg_mainvisual.png);
  background-size: cover; }
  .section-mainvisual-inner {
    position: relative; }
    .section-mainvisual-inner .mainvisual-image-01 {
      position: absolute;
      left: 0px;
      top: 68px;
      opacity: 0; }
    .section-mainvisual-inner .mainvisual-text-01 {
      position: absolute;
      left: 400px;
      top: 265px;
      opacity: 0; }

.section-product-inner {
  padding-top: 30px; }

.product-list {
  width: 100%;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 60px; }
  .product-list > li {
    width: 228px;
    margin-bottom: 20px;
    margin-right: 12px;
    padding-bottom: 35px;
    position: relative; }
    .product-list > li:nth-child(4n) {
      margin-right: 0px; }

.section-pageheader {
  background-size: cover;
  height: 142px;
  line-height: 142px; }
  .section-pageheader h2 {
    font-size: 32px;
    color: #fff; }

.category-01 .section-pageheader {
  background: url(../img/bg_2nd_header_01.jpg); }

.category-02 .section-pageheader {
  background: url(../img/bg_2nd_header_01.jpg); }

.category-03 .section-pageheader {
  background: url(../img/bg_2nd_header_01.jpg); }

.category-04 .section-pageheader {
  background: url(../img/bg_2nd_header_01.jpg); }

.category-05 .section-pageheader {
  background: url(../img/bg_2nd_header_01.jpg); }

.category-10 .section-pageheader {
  background: url(../img/bg_2nd_header_01.jpg); }

.product-second-inner {
  padding-top: 30px; }

.product-list-second > li {
  overflow: hidden;
  margin: 50px 0 0;
  padding-bottom: 70px;
  border-bottom: 1px solid #999; }
  .product-list-second > li:last-child {
    border-bottom: none; }

.section-step {
  background: #EFEFEF; }
  .section-step-inner {
    padding: 40px 0;
    text-align: center; }

.form-step-list li {
  display: inline-block;
  color: #fff;
  font-weight: bold;
  font-size: 17px;
  letter-spacing: 2px;
  position: relative;
  margin-right: -20px;
  width: 222px;
  height: 33px;
  line-height: 33px;
  background: url(../img/bg_step_type01_off.png); }
  .form-step-list li.selected {
    background: url(../img/bg_step_type01_on.png); }
  .form-step-list li:first-child {
    padding: 0 10px 0 0; }
  .form-step-list li:last-child {
    margin-right: 0px;
    width: 232px;
    height: 33px;
    line-height: 33px;
    background: url(../img/bg_step_type02_off.png); }
    .form-step-list li:last-child.selected {
      background: url(../img/bg_step_type02_on.png); }
  .form-step-list li:nth-child(1) {
    z-index: 20; }
  .form-step-list li:nth-child(2) {
    z-index: 19; }
  .form-step-list li:nth-child(3) {
    z-index: 18; }
  .form-step-list li:nth-child(4) {
    z-index: 17; }

.section-product-third-inner {
  padding: 30px 0 0; }

.section-form {
  margin-bottom: 100px; }
  .section-form-inner {
    padding: 70px 0 0; }

.priceBoxArea {
  width: 100%;
  top: 0;
  left: 0;
  z-index: 2; }
  .priceBoxArea.fixed {
    position: fixed; }

.priceBoxAreaInner {
  width: 950px;
  margin: 0 auto; }

.priceBoxContent {
  width: 240px;
  float: right;
  background: #fff; }

.mainForm h2, .priceBoxArea h2 {
  font-size: 22px;
  margin-bottom: 20px; }
  .mainForm h2:before, .priceBoxArea h2:before {
    content: "●"; }

.mainForm {
  float: left;
  width: 680px;
  position: relative;
  z-index: 3; }
  .mainForm .btns {
    text-align: center; }
  .mainForm .btn {
    background: #EFEFEF;
    border: 1px solid #000;
    font-size: 20px;
    padding: 5px 15px;
    cursor: pointer;
    font-weight: bold;
    letter-spacing: 2px;
    display: inline-block;
    margin: 0 10px;
    transition: background 0.3s ease, color 0.3s ease; }
    .mainForm .btn:hover {
      color: #fff;
      background: #021F35; }

.formTable {
  width: 100%;
  margin-bottom: 30px; }
  .formTable th {
    font-size: 16px;
    font-weight: bold;
    background: #f2f2f2;
    text-align: left;
    vertical-align: middle; }
  .formTable td {
    font-size: 13px; }
  .formTable th:first-child, .formTable td:first-child {
    width: 185px; }

.formTable,
.formTable th,
.formTable td {
  border: 1px solid #000; }

.formTable th,
.formTable td {
  padding: 10px; }

.formTable select {
  width: 100%;
  padding: 2px 0 6px 0; }

.formTable textarea {
  width: 100%; }

/*金額部分*/
.priceBoxArea .priceBox {
  width: 100%; }
  .priceBoxArea .priceBox th, .priceBoxArea .priceBox td {
    border: 1px solid #000;
    padding: 10px;
    font-weight: bold; }
  .priceBoxArea .priceBox th {
    background: #f2fafd; }
  .priceBoxArea .priceBox tr.total th, .priceBoxArea .priceBox tr.total td {
    color: #D12A2A; }

.priceBoxArea .att {
  font-size: 11px;
  line-height: 1.6;
  margin-top: 10px; }

.annotation {
  margin-top: 5px;
  letter-spacing: 0;
  font-size: 11px;
  line-height: 1.6; }

/*フォーム制限が起動した際にtrにクラスが追加されます */
/* 強制的に選択肢が変更された */
tr.js_alert_force {
  background: #afcffa; }

/* 現在選択されている項目が無効(エラー) */
tr.js_alert_ng {
  background: #faafaf; }

/*送信時チェックのエラー*/
tr.js_alert_submit {
  background: #faafaf; }

/* 選択不可checkbox */
.formTable label.disabled {
  color: #acacac; }

/* 項目説明文でspan.redが存在します */
.red {
  color: #D12A2A; }

.form-under-notice {
  clear: both;
  padding-top: 25px;
  font-size: 14px;
  line-height: 1.3; }

/* 画像拡大用CSS */
.enlarge-modal {
  position: fixed;
  z-index: 9999;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: none;
  opacity: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: rgba(0, 0, 0, .6); }
  .enlarge-modal-inner {
    display: inline-block;
    padding: 45px;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, .6);
    border-radius: 2px;
    position: relative; }
    .enlarge-modal-inner img {
      max-width: 100%; }
  .enlarge-modal-close {
    position: absolute;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, .6);
    border-radius: 20px;
    text-align: right;
    right: 0px;
    padding: 0.2em 0.8em;
    top: -40px;
    font-weight: bold;
    font-size: 20px;
    cursor: pointer; }

.section-thanks {
  min-height: calc(100vh - 613px); }
  .section-thanks-inner {
    padding-top: 30px; }
  .section-thanks .thanks-tel {
    margin: 15px 0 0; }
