@charset "utf-8";

/* -------------------------------------
	case 1400px (PCサイト/メインビジュアルよりも大きい時 ) */
@media screen and (max-width: 1400px) {
/*----------------------------------------*/
body{
	min-height:5px;
}
/*----------------------------------------*/
}
/*	end case 1400px (PCサイト/メインビジュアルより大きい時 ここまで)
----------------------------------------*/





/* -------------------------------------
	case 960px (PCサイト/コンテンツ幅より小さい時) */
@media screen and (max-width: 960px) {
/*----------------------------------------*/
body{
	min-height:4px;
}

.header_inner,
.footer_inner,
.content_inner{
	margin:auto;
	width:100%;
}
.header_inner{
	padding:10px 15px 0;
}

/*----------------------------------------*/
}
/*	end case 960px (PCサイト/コンテンツ幅より小さい時 ここまで)
----------------------------------------*/





/* -------------------------------------
	case 768px (iPadの縦想定) */
@media screen and (max-width: 768px) {
/*----------------------------------------*/
body{
	min-height:3px;
}

/*----------------------------------------*/
}
/*	end case 768px (iPadの縦想定 ここまで)
----------------------------------------*/





/* -------------------------------------
	case 736px (スマホサイズ)			*/
@media screen and (max-width: 736px) {
/*----------------------------------------*/
body{
	min-height:2px;
}

.pc{
	display:none!important;
}
.pc_inline{
	display:none!important;
}
.pc_inline_block{
	display:none!important;
}
.sp{
	display:block!important;
}
.sp_inline{
	display:inline!important;
}
.sp_inline_block{
	display:inline-block!important;
}
img{
	max-width:100%;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"]{
	font-size:1.6rem;	/* iPhoneの入力時のズーム防止 */
	width:100%;
}

.container{
	padding:0 0 0;
}
.footer{
	position:static;
}

.res_fl {
	float:none;
}

.res_fr {
	float:none;
}


.header_inner,
.footer_inner,
.content_inner{
	margin:auto;
	width:100%;

}

.content_inner {
}


.base_table th {
	background:#dfdfdf;
	display: block;
	width:100%;
	padding:2.34375%;
	border-right:none;
}

.base_table td {
	display: block;
	width:100%;
	padding:2.34375%;
	border-right:none;
}


.base_table input[type=text],
.base_table input[type=password]{
	width:100%;
	margin-right:0px;
}

.base_table input[type=text].half {
	width:100%;
}




/* -------------------------------------
	column
---------------------------------------- */
.col_block{
	letter-spacing:-.40em;
	line-height:1.5;
	text-align:left;
}
.col_block .item {
	display:inline-block;
	letter-spacing:normal;
	margin:0 0 10px 0 ;
	vertical-align: top;
}

.col02 .item{
	width:100%;
	padding:0 1% 0 0;
}
.col03 .item{
	width:100%;
}



/* -------------------------------------
	必須マーク
---------------------------------------- */

table th.required_cell ,
table td.required_cell {
	padding:2.34375% 50px 2.34375% 2.34375%  ;
}

/* -------------------------------------
	エラー文言
---------------------------------------- */

.error_area {
	background:#fcecec;
	border:solid 1px #da0000;
	padding:20px;
	color:#da0000;
	margin:20px 0;
}

.error_area .pre_message {
	font-size:1.8rem;
	font-weight: bold;
	margin:0 0 10px 0;
}

.error_area ul {
	margin:0 0 0 1em;
}

.error_area li {
	list-style: disc;
	margin:0 0 5px 0;
}

.inner_error {
	margin:5px 0 10px 0;
	color:#da0000;
	font-size:1.2rem;
}

















/* -------------------------------------
	コンテンツ部
---------------------------------------- */


.visual {
	margin: 0 auto;
	width: 100%;
}




/* -------------------------------------
	ページトップ
---------------------------------------- */
.pagetop{
	display:none;
	position:fixed;
	right:10px;
	bottom:20px;
	z-index:5;
}
.pagetop a{
	background:#3d7080;
	border: 1px solid #fff;
	border-radius:50%;
	color:#fff;
	display:block;
	font-size:1rem;
	height:50px;
	text-align:center;
	text-decoration:none;
	width:50px;
}
.pagetop a:before {
	display: block;
	content: url(../images/icon_pagetop.png);
	height: 28px;
	padding: 4px 0 0 0;
}




































/* -------------------------------------
	モーダルボックス
---------------------------------------- */

.modalBoxContents {
	font-size:1.4rem;
	color:#666;
}

.modalBox {
	 padding:4.6875%;
	 width:90%;
	 height:90%;
}

.close.spClose{
	 background:#2f2f2f;
	 width:60px;
	 height:60px;
	 line-height:60px;
	 color:#fff;
	 cursor:pointer;
	 text-align:center;
	 font-size:300%;
	 position:fixed;
	 top:0px;
	 right:0px;
	 z-index:2002;

}



/*----------------------------------------*/
}
/*	end case 736px (スマホサイズ ここまで)
----------------------------------------*/





/* -------------------------------------
	case 640px (スマホの小さめのサイズ)   */
@media screen and (max-width: 640px) {
/*----------------------------------------*/
body{
	min-height:1px;
}
.container{
	max-width:640px;
	width:100%;
	margin:0 auto;
}

/*----------------------------------------*/
}
/*	end case 640px (スマホの小さめのサイズ ここまで)
----------------------------------------*/

