@charset "utf-8";

/*********************
 base
*********************/
 
*{ padding:0; margin:0; }
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	     -o-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	        box-sizing: border-box;
}
html,body{ height:100%; }
body{
	-webkit-text-size-adjust: 100%;
	width:100%;
	font-family: Noto Sans Japanese,Noto Sans JP,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", arial, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
	font-size:16px;
	line-height:1.8em;
	letter-spacing: .09em;
	color: #333;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
img{ vertical-align:middle; }
ul{ list-style-type: none; }
a{ text-decoration:none; }
.underline{ background:linear-gradient(transparent 60%, #c6d8ef 40%); }


/*********************
 flexbox
*********************/
.flexbox{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}
.flexbetween{
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.flextop{
	-webkit-box-align: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: flex-start;
	align-items: flex-start;
}

/*********************
 link opacity
*********************/
.op{
	transition:0.3s;
}
.op:hover{
	opacity:0.5;
}

/*********************
 header
*********************/
header{
	position: fixed;
	z-index:999;
	background:rgba(255,255,255,0.9);
	width:100%;
	padding:0;
	height:70px;
}
header .headerBox{
	max-width:1024px;
	padding:20px 15px;
	margin:0 auto;
}
header .headerBox h1 img{
	width:250px;
	cursor:pointer;
}
header .headerBox .menu_list li{
	display:inline-block;
	margin-right:20px;
	color:#333;
	font-size:0.8em;
	cursor:pointer;
}
header .headerBox .menu_list li:hover{
	opacity:0.5;
}
header .headerBox .menu_list li:last-child{
	padding-right:0;
}


/*********************
 topimg
*********************/
#topimg{
	margin-top:50px;
}
#topimg img.top_hr{
	width:100%;
	height:7px;
	vertical-align:bottom;
}
#topimg article{
	background-image:url(../img/topimg_bg.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	width:100%;
	margin:0 auto;
	min-height:700px;
	padding:180px 0 0;
	margin:0 auto;
	text-align:center;
}
#topimg article img{
	max-width:600px;
}
#topimg article img:last-child{
	padding-top:80px;
	max-width:400px;
}
#topimg #contact_btn{
	cursor:pointer;
}

/*********************
 main
*********************/
main{
	margin-top:50px;
	background-image:url(../img/bg.png);
	background-repeat: repeat-y;
	background-position: top;
	background-size: contain;
}

/*********************
 hr
*********************/
.blue_hr{
	width:70%;
	border-top:3px solid #04a8fa;
	margin-right:auto;
	margin-bottom:5px;
}
.red_hr{
	width:70%;
	border-top:3px solid #ff0b53;
	margin-left:auto;
}
/*********************
 service
*********************/
#service{
	margin:20px auto 0;
	text-align:center;
}
#service article{
	max-width:1024px;
	padding:0px 20px 60px;
	margin:0 auto;
	text-align:center;
}
#service h2{
	margin:0 auto 10px;
	text-align:center;
	font-size:1.8em;
	letter-spacing: .3em;
}
#service ul{
	padding-top:60px;
}
#service .image{
	width:40%;
}
#service .image img{
	width:100%;
}
#service .text{
	width:60%;
	height:240px;
	margin-left:20px;
	padding:30px 20px 0 130px;
	text-align:left;
	background-repeat: no-repeat;
	background-position: left;
	background-size: 150px;
	text-align:left;
}
#service .text h2{
	letter-spacing: .3em;
	font-size:1.6em;
	font-weight:bold;
	text-align:left;
	padding-top:40px;
}
#service .text p{
	padding-top:5px;
	font-size:0.9em;
}


/*********************
 price
*********************/
#price{
	margin:20px auto 0;
	text-align:center;
}
#price article{
	max-width:1024px;
	padding:0px 20px 60px;
	margin:0 auto;
	text-align:center;
}
#price h2{
	margin:0 auto 10px;
	text-align:center;
	font-size:1.8em;
	letter-spacing: .3em;
}
#price .imgBox{
	margin:60px auto 0;
	flex-wrap:wrap;
}
#price img{
	width:calc(50% - 10px);
	padding-bottom:20px;
}
#price .caution{
	font-size: 0.7em;
	margin-top:30px;
	line-height:2.0em;
}
#price .caution font{
	padding-right:10px;
}

/*********************
 qa
*********************/
#qa{
	margin:20px auto 0;
	text-align:center;
}
#qa article{
	max-width:1024px;
	padding:60px 20px 60px;
	margin:0 auto;
	text-align:center;
}
#qa h2{
	margin:0 auto 10px;
	text-align:center;
	font-size:1.8em;
	letter-spacing: .3em;
}
#qa ul{
	margin-bottom:30px;
	font-size: 0.9em;
}
#qa li{
	margin-bottom:10px;
}
#qa li p{
	width:100%;
	text-align:left;
	padding:5px 20px;
	background:#d9e6f5;
	margin-left:10px;
	background-image:url(../img/qa_bg.png);
	background-repeat: repeat-y;
	background-position: center;
	background-size: contain;
    border-radius: 5px;
}

/*********************
 contact
*********************/
#contact{
	margin:20px auto 0;
	text-align:center;
}
#contact article{
	max-width:1024px;
	padding:30px 20px 60px;
	margin:0 auto;
	text-align:center;
}
#contact h2{
	margin:0 auto 10px;
	text-align:center;
	font-size:1.8em;
	letter-spacing: .3em;
}
#contact form {
    max-width:100%;
    margin: 0 auto;
}
#contact form .formitem {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	-webkit-box-align: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: flex-start;
	align-items: flex-start;
    margin-top: 20px;
}
#contact form input[type="text"]  {
    width: 100%;
    padding: 5px 10px;
    border-radius: 5px;
    height: 46px;
    font-size: 16px;
    border: 1px solid #ccc;
    outline: none;
}
::placeholder { color:#ccc }
#contact form .inquiry {
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    height: 250px;
    font-size: 16px;
    border: 1px solid #ccc;
    outline: none;
	line-height:1.8em;
}
#contact form .formtxt {
    margin-top: 10px;
    width: 170px;
    position: relative;
	text-align:right;
	padding-right:20px;
}
#contact form .buttonbox {
	margin-top:50px;
    text-align: center;
}
#contact form .submitbtn {
    background: url(../img/form-submit.png) center no-repeat;
    background-size: contain;
    width: 290px;
    height: 50px;
    border: none;
    border-radius: 5px;
    -webkit-appearance: none;
    cursor: pointer;
}

/*********************
 footer
*********************/
img.bottom_hr{
	width:100%;
	min-height:7px;
	vertical-align:bottom;
}
footer{
	width:100%;
	margin:auto auto 0;
	text-align:center;
	font-size:0.9em;
}
footer div.copylight{
	padding: 15px 0;
}

/*********************
 company
*********************/
#company{
	background:#fff;
	line-height:1.8em;
	font-family: "Noto Serif JP",serif;
}
#company article{
	max-width:1024px;
	margin:0 auto;
	padding:40px 0;
	text-align:left;
}
#company article li{
	width:50%;
	padding:15px;
}
#company article li:first-child{
	text-align:center;
}
#company article li img{
	width:50%;
}
#company article li div{
	padding: 5px 0;
	text-align:left;
}
#company article li p{
	text-align:left;
	display:inline-block;
	width:150px;
}
#company article li a{
	color:#000;
}

/*********************
 thanks page
*********************/
#thanks article{
	max-width:1024px;
	padding:150px 0 100px;
	margin:0 auto;
	text-align:center;
	font-size:1.4em;
	line-height:1.6em;
}
#thanks article h1{
	color:#8185cd;
	font-size:1.6em;
	margin-bottom:40px;
	line-height:1.6em;
}
#thanks article font{
	display:block;
	color:#8185cd;
	font-size:0.8em;
	margin-top:20px;
}
