@charset "utf-8";

html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	font-family: "M PLUS Rounded 1c", sans-serif;
	vertical-align:baseline;
	background:transparent;
	list-style-type:none;
	font-size: 16px;
	font-weight:normal;
	font-style:normal;
	line-height: 1.8em;
	text-align:left;
	color: #333;
	margin:0;
	padding:0;
	border:0;
	outline:none;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-webkit-text-size-adjust: 100%
	max-height: 100%;
	-webkit-appearance: none;
	letter-spacing:0;
}

br.w420{
	display:none;
}

.aligncenter{
	text-align:center;
}

.sp{
	display:none;
}

html{
	background:#fbfbfb;
}

img{
	display:block;
}

a{
	text-decoration:none;
}

body{
	max-width:1024px;
	width:100%;
	margin:auto;
	position:relative;
	z-index:+2;
	padding:80px 20px 0;
	background:#fff;
	box-shadow:5px 5px 10px #eee;
}

header{
	width:100%;
	max-width:1024px;
	overflow:hidden;
	position:fixed;
	z-index:3;
	background:#fff;
	border-bottom:solid 2px #FF7A40;
	margin-bottom:20px;
	padding-bottom:10px;
	top:0;
	left:50%;
	transform: translateX(-50%);
}

header .header_inner{
	width:100%;
	margin:auto;
	overflow:hidden;
}

header .header_inner h1{
	max-width:150px;
	width:15%;
	float:left;
	margin-left:2%;
}

header .header_inner h1 img{
	width:100%;
	padding-top:10px;
}

header .header_inner nav{
	width:calc(100% - 20%);
	float:right;
	margin-top:7px;
}

header .header_inner nav ul{
	text-align:right;
}

header .header_inner nav ul li{
	display:inline-block;
	vertical-align:middle;
	margin-right:7px;
}

header .header_inner nav ul li a{
	display:block;
	padding:8px 10px;
	color:#FF7A40;
	transition-duration: 1s;
	font-size:14px;
	line-height:1rem;
	position:relative;
	font-weight:bold;
}

header .header_inner nav ul li:last-child a{
	display:block;
	padding:8px 30px 8px 10px;
	color:#fff;
	transition-duration: 1s;
	font-size:14px;
	background:#FF7A40;
	border-radius:5px;
	line-height:1rem;
	position:relative;
}

header .header_inner nav ul li a:hover{
	opacity:0.8;
}

header .header_inner nav ul li:last-child a::before{
	content:"";
	width:5px;
	height:5px;
	position:absolute;
	right:15px;
	top:calc(50% - 3px);
	border-top:solid 2px #fff;
	border-right:solid 2px #fff;
	transform:rotate(45deg);
	z-index:6;
}

.firstview{
	position:relative;
	z-index:2;
	background:#eee;
	height:auto;
	width:100%;
	border-radius:10px;
	padding:30px 0;
	margin-bottom:100px;
}

.firstview img{
	width:90%;
	margin: auto;
}

#main .content_block.souba::before,
#main .content_block.about .about_end::before,
.firstview::before{
	content:"";
	position:absolute;
	bottom:-65px;
	left:calc(50% - 21px);
	width: 0;
	height: 0;
	border-style: solid;
	border-color: #eee transparent transparent transparent;
	border-width: 30px 20px 0px 20px;
}

#main{
	position:relative;
	z-index:1;
	overflow:hidden;
	margin:auto;
	width:94%;
}

#main .content_block h3,
#main .content_block h2{
	color:#555;
	color:#530;
	font-size:28px;
	text-align:left;
	margin-bottom:50px;
	font-weight:bold;
	position:relative;
	letter-spacing:0.1em;
	line-height:2.8rem;
	background:#fca;
	padding:10px 20px;
	border-radius:10px;
}

#main .content_block h2::before{
  position: absolute;
  content: '';
  top: 100%;
  left: 30px;
  border: 15px solid transparent;
  border-top: 15px solid #fca;
  width: 0;
  height: 0;
}

#main .content_block h3{
	font-size:24px;
	margin:40px auto 20px;
	line-height:2.7rem;
	background:none;
	border-bottom:solid 2px #fca;
	border-radius:0;
	padding:5px 15px;
}

#main .content_block table,
#main .content_block ul,
#main .content_block p{
	color:#000;
	width:100%;
	margin:auto;
	margin-bottom:10px;
}

#main .content_block.about ul{
	margin-bottom:20px;
	position:relative;
}

#main .content_block.about ul li{
	overflow:hidden;
	padding:30px 2%;
	border-bottom:solid 3px #fff;
	position:relative;
	margin-bottom:15px;
	background:#fffafa;
	border-radius:10px;
}

#main .content_block.about ul li:first-child{
	border-top:solid 3px #fff;
}

#main .content_block.about ul li img{
	width:14%;
	position:absolute;
	top:50%;
	transform: translateY(-50%);
	left:7%;
}

#main .content_block.about ul li dl{
	margin-left:25%;
	width:75%;
}

#main .content_block.about ul li dl dt{
	font-weight:500;
	font-size:22px;
	color:#FF7A40;
	line-height:1.8em;
}

#main .content_block.about ul li dl dd{
	line-height:1.8em;
}

#main .content_block.about .about_end{
	margin-bottom:100px;
	position:relative;
}

#main .content_block.nagare,
#main .content_block.dousureba,
#main .content_block.houhou{
	margin-bottom:80px;
}


#main .content_block.nagare dl dt,
#main .content_block.houhou dl dt{
	font-size:24px;
	margin:40px auto 20px;
	line-height:2.7rem;
	background:none;
	border-bottom:solid 2px #226;
	border-radius:0;
	padding:5px 15px;
	color:#226;
}

#main .content_block.nagare dl dt .nagare_num,
#main .content_block.houhou dl dt .houhou_num{
	font-size:24px;
	color:#226;
	position:relative;
	margin-right:1rem;
}

#main .content_block.nagare dl dt .nagare_num::before,
#main .content_block.houhou dl dt .houhou_num::before{
	content:"";
	background:#eee;
	position:absolute;
	width:35px;
	height:35px;
	border-radius:5px;
	left:-6px;
	top:0;
	z-index:-1;
}

#main .content_block.houhou dl dd li{
	display:block;
	width:100%;
	overflow:hidden;
	margin-bottom:15px;
	background:#fafafa;
	padding:2%;
	border-radius:10px;
}

#main .content_block.houhou dl dd img{
	width:100%;
	clear:both;
	margin-right:15px;
	float:left;
}

#main .content_block.houhou dl dd img.w15{
	width:15%;
}

#main .content_block.houhou dl dd img.w20{
	width:20%;
}

#main .content_block.houhou dl dd img.w30{
	width:30%;
}

#main .content_block.houhou dl dd img.w50{
	width:50%;
}

#main .content_block.houhou dl dd img.w70{
	width:70%;
}

#main .content_block.dousureba .souba_tbl{
	width:100%;
}

#main .content_block.souba{
	margin-bottom:100px;
	position:relative;
}

#main .content_block.souba .souba_tbl td,
#main .content_block.souba .souba_tbl th{
	padding:10px 15px;
	box-sizing:border-box;
	vertical-align:middle;
	border-top:solid 1px #ddd;
	border-left:solid 1px #ddd;
	border-right:solid 1px #ddd;
}

#main .content_block.souba .souba_tbl tr:last-child td,
#main .content_block.souba .souba_tbl tr:last-child th{
	border-bottom:solid 1px #ddd;
}

#main .content_block.souba .souba_tbl th{
	width:30%;
	background:#fff5f5;
	font-weight:bold;
}

#main .content_block.souba .souba_tbl thead th{
	text-align:center;
}

#main .content_block.souba .souba_tbl td{
	width:45%;
	background:#fffafa;
	background:#fff;
}

#main .content_block.souba .souba_tbl td.kakaku{
	width:25%;
}

#main .content_block.service .riyu{
	margin-bottom:40px;
}

#main .content_block.service ul.riyu{
	overflow:hidden;
	text-align:center;
	vertical-align:top;
}

#main .content_block.service ul.riyu li{
	width:32%;
	padding:25px 2% 20px;
	margin-bottom:20px;
	display:inline-block;
	vertical-align:top;
	background:#fafaff;
	border-radius:10px;
}

#main .content_block.service ul.riyu li:nth-child(2),
#main .content_block.service ul.riyu li:nth-child(4),
#main .content_block.service ul.riyu li:nth-child(5){
	margin:auto 1%;
}

#main .content_block.service ul.riyu li:nth-child(4){
	clear:both;
}

#main .content_block.service ul.riyu li img{
	width:95%;
	margin:0 auto 20px;
	background:#fff;
	padding:10px;
	border-radius:10px;
}

#main .content_block.service ul.riyu li:last-child img{
	padding:11px 0;
}

#main .content_block.service ul.riyu li dt{
	text-align:center;
	color:#226;
	border-bottom:solid 2px #226;
	font-size:140%;
	margin-bottom:5px;
}

#main .content_block.service ul.riyu li dd{
	line-height:1.6rem;
}

#main .content_block.service .campaign img{
	display:block;
	width:70%;
	margin:auto auto 80px;
}

#main .content_block.service ul.service_list{
	overflow:hidden;
}

#main .content_block.service ul.service_list>li{
	width:48%;
	padding:25px 2% 20px;
	margin-bottom:20px;
	background:#fafaff;
	border-radius:10px;
	display:block;
	float:left;
}

#main .content_block.service ul.service_list>li:nth-child(2n+1){
	clear:both;
}

#main .content_block.service ul.service_list>li:nth-child(2n+2){
	float:right;
}

#main .content_block.service ul.service_list>li ul{
	width:90%;
	margin-left:10%;
}

#main .content_block.service .service_tbl{
	width:100%;
	margin:40px auto;
}

#main .content_block.service .service_tbl th,
#main .content_block.service .service_tbl td{
	padding:10px 15px;
	box-sizing:border-box;
	vertical-align:middle;
	border-bottom:solid 1px #aaa;
	position:relative;
}

#main .content_block.service .service_tbl th{
	color:#530;
	font-weight:bold;
	font-size:90%;
}

#main .content_block.service .service_tbl thead th{
	text-align:center;
	border-top:solid 1px #aaa;
	background:#fafafa;
}

#main .content_block.service .service_tbl tbody tr:nth-child(2n+2) th,
#main .content_block.service .service_tbl tbody tr:nth-child(2n+2) td{
	background:#ffe;
}

#main .content_block.service .service_tbl td{
	text-align:center;
	font-size:80%;
}

#main .content_block.service .service_tbl thead th::before,
#main .content_block.service .service_tbl td::before{
	content:"";
	position:absolute;
	width:1px;
	height:60%;
	background:#aaa;
	left:-1px;
	top:20%;
	border-radius:2px;
}

#main .content_block.service .service_tbl td:last-child{
	width:58%;
	text-align:left;
}

#main .content_block.service .service_tbl td span.min,
#main .content_block.service .service_tbl td ul li,
#main .content_block.service .service_tbl td:last-child{
	font-size:70%;
}

#main .content_block.nagare dl{
	margin:auto;
	border:solid 1px #226;
	padding:1% 2%;
	border-radius:5px;
}

#main .content_block.nagare dl dt{
	position:relative;
	margin:20px auto 5px;
}

#main .content_block.nagare dl dt:hover{
	cursor:pointer;
}

#main .content_block.nagare dl dt::after,
#main .content_block.nagare dl dt::before{
	position:absolute;
	content:"";
	z-index:2;
	transition:all 0.5s;
}

#main .content_block.nagare dl dt::before{
	z-index:1;
	background:#226;
	width:35px;
	height:35px;
	right:20px;
	top:10px;
	border-radius:5px;
}

#main .content_block.nagare dl dt::after{
	width:10px;
	height:10px;
	border-bottom:solid 2px #fff;
	border-right:solid 2px #fff;
	transform:rotate(45deg);
	right:31px;
	top:19px;
}

#main .content_block.nagare dl dt.open::after{
	border-top:solid 2px #fff;
	border-left:solid 2px #fff;
	border-bottom:none;
	border-right:none;
	top:26px;
}

#main .content_block.nagare dl dd{
	width:98%;
	padding:2% 5%;
	display:none;
	margin:0 auto 40px;
	background:#fafaff;
	border-radius:10px;
}

form{
	margin-bottom:140px;
}

.index_link,
.sbmt_area{
	margin-bottom:90px;
}


.sbmt_area input[type="submit"],
.index_link a{
	width: 300px;
	text-align: center;
	margin: auto;
	color: #fff;
	background: #FF7A40;
	border-radius: 8px;
	display: block;
	padding: 10px 0;
	text-decoration: none;
	overflow: hidden;
	-webkit-appearance: none;
}

footer {
	z-index:2;
	position:relative;
}

footer{
	width:100%;
	border-top:solid 2px #596164;
	padding:35px 0 0;
	text-align:center;
	margin-bottom:10px;
	background:#fafafa;
}


footer .foot_logo{
	width:170px;
	display:block;
	margin:auto;
}

footer .foot_info{
	display:block;
}

footer .foot_info p{
	font-size:10px;
}

footer .foot_info h1{
	font-size:15px;
	text-align:center;
}

footer .foot_info address{
	font-size:11px;
}

footer>address{
	color:#777;
	text-align:center;
	font-weight:normal;
	font-size:12px;
	padding:10px 0 0;
}

footer address a{
	color:#FF7A40;
	text-decoration:underline;
}

footer>address>a{
	color:#777;
}

.thanks h2{
	margin-top:120px;
}


@media only screen and (max-width:900px) {
	body,
	header{
		max-width:100%;
	}

	header{
		padding:0;
		overflow:unset;
		left:0;
		transform:none;
	}

	header .header_inner h1{
		float:none;
		margin:10px 0 10px 20px;
		width:270px;
		overflow:hidden;
	}

	header .header_inner h1 img{
		height:auto;
		width:100%;
		padding-top:0;
	}

	.hamburger {
		position:absolute;
		z-index:9999;
		right:3%;
		top:2px;
		width:4vw;
		height:3vw;
		min-width:34px;
		min-height:24px;
		cursor:pointer;
		text-align:center;
		display:block;
	}

	header.fixed .hamburger {
		position:fixed;
		top:17px;
	}

	.hamburger span {
		display:block;
		position: absolute;
		height:2px;
		background:#f75a;
		-webkit-transition:0.3s ease-in-out;
		-moz-transition:0.3s ease-in-out;
		transition:0.3s ease-in-out;
		width:80%;
		left:10%;
	}
	
	.hamburger span:nth-child(1) {
		top:10%;
	}
	.hamburger span:nth-child(2) {
		top:50%;
	}
	.hamburger span:nth-child(3) {
		top:90%;
	}

	.hamburger.active::after{
		content:none;
	}

	.hamburger.active span:nth-child(1) {
		top:30%;
		left:5%;
		width:90%;
		-webkit-transform:rotate(-45deg);
		-moz-transform:rotate(-45deg);
		transform:rotate(-45deg);
	}

	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
		top:30%;
		left:5%;
		width:90%;
		-webkit-transform:rotate(45deg);
		-moz-transform:rotate(45deg);
		transform:rotate(45deg);
	}

	header .header_inner{
		width:100%;
		overflow: unset;
		top:0;
		left:0;
		background:#fff;
		margin:0;
		z-index:+2;
		position:relative;
	}

	header .header_inner nav#global-nav{
		width:100%;
		height:100%;
		float:none;
		position:fixed;
		background:#fff;
		left:0;
		top:0;
		overflow:auto;
		z-index:5;
		transition-duration: 1s;
		display:none;
	}

	header .header_inner nav#global-nav.View{
		display:block;
		transition:all 1.5s;
	}

	header .header_inner nav ul{
		text-align:center;
		margin-top:5px;
		display:block;
		width:92%;
		margin:20px auto;
	}

	header .header_inner nav ul li{
		display:block;
		vertical-align:middle;
		margin-right:0;
		padding:20px 0;
	}

	header .header_inner nav ul li a{
		display:block;
		padding:10px;
		color:#707070;
		transition-duration: 1s;
		text-align:center;
		padding:15px 0;
		font-weight:bold;
		font-size:17px;
		color:#000;
	}

	header .header_inner nav ul li:last-child a{
		width:20%;
		display:block;
		margin:auto;
		min-width:150px;
	}

}
@media only screen and (max-width:750px) {
	.sp{
		display:block;
	}

	.pc{
		display:none;
	}

	body{
		padding:60px 0 0;
	}
	
	header{
		margin-bottom:0;
	}
	
	.firstview{
		border-radius:0;
	}
	
	#main .content_block h2{
		font-size:max(4vw , 18px);
		line-height:1.8rem;
		margin-bottom:20px;
	}
	
	#main .content_block.service ul.riyu li dt,
	#main .content_block.nagare dl dt,
	#main .content_block.houhou dl dt,
	#main .content_block.about ul li dl dt,
	#main .content_block h3{
		font-size:max(3.6vw , 16px);
		line-height:1.8rem;
		font-weight:bold;
	}

	#main .content_block.service ul.riyu li dd,
	#main .content_block.houhou dl dd li,
	#main .content_block.nagare dl dd,
	#main .content_block.houhou dl dd,
	#main .content_block.about ul li dl dd,
	#main .content_block p{
		font-size:max(2vw , 14px);
		line-height:1.6rem;
	}

	#main .content_block.service ul.riyu li,
	#main .content_block.service ul.riyu li:nth-child(2),
	#main .content_block.service ul.riyu li:nth-child(4),
	#main .content_block.service ul.riyu li:nth-child(5){
		margin:auto auto 15px;
	}
	
	#main .content_block.about ul li img{
		width:40%;
		position:relative;
		margin:10px auto 20px;
		transform:none;
		top:unset;
		left:unset;
	}
	
	#main .content_block.about ul li dl{
		width:95%;
		margin:auto;
	}
	
	.sbmt_area input[type="submit"], .index_link a{
		width:80%;
		margin:auto;
	}

	.table_wrapper{
		overflow-x: scroll;
		margin-bottom:40px;
	}

	.table_wrapper table{
		min-width:800px;
	}
	
	.table_wrapper table td{
		width:11%;
	}

	.x-scroll_attention{
		color:#F69294;
		font-weight:500;
		text-align:center;
	}

	#main .content_block.service .campaign img,
	#main .content_block.service ul.riyu li img,
	#main .content_block.houhou dl dd img{
		float:none;
		display:block;
		margin:10px auto;
	}

	#main .content_block.houhou dl dd img.w15{
		width:30%;
	}

	#main .content_block.houhou dl dd img.w20{
		width:40%;
	}

	#main .content_block.service ul.riyu li img,
	#main .content_block.houhou dl dd img.w30{
		width:60%;
	}

	#main .content_block.service .campaign img,
	#main .content_block.houhou dl dd img.w70,
	#main .content_block.houhou dl dd img.w50{
		width:100%;
	}

	#main .content_block.service ul.riyu li{
		width:100%;
		display:block;
	}
	
	#main .content_block.service .campaign img{
		margin-bottom:40px;
	}

	#main .content_block.nagare dl dt::after,
	#main .content_block.nagare dl dt::before{
		content:none;
	}

	#main .content_block.nagare dl dd{
		display:block;
	}

	footer .foot_logo{
		width:70%;
		min-width:170px;
		display:block;
		margin-right:auto;
		margin:15px auto;
	}

	footer .foot_info{
		display:block;
	}

	footer .foot_info h1{
		display:none;
	}

	footer>address{
		color:#777;
		text-align:center;
		font-weight:normal;
		font-size:12px;
		padding:10px 0 0;
		border-top:solid 1px #ccc;
	}


}
