@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;
}

/* 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(../image/contents/top/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(../image/contents/top/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 #d8d8d8;
}

.table-content th {
	text-align:left;
	background-color:#f4f4f4;
	/*width:28%;*/
	padding:20px;
	border-bottom:1px solid #d8d8d8;
	border-right:1px solid #d8d8d8;
	vertical-align:top;
	white-space:nowrap;
}

.table-content th .ic-required {
	float:right;
	margin-left:150px;
}

.table-content td {
	padding:15px;
	border-bottom:1px solid #d8d8d8;
	border-right:1px solid #d8d8d8;
	background-color:#ffffff;
}

@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;
}


/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}