/* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- */
/* 部品関連のCSS */
/* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- */
.component {
    margin: 10px 0;
}

/* ---------------- */
/* カラム関連 */
/* ---------------- */
.component.column {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
}
.component.column .wrap > a {
    display: block;
}
.component.column .wrap img {
    width: 100%;
}
.component.column .wrap .title {
    text-align: left;
}
.component.column .wrap .text {
    text-align: left;
}
/* 1カラム */
.component.column.num1 .wrap {
    width: 100%;
    margin: 0 0 10px 0;
}
.component.column.num2 .wrap:nth-child(2n) {
    margin-right: 0;
}
/* 2カラム */
.component.column.num2 .wrap {
    width: 46%;
    margin: 0 60px 10px 0;
}
.component.column.num2 .wrap:nth-child(2n) {
    margin-right: 0;
}
/* 3カラム */
.component.column.num3 .wrap {
    width: 30.5%;
    margin: 0 45px 10px 0;
}
.component.column.num3 .wrap:nth-child(3n) {
    margin-right: 0;
}
/* 4カラム */
.component.column.num4 .wrap {
    width: 22.8%;
    margin: 0 30px 10px 0;
}
.component.column.num4 .wrap:nth-child(4n) {
    margin-right: 0;
}

/*----------------------------------------------------
	リスト
----------------------------------------------------*/
/* 見出しが太字 */
.dl-bold dt {
    font-weight: bold;
    margin: 20px 0 5px 0;
}

/*dlを使用しての崩れない表示*/
.dl-list dt {
    float: left;
}
.dl-list dd {
    text-align: left;
    margin: 0 0 10px 30px;
}

/*dlを利用した段組み*/
.dl01 dd {
    text-align: left;
    margin: 0 0 10px 15px;
}
.dl01.indent10 {
    margin: 0 0 0 10px;
}

/* listのインデント */
/* <h3>ご注文前にお見積書の必要な方</h3>
<ul class="ul_list indent33">
    <li>【１】下記よりご希望の条件を選択した後、価格表の金額をクリック</li>
    <li>【２】必要なオプション項目を選択して「料金を確認」ボタンをクリック（※オプション項目がない場合、こちらの画面遷移は省略されます）</li>
    <li>【３】「お見積書の発行」ボタンをクリックでお見積書がPDFファイルで発行されます</li>
</ul> */
.ul_list {
    margin: 0 0 30px 0;
}
.ul_list li {
    margin: 0 0 10px 0;
}
.indent33 {
    padding-left: 3em;
    text-indent: -3em;
}
ul.list a {
    color: #1d3994;
}
/*----------------------------------------------------
	ボタン
----------------------------------------------------*/
/* 基本的なボタンの外枠 */
.send {
    width: 100%;
    text-align: center;
    margin: 30px 0;
    clear: both;
}

/* 基本レイアウト */
a.btn,
input[type="submit"].btn,
input[type="button"].btn {
    text-decoration: none;
    transition: 0.3s;
    padding: 10px 30px;
    border-radius: 5px;
    display: inline-block;
    font-weight: bold;
    font-size: 1.2rem;
    cursor: pointer;
    border: none;
    -webkit-appearance: none;
}
a.btn:hover,
input[type="submit"].btn:hover,
input[type="button"].btn:hover {
    opacity: 0.7;
    text-decoration: none;
}
a.btn.normal {
    padding: 5px 0;
    font-size: 1rem;
    font-weight: normal;
    width: 100%;
    text-align: center;
}
a.btn.disabled {
    cursor: not-allowed;
    background-color: #cccccc;
}

/* input fileの装飾 */
label.btn_file {
    background: #dadada;
    color: #222222;
    cursor: pointer;
    padding: 10px 30px;
    display: inline-block;
    border-radius: 5px;
    font-size: 1.2rem;
}
label.btn_file:hover {
    opacity: 0.7;
}
label.btn_file input {
    display: none;
}
label.btn_file i {
    margin: 0 10px 0 0;
}

/* ---------------- */
/* 用途毎に色変更 */
/* ---------------- */
/* 赤いボタン */
.btn.info {
    color: #ffffff !important;
    background-color: #bf3361;
}

/* 決定ボタン */
.btn_primary {
    color: #ffffff !important;
    background-color: #bf3361;
}

/* デフォルトボタン */
.btn_default {
    color: #222222 !important;
    background-color: #c7c7c7;
}

/* 見積書ボタン */
.btn_estimate {
    color: #222222 !important;
    background-color: #ffd2d2;
}

/* STEP4のポイント利用 */
.btn_point {
    color: #ffffff !important;
    background-color: #bf3361;
    padding: 5px 10px !important;
    font-size: 0.8rem;
}

/* マイページ、ログアウトボタン */
.btn_logout {
    color: #ffffff !important;
    background-color: #bf3361;
    font-size: 1rem;
    padding: 10px 30px;
}
/* オンラインデザイン、モーダル複製ボタン */
.online_design_dupli {
    background-color: #004085;
    color: #ffffff !important;
    padding: 10px 40px;
    font-size: 1rem;
}

/* 料金表、端数からの注文ボタン */
.btn_any {
    color: #ffffff !important;
    background-color: #bf3361;
}

/* デザインボタンその１ */
.btn_design1 {
    color: #555555 !important;
    border: 1px solid #ccc;
    background-color: #e6e6e6;
    padding: 10px;
    font-weight: normal;
    font-size: 1rem;
    box-shadow: 0 1px 0 #fff inset, 0 1px 0 rgba(0, 0, 0, 0.08);
}
.btn_design1:hover {
    background-color: #fafafa;
    border: 1px solid #999;
    color: #222;
    text-decoration: none;
}

/* ---------------- */
/* ボタンサイズ */
/* ---------------- */
.btn_large {
    font-size: 1.5rem !important;
    padding: 10px 80px !important;
}
.btn_small {
    font-size: 0.8rem !important;
    padding: 10px 20px !important;
}
.button {
    display: inline-block;
    font-size: 1em;
    padding: 5px;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    cursor: pointer;
    padding: 0 10px 0 10px;
    text-decoration: none;
    text-align: center;
}
.button:hover {
    text-decoration: none;
}
.button_default {
    color: #555 !important;
    border: 1px solid #ccc;
    background-color: #f7f7f7;
    line-height: 1.3em;
    padding: 10px;
    box-shadow: 0 1px 0 #fff inset, 0 1px 0 rgba(0, 0, 0, 0.08);
}
.button_default:hover {
    background-color: #fafafa;
    border: 1px solid #999;
    color: #222;
    text-decoration: none;
}
.button_off {
    color: #d0d0d0 !important;
    border: 1px solid #ccc;
    background-color: #f7f7f7;
    line-height: 1.3em;
    padding: 10px;
    box-shadow: 0 1px 0 #fff inset, 0 1px 0 rgba(0, 0, 0, 0.08);
}
.button_off:hover {
    background-color: #fafafa;
    border: 1px solid #999;
    text-decoration: none;
}
.button_signup {
    font-size: 1.3em;
    color: #ffffff !important;
    padding: 5px 20px;
    margin: 0px 0px 20px 0px;
    border: 1px solid #bf3361;
    background: #bf3361;
}
.button_signup:hover {
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}

.button_next {
    background: #c03061;
    color: #fff !important;
    font-weight: 700;
    padding: 10px 50px;
    display: inline-block;
    margin: 10px;
    font-size: 1.3em;
    text-decoration: none;
    border-radius: 3px;
}

.button_next:hover {
    opacity: 0.7;
    text-decoration: none;
}

/* ---------------- */
/* ボタン3セットレイアウト */
/* ---------------- */
/* 
【タグ例】
<div class="btn_3set_box">
    <div class="inner">
        <div class="top">
            <a href="" class="btn btn_primary">購入手続きへ進む<i class="fa fa-arrow-right ml5"></i></a>
        </div>
        <div class="bottom">
            <a href="" class="btn btn_default">その他の商品を選択する</a>
            <a href="" class="btn btn_estimate">お見積書の発行</a>
        </div>
    </div>
</div>
 */
.btn_3set_box {
    width: 100%;
    text-align: center;
    margin: 30px 0;
    clear: both;
}
.btn_3set_box .inner {
    width: 505px;
    margin: 0 auto;
}
/* 上段 */
.btn_3set_box .inner .top a {
    width: 100%;
    font-size: 1.3rem;
}
/* 下段 */
.btn_3set_box .inner .bottom {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 20px 0 0 0;
}
.btn_3set_box .inner .bottom a {
    width: 48%;
    font-size: 1rem;
    padding: 10px 30px;
}

/* ---------------- */
/* ボタン2列レイアウト */
/* ---------------- */
/*
【タグ例】
<div class="btn_2column_box">
    <div class="inner">
        <a href="" class="btn btn_default"><i class="fa fa-arrow-left mr5"></i>戻る</a>
        <a href="" class="btn btn_primary">次へ<i class="fa fa-arrow-right ml5"></i></a>
    </div>
</div>
*/
.btn_2column_box {
    margin: 30px 0 0 0;
}
.btn_2column_box .inner {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 500px;
    margin: 0 auto;
    position: relative;
}
.btn_2column_box .inner.large {
    width: 750px;
}
.btn_2column_box .inner a {
    display: block;
    width: 45%;
    text-align: center;
}

/* ---------------- */
/* ボタンn行レイアウト */
/* ---------------- */
/* 
【タグ例】
<div class="btn_rows_box">
    <div class="inner">
        <a href="" class="btn btn_estimate">お見積書の発行</a>
        <a href="" class="btn btn_default">戻る</a>
    </div>
</div>
 */
.btn_rows_box {
    margin: 30px 0 0 0;
}
.btn_rows_box .inner {
    width: 300px;
    margin: 0 auto;
}
.btn_rows_box .inner a,
.btn_rows_box .inner input[type="submit"],
.btn_rows_box .inner input[type="button"] {
    display: block;
    width: 100%;
    text-align: center;
    margin: 0 0 20px 0;
}
.btn_rows_box .inner a:last-child,
.btn_rows_box .inner input[type="submit"]:last-child,
.btn_rows_box .inner input[type="button"]:last-child {
    margin-bottom: 0;
}

/*----------------------------------------------------
	システム出力用メッセージ
----------------------------------------------------*/
.alert {
    border: 1px solid rgba(0, 0, 0, 0);
    border-radius: 4px;
    margin-bottom: 20px;
    padding: 10px;
}
.alert_danger {
    background-color: #fff2f2;
    border-color: #ccc;
    color: #a94442;
}
.alert_success {
    background-color: #fafafa;
    border-color: #ccc;
    color: #434343;
}
.alert_error_item {
    border-radius: 4px;
    color: red;
    display: block;
    font-size: 0.9em;
}
.alert_caution {
    background-color: #fffef2;
    border-color: #ccc;
    color: #434343;
}
.alert p {
    padding: 0px;
}
.alert p i {
    margin: 0 5px 0 0;
    font-size: 1.5rem;
}
.form_item_error {
    display: block;
    color: red;
    font-weight: bold;
    font-size: 1rem;
}

.in2form_input_error_message {
    color: #f60169 !important;
    display: block;
}
.in2form_input_error {
    border: 1px solid #f60169 !important;
    background-color: #fdbdd8 !important;
}

/*----------------------------------------------------
	タブ
----------------------------------------------------*/
/* 
【タグ例】
<div class="tab-wrap">
<input id="タブID１" type="radio" name="タブグループ名" class="tab-switch" checked><label class="tab-label" for="タブID１">タブタイトル１</label>
<div class="tab-content">
タイトル1のテキストタイトル1のテキストタイトル1のテキストタイトル1のテキスト
タイトル1のテキストタイトル1のテキストタイトル1のテキストタイトル1のテキスト
</div>
<input id="タブID２" type="radio" name="タブグループ名" class="tab-switch"><label class="tab-label" for="タブID２">タブタイトル２</label>
<div class="tab-content">
タイトル2のテキストタイトル2のテキストタイトル2のテキストタイトル2のテキスト
タイトル2のテキストタイトル2のテキストタイトル2のテキストタイトル2のテキスト
</div>
</div>
 */
.tab-wrap {
    background: White;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
    padding: 0 0 20px;
}
.tab-label {
    color: Gray;
    cursor: pointer;
    flex: 1;
    font-weight: bold;
    order: -1;
    padding: 12px 24px;
    position: relative;
    text-align: center;
    transition: cubic-bezier(0.4, 0, 0.2, 1) 0.2s;
    user-select: none;
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
}
.tab-label:hover {
    background: rgba(180, 180, 180, 0.1);
}
.tab-switch:checked + .tab-label {
    color: #5a5a5a;
}
.tab-label::after {
    background: #5a5a5a;
    bottom: 0;
    content: "";
    display: block;
    height: 3px;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transform: translateX(100%);
    transition: cubic-bezier(0.4, 0, 0.2, 1) 0.2s 80ms;
    width: 100%;
    z-index: 1;
}
.tab-switch:checked ~ .tab-label::after {
    transform: translateX(-100%);
}
.tab-switch:checked + .tab-label::after {
    opacity: 1;
    transform: translateX(0);
}
.tab-content {
    height: 0;
    opacity: 0;
    padding: 0 10px;
    pointer-events: none;
    transform: translateX(-30%);
    transition: transform 0.3s 80ms, opacity 0.3s 80ms;
    width: 100%;
}
.tab-switch:checked ~ .tab-content {
    transform: translateX(30%);
}
.tab-switch:checked + .tab-label + .tab-content {
    height: auto;
    opacity: 1;
    order: 1;
    pointer-events: auto;
    transform: translateX(0);
}
.tab-wrap::after {
    content: "";
    height: 20px;
    order: -1;
    width: 100%;
}
.tab-switch {
    display: none;
}

/*----------------------------------------------------
	safariボタンのデザイン打消し
----------------------------------------------------*/
.button_default,
.button,
.button_signup {
    -webkit-appearance: none;
}
