/* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- */
/* 部品関連の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: .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,.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) .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) .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 .3s 80ms, opacity .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;
}

