@charset "UTF-8";
html,body{width:100%;}
#wrapper {
	line-height:1.4;
	color:#474747;
	overflow:hidden;
}
a{
    opacity: 1;
    transition: 0.3s ;
}
a:hover{
    opacity: 0.7;
}
@media screen and (max-width: 767px) {
	img{
		max-width:100%;
	}
}

/*ページTOP*/
.pagetop {
	display:none;
	display:inline-block;
	position: fixed;
	z-index: 25;
	right: 10px;
	bottom: 80px;
	opacity:0.7;
}
@media screen and (max-width: 767px) {
	.pagetop {
		width:15%;
	}
	.pagetop img{
		width:100%;
		height:auto;
	}
}
/*end ページTOP*/

/*メインビジュアル*/
#mainviz {
	width: 100%;
	text-align: center;
}
#mainviz .bg_main{
	position:relative;
	width:100%;
	max-width:1300px;
    min-height: 100px;
	height:auto;
	overflow:hidden;
	margin:0 auto;
}
#mainviz .bg_main .mainimg_pc{
	width:100%;
}
#mainviz .bg_main .mainimg_sp {
	display:none;
}
#mainviz .bg_main .logo{
	position:absolute;
	top:20px;
	left:165px;
}
#mainviz .bg_main .mv_btn{
	position:absolute;
	bottom:74px;
	right:130px;
}
@media screen and (max-width: 1300px) {
	#mainviz .bg_main .logo{
		max-width:179px;
		width:18%;
		top:1.5vw;
		left:16%;
	}
	#mainviz .bg_main .mv_btn{
		max-width:405px;
		width:30%;
		bottom: 6vw;
		right:12%;
	}
}

@media screen and (max-width: 767px) {
	#mainviz .bg_main .mainimg_pc{
		display: none;
	}
	#mainviz .bg_main .mainimg_sp {
        display: block;
        margin: 9vw auto;
	}
    #mainviz .bg_main .logo{
        width:30%;
        top:6.5vw;
		left:6%;
    }
    #mainviz .bg_main .mv_btn{
		width:54%;
		bottom: 28vw;
		right:4%;
	}
}
/*end メインビジュアル*/

/*フッター*/
#footer {
	width: 100%;
	background: #33cccc;
	color: #FFFFFF;
	text-align: center;
	padding:2em 0 1em;
}
#footer .foot_tbl {
    display: table;
    max-width: 580px;
    width: 100%;
    margin: 2em auto;
}
#footer .foot_tbl li{
    display: table-cell;
    width: 50%;
    text-align: left;
    font-size: 20px;
}
#footer .foot_tbl li:first-child{
    text-align: center;
}
#footer .foot_tbl li a{
    color: #fff;
    line-height: 2em;
}
#footer .copyright {
	margin-top:2em;
	font-size:13px;
}
@media screen and (max-width: 1024px) {
	#footer .inner {margin:0 0.8em;}
}

@media screen and (max-width: 767px) {
	#footer {
	}
	#footer .copyright {
		font-size:2vw;
	}
    #footer .foot_tbl {
        display: block;
    }
    #footer .foot_tbl li{
        display: block;
        width: 100%;
        text-align: center;
    }
    #footer .copyright {
        font-size:3.5vw;
    }
}
/*end フッター*/

/*コンテンツ*/
#container {width:100%;}

h2.subt{
	text-align:center;
	margin:0 auto;
}
@media screen and (max-width: 1024px) {
	
}

@media screen and (max-width: 767px) {
	h2.subt img{
		height:7vw;
	}
}
/*end コンテンツ*/


/*sec1*/
.review {
	padding-bottom:60px;
}
.review .inner{
	background-image: url(../img/review_bg.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size:100% auto;
}
.review_tbl{
	max-width:940px;
	width:98%;
	display:table;
	margin:45px auto;
}
.review_tbl li{
	display:table-cell;
	vertical-align:top;
	width:50%;
}
.review_tbl li:first-child {
	padding-left:4em;
}
.review_tbl li:first-child p{
	margin-bottom:1em;
	font-size:18px;
}
.review_tbl li:nth-child(2){
	text-align:center;
}
@media screen and (max-width: 1024px) {
	.review_tbl li:first-child {
		padding-left:4%;
	}
	.review_tbl li:first-child p{
		font-size:1.8vw;
	}
	
}

@media screen and (max-width: 767px) {
    .review{
        padding-top: 2em;
        padding-bottom: 2em;
    }
	.review_tbl{
		display:block;
		width:96%;
	}
	.review_tbl li{
		display:block;
		width:100%;
	}
	.review_tbl li:first-child {
		padding-left:0;
	}
	.review_tbl li:first-child p{
		font-size:4vw;
	}
	.review_sumaho{
		width:18%;
        float: right;
        margin-top: -35px;
	}
    .review_hyou{
        width: 80%;
        margin-right: -15%;
        margin-top: 20px;
    }
		
}
/*end sec1*/

/*sec2*/
.voice{
	background-color: rgba(255,255,204,0.32);
	padding: 1em 0 65px;
	text-align: center;
}
.voice .note{
    margin: 2em auto 50px;
    font-size: 16px;
    font-weight: 700;
    color: #3300ff;
}
.voice .voice_li li{
    position: relative;
    display: block;
    max-width: 600px;
    width: 98%;
    box-sizing: border-box;
    padding: 1em 70px;
    margin: 0 auto 35px;
    border: solid 3px #ccc;
    border-radius: 10px;
    background: #fff;
    text-align: left;
}
.voice .voice_li li .icon{
    position: absolute;
    top:-30px;
    left:-30px;
}
.voice .voice_li li:nth-child(even) .icon{
    left: inherit;
    right: -30px;
}
.voice .client{
    display: inline-block;
    margin-bottom: 1em;
    font-size: 16px;
    font-weight: 700;
    border-bottom: solid 4px #ffff00;
}
.voice .voice_li li p{
    font-size: 13px;
}
@media screen and (max-width: 1024px) {
	
}

@media screen and (max-width: 767px) {
    .voice{
        padding-bottom: 2em;
    }
    .voice .voice_li li .icon{
        left:0;
    }
	.voice .voice_li li:nth-child(even) .icon{
        right: 0;
    }
    .voice .client{
        font-size: 4vw;
    }
    .voice .voice_li li{
        padding: 1em 1em 1em 70px;
    }
    .voice .voice_li li:nth-child(even){
        padding: 1em 70px 1em 1em;
    }
    .voice .voice_li li p{
        font-size: 3.5vw;;
    }
}
/*end sec2*/

/*sec3*/
.voice2{
    text-align: center;
    padding-bottom: 70px;
}
.voice2 .voice_arrow{
    max-width: 210px;
    width: 30%;
    margin-bottom: 1em;
}
.voice2 h3.linetxt{
	display: inline;
	font-size: 24px;
	font-weight: 700;
	background: linear-gradient(transparent 60%, #9FD8F2 0);
}
@media screen and (max-width: 1024px) {
	
}

@media screen and (max-width: 767px) {
    .voice2 h3.linetxt{
        font-size: 4.5vw;
    }
}
/*end sec3*/

/*sec4*/
.choise{
    background-image: url(../img/choise_bg.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size:cover;
    padding-bottom: 130px;
}
.choise h2.subt{
    margin-bottom: 60px;
}
.choise .white_box{
    max-width: 927px;
    width: 96%;
    box-sizing: border-box;
    margin: 10px auto;
    padding: 30px;
    background: #fff;
	-webkit-box-shadow: 3px 3px 8px 0px rgba(0,0,0,0.6);
	box-shadow: 3px 3px 8px 0px rgba(0,0,0,0.6);
}
.choise h3.linetxt{
    text-align: center;
    margin-bottom: 1em;
}
.choise h3.linetxt span{
	display: inline;
	font-size: 24px;
	font-weight: 700;
	background: linear-gradient(transparent 60%, #ffee8e 0);
	color: #0000cc;
}
.choise h3.linetxt p{
    font-size: 16px;
}
.choise .midl_tbl{
    display: table;
    max-width: 765px;
    width: 90%;
    margin: 50px auto 120px;
}
.choise .midl_tbl li{
    display: table-cell;
    vertical-align: middle;
}
.choise .midl_tbl li:nth-child(2){
    display: none;
} 

.choise .green_box {
    padding: 24px 30px;
	background-color: rgba(0,153,153,0.65);
    font-size: 13px;
    color: #fff;
}
.choise .green_box .link a{
    color: #fff;
    text-decoration: underline;
}
@media screen and (max-width: 1024px) {
	
}

@media screen and (max-width: 767px) {
    .choise{
        padding-bottom: 4em;
        background-position: right top;
    }
    .choise h2.subt{
        margin-bottom: 1.5em;
    }
    .choise h3.linetxt span{
        font-size: 4.3vw;
    }
    .choise .midl_tbl{
        margin: 50px auto 50px;
    }
    .choise .midl_tbl,
    .choise .midl_tbl li{
        display: block;
    }
    .choise .midl_tbl li img{
        width:40%;
        margin-top: 1em;
        margin-left: 20%;
    }
    .choise .fs_10{font-size: 2vw;}
}
/*end sec4*/

/*sec5*/
.bnr{
    padding: 30px 0 80px;
    text-align: center;
}
@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 767px) {
    .bnr img{
        max-width: 454px;
        width: 90%;
        margin-left: 7%;
    }
}
/*end sec5*/

/*sec6*/
.flow h2{
    margin-bottom: 1em;    
}
.flow .gray{
	background-color: rgba(234,227,227,0.70);
    padding:60px 0;
}
.flow_li {
	max-width: 1024px;
    width:100%;
	margin:0 auto;
	display:-webkit-box;/*--- Androidブラウザ用 ---*/
	display:-ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex; /* Safari */
	display: -webkit-box-flex; /* Safari */
	display: flex;
	-ms-flex-wrap:wrap;/*--- IE10用 ---*/
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-ms-justify-content:space-between;/*--- IE10用 ---*/
	-webkit-justify-content: space-between; /* Safari */
	justify-content:         space-between;
}
.flow_li li{
	max-width: 210px;
    width: 22%;
	box-sizing: border-box;
	margin: 0 10px;
	padding: 15px 10px 0;
	background: #fff;
	position: relative;
	border: 2px dotted #333333;
    text-align: center;
}
.flow_li li:after{
	content:"";
	width:20px;
	height:23px;
	background-image: url(../img/flow_arrow.png);
	background-repeat: no-repeat;
	background-position: left 0;
	background-size: 100% 100%;
	position: absolute;
	top:50%;
	right:-45px;
}
.flow_li li:last-child:after{
	display:none;
}
.flow_li li h3 {
	margin-bottom: 1em;
}
.flow_li li h4 {
    margin-bottom: 1em;
	line-height:2em;
	text-align:center;
	font-size:17px;
	font-weight:700;
	color:#fff;
    background: #006699;
}
.flow_li li h4.line2 {
	line-height:1.4em;
}
.flow_li li p{
	font-size:13.5px;
	padding:0.5em 0 2em;
}

@media screen and (max-width: 1024px) {
	.flow_li {
		width:96%;
	}
	.flow_li li h4 {
		font-size:1.8vw;
	}
    .flow_li li:after{
        right:-14%;
        width: 10%;
    }
    .flow_li li p{
        font-size: 1.2vw;
    }
}

@media screen and (max-width: 767px) {
	.flow {
		padding:2em auto 2em;
	}
	.flow_li li{
		max-width:98%;
        width:98%;
		margin:0 auto 2em;
        border: solid 1px #333333;
	}
	.flow_li li h3 img{
		width: 15%;
	}
	.flow_li li:after{
        width:10%;
        height:10%;
		background-image: url(../img/flow_arrow2.png);
        background-size: contain;
        top: inherit;
        bottom:-15%;
        right:42.5%;
	}
	.flow_li li h4 {
		font-size:4.5vw;		
	}
	.flow_li li p{
		font-size:4vw;
		padding: 0 0.5em 1em;
	}
}
/*end sec6*/


/*sec7*/
.price{
    padding: 2em 0 75px;
}
.price .if{
	margin-top: 1em;
	text-align:center;
	font-weight:700;
}
.price .price_tbl{
    width: 100%;
    margin-top: 3em;
    border-collapse:  collapse;
}
.price .price_tbl th{
    background: #ccc;
    font-weight: 700;
	padding-top:1.8em;
}
.price .price_tbl th .red{
	color:#f00;
	font-weight: 700;
}
.price .price_tbl th,
.price .price_tbl td{
    width: 14.28%;
    height: 5em;
    box-sizing: border-box;
    text-align: center;
    border: solid 1px #333;
    font-size: 16px;
}
.price .price_tbl td{
	padding: 0 0.5em;
	vertical-align: middle;
}
.price .price_tbl .icon50{
    position: relative;
}
.price .price_tbl .icon50 img{
    position: absolute;
    top:-32px;
    right: -50px;
}
.price .note{
	margin-top:2em;
	font-size:13px;
}
@media screen and (max-width: 1024px) {
	
}

@media screen and (max-width: 767px) {
    .price .price_tbl{
        width: 85%;
        margin: 2em auto 0;
    }
	.price .price_tbl tr{
        display: block;
        float: left;
    }
    .price .price_tbl th,
    .price .price_tbl td{
        display: block;    
        font-size: 2.8vw;
        border-bottom: none;
    }
	.price .price_tbl th{
		padding-top: 1.5em;
	}
    .price .price_tbl th:last-child,
    .price .price_tbl td:last-child{
        border-bottom: solid 1px #333!important;
    }
    .price .price_tbl thead{
        display: block;
        float: left;
        width: 40%;
    }
    .price .price_tbl thead tr,
    .price .price_tbl thead th{
        width: 100%;
    }
    .price .price_tbl tbody{
        display: block;
        float: left;
        width: 60%;
    }
    .price .price_tbl tbody tr{
        width: 50%;
    }
    .price .price_tbl tbody tr td{
        width: 100%;
		padding-top: 1.5em;
    }
	.price .price_tbl tbody tr td.line2{
		padding-top:1em;
	}
    .price .price_tbl tbody tr:first-child td{
        border-left: none;
        border-right: none;
    }
    .price .price_tbl .icon50 img{
        width: 60%;
        top:-4vw;
        left: -8vw;
        right: inherit;
    }
	.price .note{
		padding:0 0.5em;
		font-size:2.5vw;
	}
}
/*end sec7*/

/*sec8*/

.query {
	
}
.query .inner{
	padding:60px 0;
}
.query .query_li {
    max-width: 800px;
    width: 100%;
	margin: 0 auto 15px;
}
.query .query_li dt {
	position:relative;
	background-color:#fff;
	background-image: url(../img/query_icon.png);
	background-repeat: no-repeat;
	background-position: 1em 0.8em;
	background-size: 37px 38px;
	padding-left:70px;
	padding-right:3em;
	padding-top:1em;
	padding-bottom:1em;
	font-size:20px;
    border-bottom: solid 1px #333;
}
.query .query_li dt:after {
	position:absolute;
	top:1.3em;
	right:1em;
	content:"";
	width:17px;
	height:16px;
	background-image: url(../img/query_arrow.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% auto;
	transition: 0.5s ;
	transform: rotateZ(0deg);
}
.query .query_li dt.open:after {
	transform: rotateZ(-180deg);
}
.query .query_li dd {
	display:none;
	padding-left:70px;
	padding-right:3em;
	padding-top:1em;
	padding-bottom:1em;
	font-size:15px;
}


@media screen and (max-width: 1024px) {
	.query .query_li {
		width:96%;
	}


}

@media screen and (max-width: 767px) {
	.query .inner{
		padding:2em 0;
	}
	.query .query_li {
		margin: 0 auto 0.5em;
	}
	.query .query_li dt {
		background-position: 5px 0.4em;
		background-size: auto 6vw;
		font-size:4.5vw;
		padding-left:9vw;
		padding-right:2em;
		padding-top:0.5em;
		padding-bottom:0.5em;
	}
	.query .query_li dt:after {
		top:0.7em;
		right:0.5em;
		width:1em;
		height:1em;
	}
	.query .query_li dd {
		background-position: 5px 0.6em;
		background-size: auto 5vw;
		font-size:100%;
		padding-left:9vw;
		padding-right:1em;
		padding-top:0.5em;
	}

}
/*end sec8*/

/*sec9*/
.thought{
    max-width: 1164px;
    width: 100%;
    margin: 0 auto;
    padding: 60px 95px;
    box-sizing: border-box;
    background-image: url(../img/thought_bg.png);
    background-size: cover;
    background-position: center center;
}
.thought .waku{
    position: relative;
    border: solid 1px #333;
    padding: 65px 70px;
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}
.thought .waku h2.subt{
    position: absolute;
    top: -25px;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.thought .waku .thought_women{
    float: right;
}
@media screen and (max-width: 1024px) {
	.thought{
        padding: 60px 8%;
    }
}
@media screen and (max-width: 767px) {
    .thought{
        padding: 60px 5%;
    }
    .thought .waku{
        padding: 2em 5%;
    }
    .thought .waku h2.subt img{
        top:-3.5vw;
        height: 10vw;
    }
    .thought .waku .thought_women{
        width: 30%;
    }
}
/*end sec9*/

/*form*/
#form {padding:2em 0 4em;}
#form h3.subt{
	text-align:center;
	font-size:25px;
	font-weight:700;
	padding:0.5em;
}

#form .mailform {
	max-width:750px;
    width: 100%;
	margin:0 auto;
}
#form dt {
	font-size:22px;
	font-weight:700;
}
#form dt .note{
	font-size:10px;
	color:#6a6a6a;
}
#form dd {
	font-size:17px;
}
#form .radio_tbl {
	display:table;
	width:100%;
}
#form .radio_tbl li{
	display:table-cell;
}
#form input.w70,
#form textarea.w70 {
	width:70%;
}
#form input.w100,
#form textarea.w100 {
	width:100%;
}
#form .privacy {
    border: 1px solid #d2d2d2;
    padding: 20px 20px 10px;
    box-sizing: border-box;
	width:755px;
    height: 190px;
    overflow: auto;
    margin: 30px auto 2em;
	background: #fff;
	font-size:80%;
}
#form .privacy h3 {
    text-align: center;
    font-size: 120%;
	margin-bottom: 20px;
	font-weight: bolder;
}
#form .privacy h3.mt2 {
	margin-top:2em;
}
#form .privacy strong{
	display:block;
	padding:1.5em 0 0.5em;
	font-weight:700;
}
@media screen and (max-width: 1024px) {
	
}
@media screen and (max-width: 767px) {
	#form {padding:1em 0;}
	#form .radio_tbl {
		display:block;
	}
	#form .radio_tbl li{
		display:inline-block;
	}
    #form input.w70,
    #form textarea.w70 {
        width: 100%;
    }
	#form .privacy {
		width:96%;
		font-size: 80%;
	}
}
/*end　form*/

/*tokuteishou*/
.tokuteishou {
    background-color: rgba(234,227,227,0.70);
    padding: 60px 0;
}
.tokuteishou .inner {
	max-width:1024px;
	width:100%;
	margin:0 auto;
}
.tokuteishou h2.subt{
	font-size: 24px;
    font-weight: 700;
	margin-bottom:1em;
}
.tokuteishou table {
	width: 100%;
	border-collapse: collapse;
	box-sizing:border-box;
	background-color: #fff;
}
.tokuteishou table th{
	font-weight:700;
}
.tokuteishou table th,
.tokuteishou table td {
	border: 1px solid #ccc;
	padding: 4px 1rem;
	text-align: left;
	box-sizing:border-box;
}
.tokuteishou table tr:first-child th {
	width: 25%;
    border-top: 1px solid #ccc;
}
.tokuteishou strong{
	display:block;
	padding:1.5em 0 0.5em;
	font-weight:700;
}
@media screen and (max-width: 1024px) {
	.tokuteishou .inner{
		width:96%;
	}
	
}
@media screen and (max-width: 767px) {
	.tokuteishou {
		padding: 3em 0 60px;
	}
	.tokuteishou .inner{
		font-size: 80%;
	}
	.tokuteishou h2.subt{
		font-size:5vw;
	}
	.tokuteishou table,
	.tokuteishou table th,
	.tokuteishou table td {
		display:block;
		width:100%;
	}
	.tokuteishou table th,
	.tokuteishou table td {
		border-top: none;
	}
	.tokuteishou table tr:first-child th {
		width:100%;
	}
}
/*end tokuteishou*/

/*thanks*/
.thanks {
	min-height:calc(100vh - 255px);
	text-align:center;
}
.thanks .textbox {
	margin-top:5vh;
	padding:0 1em 1em;
}
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 767px) {
	.thanks {
		min-height:calc(100vh - 262px);
	}
	.thanks .textbox {
		margin-top:0;
	}
}
/*end thanks*/

/*共通*/
.inner {width:1024px;margin:0 auto;}

.fullw {width:100%;overflow: hidden;}

.tx_ce{ text-align:center;}
.tx_lf{ text-align:left;}
.pc_br {display:inline;}
.sp_br {display:none;}
.mb1{margin-bottom: 1em;}
@media screen and (max-width: 1024px) {
	.inner {width:98%;}
}

@media screen and (max-width: 767px) {
	.pc_br {display:none;}
	.sp_br {display:inline;}
		
}
/*end 共通*/