@charset "utf-8";
/* CSS Document */

/* -----------------------------------------------------------------------------
	responsive list-content
 -------------------------------------------------------------------------------*/

#contents .list-primary {
	width:calc(100% + 30px);
}

#contents .list-primary .list{
	width:calc(25% - 30px);
	min-height:100px;
	margin-right:30px;
	margin-bottom:30px;
	background-color:#cccccc;
	float:left;
}

@media screen and (max-width: 900px) {
	#contents .list-primary .list { width:calc(33.333% - 30px); }
}

@media screen and (max-width: 800px) {
	#contents .list-primary .list { width:calc(50% - 30px); }
}

@media screen and (max-width: 640px) {
	#contents .list-primary .list { width:calc(100% - 30px); }
}

/* -----------------------------------------------------------------------------
	responsive img-auto-width
 -------------------------------------------------------------------------------*/

.img-auto-width{
	position:relative;
	width:calc(100% + 30px);
}

.img-auto-width img, .img-auto-width figure, .img-auto-width .item{
	width:calc(25% - 30px);
	height:auto;
	margin-right:30px;
	margin-bottom:30px;
	float:left;
	transition:0.3s;
}

.img-auto-width.column3 img, .img-auto-width.column3 figure, .img-auto-width.column3 .item{
	width:calc(33.333% - 30px);
	height:auto;
	margin-right:30px;
	margin-bottom:30px;
	float:left;
	transition:0.3s;
}

.img-auto-width.column2 img, .img-auto-width.column2 figure, .img-auto-width.column2 .item{
	width:calc(50% - 30px);
	height:auto;
	margin-right:30px;
	margin-bottom:30px;
	float:left;
	transition:0.3s;
}

/* figure */

@media screen and (max-width: 900px) {
	.img-auto-width img, .img-auto-width figure, .img-auto-width .item { width:calc(33.333% - 30px); }
}

@media screen and (max-width: 800px) {
	.img-auto-width img, .img-auto-width figure, .img-auto-width .item { width:calc(50% - 30px); }
}

@media screen and (max-width: 640px) {
	.img-auto-width img, .img-auto-width figure, .img-auto-width .item { width:calc(100% - 30px); }
}

.img-auto-width figure{
	text-align:center;
}

.img-auto-width figure img{
	width:100% !important;
	height:auto;
	margin-bottom:15px;
}

/* alternative */

.img-auto-width .item a{
	width:100%;
	height:300px !important;
	display:block;
	background-position:center top;
	background-repeat:no-repeat;
	background-size:contain;
}

/* alternative figure */

.img-auto-width .item figure{
	width:100% !important;
}

.img-auto-width .item figure a{
	margin-bottom:15px;
}

/* -----------------------------------------------------------------------------
	responsive pickup
 -------------------------------------------------------------------------------*/

.pickup{
	position:relative;
}

.pickup-layout {
	width:calc(100% + 30px);
}

.pickup-layout .list{
	box-sizing:border-box;
	position:relative;
	float:left;
	background-color:#ffffff;
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.09);
    -moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.09);
    -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.09);
}

.pickup-layout .list a{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	z-index:99;
}

.pickup-layout .list a::after{
	content:"";
	background-color:rgba(255,255,255,0);
	transition:0.3s;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.pickup-layout .list a:hover::after{
	background-color:rgba(255,255,255,0.3);
}

.pickup-layout .list .new{
	background-image:url(../image/contents/top/new.png);
	position:absolute;
	top:0;
	left:0;
	width:50px;
	height:50px;
	text-indent:100%;
	overflow:hidden;
	white-space:nowrap;
	z-index:100;
}

/* column 6 */

.pickup-layout .list{
	width:calc(16.662% - 30px);
	box-sizing:border-box;
	margin-right:30px;
	margin-bottom:30px;
}

/* column 5 */

@media screen and (max-width: 1750px) {
	.pickup-layout .list{
		width:calc(20% - 30px);
		box-sizing:border-box;
		margin-right:30px;
		margin-bottom:30px;
	}
}

/* column 4 */

@media screen and (max-width: 1500px) {
	.pickup-layout .list{
		width:calc(25% - 30px);
		box-sizing:border-box;
		margin-right:30px;
		margin-bottom:30px;
	}
}

/* column 3 */

@media screen and (max-width: 1270px) {
	.pickup-layout .list{
		width:calc(33.333% - 30px);
		box-sizing:border-box;
		margin-right:30px;
		margin-bottom:30px;
	}
}

/* column 2 */

@media screen and (max-width: 1080px) {
	.pickup-layout .list{
		width:calc(50% - 30px);
		box-sizing:border-box;
		margin-right:30px;
		margin-bottom:30px;
	}
}

/* column 4 */

@media screen and (max-width: 1000px) {
	.pickup-layout .list{
		width:calc(25% - 30px);
		box-sizing:border-box;
		margin-right:30px;
		margin-bottom:30px;
	}
}

/* column 3 */

@media screen and (max-width: 900px) {
	.pickup-layout .list{
		width:calc(33.333% - 30px);
		box-sizing:border-box;
		margin-right:30px;
		margin-bottom:30px;
	}
}

/* column 2 */

@media screen and (max-width: 730px) {
	.pickup-layout .list{
		width:calc(50% - 30px);
		box-sizing:border-box;
		margin-right:30px;
		margin-bottom:30px;
	}
}

/* thum-area */

.pickup-layout .list .thum-area{
	position:relative;
	overflow:hidden;
	width:100%;
	height:233px;
}

.pickup-layout .list .thum-area::after{
	content:"";
	background-position:bottom;
	background-repeat:no-repeat;
	background: -moz-linear-gradient(top, rgba(255,255,255,0) 1%, rgba(255,255,255,0) 55%, rgba(255,255,255,1) 100%);
	background: -webkit-linear-gradient(top, rgba(255,255,255,0) 1%,rgba(255,255,255,0) 55%,rgba(255,255,255,1) 100%);
	background: linear-gradient(to bottom, rgba(255,255,255,0) 1%,rgba(255,255,255,0) 55%,rgba(255,255,255,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 );
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	min-height:233px;
	display:block;
	z-index:10;
}

.pickup-layout .list .thum-area .thum{
	background-image : url(sample.jpg);
	background-position:center top;
	background-repeat:no-repeat;
	background-size:cover;
	width:100%;
	height:233px;
	position:relative;
	z-index:2;
}

.pickup-layout .list .thum-area .thum-blur{
	background-image : url(sample.jpg);
	background-position:center bottom;
	background-repeat:no-repeat;
	background-size:cover;
	width:calc(100% + 20px);
	height:233px;
	margin-left:-5px;
	margin-top:-5px;
	-webkit-filter: blur(5px);
	-moz-filter: blur(5px);
	-o-filter: blur(5px);
	-ms-filter: blur(5px);
	filter: blur(5px);
	position:absolute;
	top:0;
	left:0;
	z-index:1;
	opacity:0.5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
}

.pickup-layout .list .thum-area.portrait .thum{
	background-size:contain;
	background-position:center top;
	max-height:233px;
	width:auto;
	margin-left:auto;
	margin-right:auto;
}

.pickup-layout .list .thum-area.nocrop .thum{
	width:calc(100% - 40px);
	margin-left:auto;
	margin-right:auto;
	margin-top:20px;
	background-position:center top;
	background-size:contain;
	background-repeat:no-repeat;
}

/* detail */

.pickup-layout .list .detail{
	padding-left:20px;
	padding-right:20px;
	padding-bottom:20px;
	margin-top:-20px;
	position:relative;
	z-index:11;
}

.pickup-layout .list .detail .detail-option{
	padding-bottom:6px;
}

.pickup-layout .list .detail .detail-option .space{
	display:inline-block;
	background-color:#4b4b4b;
	color:#ffffff;
	text-align:center;
	height:26px;
	line-height:24px;
	font-size:16px;
	padding-left:10px;
	padding-right:10px;
}

.pickup-layout .list .detail .detail-option .price{
	display:inline-block;
	background-color:#d14e4e;
	color:#ffffff;
	text-align:center;
	height:26px;
	line-height:24px;
	font-size:16px;
	padding-left:10px;
	padding-right:10px;
}

@media screen and (max-width: 640px) {
	.pickup-layout .list .detail .detail-option .space{
		font-size:20px;
		height:32px;
		line-height:32px;
	}
	.pickup-layout .list .detail .detail-option .price{
		font-size:20px;
		height:32px;
		line-height:32px;
	}
}

.pickup-layout .list .detail h4{
	margin:0;
	position:0;
	font-size:16px;
	color:#19896e;
	font-weight:normal;
	line-height:20px;
}

@media screen and (max-width: 640px) {
	.pickup-layout .list .detail h4{
		font-size:22px;
		line-height:26px;
	}
}

.pickup-layout .list .detail p{
	margin:0;
	padding:0;
	padding-top:3px;
	line-height:18px;
}

@media screen and (max-width: 640px) {
	.pickup-layout .list .detail p{
		line-height:26px;
	}
}

/* -----------------------------------------------------------------------------
	table
 -------------------------------------------------------------------------------*/

.table-content{
	margin-bottom:30px;
}

.table-content table{
  width:100%;
  border-collapse:collapse;
  text-align:left;
  border:1px solid #bbd0ea;
}

.table-content th{
	text-align:left;
	background-color:#e4f0ff;
	width:15%;
	padding:12px;
	border-bottom:1px solid #bbd0ea;
	border-right:1px solid #bbd0ea;
	vertical-align:top;
	white-space:nowrap;
	font-weight:normal;
	box-sizing:border-box;
	word-break: break-all;
}

.table-content th .ic-required{
	float:right;
	margin-left:150px;
}

.table-content td{
	padding:12px;
	border-bottom:1px solid #bbd0ea;
	border-right:1px solid #bbd0ea;
	background-color:#ffffff;
	box-sizing:border-box;
	word-break: break-all;
}

@media screen and (max-width: 700px) {
/* column break - example 700px */

	.table-content th{
		text-align:left;
		background-color:#f4f4f4;
		width:100% !important;
		padding:20px;
		border-bottom:1px solid #d8d8d8;
		vertical-align:top;
		white-space:nowrap;
		display:block;
		box-sizing:border-box;
	}
	
	.table-content th .ic-required{
		float:right;
		margin-left:150px;
	}
	
	.table-content td{
		width:inherit;
		padding:15px;
		border-bottom:1px solid #d8d8d8;
		display:block;
	}

}

/* -----------------------------------------------------------------------------
	link button
 -------------------------------------------------------------------------------*/

.link-button a{
	display:block;
	margin-left:auto;
	margin-right:auto;
	width:99.6%;
	height:60px;
	line-height:60px;
	border-radius:30px;
	position:relative;
	margin-bottom:30px;
	text-align:center;
	text-decoration:none !important;
	font-size:18px;
	font-weight:bold;
	color:#4f4f4f !important;
	transition:0.3s;
	background-repeat:no-repeat;
	background-position:left;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,f6f6f6+47,ededed+100;White+3D+%231 */
	background: rgb(255,255,255); /* Old browsers */
	background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(246,246,246,1) 47%, rgba(237,237,237,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(246,246,246,1) 47%,rgba(237,237,237,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(246,246,246,1) 47%,rgba(237,237,237,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ededed',GradientType=0 ); /* IE6-9 */
	box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.43);
    -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.43);
    -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.43);
	overflow:visible;
}

.link-button a:hover{
	text-decoration:underline !important;
}

.link-button.mono a{
	border:2px solid #8d8d8d;
	color:#333333 !important;
	font-weight:normal;
}

.link-button.harf a{
	padding-top:10px;
	padding-bottom:10px;
	padding-left:55px;
	border:1px solid #cccccc;
}

.link-button a.pdf{
	background-image:url(../image/layout/pdf.png); text-align:left;
}
.link-button a.doc{
	background-image:url(../image/layout/doc.png); text-align:left;
}
.link-button.mono a.pdf{
	background-image:url(../image/layout/pdf-mono.png); text-align:left;
}
.link-button.mono a.doc{
	background-image:url(../image/layout/doc-mono.png); text-align:left;
}
.link-button.harf a.pdf{
	background-image:url(../image/layout/pdf.png); text-align:left; background-size:40px 59px;
}
.link-button.harf a.doc{
	background-image:url(../image/layout/doc.png); text-align:left; background-size:40px 59px;
}
.link-button.mono.harf a.pdf{
	background-image:url(../image/layout/pdf-mono.png); text-align:left; background-size:40px 59px;
}
.link-button.mono.harf a.doc{
	background-image:url(../image/layout/doc-mono.png); text-align:left; background-size:40px 59px;
}


/* -----------------------------------------------------------------------------
	form
 -------------------------------------------------------------------------------*/
 
.entry-mail_form{
	margin-top:0px;
}

.entry-mail_form table{
	width:100%;
	border-collapse:collapse;
	text-align:left;
	border:1px solid #d8d8d8;
}

.entry-mail_form tr:last-child th,
.entry-mail_form tr:last-child td{
	border-bottom:0;
}

.entry-mail_form th{
	text-align:left;
	background-color:#f4f4f4;
	width:28%;
	padding:20px;
	border-bottom:1px solid #d8d8d8;
	vertical-align:top;
	white-space:nowrap;
}

.entry-mail_form th .ic-required{
	float:right;
	margin-left:150px;
}

.entry-mail_form td{
	padding:15px;
	border-bottom:1px solid #d8d8d8;
}

/* send ok */

.sendok{
	font-size:28px !important;
	color:#fd7070;
	font-family: 'Noto Sans Japanese', sans-serif;
	text-align:center;
	margin-bottom:20px !important;
	display:block;
	font-weight:800;
	line-height:36px;
}

/* form material */

textarea{
	resize:vertical;
}
textarea,
.ip_l{
	width:100%;
}
.ip_ss{
	width:10%;
}
.ip_s{
	width:15%;
}
.ip_m{
	width:60%;
}

input[type="text"],
select,
textarea{
	padding:6px;
	border:1px solid #e0e0e0;
	background-color:#fff;
  box-sizing:border-box;
}

input[type="text"]:focus,
select:focus,
textarea:focus{
	border-color:#b9b9b9;
}

option{
	padding-right:0.5em;
}

.error input[type="text"], 
.error textarea,
.error select{
	border-color:#f8bbbd;
	background-color:#ffeeee;
}

.error .m-ckbox +label::before,
.error .m-radio +label::before{
	border-color:#f8bbbd;
	background-color:#ffeeee;
}

.error p{
	padding-bottom:0.5em;
}

.txt-red{
	color:#ff0000;
}

.ic-required{
	display:inline-block;
	background-color:#f0686c;
	color:#fff;
	padding:0.25em 1em;
	box-sizing:border-box;
	border-radius:2px;
	-moz-border-radius:2px;
	-webkit-border-radius:2px;
	font-weight:normal;
}


/* form button */

.post-btn{
	width:100%;
	margin-left:auto;
	margin-right:auto;
	text-align:center;
	margin-top:30px;
}

.form-btn{
	width:370px;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	border:none;
	margin-left:auto;
	margin-right:auto;
	outline:none;
	text-decoration:none;
	border-radius:3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	background-color:#5a5555;
	color:#fff;
	padding:15px;
	font-size:20px;
	display:inline-block;
	-moz-transition:background-color ease-in-out  0.15s;
	-o-transition:background-color ease-in-out  0.15s;
	-webkit-transition:background-color ease-in-out  0.15s;
	transition:background-color ease-in-out  0.15s;
}

.form-btn:hover{
	background-color:#6a5858;
}

.form-btn:disabled,
.form-btn:disabled:hover{
	background-color:#6a5858;
}

.form-btn-back,
.form-btn-clear{
	width:370px;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	border:none;
	margin:0;
	outline:none;
	text-decoration:none;
	border-radius:3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	background-color:rgba(200,200,200,1);
	color:#fff;
	padding:15px;
	font-size:20px;
	-moz-transition:background-color ease-in-out  0.15s;
	-o-transition:background-color ease-in-out  0.15s;
	-webkit-transition:background-color ease-in-out  0.15s;
	transition:background-color ease-in-out  0.15s;
	display:inline-block;
}

.form-btn-back:hover,
.form-btn-clear:hover{
	background-color:rgba(200,200,200,0.65);
}

.form-btn-back:disabled,
.form-btn-back:disabled:hover,
.form-btn-clear:disabled,
.form-btn-clear:disabled:hover{
	background-color:#c8c8c8;
}

/* chkbox */

.m-ckbox{
	display:none;
	margin-top:-0.25em;
}

.m-ckbox +label{
	display:inline-block;
	cursor:pointer;
	margin-top:0.25em;
	margin-bottom:0.25em;
	font-family:inherit;
}

.m-ckbox +label::before{
	width:1.5em;
	height:1.5em;
	line-height:1.5em;
	font-size:1em;
	display:inline-block;
	vertical-align:middle;
	text-align:center;
	color:transparent;
	padding:0;
	border-radius:3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	border:2px solid #c8c8c8;
	background-color:#fff;
	margin:-2px 0.5em 0 0;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-transition:border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s, background-color ease-in-out .15s;
	-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s, background-color ease-in-out .15s;
	transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s, background-color ease-in-out .15s;
}

.m-ckbox:hover +label::before{
	background-color:#c8c8c8;
	color:#fff;
}

.m-ckbox:checked +label::before{
	border-color:#ffc841;
	background-color:#ffc841;
	color:#fff;
}

/* chkbox group */

.m-ckbox-group label{
	margin-right:1.5em;
}

/* label size */

.m-ckbox +label.label--s{
	min-width:6em;
}
.m-ckbox +label.label--m{
	min-width:10em;
}
.m-ckbox +label.label--l{
	min-width:15em;
}
.m-ckbox +label.label--2l{
	min-width:31.5em;
}

/* radio button */

.m-radio{
	display:none;
	margin-top:-0.25em;
}

.m-radio +label{
	display:block;
	cursor:pointer;
	margin-top:0.25em;
	margin-bottom:0.25em;
	font-family:inherit;
}

.m-radio +label::before{
	width:1.25em;
	height:1.25em;
	display:inline-block;
	content:"";
	border-radius:1.25em;
	-moz-border-radius:1.25em;
	-webkit-border-radius:1.25em;
	vertical-align:middle;
	border:2px solid #c8c8c8;
	background-color:#fff;
	margin:-2px 5px 0 0;
	-webkit-transition:border-color ease-in-out .15s, background-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
	-o-transition:border-color ease-in-out .15s, background-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
	transition:border-color ease-in-out .15s, background-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
}

.m-radio:hover +label::before{
	border-color:#c8c8c8;
	background-color:#c8c8c8;
	box-shadow:inset 0 0 0 0.25em #fff;
}

.m-radio:checked +label::before{
	border-color:#4593ea;
	background-color:#4593ea;
	box-shadow:inset 0 0 0 0.25em #fff;
}

/* radio button group */

.m-radio-group label{
	margin-right:1.5em;
}