@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 {
	margin:0;
	padding:0;
	color: #2b2b2b;
	font-size: 1;
	font-family :Meiryo, 'メイリオ', sans-serif;
}
a {
	text-decoration: none;
}
a > span{
	display: none;
}
img {
	vertical-align: bottom;
}
ul{
	list-style: none;
	height: auto;
/* 	overflow: hidden; */
}
section{
	text-align: center;
}
.abs{
	position: absolute;
}
.wrap{
	width: 1000px;
	margin: 0 auto;
	position: relative;
}
.clear{
	clear: both;
}
.left{
	float: left;
}
.right{
	float: right;
}
header,
header ul,
.firstview,
.point,
.point .wrap ul li,
.cta-box{
	width: 100%;
}
/* ================================================================================
	header
================================================================================ */
header{
	height: 129px;
	background: url(../images/header-top-bg.jpg) repeat center top;
}
header h1{
	font-size: 12px;
	color: #666;
	font-weight: normal;
	line-height: 30px;
}
header ul{
	height: 99px;
	position: relative;
}
header ul li{
	height: 99px;
}
header ul li:first-child{
	float: left;
	margin: 20px 0 0;
}
header ul li:nth-child(2){
	position: absolute;
	right: 265px;
	top: 0px;
}
header ul li:nth-child(3){
	float: right;
	margin: 17px 0 0;
}
header ul li a{
	width: 250px;
	height: 64px;
	display: block;
	background: url(../images/header-mail-btn-off.png) no-repeat center top;
}
header ul li a:hover{
	background: url(../images/header-mail-btn-on.png) no-repeat center top;
}
/* ================================================================================
	firstview
================================================================================ */
.firstview{
	height: 650px;
	background: url(../images/fv-color-image.png) no-repeat center top,
				url(../images/fv-bg.jpg) repeat-x left top;
}
.firstview .wrap > *{
	position: absolute;
}
.firstview .wrap h2{
	top: 92px;
	left: 33px;
}
.firstview .wrap h2 + p{
	top: 458px;
	left: 27px;
}
.firstview .wrap h2 + p + p{
	top: 21px;
	left: 445px;
}
.ribbon-box{
	top: 577px;
	left: 610px;
	z-index: 99;
}
/* ================================================================================
	point
================================================================================ */
.point{
	height: 1352px;
	background: url(../images/02-flower-bg.png) no-repeat right 9px,
				url(../images/02-bg.jpg) repeat-x left top;
}
.point .wrap > *{
	position: absolute;
}
.point .wrap h2{
	left:0;
	top: 70px;
}
.point .wrap h2 + ul{
	top: 430px;
}
.point .wrap h2 + ul + ul{
	top: 700px;
}
.point .wrap ul li{
	text-align: center;
}
/* ================================================================================
	merit
================================================================================ */
.merit{
	padding: 0 0 80px;
}
.merit #rollover-box{
	overflow: hidden;
}
.merit #rollover-box a *{
	transition: all 0.5s ease;
}
.merit #rollover-box a li{
	width: 320px;
	height: 320px;
	display: block;
	float: left;
	margin: 0 20px 0 0;
}
.merit #rollover-box a li div{
	width: 100%;
	height: 100%;
	background: url(../images/03-h3-bg.png) no-repeat center;
	background-size: auto;
	vertical-align: middle;
}
.merit #rollover-box a:hover li div{
	background-size: 103% 120%;
}
.merit #rollover-box a li div h3{
	position: relative;
	font-size: 23px;
	font-weight: normal;
	top: 125px;
}
.merit #rollover-box a:hover li div h3{
	top: 40px;
}
.merit #rollover-box a:nth-child(1) li{
	background: url(../images/03-li01.png) no-repeat center;
	background-size: 100%;
}
.merit #rollover-box a:nth-child(2) li{
	background: url(../images/03-li02.png) no-repeat center;
	background-size: 100%;
}
.merit #rollover-box a:nth-child(3) li{
	margin: 0;
	background: url(../images/03-li03.png) no-repeat center;
	background-size: 100%;
}
.merit #rollover-box a:hover li{
	background-size: 160%;
}
.merit #rollover-box a .over-btn{
	width: 156px;
	font-size: 16px;
	height: 28px;
	border:solid 2px #333;
	margin: 0 auto;
	line-height: 28px;
	background: url(../images/03-over-btn-arrow.png) no-repeat 140px center;
	position: relative;
	top: 125px;
	opacity: 1;
}
.merit #rollover-box a:hover .over-btn{
	opacity: 0;
	top: 145px;
}
.merit #rollover-box a .over-txt{
	padding: 15px;
	font-size: 16px;
	line-height: 32px;
	color: #666;
	text-align: left;
	position: relative;
	top: 100px;
	opacity: 0;
}
.merit #rollover-box a:hover .over-txt{
	top: 0px;
	opacity: 1;
}
/* ================================================================================
	Camp
================================================================================ */
.camp dl{
	padding: 0px 20px;
	height: auto;
	overflow: hidden;
	margin: 0;
}
.camp dl dt{
	width: 700px;
	float: left;
	text-align: left;
	font-size: 18px;
	line-height: 32px;
}
.camp dl dt span{
	font-size: 26px;
	margin: 0 0 0 -15px;
	line-height: 64px;
}
.camp dl dd{
	width: 260px;
	float: right;
}
/* ================================================================================
	Cta
================================================================================ */
.cta-box{
	height: 306px;
	background: url(../images/cta-bg.jpg) repeat-x center;
}
.cta-box .wrap > *{
	position: absolute;
}
.cta-box h2{
	top: 25px;
	left: 295px;
}
.cta-box h2 + p{
	top: -75px;
	left: 0px;
}
.cta-box h2 + p + p{
	top: 160px;
	left: 205px;
}
.cta-box h2 + p + p + p{
	top: 170px;
	left: 670px;
}
.cta-box h2 + p + p + p a{
	width: 290px;
	height: 77px;
	display: block;
	background: url(../images/cta-mail.png) no-repeat center;
}
.cta-box h2 + p + p + p a:hover{
	background: url(../images/cta-mail_on.png) no-repeat center;
}
/* ================================================================================
	Voice
================================================================================ */
.voice{
	height: 1086px;
	background: url(../images/04-flower-bg.png) no-repeat left 9px,
				url(../images/04-bg.jpg) repeat-x center;
}
.voice ul li{
	float: left;
}
/* ================================================================================
	Flow
================================================================================ */
.flow{
	/* height: 2200px; */
	height: 1950px;
	background: url(../images/05-bg.jpg) repeat-x center;
}

/* ================================================================================
	Contact
================================================================================ */
.conterFormBox dl{
	display: table;
    width: 100%;
    box-sizing: border-box;
}
.conterForm{
	padding: 0 0 130px;
}
.required_mack:after, .any_mack:after {
    color: #fff;
    font-size: 16px;
    padding: 4px 10px;
    border-radius: 5px;
    position: absolute;
    top: calc(50% - 16px);
    margin: 0;
    right: 20px;
}
.required_mack:after {
    content: '必須';
    background: #9a824e;
}
.any_mack:after {
    content: '任意';
    background: #666;
}
.conterFormBox{
	width: 100%;
	margin: 0 auto;
	padding: 0;
}
.conterFormBox dl{
	margin: 0 0 10px;
}
.conterFormBox dl dt,
.conterFormBox dl dd {
	padding: 20px 0 15px 25px;
	display: table-cell;
	text-align: left;
}
.conterFormBox dl dd{
	background: rgba(255,255,255,.8);
}
.conterFormBox dl dt{
	width: 416px;
	background: #efebe2;
	vertical-align: middle;
	position: relative;
	border-left: solid 4px #9a824e;
	text-align: left;
	font-size: 20px;
}
.privacyLink{
	margin: 40px 0 0;
}
.privacyLink a{
	font-size: 14px;
	line-height: 14px;
	display: inline-block;
    margin:0 15px 30px;
    padding: 7px 10px 5px;
    background: transparent;
    border: #ccc solid 2px;
    border-radius: 3px;
    color: #333;
    transition: all .5s;
}
.privacyLink a:hover{
	background: #ff5252;
	border: #ff5252 solid 2px;
	color: #fff;
}
/* ================================================================================
	Form
================================================================================ */
.form{
	height: 1600px;
	background: url(../images/form-flower-bg.png) no-repeat right 9px,
	 			url(../images/form-bg.jpg) repeat-x center;
}
.size--M{
	width: 70%!important;
}
.size--S{
	width: 25%!important;
}
/*CheckBoxとText */
label.checkbox_text {
	cursor: pointer;
	position: relative;
	padding-left: 25px;
	margin-right: 20px;
	position: relative;
	display: inline-block;
	box-sizing: border-box;
	-webkit-transition: background-color 0.2s linear;
  	transition: background-color 0.2s linear;
	width: 45%;
	margin: 0 10px 8px 0;
	padding: 12px 12px 12px 42px;
	border-radius: 8px;
  	background-color: #f6f7f8;
  	vertical-align: middle;
  	font-size: 14px;
}
label.checkbox_text:hover {
  background-color: #ffe6e6;
}
label.checkbox_text:hover:after {
  border-color: #bf0004;
}
label.checkbox_text:last-child{
	margin: 0;
}
label.checkbox_text:before {
	-webkit-transition: border-color 0.2s linear;
    transition: border-color 0.2s linear;
	content: '';
	position: absolute;
	width: 16px;
	height: 16px;
	left: 15px;
	top: 50%;
	margin: -10px 0 0;
	border: 2px solid #bbb;
	z-index: 3;
	border-radius: 6px;
}
label.checkbox_text:after {
	-webkit-transition: opacity 0.2s linear;
  	transition: opacity 0.2s linear;
	content: '';
	position: absolute;
	top: 50%;
	left: 21px;
	display: block;
	margin-top: -9px;
	width: 5px;
	height: 12px;
	border-right: 3px solid #bf0004;
	border-bottom: 3px solid #bf0004;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	z-index: 1;
}
label.checkbox_text input[type="checkbox"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	position: absolute;
	top: 32%;
	left: -24px;
	width: 16px;
	height: 16px;
	display: block;
	box-shadow: 41px 0px #FFF;
	z-index: 2;
	margin: 0px;
	padding: 0px;
	border: none;
	background: none;
	border-radius: 6px;
}
label.checkbox_text input[type="checkbox"]:checked {
	box-shadow : none;
}

.conterFormBox [type="text"], .conterFormBox [type="email"], textarea, select{
    width: 90%;
    box-sizing: border-box;
	-webkit-transition: background-color 0.2s linear;
	ransition: background-color 0.2s linear;
    border-radius: 3px;
    padding: 10px 15px;
}
.conterFormBox [type="text"]:hover, textarea:hover{
	background-color: #ffe6e6;
	border: rgba(41,51,71,.4) solid 1px;
}
input, textarea, .file {
    box-sizing: border-box;
    background: #f6f7f8;
    border: rgba(41,51,71,.3) solid 1px;
    outline: none;
}
.conterFormBox .button,.confirm_btn .button{
    cursor: pointer;
    display: block;
    position: relative;
    margin: 0 auto;
    border-radius: 5px;
    text-align: center;
    line-height: 60px;
/*     transition: all .5s; */
    font-size: 20px;
    border: none;
    color: #fff;
    background: #78bb00;
}
.conterFormBox .button{
 	width: 440px;
 	height: 77px;
 	background: url(../images/form-btn_off.png) no-repeat center;
}
.conterFormBox .button:hover{
	background: url(../images/form-btn_on.png) no-repeat center;
}
.confirm_btn .button:hover{
	background: #ff7607;
}
input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{
    color: #ccc;
}
input::-ms-input-placeholder,textarea::-ms-input-placeholder{
	 color: #ccc;
}
input::-moz-placeholder,textarea::-moz-placeholder{
	 color: #ccc;
}
/* ================================================================================
	Footer
================================================================================ */
footer{
	background: #9a824e;
	padding: 40px 0;
	height: 62px;
	border-top: solid 3px #fff;
}
.foot-top h2{
	float: left;
}
.foot-top p{
	float: right;
	color: #fff;
	margin: 20px 0 0;
	font-size: 16px;
}
.foot-top p a{
	color: #fff;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
.foot-top{
	height: 105px;
}
address{
	line-height: 40px;
	color:#666;
	text-align: center;
	background: #fff;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
	font-weight: normal;
	font-style: normal;
}
/* ================================================================================
		confirm
================================================================================ */
.confirmHeader div p + p{
	right: 0;
}
#confirm,.finish-page{
	background: url(../images/bg-grid.png) repeat center;
	padding: 80px 0 130px;
}
#confirm .conterFormBox{
	margin: 0 auto;
	height: auto;
	overflow: hidden;
}
#confirm .conterFormBox dl dd{
	background-color: #f8f8f8;
}
#confirm .conterFormBox h2{
	margin: 20px 0 30px;
}
#confirm_btn{
	margin: 40px 0 20px;
}
#confirm_btn .button,#confirm_btn .finish_submit{
	background-image: none;
	background-color: #9a824e;
	color: #fff;
}
#confirm_btn .button:hover,#confirm_btn .finish_submit:hover{
	background-color: #efebe2;
	color: #9a824e;
}
#confirm_btn{
	height: auto;
	overflow: hidden;
}
#confirm_btn div{
	width: 50%;
	float: left;
}
#confirm form{
	width: 50%;
	float: left;
	text-align: center;
}
#confirm input[type="submit"]{
	width: 320px;
	height: 70px;
	margin: 0 0 0;
}
.retrun_submit{
	background: #ddd!important;
	color: #333!important;
}
.retrun_submit:hover{
	background: #666!important;
	color: #fff!important;
}
/* ================================================================================
  inline_content
================================================================================ */
#inline_content h2{
	text-align: center;
	margin: 20px 0;
}
#inline_content h3{
	font-size: 100%;
	margin: 20px 0 10px;
}
#inline_content h4{
	font-size: 95%;
	margin: 20px 0 10px;
}
#inline_content p:last-of-type {
    text-align: right;
    margin: 20px 0;
}