@charset "UTF-8";

/* =====================
  Contact
==================== */
.contact-contents .contents-wrap {
    padding-top: 80px;
    width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 80px;
}

.contact-contents h2 {
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    color: #5b5b5b;
}

.contact-contents h2+p {
    color: #5b5b5b;
    margin-top: 1em;
    line-height: 1.6;
}

.contact-contents .c_red {
    color: #d00000;
}

.contact-contents .c_link {
    text-decoration: underline;
    color: #748494;
}

.contact-contents .c_link:hover {
    text-decoration: none;
}

/* =====================
  siteseal
===================== */
.siteseal {
    border: 1px solid #6f6f6f;
    padding: 0.5em 0.75em;
    margin-top: 1em;
    font-size: 16px;
    display: flex;
    color: #5b5b5b;
}

.siteseal>div:first-child {
    width: calc(100% - 123px);
    padding-right: 1em;
}

.siteseal>div:first-child p {
    padding-top: 10px;
    line-height: 1.4;
}

.siteseal>div:last-child {
    width: 123px;
}

/* =====================
  step
===================== */
.step {
    margin-top: 1.5em;
    background: #ecefef;
    padding: 0.75em 0.5em;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    color: #404040;
    display: flex;
    justify-content: center;
}

.instep {
    background: #fff;
    min-width: 212px;
    text-align: center;
    height: 2.75em;
    display: -webkit-inline-flex;
    display: -moz-inline-flex;
    display: -ms-inline-flex;
    display: -o-inline-flex;
    display: inline-flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: center;
    border: 1px solid #6f6f6f;
    /* color: #404040; */
    font-weight: bold;
}

.instep.current {
    border: 1px solid #a9d1d5;
    background: #a9d1d5;
    color: #fff;
}

.step>span {
    width: 94px;
    height: 2.5em;
    display: -webkit-inline-flex;
    display: -moz-inline-flex;
    display: -ms-inline-flex;
    display: -o-inline-flex;
    display: inline-flex;
    -ms-align-items: center;
    align-items: center;
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAOCAYAAAA8E3wEAAAA1klEQVQ4jaXUoU7DUBSA4Y+ykJAgEGjeAMEbINFzvAF6QzSZRSAIFoMGVT8HD0ACctncDAaBIJkjiO0KurXrPRzTND1/PnNvd8qyfMQQH2KT1Re4wBQj7AfArL5YPQ9wjQn6AbRzX9Tej1HhGacBeGtfB9Oc4RX3OArAjX0TmL5dYmZ5KPYy0Y19G5jmELd4x3kmutZ3AdPsBrC1vgv4hSucYByA/vS9lsUfPFjer88AtLFvAl8wwFsAau3r4Hy1WAWhrX0Cv3GDOywCUOe+hyf/+3ln9b/pYjbagLtK1gAAAABJRU5ErkJggg==");
    background-repeat: no-repeat;
    background-position: center;
}

/* =====================
  Table
===================== */
.form-table {
    margin-top: 25px;
    width: 100%;
    table-layout: fixed;
    color: #313131;
}

.form-table tr.hide {
    display: none;
}

.form-table th,
.form-table td {
    text-align: left;
    border-top: 1px dotted #898989;
    border-bottom: 1px dotted #898989;
    padding: 15px 20px;
    font-size: 16px;
}

.form-table th {
    width: 365px;
    font-weight: bold;
    background: #f3f3f3;
}

.form-table th.must>span::after {
    content: "(必須)";
    padding-left: 0.25em;
    font-weight: normal;
    color: #d00000;
}

.form-table th[colspan="2"] {
    background: #fff;
    font-size: 17px;
    border-bottom: none;
    border-top: none;
    padding-top: 2em;
}

.form-table th .fwn {
    font-weight: normal;
}

/* =====================
  Table Utility
===================== */
/* display */
.form-table .df>div+div {
    margin-left: 1em;
}

.form-table .f-dib {
    display: inline-block;
    padding-right: 0.5em;
}

/* Align */
.form-table .vat {
    vertical-align: top;
}

.form-table .vam {
    vertical-align: middle;
}

/* margin */
.form-table .mt-half {
    margin-top: 0.5em;
}

.form-table .pt0 {
    padding-top: 0 !important;
}

/* size */
.form-table .ws {
    min-width: 120px;
}

.form-table .wm {
    min-width: 230px;
}

.form-table .wl {
    min-width: 350px;
}

/* text */
.form-table .fwb {
    font-weight: bold;
}

/* box */
.form-table .bbnone {
    border-bottom: none;
}

/* unit */
.form-table .select3>div {
    white-space: nowrap;
}

/* Set indent */
.form-table .indent {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}

.form-table .indent>div:first-child {
    padding-top: 5px;
    white-space: nowrap;
}

.form-table .indent>div:last-child {
    padding-left: 10px;
    width: 100%;
}

.form-table .indent>div:last-child span {
    display: block;
    font-size: 14px;
    padding-top: 5px;
}

/* confirm */
.form-table.confirm .indent>div:first-child {
    padding-top: 0px;
    white-space: nowrap;
}

/* col1-wrapper */
.form-table .col1-wrapper+.col1-wrapper {
    margin-top: 1em;
}

.form-table .col1-wrapper>span:first-child,
.form-table .col1-wrapper span {
    display: block;
    font-size: 14px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.form-table .col1-wrapper>div:first-child {
    font-size: 15px;
    display: block;
    padding-bottom: 5px;
}

.form-table .indent>div:last-child span {
    display: block;
    font-size: 14px;
    padding-top: 5px;
}

/* col2-wrapper */
.form-table .col2-wrapper>div {
    width: calc(50% - 50px);
}

/* parts */
.form-table label {
    cursor: pointer;
}

.form-table input[type="checkbox"]:checked+label,
.form-table input[type="radio"]:checked+label {
    font-weight: bold;
}

.form-table select,
.form-table textarea,
.form-table input[type="text"],
.form-table input[type="tel"],
.form-table input[type="email"],
.form-table input[type="number"] {
    color: #313131;
    font-weight: normal;
    border: 1px solid #606060;
    font-size: 15px;
    padding: 5px 7px;
}

.form-table select {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAYAAAB24g05AAAAlklEQVQokZ3QsRWCQBCE4U+kAVNDEwrQNiTT1ExboAVaoAVroQVbuNTQwMOHyIn4R7ezO/N2b7EvyxW2/uOWI+CMw1wzdlksLlGYwxGhCwhR+JUKLWQ9sY2NKa6ouyIbNGs0X8yt57kvhgFv6w0I0RymAkYHU8FjAd2q/f9oJE5bFkWRyNBiHd8n3MeG8pQ7UmHj85wXD78YHI8ZjBqPAAAAAElFTkSuQmCC");
    background-repeat: no-repeat;
    -webkit-background-size: 16px 11px;
    -o-background-size: 16px 11px;
    background-size: 16px 11px;
    background-position: 95% center;
    padding: 5px 28px 5px 7px;
}

.form-table textarea {
    width: 100%;
    min-height: 150px;
}

.form-table select:focus,
.form-table textarea:focus,
.form-table input[type="text"]:focus,
.form-table input[type="tel"]:focus,
.form-table input[type="email"]:focus,
.form-table input[type="number"]:focus {
    border: 1px solid #0075c1;
}

/* =====================
  Confirm page style
===================== */
.form-table .col2-wrapper.u-confirm>div {
    width: auto;
    padding-left: 0;
}

.form-table .col2-wrapper.u-confirm>div>div {
    padding-left: 0;
}

/* =====================
  Error ballon for form
===================== */
.form-error {
    color: #FFF;
    background: #d00000;
    font-size: 13px;
    font-weight: bold;
    display: inline-block !important;
    padding: 2px 7px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    margin-top: 12px;
    position: relative;
}

.form-error::before {
    content: "";
    display: block;
    position: absolute;
    top: -8px;
    left: 10px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 7.5px 8px 7.5px;
    border-color: transparent transparent #d00000 transparent;
}

.form-error:empty {
    display: none !important;
}

/* =====================
  submit
===================== */
.submit-wrapper {
    margin-top: 2em;
    text-align: center;
}

.submit-wrapper-cf {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: center;
}

.submit-wrapper-cf .submit {
    margin: 0 20px;
}

.submit-wrapper-cf .submit button {
    min-width: 315px;
}

/* button */
.submit button {
    border: none;
    outline: none;
    color: #ffffff;
    background: #898989;
    font-size: 21px;
    font-weight: bold;
    border-radius: 50rem !important;
    width: 312px;
    height: 43px;
    position: relative;
}

.submit.cf button {
    background: #fff;
    border: 1px solid #6f6f6f;
    color: #404040;
}

.submit button span {
    display: block;
    width: 100%;
}

.submit button span::after {
    content: '';
    display: block;
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 17.3px;
    border-color: transparent transparent transparent #fff;
    margin: auto;
}

/* =====================
  Complete page
===================== */
.form-u-complete {
    margin: 25px auto !important;
    text-align: center;
    background: #ecf5f4;
    color: #404040;
    font-size: 18px;
    font-weight: bold;
    padding: 60px 0;
}

.fill-anchor {
    text-align: center;
    margin-top: 30px;
}

.fill-anchor a {
    font-size: 16px;
    font-weight: bold;
    padding: 0.5em 4em;
    color: #fff;
    background: #a9d1d5;
    display: -webkit-inline-flex;
    display: -moz-inline-flex;
    display: -ms-inline-flex;
    display: -o-inline-flex;
    display: inline-flex;
    -ms-align-items: center;
    align-items: center;
    border-radius: 50rem;
}

/* =====================
  between-submit
===================== */
th.between-submit {
    text-align: center;
    padding: 0 0 10px;
}

th.between-submit a {
    display: inline-flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    border: none;
    outline: none;
    color: #ffffff;
    background: #898989;
    font-size: 21px;
    font-weight: bold;
    border-radius: 50rem !important;
    width: 312px;
    height: 43px;
    position: relative;
}

th.between-submit a::after {
    content: '';
    display: block;
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 17.3px;
    border-color: transparent transparent transparent #fff;
    margin: auto;
}