@charset "UTF-8";

article,
section
{
  display: block;
}

a[href^="tel:"] {
	pointer-events: none;
	color:inherit;
	text-decoration:none;
}


@media print {
  *,
  *:before,
  *:after {
    color: #000 !important;
    text-shadow: none !important;
    background: transparent !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
}

* {
	margin: 0;
	padding: 0;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}


#order article.container {
	margin: 50px auto;
	line-height: 1.9;
}
#order .inner {
	clear:both;
	width: 980px;
	margin: 10px auto;
}
#order .inner:after {
	content: "";
	clear: both;
	display: block;
}

@media screen and (max-width: 980px) {
	#order article.container {
		margin: 10px auto;
	}
	#order .inner {
		width: 85%;
		margin:20px auto;
	}
}

@media screen and (max-width: 768px) {
	#order .inner {
		width: 90%;
		margin:20px auto;
	}
}
@media screen and (max-width: 640px) {
	#order .inner {
		width: 94%;
		margin:20px auto;
	}
}
@media screen and (max-width: 480px) {
	#order .inner {
		width: 100%;
		margin:20px 2px;
	}
}

#order .waku {
	margin:20px 0;
	padding:10px 20px;
	border:#CCC solid 1px;
	overflow:hidden;
}

/*----------------------------------------------------
decolation
----------------------------------------------------*/
#order .text-red {
	color:#F00;
}
#order .text-small {
	font-size:0.85em;
}
#order .text-small p {
	font-size:0.85em;
}
#order .text-large {
	font-size:1.4em;
}
#order .text-large p {
	font-size:1.4em;
}
#order .text-large-x {
	font-size:1.4em;
}
#order .text-large-x p {
	font-size:1.4em;
}
#order .text-large-x {
	font-size:1.6em;
}
#order .text-large-x p {
	font-size:1.6em;
}
#order .text-large-xx {
	font-size:2.0em;
}
#order .text-large-xx p {
	font-size:2.0em;
}
#order .text-center {
	text-align:center;
}

/*----------------------------------------------------
form
----------------------------------------------------*/
#order input:::-webkit-input-placeholder {
	color: #ccc;
	}
#order input::-moz-placeholder {
	color: #ccc;
	}
    /* Webkit */
#order input::-webkit-input-placeholder {
	color: #ccc;
        opacity: 1;
    }
    /* Firefox 18 以前 */
#order input:-moz-placeholder {
	color: #ccc;
    }
    /* Firefox 19 以降 */
#order input::-moz-placeholder {
	color: #ccc;
        opacity: 1;
    }
    /* IE 10 以降 */
#order input:-ms-input-placeholder {
	color: #ccc;
    }
#order input:placeholder-shown {
	color: #ccc;
    }


 /*入力時の背景色*/
#order input:focus, select:focus, textarea:focus {
	background: #bde9ba;
}
#order .form-text{ 
	width:100%;
	height:50px;
	font-size:1.2em;
	font-weight:bold; 
	border:1px solid #ccc;
	border-radius: 5px;
	padding: 5px;
	color: #000;
	background:#fff;
	margin-bottom:10px;
}
#order .form-textarea { 
	width:100%;
	height:auto;
	font-size:1.2em;
	font-weight:bold; 
	border:1px solid #ccc;
	border-radius: 5px;
	padding: 5px;
	color: #000;
	background:#fff;
	margin-bottom:10px;
}
#order .form-text-post{
	width: 100%;
	height:50px;
	font-size:1.2em;
	font-weight:bold; 
	border:1px solid #ccc;
	border-radius: 5px;
	padding: 5px;
	color: #000;
	background:#fff;
	margin-bottom:10px;
}
#order .form-text-s {
	width: 70%;
	max-width: 200px;
	height:50px;
	font-size:1.2em;
	font-weight:bold; 
	border:1px solid #fff;
	border-bottom:1px solid #ccc;
	border-radius: 0px;
	padding: 5px;
	color: #000;
	background:#fff;
	text-align:right;
}
#order .form-text-total { 
	width:60%;
	height:50px;
	font-size:1.2em;
	font-weight:bold; 
	border:3px solid #ccc;
	border-radius: 5px;
	padding: 5px;
	color: #000;
	background:#fff;
	margin-bottom:10px;
	text-align:right;
}
/*submitボタンの設定*/
#order .form-submit{
	margin-top:1em;
	width:100%;
	padding:0.2em;
	font-size:1.6em;
	font-weight:bold;
	border:1px solid #f90;
	border-radius: 5px;
	-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */
	-moz-border-radius: 5px;
	color:#fff;
	background: #F90; /* for non-css3 browsers */
	box-shadow: 3px 3px 3px rgba(0,0,0,0.25);
	-moz-box-shadow: 3px 3px 3px rgba(0,0,0,0.25);
	-webkit-box-shadow: 3px 3px 3px rgba(0,0,0,0.25);}
#order .form-submit:hover{
	background: #F60; /* for non-css3 browsers */
}
#order .form-submit-box {
	width:50%;
	margin:0 auto;
}
#order .order-price {
	font-size:1.2em;
	font-weight:bold;
	color:#F00;
	line-height:125%;
}

#order input[type="number"]::-webkit-outer-spin-button,
#order input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
#order input[type="number"] {
  -moz-appearance:textfield;
}


@media screen and (max-width: 768px) {
#order .form-submit-box {
	width:100%;
}
}

/** radio checkbox design **/

#order input[type=radio], input[type=checkbox] {
	display: none;
}

#order .radio, .checkbox {
	box-sizing: border-box;
	-webkit-transition: background-color 0.2s linear;
	transition: background-color 0.2s linear;
	position: relative;
	display: inline-block;
	margin: 0 20px 8px 0;
	padding: 12px 12px 12px 42px;
	border-radius: 8px;
	background-color: #f6f7f8;
	vertical-align: middle;
	cursor: pointer;
	font-size:1.2em;
	font-weight:bold;
}
#order .radio:hover, .checkbox:hover {
	background-color: #e2edd7;
}
#order .radio:hover:after, .checkbox:hover:after {
	border-color: #53b300;
}
#order .radio:after, .checkbox:after {
	-webkit-transition: border-color 0.2s linear;
	transition: border-color 0.2s linear;
	position: absolute;
	top: 50%;
	left: 15px;
	display: block;
	margin-top: -10px;
	width: 19px;
	height: 19px;
	border: 2px solid #bbb;
	border-radius: 6px;
	content: '';
}

#order .radio:before {
	-webkit-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
	position: absolute;
	top: 50%;
	left: 20px;
	display: block;
	margin-top: -5px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #53b300;
	content: '';
	opacity: 0;
}
#order input[type=radio]:checked + .radio:before {
	opacity: 1;
}

#order .checkbox:before {
	-webkit-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
	position: absolute;
	top: 50%;
	left: 21px;
	display: block;
	margin-top: -7px;
	width: 5px;
	height: 9px;
	border-right: 3px solid #53b300;
	border-bottom: 3px solid #53b300;
	content: '';
	opacity: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
#order input[type=checkbox]:checked + .checkbox:before {
	opacity: 1;
}


/** select design **/
#order .selectdiv {
	position: relative; 
	float: left;
	min-width: 200px;
}

/* IE11 hide native button */
#order select::-ms-expand {
	display: none;
}

#order .selectdiv:after {
	content: '<>';
	font: 17px "Consolas", monospace;
	color: #333;
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
	right: 11px;
	/*Adjust for position however you want*/	
	top: 18px;
	padding: 0 0 2px;
	border-bottom: 1px solid #999;
	/*left line */
	
	position: absolute;
	pointer-events: none;
}
/*入力時の背景色*/
#order .selectdiv select:focus {
	background: #bde9ba;
}
#order .selectdiv select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	/* Add some styling */
	
	display: block;
	width: 100%;
	max-width: 200px;
	height: 50px;
	border-radius:5px;
	float: right;
	margin: 5px 0px;
	padding: 0px 24px;
	font-size:1.2em;
	font-weight:bold;
	line-height: 1.75;
	color: #333;
	background-color:#FFF;
	background-image: none;
	border: 1px solid #cccccc;
	-ms-word-break: normal;
	word-break: normal;
}


@media screen and (max-width: 768px) {
#order .field-box {
	position:relative;
	width:100%;
}

#order .lineheight {
	line-height:300%;
}

#order .selectdiv {
	position: relative; 
	float:left;
	min-width:50%;
}
#order .selectdiv select {
	width:100%;
	max-width:100%;
}
}
@media screen and (max-width: 640px) {
#order .selectdiv {
	min-width:85%;
}
}
@media screen and (max-width: 480px) {
#order .selectdiv {
	min-width:80%;
}
}

/**  for PC **/
#order .pc	{
	display:inline!important;
}
#order .sp	{
	display:none!important;
	float:left;
	width:auto;
}
@media screen and (max-width: 768px) {
/**  for SP **/
#order .pc	{
	display:none!important;
}
#order .sp {
	display:inline!important;
}
}

@media screen and (min-width: 650px){	
#order .br-pc {
	  display:block;
	  }
#order .br-sp {
	  display:none;
	  }
}
@media screen and (max-width: 650px){	
#order .br-pc {
	  display:none;
	  }
#order .br-sp {
	  display:block;
	  }
}



/*入力時の背景色*/
#order .cp_ipselect.cp_sl01 select:focus {
	background: #bde9ba;
}


/** チェックを入れると開く **/
#order .toggle-wrap .toggle-content,
#order .toggle-wrap > input[type="checkbox"] {
  display: none;
}
 
#order .toggle-wrap > input[type="checkbox"]:checked ~ .toggle-content {
  display: block;
}

.form-submit-container {
	overflow:hidden;
	margin:0 0 100px 0;
}
.form-submit-container .toggle-wrap {
	text-align:center;
	margin:0 auto;
}

/*----------------------------------------------------
table.commodity
----------------------------------------------------*/
#order section table {
	width: 100%;
	}
#order section th, section td {
	padding: 10px;
	border: 1px solid #ddd;
	}
#order section th {
	background: #E4E4E4;
	font-weight:bold;
}
#order .commodity th, .commodity td {
	width: 20%;
	text-align: left;
}
#order section th, section td.border-red {
	border:#F30 solid 8px;
	border-radius:8px;
}


@media only screen and (max-width: 768px) { 
	#order .commodity {
		margin: 0 0px;
		}
	#order .commodity thead {
	display:none;
	}
	#order .commodity tr {
	display:block;
	margin:0 0 20px 0;
	}
	#order .commodity th {
	display:block;
	width: 100%;
	}
	#order .commodity td {
	clear:both;
	display: list-item;
	list-style:none;
	width: 95%;
	margin:15px 0 5px 5%;
	border:none;
	padding:0;
	}
}
#order .order-must {
	margin:0 0 0 6px;
	padding:1px 2px;
	border-radius:2px;
	background:#F00;
	color:#FFF;
	font-size:0.75em;
	letter-spacing:2px;
	line-height:115%;
}




/*----------------------------------------------------
dl
----------------------------------------------------*/
/**  dl-table for SP **/
.dl-table {
	clear:both;
	margin:20px 0;
	padding: 0;
	background:#E4E4E4;
	border: 1px solid #ddd; 
}
.dl-child {
    margin: 0;
}
dl.dl-table dt, 
dl.dl-table dd {
    margin: 0;
    box-sizing: border-box;
}
dl.dl-table dt {
    padding: .5em 1em;
    background: inherit;
    border-top: 0;
    border-right: 0;
    border-bottom: 1px solid #ececec;
    border-left: 0;
	font-weight:bold;
}
dl.dl-table dd {
    padding: 1em;
    border-bottom: 1px solid #ececec;
    background: #fff;
}
dl.dl-table dd:last-of-type {
    border-bottom: 0;
}


@media screen and (min-width: 768px){
/**  dl-table for PC **/
   dl.dl-table dt {
        float: left;
        width: 30%;
        padding: .5em;
        border-top: 1px solid #cdcdcd;
        border-bottom: 0;
    }
    dl.dl-table dd {
        margin-left: 30%;
        padding: .5em .5em 0;
        border-top: 1px solid #cdcdcd;
        border-bottom: 0;
        border-left: 1px solid #cdcdcd; 
        background: #fff;
    }
    dl.dl-table dt:first-of-type, 
    dl.dl-table dd:first-of-type {
        border-top: 0;
    }
    dl.dl-table dd:after {
        content : '';
        display : table;
        clear : both;
        height: 0;
    }
.dl-table .dl-child {
	border-top:none; 
	background:#f6f7f8;
	margin:5px 0 10px 0;
}
.dl-table .dl-child dt {
    padding: .5em 1em;
	font-weight:normal;
}
dl.dl-table .dl-child dt {
        width: 20%;
        border-top: 1px solid #cdcdcd;
}
dl.dl-table .dl-child dd {
        margin-left: 20%;
        padding: .5em .5em 0;
        border-top: 1px solid #cdcdcd;
        border-bottom: 0;
        border-left: 1px solid #cdcdcd; 
        background: #fff;
    }


}



/*----------------------------------------------------
css上書き＆追加
----------------------------------------------------*/
.bt-samp33 {
	background:#bde9ba;
}

/*div要素全体にリンクをつけるために必要な要素*/
.linkbox {
    position: relative;
}
.linkbox a {
    position: absolute;
    top: 0px;
    left: 0;
    height:100%;
    width: 100%;
}

/* 以下見た目をわかりやすくするための設定*/
.linkbox {
    border: dashed 1.5px #777;
}
.linkbox a:hover{/* マウスオーバー時に色変更*/
    opacity: 0.9;
    background: #bde9ba;
    top: 0px;
    left: 0;
	text-decoration:none;
}
.price {
    text-align: center;
    margin-right: 0px;
    padding:20px 15px;
    background: #fff;
    border:none;
}

h3.price {
    top: 0px;
    left: 0;
    height:100%;
    width: 100%;
}

