@charset "utf-8";
/* CSS Document */

/* header
   ========================================================================== */
header{
	position: relative;
}

header .logo{
	margin: 0 0 0;
	padding: 2vw 0 1vw;
	text-align: center;
}

header .logo a{
	display: inline-block;
	line-height: 0;
	width: 60%;
}

header .tel_box,
header .head_btn{
	display: none;
}


/* main_view
   ========================================================================== */
.main_view{
	margin: 0 0 0;
	line-height: 0;
	text-align: center;
}


/* cv
   ========================================================================== */

/* yellow
   ================================= */
.cv{
	margin: 0 0 0;
	line-height: 0;
	text-align: center;
}

.cv.yellow .bg{
	margin: 8vw auto 0;
	padding: 0 2vw 3vw;
	background: url(../images/cv/bg_yellow.jpg) repeat;
}

.cv.yellow ul{
	margin: 0 0 0;
	font-size: 0;
}

.cv.yellow ul li{
	margin: -7vw 0 0;
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
	width: 34%;
}

.cv.yellow ul li:nth-child(2){
	margin: -7vw -1% 0;
}

.cv .btn01{
	margin: 3vw auto 0;
	box-sizing: border-box;
	width: 95%;
}

.cv .btn01 a{
	margin: 0 0 0;
	line-height: 0;
	text-align: center;
	display: inline-block;
}

/* relief_cv
   ================================= */
.cv.relief_cv{
	margin: 4vw auto 0;
}

.cv.relief_cv .btn01{
	margin: 6vw auto 0;
}

.cv .relief{
	margin: 0 auto 0;
	line-height: 0;
	text-align: center;
	width: 90%;
}


/* tel_btn
   ================================= */
.cv.yellow .tel_btn{
	margin: 3vw 0 0;
}

.cv .tel_btn a{
	margin: 0 auto 0;
	padding: 3vw 0;
	line-height: 0;
	text-align: center;
	display: block;
	box-sizing: border-box;
	width: 92%;
	background: url(../images/cv/btn_bg.png) no-repeat center center;
	background-size: contain;
}

.cv .tel_btn a .text01{
	margin: 0 0 0;
	display: block;
	font-size: 4.5vw;
	line-height: 150%;
	font-weight: bold;
	color: #fff;
}

.cv .tel_btn a .tel{
	margin: 0 0 0;
	padding: 0 0 0 13vw;
	display: inline-block;
	font-size: 7.5vw;
	line-height: 120%;
	font-weight: bold;
	font-style: italic;
	color: #000;
	background: url(../images/common/free.png) no-repeat left center;
	background-size: 10vw;
}

.cv .tel_btn a .text02{
	margin: 0 0 0;
	display: block;
	font-size: 3.5vw;
	line-height: 150%;
	font-weight: bold;
	color: #fff;
}


/* faq
   ========================================================================== */
.faq{
	margin: 3vw 0 0;
}

.faq h2{
	margin: 0 0 0;
	line-height: 0;
	text-align: center;
	background: #181818;
}

.faq .comic{
	margin: 3vw 3vw 0;
	line-height: 0;
	text-align: center;
}

.faq .balloon{
	margin: 3vw 3vw 0;
	line-height: 0;
	text-align: center;
}


/* importance
   ========================================================================== */
.importance{
	margin: 5vw 0 0;
}

.importance h2{
	margin: 0 0 0;
	line-height: 0;
	text-align: center;
	background: #0071bc;
}

.importance .bg{
	margin: 0 0 0;
	padding: 2vw 0 0;
	text-align: center;
	background: url(../images/importance/bg.jpg) repeat;
}

.importance .bg p{
	margin: 5vw 0 0;
	line-height: 0;
}

.importance .bg .balloon{
	margin: 5vw 0 0;
	line-height: 0;
}

.importance .inner > p{
	margin: 0 0 0;
	line-height: 0;
}

.importance .so{
	margin: 3vw 0 0;
	padding: 8vw 0 2vw;
	line-height: 0;
	background: url(../images/importance/so_bg.jpg) no-repeat center top,#0071bc;
	background-size: 100%;
}


/* trouble
   ========================================================================== */
.trouble{
	margin: 10vw 0 0;
}

.trouble h2{
	margin: 0 0 0;
	line-height: 0;
	text-align: center;
	background: #319f2d;
}

.trouble .comic{
	margin: 3vw 2vw 0;
	line-height: 0;
	text-align: center;
}

.trouble .merit{
	margin: 5vw 6vw 0;
	line-height: 0;
	text-align: center;
}


/* different
   ========================================================================== */
.different{
	margin: 5vw 0 0;
}

.different h2{
	margin: 0 0 0;
	line-height: 0;
	text-align: center;
	background: #ff7f1c;
}

.different .bg{
	margin: 0;
	padding: 3vw 0 8vw;
	background: #f3f3f3;
}

.different .main{
	margin: 3vw 2vw 0;
	line-height: 0;
	text-align: center;
}

.different .slider{
	margin: 3vw auto 0;
	overflow: hidden;
}

.swiper-container{
	margin: 0 10px;
	padding: 0 0 15vw;
	overflow: unset;
}


/* ボタン
   ================================= */
.swiper-button-prev, .swiper-container-rtl .swiper-button-next{
	background: url(../images/different/slider/prev.png) no-repeat center center;
	background-size: contain;
	left: -10px;
	width: 10vw;
	height: 10vw;
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev{
	background: url(../images/different/slider/next.png) no-repeat center center;
	background-size: contain;
	right: -10px;
	width: 10vw;
	height: 10vw;
}

.swiper-slide .border_box{
	border: 5px solid #535353;
	background: #fff;
}

.swiper-pagination-bullet{
	width: 7vw;
	height: 7vw;
	background: #000;
	opacity: 1;
}

.swiper-pagination-bullet-active{
	background: #fcff00;
}

.swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets{
	bottom: 0;
}

/* コンテンツ
   ================================= */
.slider .top_block{
	margin: 0 0 0;
	position: relative;
	font-size: 0;
	box-sizing: border-box;
	min-height: 37vw;
}

.slider .top_block .left{
	margin: 0 0 0;
	padding: 3vw;
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
	width: 50%;
}

.slider .top_block .left h3{
	margin: 0 0 0;
	font-size: 7vw;
	line-height: 150%;
	color: #000;
}

.slider .top_block .left h3 span{
	font-size: 0.8em;
	color: inherit;
}

.slider .top_block .left p{
	margin: 3vw 0 0;
	font-size: 5vw;
	line-height: 150%;
	font-weight: bold;
	color: #000;
}

.slider .top_block .left .price{
	margin: 0 0 0;
	padding: 2vw 2vw 2vw 5vw;
	font-size: 7vw;
	line-height: 1;
	background: #fcff00;
	position: absolute;
	left: -5px;
	bottom: 5px;
	width: 48%;
	box-sizing: border-box;
	color: #000;
}

.slider .top_block .left .price span{
	font-size: 0.8em;
	color: inherit;
}

.slider .top_block .right{
	margin: 0 0 0;
	padding: 2vw 2vw 0 0;
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
	width: 50%;
	line-height: 0;
}

.slider .top_block .right a{
	display: block;
	position: relative;
}

.slider .top_block .right a::after{
	content: "";
	background: url(../images/different/slider/item.png) no-repeat center center;
	background-size: 85%;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.slider .bottom_block{
	margin: 0 0 0;
	padding: 3vw 5vw;
}

.slider .bottom_block table{
	width: 100%;
}

.slider .bottom_block table tr{
	border-top: 1px dashed #e0e3e7;
	border-bottom: 1px dashed #e0e3e7;
}

.slider .bottom_block table th{
	padding: 3vw 2vw;
	font-size: 3.5vw;
	line-height: 150%;
	font-weight: bold;
	background: #f2f2f2;
	box-sizing: border-box;
	width: 36%;
}

.slider .bottom_block table td{
	padding: 3vw 2vw;
	font-size: 3.5vw;
	line-height: 150%;
	font-weight: bold;
}


/* vision
   ========================================================================== */
.vision{
	margin: 5vw 0 0;
}

.vision h2{
	margin: 0 0 10vw;
	padding: 4vw 0;
	line-height: 0;
	text-align: center;
	background: #ececec;
	position: relative;
}

.vision h2::after{
	content: "";
	position: absolute;
	left: 50%;
	margin-left: -20vw;
	bottom: -8vw;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8vw 20vw 0 20vw;
	border-color: #ececec transparent transparent transparent;
}

.vision h2 + p{
	margin: 0 0 0;
	line-height: 0;
	text-align: center;
	background: #fefff0;
}

.vision .comic{
	margin: 3vw 2vw 0;
    line-height: 0;
    text-align: center;
}

.vision .comic + p{
	margin: 0 2vw 0;
    line-height: 0;
    text-align: center;
}


/* flow
   ========================================================================== */
.flow{
	margin: 5vw 0 0;
}

.flow h2{
	margin: 0 0 0;
	line-height: 0;
	text-align: center;
	background: #0a4882;
}

.flow .main{
	margin: 4vw 2vw 6vw;
	line-height: 0;
	text-align: center;
}


/* contact
   ========================================================================== */
.contact{
	margin: 5vw 0 0;
}

.contact h2{
	margin: 0 0 0;
	line-height: 0;
	text-align: center;
	background: #cc1111;
}

.contact .form_wrap{
	margin: 4vw auto 0;
	width: 95%;
	box-sizing: border-box;
	border: 1px solid #ccd3d5;
}

.req{
	margin-left: 5px;
	padding: 1.5vw 0;
	font-size: 3vw;
	font-weight: normal;
	text-align: center;
	vertical-align: top;
	line-height: 1;
	display: inline-block;
	color: #fff;
	background: #cc1111;
	border-radius: 8px;
}

.nini{
	margin-left: 5px;
	padding: 1.5vw 0;
	font-size: 3vw;
	font-weight: normal;
	text-align: center;
	vertical-align: top;
	line-height: 1;
	display: inline-block;
	color: #fff;
	background: #7f9097;
	border-radius: 8px;
}

.principal label{
	vertical-align: middle;
}

.principal p{
	padding-left: 4vw;
	display: inline-block;
	box-sizing: border-box;
	font-size: 4vw;
	line-height: 150%;
	color: #d44848;
	position: relative;
	vertical-align: middle;
	width: 75%;
}

.principal p::before{
	content: "※";
	position: absolute;
	left: 0;
}

.principal p br{
	display: none;
}

.nen::after{
	content: "年";
}

.gatsu::after{
	content: "月";
}

.hi::after{
	content: "日";
}

/* 共通
   ================================= */
.contact .form_wrap ul{
	margin: 0 0 0;
}

.contact .form_wrap ul li{
	margin: 0 0 0;
	padding: 3vw 3vw;
	border-bottom: solid 1px #ddd;
}

.contact .form_wrap ul li:last-child{
	border-bottom: none;
}

.contact .form_wrap ul li:nth-child(2n+2){
	background: #f1f0ef;
}

.contact .form_wrap ul li .left{
	position: relative;
}

.contact .form_wrap ul li .right{
	margin: 0 0 0;
	padding: 2vw 0 0;
    line-height: 150%;	
}

.contact input,
.contact textarea{
	font-size: 16px;
	padding: 5px;
	box-sizing: border-box;
	width: 100%;
	border: 3px solid #ddd;
	vertical-align: middle;
}

.contact select{
	font-size: 16px;
	padding: 5px;
	box-sizing: border-box;
	border: 3px solid #ddd;
	vertical-align: middle;
}

.contact .radio label{
	display: block;
	margin: 0 0 10px;
}

.contact .radio.inline label{
	display: inline-block;
	margin: 0 10px 0 0;
}

.contact .radio.inline p{
	margin: 10px 0 0;
}

.contact .radio label input{
	display: inline-block;
	width: auto;
}

.contact .date_and_time .text{
	margin: 0 0 10px;
	font-size: 16px;
}

.contact .date_and_time select{
	margin-right: 5px;
}

.contact .gatsu::after{
	content: "月";
}

.contact .hi::after{
	content: "日";
}

.contact .ji::after{
	content: "時";
}

.contact .fun::after{
	content: "分";
}


/* top_block
   ================================= */
.contact .form_wrap ul.top_block{
	padding: 0;
}

.contact .form_wrap ul.top_block li .left{
	font-size: 4vw;
	line-height: 150%;
	font-weight: bold;
	color: #444443;
}


/* bottom_block
   ================================= */
.contact .form_wrap ul.bottom_block li .left{
	font-size: 4vw;
	line-height: 150%;
	font-weight: normal;
	color: #333;
}

input::-webkit-input-placeholder {
    color: #9c9c9c;
    font-weight: bold;
}
input:-ms-input-placeholder {
    color: #9c9c9c;
    font-weight: bold;
}
input::-moz-placeholder {
    color: #9c9c9c;
    font-weight: bold;
}

textarea::-webkit-input-placeholder {
    color: #9c9c9c;
    font-weight: bold;
	line-height: 150%;
}
textarea:-ms-input-placeholder {
    color: #9c9c9c;
    font-weight: bold;
	line-height: 150%;
}
textarea::-moz-placeholder {
    color: #9c9c9c;
    font-weight: bold;
	line-height: 150%;
}


/* zsk_btn_area
   ================================= */
.zsk_btn_area{
	margin: 6vw 0 0;
	text-align: center;
	padding: 0 3vw;
	font-size: 0;
	line-height: 0;
}

.zsk_btn_area button{
	color: #FFF;
	border: none;
	padding: 0;
	border-radius: 6px;
}

.zsk_btn_area button img{
	width: 100%;
}

.zsk_btn_area .zsk_btn01{
	background: none;
	width: 100%;
}

.zsk_btn_area .zsk_btn02{
	margin-right: 2%;
	background: none;
	width: 26.5%;
}

.zsk_btn_area .zsk_btn03{
	background: none;
	width: 71.5%;
}


/* thanks
   ================================= */
.thanks{
	margin: 0;
}

.thanks p{
	margin: 5vw 3vw;
	font-size: 5vw;
	line-height: 150%;
}

.thanks .go_top_btn{
	margin: 5vw 0 0;
	text-align: center;
}

.thanks .go_top_btn a{
	padding: 3vw 10vw;
	display: inline-block;
	background: #ddd;
	color: #fff;
	font-size: 4vw;
	border-radius: 4px;
}


/* company
   ========================================================================== */
.company{
	margin: 10vw 0 0;
}

.company h2{
	margin: 0 0 0;
	line-height: 0;
	text-align: center;
	background: #0071bc;
}

.company .table_block{
	margin: 5vw auto 0;
	width: 95%;
}

.company .table_block table{
	width: 100%;
	box-sizing: border-box;
}

.company .table_block table th{
	padding: 2vw;
	width: 30%;
	font-size: 4vw;
	line-height: 150%;
	font-weight: bold;
	color: #fff;
	background: #648da8;
	border: 1px solid #ececec;
	text-align: center;
	box-sizing: border-box;
	vertical-align: middle;
}

.company .table_block table td{
	padding: 2vw;
	font-size: 3vw;
	line-height: 150%;
	border: 1px solid #ececec;
	vertical-align: middle;
}

.company .two_column{
	margin: 5vw 0 0;
}

.company .two_column .facebook{
	margin: 0 auto 0;
	width: 95%;
	text-align: center;
}

.company .two_column .facebook iframe{
	height: 100vw;
	width: 88%;
}

.company .two_column .map{
	margin: 4vw auto 0;
	width: 95%;
	text-align: center;
}

.company .two_column .map iframe{
	height: 100vw;
	width: 100%;
}

.company ul.photo_list{
	margin: 3vw 2vw 0;
	font-size: 0;
	text-align: center;
}

.company ul.photo_list li{
	margin: 2vw 0 0;
	line-height: 0;
	width: 49%;
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
}

.company ul.photo_list li:nth-child(2){
	margin: 2vw 0 0 2%;
}


/* footer
   ========================================================================== */
footer{
	margin: 7vw 0 0;
	background: #e5f2ff;
	padding: 3vw 0 27vw;
}

footer .logo{
	margin: 0 0 0;
	padding: 2vw 0 1vw;
	text-align: center;
}

footer .logo a{
	display: inline-block;
	line-height: 0;
	width: 60%;
}

footer .tel_box,
footer .head_btn{
	display: none;
}

footer address{
	font-size: 3vw;
	color: #000;
	padding: 3vw 0;
	text-align: center;
}


/* TOPへ戻るボタン
   ========================================================================== */
#page-top {
	position:  fixed;
	bottom: 10px;
	right: 10px;
	width: 40px;
    z-index: 4;
	line-height: 0;
}

#page-top img{
	width: 100%;
}

#page-top span{
	display: none;
}

#page-top a {
	display: block;
	height: auto;
	opacity: 0.8;
	transition: ease-in 0.3s;
}

#page-top a:hover {
	opacity: 1;
}


/* bottom_tel
   ========================================================================== */

	.bottom_tel img {
		border: none;
		vertical-align: bottom;
		max-width:  100%;
		height:  auto;
		width /***/: auto;
	}

	.bottom_tel{
		width: 100%;
		display: block;
		position: fixed; bottom: 0;
		background: #FFF;
        z-index: 99;
	}

	.bottom_tel .title{
		padding: 2px;
		background: #ff1a1a;
		font-size: 12px;
		color: #FFF;
		line-height: 150%;
		font-weight: bold;
		text-align: center;
	}

	.bottom_tel .inner{
		padding: 5px;
		border: 1px solid #ff1a1a;
		border-top: none;
		overflow: hidden;
	}

	.bottom_tel .tel{
		padding: 1vw 0 0;
		width: 76%;
		float: left;
		text-align: center;
	}

	.bottom_tel .acc{
		width: 14%;
		padding-top: 1px;
		display: inline-block;
		vertical-align: top;
	}

	.bottom_tel .number{
		display: inline-block;
		vertical-align: top;
	}

	.bottom_tel .number a{
		background: url(../images/common/free.png) no-repeat left center;
		background-size: 8vw;
		padding: 0 0 0 10vw;
		font-size: 7vw;
		color: #444;
		line-height: 120%;
		font-weight: bold;
	}

	.bottom_tel .tel .text{
		padding-top: 0px;
		font-size: 3vw;
		color: #444;
		line-height: 150%;
		text-align: center;
	}

	.bottom_tel .btn{
		width: 23%;
		float: right;
		font-size: 0;
	}

	.bottom_tel .item{
		width: 100%;
		display: inline-block;
		vertical-align: top;
	}

	.bottom_tel .item a{
		padding: 3px;
		display: block;
		text-align: center;
	}

	.bottom_tel .item:last-child a{
		margin-left: 1%;
		padding: 0;
	}

	.bottom_tel .icon{
		width: 36%;
		margin: 0 auto;
		display: block;
		line-height: 0;
	}

	.bottom_tel .btn .text{
		padding-top: 2px;
		display: block;
		font-size: 9px;
		color: #FFF;
		line-height: 120%;
	}


@media screen and (min-width : 768px){

	/* header
	   ========================================================================== */
	header{
		position: relative;
		font-size: 0;
	}
	
	header .inner{
		padding: 10px;
	}
	
	header .logo{
		margin: 0 0 0;
		padding: 0;
		display: inline-block;
		vertical-align: middle;
		box-sizing: border-box;
		width: 40%;
	}
	
	header .logo a{
		width: 100%;
	}
	
	header .tel_box{
		padding: 0 10px 0 15px;
		display: inline-block;
		vertical-align: middle;
		box-sizing: border-box;
		width: 40%;
	}
	
	header .tel_box .tel{
		margin: 0 0 0;
	}
	
	header .tel_box .tel a{
		padding: 5px 0 5px 55px;
		display: block;
		font-size: 27px;
		color: #ff1a1a;
		font-style: italic;
		font-weight: bold;
		background: url(../images/common/free.png) no-repeat left center;
		background-size: 50px;
	}
	
	header .tel_box p{
		margin: 3px 0 0;
		font-size: 16px;
		text-align: center;
		font-weight: bold;
	}
	
	header .head_btn{
		display: inline-block;
		vertical-align: middle;
		box-sizing: border-box;
		width: 20%;
		line-height: 0;
	}
	
	header .head_btn a{
		display: inline-block;
	}
	
	
	/* main_view
	   ========================================================================== */
	.main_view{
		margin: 0 0 0;
	}


	/* cv
	   ========================================================================== */
	
	/* yellow
	   ================================= */
	.cv{
		margin: 0 0 0;
		line-height: 0;
		text-align: center;
	}

	.cv.yellow ul li:nth-child(2){
		margin: -7vw -1.1% 0;
	}


	/* faq
	   ========================================================================== */
	.faq{
		margin: 3vw 0 0;
	}


	/* importance
	   ========================================================================== */
	.importance{
		margin: 5vw 0 0;
	}


	/* trouble
	   ========================================================================== */
	.trouble{
		margin: 10vw 0 0;
	}


	/* different
	   ========================================================================== */
	.different{
		margin: 5vw 0 0;
	}

	.swiper-container{
		margin: 0 10px;
		padding: 0 0 15vw;
	}
	
	
	/* ボタン
	   ================================= */
	.swiper-button-prev, .swiper-container-rtl .swiper-button-next{
		background: url(../images/different/slider/prev.png) no-repeat center center;
		background-size: contain;
		left: -10px;
		width: 8vw;
		height: 8vw;
	}
	
	.swiper-button-next, .swiper-container-rtl .swiper-button-prev{
		background: url(../images/different/slider/next.png) no-repeat center center;
		background-size: contain;
		right: -10px;
		width: 8vw;
		height: 8vw;
	}
	
	.swiper-slide .border_box{
		border: 5px solid #535353;
		background: #fff;
	}
	
	.swiper-pagination-bullet{
		width: 5vw;
		height: 5vw;
	}
	
	.swiper-pagination-bullet-active{
		background: #fcff00;
	}
	
	/* コンテンツ
	   ================================= */
	.slider .top_block{
		margin: 0 0 0;
		position: relative;
		font-size: 0;
	}
	
	.slider .top_block .left{
		margin: 0 0 0;
		padding: 3vw;
		display: inline-block;
		vertical-align: top;
		box-sizing: border-box;
		width: 50%;
	}
	
	.slider .top_block .left h3{
		margin: 0 0 0;
		font-size: 54px;
	}
	
	.slider .top_block .left p{
		margin: 20px 0 0;
		font-size: 40px;
	}
	
	.slider .top_block .left .price{
		margin: 0 0 0;
		padding: 2vw 2vw 2vw 5vw;
		font-size: 54px;
		left: -5px;
		bottom: 10px;
	}
	
	.slider .top_block .right{
		margin: 0 0 0;
		padding: 2vw 2vw 0 0;
		width: 50%;
	}
	
	.slider .bottom_block{
		margin: 0 0 0;
		padding: 3vw 5vw;
	}
	
	.slider .bottom_block table th{
		padding: 3vw 2vw;
		font-size: 18px;
		width: 36%;
	}
	
	.slider .bottom_block table td{
		padding: 3vw 2vw;
		font-size: 18px;
	}


	/* vision
	   ========================================================================== */
	.vision{
		margin: 5vw 0 0;
	}


	/* flow
	   ========================================================================== */
	.flow{
		margin: 5vw 0 0;
	}


	/* contact
	   ========================================================================== */
	.contact{
		margin: 5vw 0 0;
	}

	.contact .form_wrap{
		margin: 30px auto 0;
		width: 95%;
	}
	
	.req{
		padding: 10px 0;
		font-size: 15px;
		vertical-align: middle;
	}
	
	.nini{
		padding: 10px 0;
		font-size: 15px;
		vertical-align: middle;
	}
	
	.principal label{
		vertical-align: middle;
	}
	
	.principal p{
		padding-left: 20px;
		font-size: 18px;
		width: 80%;
	}
	
	/* 共通
	   ================================= */
	.contact .form_wrap ul{
		margin: 0 0 0;
	}
	
	.contact .form_wrap ul li{
		margin: 0 0 0;
		padding: 3vw 3vw;
	}
	
	.contact .form_wrap ul li .right{
		margin: 0 0 0;
		padding: 2vw 0 0;
	}
	
	.contact input,
	.contact textarea{
		font-size: 16px;
		padding: 10px;
	}
	
	.contact select{
		font-size: 16px;
		padding: 10px;
	}
	
	.contact .radio label{
		display: block;
		margin: 0 0 10px;
	}

	.contact .radio.inline label{
		margin: 0 20px 0 0;
	}

	.contact .radio.inline p{
		font-size: 16px;
		line-height: 170%;
	}
	
	.contact .radio label input{
		display: inline-block;
		width: auto;
	}
		
	/* top_block
	   ================================= */
	.contact .form_wrap ul.top_block{
		padding: 0;
	}
	
	.contact .form_wrap ul.top_block li .left{
		font-size: 16px;
	}
	
	.contact .form_wrap ul.top_block li .right{
		font-size: 16px;
	}
		
	/* bottom_block
	   ================================= */
	.contact .form_wrap ul.bottom_block{
		padding: 3vw 3vw 0;
		background: #f1f0ef;
	}
	
	.contact .form_wrap ul.bottom_block li .left{
		font-size: 24px;
	}
	
	.contact .form_wrap ul.bottom_block li .right{
		font-size: 24px;
	}

	/* zsk_btn_area
	   ================================= */
	.zsk_btn_area{
		margin: 50px auto 0;
		padding: 0 20px;
	}
	
	.zsk_btn_area button{
		color: #FFF;
		border: none;
		padding: 0;
		margin: 0 0 0;
	}
	
	.zsk_btn_area .zsk_btn01{
		background: none;
		width: auto;
	}
	
	.zsk_btn_area .zsk_btn02{
		background: none;
	}
	
	.zsk_btn_area .zsk_btn03{
		background: none;
	}
	
	.zsk_btn_area button:hover{
		opacity: 0.7;
	}

	/* thanks
	   ================================= */
	.thanks{
		margin: 0;
	}
	
	.thanks p{
		font-size: 22px;
		line-height: 150%;
		text-align: center;
	}
	
	.thanks .go_top_btn{
		margin: 20px 0 0;
		text-align: center;
	}
	
	.thanks .go_top_btn a{
		padding: 15px 50px;
		display: inline-block;
		background: #ddd;
		color: #fff;
		font-size: 16px;
		border-radius: 4px;
	}


	/* company
	   ========================================================================== */
	.company{
		margin: 10vw 0 0;
	}
	
	.company h2{
		margin: 0 0 0;
	}
	
	.company .table_block{
		margin: 5vw auto 0;
		width: 95%;
	}
	
	.company .table_block table{
		width: 100%;
		box-sizing: border-box;
	}
	
	.company .table_block table th{
		padding: 2vw;
		width: 30%;
		font-size: 4vw;
	}
	
	.company .table_block table td{
		padding: 2vw;
		font-size: 3vw;
	}
	
	.company .two_column{
		margin: 5vw 2vw 0;
		font-size: 0;
	}
	
	.company .two_column .facebook{
		margin: 0 auto 0;
		display: inline-block;
		vertical-align: top;
		box-sizing: border-box;
		width: 43%;
	}
	
	.company .two_column .facebook iframe{
		height: 370px;
		width: 100%;
	}
	
	.company .two_column .map{
		margin: 0 auto 0;
		padding: 0 0 0 2vw;
		width: 57%;
		display: inline-block;
		vertical-align: top;
		box-sizing: border-box;
	}
	
	.company .two_column .map iframe{
		height: 370px;
		width: 100%;
	}
	
	.company ul.photo_list{
		margin: 0 2vw 0;
		font-size: 0;
		text-align: center;
	}
	
	.company ul.photo_list li{
		margin: 2vw 0 0;
		width: 32%;
	}
	
	.company ul.photo_list li:nth-child(2){
		margin: 2vw 2% 0;
	}


	/* footer
	   ========================================================================== */
	footer{
		margin: 7vw 0 0;
		padding: 3vw 0 0;
		font-size: 0;
	}
	
	footer .inner{
		padding: 10px;
	}
	
	footer .logo{
		margin: 0 0 0;
		padding: 0;
		display: inline-block;
		vertical-align: middle;
		box-sizing: border-box;
		width: 40%;
	}
	
	footer .logo a{
		width: 100%;
	}
	
	footer .tel_box{
		padding: 0 10px 0 15px;
		display: inline-block;
		vertical-align: middle;
		box-sizing: border-box;
		width: 40%;
	}
	
	footer .tel_box .tel{
		margin: 0 0 0;
	}
	
	footer .tel_box .tel a{
		padding: 5px 0 5px 55px;
		display: block;
		font-size: 27px;
		color: #000;
		font-style: italic;
		font-weight: bold;
		background: url(../images/common/free.png) no-repeat left center;
		background-size: 50px;
	}
	
	footer .tel_box p{
		margin: 3px 0 0;
		font-size: 16px;
		text-align: center;
		font-weight: bold;
	}
	
	footer .head_btn{
		display: inline-block;
		vertical-align: middle;
		box-sizing: border-box;
		width: 20%;
		line-height: 0;
	}
	
	footer .head_btn a{
		display: inline-block;
	}
	
	footer address{
		font-size: 14px;
		padding: 3vw 0;
	}
	
    
    /* TOPへ戻るボタン
       ========================================================================== */
    #page-top {
    	position:  fixed;
    	bottom:  20px;
    	right:  20px;
    	z-index: 100;
		width: auto;
    }
    	
    #page-top img{
    	width: auto;
    }
    	
    #page-top span{
    	display: none;
    }
    	
    #page-top a{
    	display: block;
    	height: 69px;
    	opacity: 1;
    	transition: ease-in 0.3s;
		line-height: 0;
    }
    	
    #page-top a:hover {
    	opacity: 0.8;
    }

    
    /* bottom_tel
       ========================================================================== */
    .bottom_tel{
    	display: none;
    }

}
@media screen and (min-width : 769px){
    

	/* header
	   ========================================================================== */
	header{
		position: relative;
		font-size: 0;
	}
	
	header .inner{
		padding: 20px 20px 20px 30px;
	}
	
	header .logo{
		margin: 0 0 0;
		width: 40%;
	}
	
	header .tel_box{
		padding: 0 10px 0 15px;
		width: 42%;
	}
	
	header .tel_box .tel{
		margin: 0 0 0;
	}
	
	header .tel_box .tel a{
		padding: 8px 0 5px 62px;
		font-size: 33px;
		background: url(../images/common/free.png) no-repeat left center;
		background-size: 52px;
	}
	
	header .tel_box p{
		margin: 3px 0 0;
		font-size: 18px;
	}
	
	header .head_btn{
		width: 18%;
	}
	
	
	/* main_view
	   ========================================================================== */
	.main_view{
		margin: 0 0 0;
	}


	/* cv
	   ========================================================================== */
	
	/* yellow
	   ================================= */
	.cv{
		margin: 0 0 0;
		line-height: 0;
		text-align: center;
	}
	
	.cv.yellow .inner{
		margin: 0 auto 0;
		padding: 0 0 25px;
	}
	
	.cv.yellow .bg{
		margin: 75px auto 0;
		padding: 0 0 25px;
	}
	
	.cv.yellow ul{
		margin: 0 20px 0 0;
	}
	
	.cv.yellow ul li{
		margin: -58px 0 0;
		width: 34%;
	}
	
	.cv.yellow ul li:nth-child(2){
		margin: -58px -1% 0;
	}
	
	.cv .btn01{
		margin: 23px auto 0;
		width: 100%;
	}

	/* relief_cv
	   ================================= */
	.cv.relief_cv{
		margin: 30px auto 0;
	}
	
	.cv.relief_cv .btn01{
		margin: 55px auto 0;
	}
	
	.cv .relief{
		margin: 0 auto 0;
		width: 100%;
	}

	/* tel_btn
	   ================================= */
	.cv.yellow .tel_btn{
		margin: 23px 0 0;
	}
	
	.cv .tel_btn a{
		margin: 0 auto 0;
		padding: 21px 0;
		width: 819px;
		height: 240px;
		background: url(../images/cv/btn_bg.png) no-repeat center center;
		background-size: auto;
	}
	
	.cv .tel_btn a .text01{
		margin: 0 0 0;
		font-size: 42px;
	}
	
	.cv .tel_btn a .tel{
		margin: 0 0 0;
		padding: 0 0 0 130px;
		font-size: 76px;
		background: url(../images/common/free.png) no-repeat left center;
		background-size: auto;
	}
	
	.cv .tel_btn a .text02{
		margin: 0 0 0;
		font-size: 32.5px;
	}


	/* faq
	   ========================================================================== */
	.faq{
		margin: 20px 0 0;
	}
	
	.faq h2{
		margin: 0 0 0;
	}
	
	.faq .comic{
		margin: 22px auto 0;
	}
	
	.faq .balloon{
		margin: 20px auto -5px;
	}


	/* importance
	   ========================================================================== */
	.importance{
		margin: 30px 0 0;
	}
	
	.importance h2{
		margin: 0 0 0;
	}
	
	.importance .bg{
		margin: 0 0 0;
		padding: 1px 0 0;
	}
	
	.importance .bg p{
		margin: 60px 0 0;
	}
	
	.importance .bg p:nth-child(2),
	.importance .bg p:nth-child(3){
		margin: 30px 0 0;
	}
	
	.importance .bg .balloon{
		margin: 45px 0 0;
	}
	
	.importance .so{
		margin: 30px 0 0;
		padding: 43px 0 20px;
	}


	/* trouble
	   ========================================================================== */
	.trouble{
		margin: 70px 0 0;
	}
	
	.trouble h2{
		margin: 0 0 0;
	}
	
	.trouble .comic{
		margin: 35px auto 0;
	}
	
	.trouble .merit{
		margin: 45px auto 0;
	}


	/* different
	   ========================================================================== */
	.different{
		margin: 40px 0 0;
	}
	
	.different h2{
		margin: 0 0 0;
	}
	
	.different .bg{
		margin: 0;
		padding: 52px 0;
	}
	
	.different .main{
		margin: 0 auto 0;
	}
	
	.different .slider{
		margin: 45px  auto 0;
	}

	.swiper-container{
		margin: 0 70px;
		padding: 0 0 90px;
	}
	
	
	/* ボタン
	   ================================= */
	.swiper-button-prev, .swiper-container-rtl .swiper-button-next{
		background: url(../images/different/slider/prev.png) no-repeat center center;
		background-size: auto;
		left: -60px;
		top: 42%;
		width: 93px;
		height: 93px;
	}
	
	.swiper-button-next, .swiper-container-rtl .swiper-button-prev{
		background: url(../images/different/slider/next.png) no-repeat center center;
		background-size: auto;
		right: -60px;
		top: 42%;
		width: 93px;
		height: 93px;
	}

	.swiper-button-prev, .swiper-container-rtl .swiper-button-next,
	.swiper-button-next, .swiper-container-rtl .swiper-button-prev{
		transition: .3s;
	}

	.swiper-button-prev:hover, .swiper-container-rtl .swiper-button-next:hover,
	.swiper-button-next:hover, .swiper-container-rtl .swiper-button-prev:hover{
		opacity: .7;
	}

	
	.swiper-slide .border_box{
		border: 10px solid #535353;
		background: #fff;
	}
	
	.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet{
		margin: 0 8px;
	}
	
	.swiper-pagination-bullet{
		width: 45px;
		height: 45px;
		transition: .3s;
	}
	
	.swiper-pagination-bullet:hover{
		opacity: .7;
	}
	
	.swiper-pagination-bullet-active{
		background: #fcff00;
	}
	
	/* コンテンツ
	   ================================= */
	.slider .top_block{
		margin: 0 0 0;
		box-sizing: border-box;
		min-height: 309px;
	}
	
	.slider .top_block .left{
		margin: 0 0 0;
		padding: 42px 0 0 25px;
		width: 50%;
	}
	
	.slider .top_block .left h3{
		margin: 0 0 0;
		font-size: 66px;
	}
	
	.slider .top_block .left p{
		margin: 0 0 0;
		font-size: 40px;
	}
	
	.slider .top_block .left .price{
		margin: 0 0 0;
		padding: 15px 10px 8px 50px;
		font-size: 54px;
		left: -10px;
		bottom: 15px;
	}
	
	.slider .top_block .right{
		margin: 0 0 0;
		padding: 15px 15px 0 0;
		width: 50%;
	}

	.slider .top_block .right a::after{
		content: "";
		background: url(../images/different/slider/item.png) no-repeat center center;
		background-size: 85%;
	}
	
	.slider .bottom_block{
		margin: 0 0 0;
		padding: 38px 30px 20px;
	}
	
	.slider .bottom_block table th{
		padding: 14px 0 14px 25px;
		font-size: 22px;
		width: 200px;
	}
	
	.slider .bottom_block table td{
		padding: 14px 25px;
		font-size: 22px;
	}


	/* vision
	   ========================================================================== */
	.vision{
		margin: 5vw 0 0;
	}
	
	.vision h2{
		margin: 0 0 90px;
		padding: 35px 0 15px;
	}
	
	.vision h2::after{
		margin-left: -191px;
		bottom: -70px;
		border-style: solid;
		border-width: 70px 191px 0 191px;
		border-color: #ececec transparent transparent transparent;
	}
	
	.vision h2 + p{
		margin: 0 0 0;
		line-height: 0;
		text-align: center;
		background: #fefff0;
	}
	
	.vision .comic{
		margin: 20px auto 0;
	}
	
	.vision .comic + p{
		margin: 0 auto 53px;
	}


	/* flow
	   ========================================================================== */
	.flow{
		margin: 105px 0 0;
	}
	
	.flow h2{
		margin: 0 0 0;
	}
	
	.flow .main{
		margin: 50px auto 60px;
	}


	/* contact
	   ========================================================================== */
	.contact{
		margin: 75px 0 0;
	}
	
	.contact h2{
		margin: 0 0 0;
	}

	.contact .form_wrap{
		margin: 45px auto 0;
		width: 865px;
	}
	
	.req{
		margin: auto;
		padding: 8px 0 6px;
		font-size: 16px;
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		height: 16px;
	}
	
	.nini{
		margin: auto;
		padding: 8px 0 6px;
		font-size: 16px;
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		height: 16px;
	}
	
	.principal label{
		vertical-align: middle;
	}
	
	.principal p{
		padding-left: 28px;
		font-size: 24px;
		line-height: 120%;
		width: 260px;
	}
	
	.principal p br{
		display: block;
	}
	
	/* 共通
	   ================================= */
	.contact .form_wrap ul{
		margin: 0 0 0;
	}
	
	.contact .form_wrap ul li{
		margin: 0;
		padding: 16px 40px;
	}
	
	.contact .form_wrap ul li:last-child{
		margin: 0 0 0;
	}
	
	.contact .form_wrap ul li .right{
		margin: 0 0 0;
		padding: 0;
	}
	
	.contact input,
	.contact textarea{
		font-size: 18px;
		padding: 10px 20px;
	}
	
	.contact select{
		font-size: 18px;
		padding: 10px;
	}
	
	.contact .bottom_block input,
	.contact .bottom_block textarea{
		font-size: 18px;
	}
	
	.contact .bottom_block select{
		font-size: 18px;
	}
	
	.contact .add .text{
		width: 178px;
		display: inline-block;
	}
	
	.contact .add select{
		width: 240px;
	}
	
	.contact .radio label{
		display: block;
		margin: 0 0 2px;
		line-height: 230%;
	}
	
	.contact .radio label input{
		display: inline-block;
		width: auto;
	}
	
	.contact textarea{
		height: 155px;
	}
	
	
	/* radio_btn 装飾
	   ================================= */
	.radio_btn {
		display: none !important;
	}
	
	.radio_btn + .radio-icon{
		    margin: -4px 0 0;
		position: relative;
	    display: inline-block;
	    line-height: 0;
		vertical-align: middle;
	}
	
	.radio_btn + .radio-icon::before{
		content: "";
		border: 2px solid #9c9c9c;
		font-size: 22px;
		border-radius: 4px;
		width: 26px;
		height: 26px;
		display: inline-block;
		box-sizing: border-box;
	}
	
	.radio_btn:checked + .radio-icon::after{
		content: "";
		color: #9c9c9c;
		line-height: 1;
		position: absolute;
		border-radius: 50px;
		left: 50%;
		top: 50%;
		width: 18px;
		height: 18px;
		margin-left: -9px;
		margin-top: -9px;
		background: #9c9c9c;
	}
	
	
	/* top_block
	   ================================= */
	.contact .form_wrap ul.top_block{
		padding: 0;
	}
	
	.contact .form_wrap ul.top_block li .left{
		padding: 0 80px 0 0;
		font-size: 16px;
		display: inline-block;
		vertical-align: middle;
		box-sizing: border-box;
		width: 320px;
	}
	
	.contact .form_wrap ul.top_block li .right{
		padding: 0 0 0 30px;
		font-size: 16px;
		display: inline-block;
		vertical-align: middle;
		box-sizing: border-box;
		width: 457px;
	}
		
	/* bottom_block
	   ================================= */
	.contact .form_wrap ul.bottom_block{
		padding: 30px 40px 23px;
	}
	
	.contact .form_wrap ul.bottom_block li .left{
		font-size: 28px;
		display: inline-block;
		vertical-align: middle;
		box-sizing: border-box;
	}
	
	.contact .form_wrap ul.bottom_block li .right{
		font-size: 24px;
		display: inline-block;
		vertical-align: middle;
		box-sizing: border-box;
	}
	
	.contact .form_wrap ul.bottom_block li:nth-child(1) .left{
		width: 55%;
	}
	
	.contact .form_wrap ul.bottom_block li:nth-child(1) .right{
		width: 44%;
	}
	
	.contact .form_wrap ul.bottom_block li:nth-child(2) .left,
	.contact .form_wrap ul.bottom_block li:nth-child(3) .left{
		margin-right: 30px;
	}
	
	.contact .form_wrap ul.bottom_block li:nth-child(4) .left{
		width: 60%;
	}
	
	.contact .form_wrap ul.bottom_block li:nth-child(4) .right{
		width: 39%;
	}
	
	.contact .form_wrap ul.bottom_block li:nth-child(4) .right select{
		padding: 10px 0;
	}
	
	.contact .form_wrap ul.bottom_block li:nth-child(5) .left{
		width: 60%;
	}
	
	.contact .form_wrap ul.bottom_block li:nth-child(5) .right{
		width: 39%;
	}
	
	.contact .form_wrap ul.bottom_block li:nth-child(6) .left{
		width: 100%;
	}
	
	.contact .form_wrap ul.bottom_block li:nth-child(6) .right{
		margin-top: 20px;
		width: 100%;
	}

	/* zsk_btn_area
	   ================================= */
	.zsk_btn_area{
		margin: 25px auto 0;
		padding: 0;
	}
	
	.zsk_btn_area button{
		border: none;
		padding: 0;
		margin: 0 0 0;
		transition: .3s;
		cursor: pointer;
	}
	
	.zsk_btn_area .zsk_btn01{
		background: none;
		width: auto;
	}
	
	.zsk_btn_area .zsk_btn02{
		margin-right: 10px;
		background: none;
	}
	
	.zsk_btn_area .zsk_btn03{
		background: none;
	}
	
	.zsk_btn_area button:hover{
		opacity: 0.7;
	}

	/* thanks
	   ================================= */
	.thanks{
		margin: 0;
	}
	
	.thanks p{
		margin: 50px 0;
		font-size: 28px;
		line-height: 150%;
		text-align: center;
	}
	
	.thanks .go_top_btn{
		margin: 20px 0 0;
		text-align: center;
	}
	
	.thanks .go_top_btn a{
		padding: 15px 50px;
		display: inline-block;
		background: #ddd;
		color: #fff;
		font-size: 16px;
		border-radius: 4px;
	}


	/* company
	   ========================================================================== */
	.company{
		margin: 100px 0 50px;
	}
	
	.company h2{
		margin: 0 0 0;
	}
	
	.company .table_block{
		margin: 60px auto 0;
		width: 810px;
	}
	
	.company .table_block table{
		width: 100%;
	}
	
	.company .table_block table th{
		padding: 10px;
		width: 185px;
		font-size: 28px;
	}
	
	.company .table_block table td{
		padding: 12px 25px;
		font-size: 17px;
	}
	
	.company .two_column{
		margin: 35px auto 0;
		width: 810px;
	}
	
	.company .two_column .facebook{
		margin: 0 auto 0;
		width: 315px;
	}
	
	.company .two_column .facebook iframe{
		height: 370px;
		width: 100%;
	}
	
	.company .two_column .map{
		margin: 0 auto 0;
		padding: 0 0 0 15px;
		width: 495px;
	}
	
	.company .two_column .map iframe{
		height: 370px;
		width: 100%;
	}
	
	.company ul.photo_list{
		margin: 0 auto 0;
		width: 810px;
	}
	
	.company ul.photo_list li{
		margin: 30px 0 0;
		width: 32%;
	}
	
	.company ul.photo_list li:nth-child(2){
		margin: 30px 2% 0;
	}
    
    
    /* footer
       ========================================================================== */
    footer{
    	margin: 55px 0 0;
		padding: 0;
    }
	
	footer .inner{
		padding: 40px 20px 25px 30px;
	}
	
	footer .logo{
		margin: 0 0 0;
		width: 40%;
	}
	
	footer .tel_box{
		padding: 0 10px 0 15px;
		width: 42%;
	}
	
	footer .tel_box .tel{
		margin: 0 0 0;
	}
	
	footer .tel_box .tel a{
		padding: 8px 0 5px 62px;
		font-size: 33px;
		background: url(../images/common/free.png) no-repeat left center;
		background-size: 52px;
	}
	
	footer .tel_box p{
		margin: 3px 0 0;
		font-size: 18px;
	}
	
	footer .head_btn{
		width: 18%;
	}
    	
    footer address{
    	font-size: 16px;
    	padding: 35px 0 0;
    }

}