@charset "UTF-8";
/** Common CSS Code**/

.header {
	overflow: hidden;
}

.header img {
	width: 100%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.header h1 {
	width: 50%;
	background: rgba(0,0,0,0.6);
	border: 0;
	color: #ffffff;
	padding: 10px 0;
	margin: 0 auto;
	text-align: center;
	clip-path: polygon(0 0, 100% 0, 95% 100%, 5% 100%);
}

.features {
	display: flex;
	border: #dedede solid;
	border-width: 0 1px 0 0;
}

.features div{
	display: inline-block;
	width: calc(100% / 3);
	padding: 0 25px;
	border: #dedede solid;
	border-width: 0 0 0 1px;
}

.features div img{
	width: 100%;
	margin: 0 auto 10px auto;
}

.features_link {
	display: flex;
	margin: 50px auto 0 auto;
}

.features_link .halfBox {
	width: 50%;
	text-align: center;
	background-color: #f3f3f3;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.features_link .halfBox.left {
	padding: 50px 25px 50px 75px;
}

.features_link .halfBox.right {
	padding: 50px 75px 50px 25px;
}

a.nsb_btn {
	display: block;
	padding: 20px 40px;
	background-color: #444444;
	color: #ffffff!important;
	font-size: 140%;
	border-radius: 5px;
	text-align: center;
	transition: 0.2s;
}

a.nsb_btn.liyakuBtn {
	width: auto;
	display: inline-block;
}

a.nsb_btn img {
	height: 21px;
	margin: 0 0 0 20px;
	top: -1px;
	filter: brightness(0%) invert(100%);
}

a.nsb_btn:hover {
	background-color: #777777;
	color: #ffffff!important;
	transition: 0.2s;
}

a.nsb_btn img.icon {
	height: 40px;
	margin: 0 20px 0 0;
	top: -1px;
}

.contents_box .contactBox {
	background-color: #f3f3f3;
	padding: 50px;
}

.contents_box .contactBox .txt {
	width: 70%;
	display: inline-block;
	vertical-align: top;
}

.contents_box .contactBox .txt .tel {
	margin: 15px 0 0 0;
}

.contents_box .contactBox .txt .tel_num {
	margin: 10px 0 0 5px;
	font-size: 70px;
}

.contents_box .contactBox .nsb_btn {
	width: 30%;
	display: inline-block;
	vertical-align: top;
}

.g-nav a.nsb_btn {
	display: inline-block;
	padding: 12px 20px;
	font-size: 120%;
	vertical-align: top;
	margin: 0 0 0 10px;
	transition: 0.2s;
}

table.price {
	border: #cccccc solid;
	border-width: 2px 0 0 2px;
	width: 100%;
	line-height: 1.3em;
	font-size: 90%;
}

table.price tr {
	border: #cccccc solid;
	border-width: 0 2px 2px 0;
}

table.price tr.type {
	border: #cccccc solid;
	border-width: 0 2px 1px 0;
}

table.price td {
	border: #cccccc solid;
	border-width: 0 1px 1px 0;
	padding: 10px 20px;
	text-align: center;
}

table.price .item {
	background-color: #f3f3f3;
}

table.price .left {
	text-align: left;
}

table.price.options td {
	width: 25%;
	white-space: nowrap;
}

table.price.options td img {
	width: 400px;
	margin: 0 auto 10px auto;
}

.bold {
	font-weight: bold;
}

h2.price {
	margin: 30px auto 10px auto;
}

.featuresBox {
}

.featuresBox img {
	width: 30%;
	margin: 0 50px 20px 0;
	border-radius: 20px;
}

.featuresBox .txtBox {
	width: calc(70% - 50px);
	display: inline-block;
	font-size: 120%;
	line-height: 1.8em;
	vertical-align: top;
	margin: 0 auto 30px auto;
}

.featuresBox .txtBox h3 {
	margin: 5px auto 20px auto;
}

#howto .step {
	border: #cccccc solid;
	border-width: 1px 0;
	padding: 30px 0;
	margin: 0 200px;
}

#howto .step h2 {
	border-width: 0;
	margin: 0;
	padding: 0;
	font-size: 140%;
}

#howto .step .txt {
	margin: 0;
	display: inline-block;
	vertical-align: middle;
	width: calc(100% - 240px);
}

#howto img.step_icon {
	margin: 0 40px 0 0;
	width: 200px;
}

#howto img.nextArrow {
	margin: 0 auto 20px auto;
}

.pcCell {}
.spCell {display: none;}

/* ------------------------------------------------------ */
@media only screen and (max-width : 1920px) {
/* ------------------------------------------------------ */

}

/* ------------------------------------------------------ */
@media only screen and (max-width : 1336px) {
/* ------------------------------------------------------ */

}

/* ------------------------------------------------------ */
@media only screen and (max-width : 1250px) {
/* ------------------------------------------------------ */
.menu_time {
	padding: 0 0 10px 0;
	line-height: 1.3em;
}

#howto .step {
    margin: 0;
}
	
}

/* ------------------------------------------------------ */
@media only screen and (max-width : 1130px) {
/* ------------------------------------------------------ */
.features_link .halfBox.left {
	padding: 30px 15px 30px 30px;
}
.features_link .halfBox.right {
	padding: 30px 30px 30px 15px;
}
}

/* ------------------------------------------------------ */
@media only screen and (max-width : 1030px) {
/* ------------------------------------------------------ */
	.features_link {
		display: block;
	}
	.features_link .halfBox {
		width: 100%;
	}
.features_link .halfBox.left {
	padding: 30px 30px 15px 30px;
}
.features_link .halfBox.right {
	padding: 15px 30px 30px 30px;
}

.header h1 {
	width: 80%;
}

table.price {
	border: #cccccc solid;
	border-width: 0;
}

table.price .item {
	display: none;
}

table.price .sp_item {
	background-color: #f3f3f3;
	display: block;
}

table.price td.type_item {
	border: #cccccc solid;
	border-width: 2px 2px 1px 2px;
	background-color: #eeeeee;
}

table.price .sp_item.space {
	margin: 20px auto 0 auto;
}

table.price td {
	display: block;
	border: #cccccc solid;
	border-width: 1px 2px 0 2px;
}

table.price td.sp_end {
	border: #cccccc solid;
	border-width: 1px 2px 2px 2px;
}
	
table.price tr {
	border: #cccccc solid;
	border-width: 0;
}

table.price tr.type {
	border: #cccccc solid;
	border-width: 0;
}

	table.price.options td {
		width: 100%;
		text-align: center;
	}

	table.price.options td.end {
		border-width: 1px 2px 2px 2px;
	}
	
table.price td.option_type_item {
	border: #cccccc solid;
	border-width: 2px 2px 0 2px;
	background-color: #ffffff;
}

table.price .left {
    text-align: center;
}

.pcCell {display: none;}
.spCell {display: inline;}

}

/* ------------------------------------------------------ */
@media only screen and (max-width : 900px) {
/* ------------------------------------------------------ */
	.contents_box .contactBox,
	.contents_box .contactBox .txt {
		width: 100%;
		text-align: center;
	}
	
	.contents_box .contactBox .nsb_btn {
		width: auto;
		margin: 20px auto 0 auto;
	}
}

/* ------------------------------------------------------ */
@media only screen and (max-width : 640px) {
/* ------------------------------------------------------ */

	.features {
		display: block;
    border: #dedede solid;
    border-width: 0;
	}
	
	.features div {
    display: inline-block;
    width: 100%;
    padding: 0 25px;
    border: #dedede solid;
    border-width: 0 1px;
		margin: 0 auto 30px auto;
}

}

/* ------------------------------------------------------ */
@media only screen and (max-width : 600px) {
/* ------------------------------------------------------ */
a.nsb_btn {
	padding: 20px 20px;
	font-size: 120%;
}

a.nsb_btn img {
	height: 17px;
}

a.nsb_btn img.icon {
	height: 30px;
}

.header h1 {
	font-size: 120%;
}

table.price.options td img {
    width: 100%;
}

.featuresBox img {
	width: 80%;
	margin: 0 auto 20px auto;
	display: block;
}

.featuresBox .txtBox {
	width: 100%;
	margin: 0 auto 50px auto;
}

#howto .step {
	margin: 0;
}

#howto .step h2 {
	text-align: center;
	margin: 0 auto 10px auto;
	word-break: keep-all;
}

#howto .step .txt {
	margin: 0;
	display: inline-block;
	vertical-align: middle;
	width: 100%;
}

#howto img.step_icon {
	margin: 0 auto 10px auto;
	width: 50%;
	display: block;
}

#howto img.nextArrow {
	width: 70px;
}

.contents_box .contactBox .txt .tel_num {
	font-size: 50px;
}

.contents_box .contactBox .txt .tel {
    margin: 10px 0 0 0;
}

	.contents_box .contactBox {
		word-break: keep-all;
	}

}

/* ------------------------------------------------------ */
@media only screen and (max-width : 440px) {
/* ------------------------------------------------------ */
.contents_box .contactBox .txt .tel_num {
	font-size: 40px;
}

.contents_box .contactBox .txt .tel {
    margin: 5px 0 0 0;
}
}

/* ------------------------------------------------------ */
@media only screen and (max-width : 380px) {
/* ------------------------------------------------------ */ 
a.nsb_btn {
	font-size: 100%;
}

a.nsb_btn img {
	height: 13px;
	margin:  0 0 0 10px;
}

a.nsb_btn img.icon {
	margin:  0 10px 0 0;
}

}