@charset "utf-8";

.ajax-loader {
	display: none !important;
}

/* !thanks
----------------------------------------------- */
.thankstxt {
	margin-top: 45px;
}
.thanksarea .formbtn {
	margin-top: 100px;
}

@media (max-width: 767px) {
.thankstxt {
	margin-top: 20px;
}
.thanksarea .formbtn {
	margin-top: 40px;
}
}

.error {
	color: #ff0000;
}


/* contact
----------------------------------------------- */
.teasercontact {
	background-image: url(../img/contact/teaser_contact.jpg);
}
.contactbox+.contactbox {
	margin-top: 70px;
}
.contactbox .hdl {
	margin-bottom: 45px;
}
.contacttel a {
	line-height: 1.26;
	font-size: 40px;
	font-weight: bold;
	color: #42690f;
	display: flex;
	align-items: center;
	justify-content: center;
}
.contacttel a img {
	width: 32px;
	margin-right: 20px;
	flex-shrink: 0;
}
.contacttime {
	text-align: center;
	line-height: 1.5;
	font-size: 15px;
	color: #42690f;
	font-weight: bold;
	margin-top: 15px;
}
.contacttxt {
	
}
.formbox {
	margin-top: 25px;
	background: #e1e8de;
}
.formtab {
	font-size: 14px;
	line-height: 1.5;
}
.formtab li {
	display: flex;
	align-items: flex-start;
	padding: 25px 20px;
}
.formtab li+li {
	border-top: 3px #fff solid;
}
.formtab .must {
	font-size: 11px;
	color: #963c3c;
	border: 1px #963c3c solid;
	line-height: 1.3;
	font-weight: 500;
	padding: 1px 5px;
	display: block;
	margin-left: 10px;
	flex-shrink: 0;
}
.formtab .formtit {
	width: 220px;
	flex-shrink: 0;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-right: 20px;
}
.formtab .forminner {
	flex: 1;
	align-self: center;
}
.formtab input[type=text],
.formtab input[type=email],
.formtab input[type=tel] {
	height: 67px;
	padding: 10px;
	background: #fff;
	width: 100%;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-ms-border-radius: 6px;
	-o-border-radius: 6px;
	border-radius: 6px;
}
.formtab textarea {
	background: #fff;
	width: 100%;
	height: 200px;
	padding: 10px;
	font-weight: 500;
	font-size: 14px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-ms-border-radius: 6px;
	-o-border-radius: 6px;
	border-radius: 6px;
	font-family:  "Yu Gothic", "游ゴシック体", YuGothic, "游ゴシック", "Helvetica Neue","Hiragino Kaku Gothic ProN", sans-serif;
}

.formtab .radiobox {
}

.formtab .radiobox .wpcf7-form-control {
	display: flex;
	flex-wrap: wrap;
	margin: -5px 0;
}
.formtab .radiobox .wpcf7-list-item {
	margin: 0;
	display: block;
}
.formtab .radiobox label {
	display: flex;
	align-items: center;
	margin: 5px 35px 5px 0;
}
.formtab .radiobox label input {
	margin-right: 15px;
}
.formtab input[type=radio] {
	width: 26px;
	height: 26px;
	background: #fff;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	position: relative;
}
.formtab input[type=radio]:checked:before {
	position: absolute;
	content: "";
	background: #42690f;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 12px;
	height: 12px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	z-index: 1;
}
.formbtm {
	padding: 40px 20px;
	border-top: 3px #fff solid;
}
.formnote {
	text-align: center;
	line-height: 1.3;
	font-size: 14px;
	margin-bottom: 25px;
}
.formnote a {
	color: #42690f;
	text-decoration: underline;
}
.formbtn {
	display: flex;
	align-items: stretch;
	justify-content: center;
}
.formbtn input,
.formbtn a {
	display: flex;
	text-align: center;
	align-items: center;
	justify-content: center;
	background: #e1e8de;
	color: #42690f;
	line-height: 1.5;
	width: 400px;
	height: 60px;
	margin: 0 15px;
	font-weight: 700;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
	border-radius: 10px;
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
	cursor: pointer;
	font-family:  "Yu Gothic", "游ゴシック体", YuGothic, "游ゴシック", "Helvetica Neue","Hiragino Kaku Gothic ProN", sans-serif;
}
.formbtn input:hover,
.formbtn a:hover {
	background: #42690f;
	color: #fff;
}
.formbtn .darkbtn {
	background: #42690f;
	color: #fff;
}
.formbtn .darkbtn:hover {
	background: #72b51b;
}
.formbtn .largebtn {
	width: 440px;
	background: #42690f;
	color: #fff;
}
.formbtn .largebtn:hover {
	background: #72b51b;
}

@media (max-width: 767px) {
.contactbox+.contactbox {
	margin-top: 50px;
}
.contactbox .hdl {
	margin-bottom: 20px;
}
.contacttel a {
	font-size: 38px;
}
.contacttel a img {
	width: 25px;
	margin-right: 15px;
}
.contacttime {
	font-size: 13px;
}
.contacttxt {
	
}
.formbox {
	margin-top: 15px;
}
.formtab li {
	display: block;
	padding: 15px;
}
.formtab li+li {
	border-top: 2px #fff solid;
}
.formtab .formtit {
	width: auto;
	margin: 0 0 10px;
}
.formtab input[type=text],
.formtab input[type=email],
.formtab input[type=tel] {
	height: 60px;
}
.formtab textarea {
	height: 100px;
}

.formtab .radiobox .wpcf7-form-control {
	flex-direction: column;
	margin: 0;
}
.formtab .radiobox label {
	margin: 10px 0;
}
.formbtm {
	padding: 15px 10px;
	border-top: 2px #fff solid;
}
.formnote {
	text-align: left;
	line-height: 1.35;
	font-size: 14px;
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 20px;
}
.formbtn {
	display: flex;
	align-items: stretch;
	justify-content: center;
}
.formbtn input,
.formbtn a {
	width: 100%;
	height: 44px;
	margin: 0 5px;
	font-weight: 700;
}
.formbtn .largebtn {
	width: 100%;
}
}



/* confirm
----------------------------------------------- */
.confirmbox {
	background: #f7f5ec;
	margin-top: 50px;
	padding: 0 40px;
}
.confirmbox .formtab li {
	padding: 45px 0 15px;
	border-bottom: 1px #707070 solid;
}
.confirmbox .formtab li+li {
	border-top: none;
}
.confirmbox .formtab .formtit {
	width: 150px;
}
.confirmbox .formtab .forminner {
	font-size: 16px;
}
.confirmbox .formbtm {
	border: none;
	background: #fff;
	margin: 40px -40px 0;
	padding: 50px 0 0;
}

@media (max-width: 767px) {
.confirmbox {
	margin-top: 35px;
	padding: 15px 10px 0;
}
.confirmbox .formtab li {
	padding: 0;
	border-bottom: none;
}
.confirmbox .formtab li+li {
	margin-top: 35px;
}
.confirmbox .formtab .formtit {
	width: auto;
	padding-bottom: 15px;
	margin-bottom: 15px;
	border-bottom: 1px #707070 solid;
}
.confirmbox .formtab .forminner {
	font-size: 18px;
}
.confirmbox .formbtm {
	border: none;
	background: #fff;
	margin: 40px -15px 0;
	padding: 30px 0 0;
}
}


/* news
----------------------------------------------- */
.cataarea {
	padding: 0 0 150px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
}
.catamain {
	width: 70%;
}
.cataside {
	width: 26%;
}

.catamain .newslist li+li {
	margin-top: 40px;
}
.catamain .newslist li a {
	display: flex;
}
.catamain .newslist .newsimg {
	flex-shrink: 0;
	width: 180px;
	height: 180px;
	overflow: hidden;
	margin-right: 20px;
}
.catamain .newslist .newsimgin {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-color: #cecece;
	transition: all 0.6s;
	-webkit-transition: all 0.6s;
	transform: scale(1);
}
.catamain .newslist li a:hover .newsimgin {
	transform: scale(1.1);
	transition: all 0.6s;
}
.catamain .newslist .newsin {
	flex: 1;
}
.catamain .newslist .newstit {
	font-size: 18px;
	line-height: 1.5;
	font-weight: bold;
	color: #42690f;
	margin-top: 20px;
}
.catamain .newslist .newsmess {
	display: flex;
	align-items: center;
}
.catamain .newslist .newsdate {
	font-size: 14px;
	color: #42690f;
	line-height: 1.5;
	margin-right: 15px;
}
.catamain .newslist .newscata {
	background: #42690f;
	font-size: 12px;
	line-height: 1.4;
	color: #fff;
	padding: 2px 10px;
	flex-shrink: 0;
}
.catamain .newslist .newstxt {
	padding-top: 20px;
	margin-top: 15px;
	font-size: 14px;
	line-height: 1.5;
	border-top: 1px #707070 dotted;
}


.cataside .sidebox+.sidebox {
	margin-top: 65px;
}
.cataside .sidetit {
	font-size: 16px;
	line-height: 1.35;
	font-weight: 700;
	border-bottom: 1px #707070 solid;
	padding-bottom: 10px;
	margin-bottom: 50px;
}
.cataside .sidelist {
	border-top: 1px #707070 dotted;
}
.cataside .sidelist > li {
	border-bottom: 1px #707070 dotted;
	padding: 10px 0;
	font-size: 14px;
	line-height: 1.5;
}
.cataside .sidelist > li a {
	display: block;
}
.cataside select {
	outline: none;
	font-family:  "Yu Gothic", "游ゴシック体", YuGothic, "游ゴシック", "Helvetica Neue","Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 14px;
	background: url("../img/common/arrow_select.svg") right 15px center no-repeat #fff;
	border: 1px #707070 solid;
	width: 100%;
	height: 40px;
	padding: 0 20px 0 12px;
	line-height: 1.5;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
}

@media (max-width: 1024px) {
.cataarea {
	display: block;
	padding: 0;
}
.catamain {
	width: auto;
}
.cataside {
	width: auto;
	margin-top: 50px;
}
}
@media (max-width: 767px) {
.cataarea {
	padding: 0;
}
.catamain .newslist li+li {
	margin-top: 30px;
}
.catamain .newslist li a {
}
.catamain .newslist .newsimg {
	width: 80px;
	height: 80px;
	margin-right: 15px;
}
.catamain .newslist .newstit {
	font-size: 16px;
	margin-top: 5px;
}
.catamain .newslist .newsdate {
	font-size: 14px;
}
.catamain .newslist .newscata {
	font-size: 10px;
	padding: 2px 6px;
}
.catamain .newslist .newstxt {
	padding-top: 10px;
	margin-top: 10px;
	font-size: 14px;
}

}


/* news detail
----------------------------------------------- */
.detailinner h1,
.detailinner h2,
.detailinner h3,
.detailinner h4,
.detailinner h5,
.detailinner h6{
	font-weight: bold;
	margin-bottom: 1em;
}
.detailinner h1{
	font-size: 32px;
}
.detailinner h2{
	font-size: 26px;
}
.detailinner h3{
	font-size: 20px;
}
.detailinner h4{
	font-size: 18px;
}
.detailinner h5{
	font-size: 16px;
}
.detailinner h6{
	font-size: 14px;
}
.detailinner img{
	width: 100%;
	margin-bottom: 1em;
}
.detailinner p+p {
	margin-top: 1em;
}
.detailinner a{
	color: #42690f;
	text-decoration: underline;
}
@media (max-width: 767px) {
.detailinner h1{
	font-size: 20px;
}
.detailinner h2{
	font-size: 18px;
}
.detailinner h3{
	font-size: 16px;
}
.detailinner h4{
	font-size: 14px;
}
.detailinner h5{
	font-size: 12px;
}
.detailinner h6{
	font-size: 12px;
}
.detailinner p{
}
.detailinner img{
	width: 100%;
	height: auto;
}
}

.detailhd {
	font-size: 20px;
	color: #342714;
	line-height: 1.6;
	font-weight: bold;
}
.detailmess {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	line-height: 1.5;
	margin: 20px 0 50px;
}
.detailmess .detaildate {
	font-size: 14px;
	line-height: 1.5;
	color: #42690f;
}
.detailmess .detailcata {
	font-size: 12px;
	background: #42690f;
	line-height: 1.35;
	color: #fff;
	padding: 2px 10px;
}

@media (max-width: 767px) {
.detailhd {
	font-size: 20px;
	line-height: 1.5;
}
.detailmess {
	margin: 20px 0 15px;
}
.detailmess .detaildate {
	font-size: 14px;
}
.detailmess .detailcata {
	font-size: 10px;
	padding: 2px 6px;
}
.detailinner p {
	font-size: 16px;
}
}



/* privacy
----------------------------------------------- */
.teaserprivacy {
	background-image: url(../img/privacy/teaser_privacy.jpg);
}
.privacybox {
	color: #342714;
	font-size: 14px;
}
.privacybox+.privacybox {
	margin-top: 75px;
}
.privacybox .hdl {
	margin-bottom: 20px;
}
.privacylist {
	margin-left: 20px;
}
.privacylist li {
	text-indent: -0.5em;
	padding-left: 0.5em;
}

@media (max-width: 767px) {
.privacybox+.privacybox {
	margin-top: 50px;
}
}



/* news_event
----------------------------------------------- */
.teasernews {
	background-image: url(../img/news_event/teaser_news.jpg);
}


/* blog
----------------------------------------------- */
.teaserblog {
	background-image: url(../img/blog/teaser_blog.jpg);
}


/* works
----------------------------------------------- */
.worksarea {
	
}
.worksarea .wp-pagenavi {
	position: relative;
	left: auto;
	bottom: auto;
	margin-top: 80px;
}
.teaserworks {
	background-image: url(../img/works/teaser_works.jpg);
}
.worksnavi {
	display: flex;
	flex-wrap: wrap;
	margin: -5px 0;
}
.worksnavi a {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #42690f;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	height: 58px;
	width: calc((100% - 61px)/4);
	margin: 5px 20px 5px 0;
	background: #e1e8de;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-ms-border-radius: 6px;
	-o-border-radius: 6px;
	border-radius: 6px;
}
.worksnavi a:nth-child(4n) {
	margin-right: 0;
}
.worksnavi a:hover {
	color: #72b51b;
}
.workslist {
	display: flex;
	flex-wrap: wrap;
	margin: 60px 0 -20px;
}
.workslist li {
	width: calc((100% - 41px)/3);
	margin: 20px 20px 20px 0;
}
.workslist li:nth-child(3n) {
	margin-right: 0;
}
.workslist li a {
	display: block;
}
.workslist li .worksimg {
	width: 100%;
	height: 240px;
	overflow: hidden;
	position: relative;
}
.workslist li .worksimgin {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-color: #dcdcdc;
	transition: all 0.6s;
	-webkit-transition: all 0.6s;
	transform: scale(1); 
}
.workslist li a:hover .worksimgin {
	transform: scale(1.1);
	transition: all 0.6s;
}
.workslist li .workscate {
	position: absolute;
	right: 10px;
	bottom: 10px;
	display: flex;
	flex-wrap: wrap;
	z-index: 1;
}
.workslist li .workscate p+p {
	margin-left: 5px;
}
.workslist li .workscatein {
	background: #42690f;
	font-size: 12px;
	color: #fff;
	line-height: 1.35;
	padding: 3px 15px;
}
.workslist li .workslisttxt {
	text-align: center;
	font-size: 13px;
	line-height: 1.5;
	color: #42690f;
	margin-top: 35px;
}

@media (max-width: 767px) {
.worksarea .wp-pagenavi {
	margin-top: 40px;
}
.worksnavi {
	justify-content: space-between;
}
.worksnavi a {
	font-size: 12px;
	height: 44px;
	width: 48.5%;
	margin: 5px 0;
}
.workslist {
	margin: 10px -10px -10px;
	justify-content: space-between;
}
.workslist li {
	width: 48.5%;
	margin: 10px 0;
}
.workslist li .worksimg {
	height: 130px;
}
.workslist li .workscate {
	right: 5px;
	bottom: 5px;
}
.workslist li .workscatein {
	font-size: 10px;
}
.workslist li .workslisttxt {
	font-size: 11px;
	margin-top: 10px;
}
}



/* works detail
----------------------------------------------- */
.worksdet .detailnavi {
	position: relative;
	left: auto;
	bottom: auto;
	margin-top: 100px;
}
.worksdet .worksdethd {
	font-size: 20px;
	color: #342714;
	font-weight: 700;
	line-height: 1.5;
	padding-bottom: 20px;
	border-bottom: 1px #707070 solid;
}
.worksdet .worksdetcate {
	display: flex;
	justify-content: flex-end;
	margin-top: 20px;
}
.worksdet .worksdetcate .catein {
	display: block;
	background: #42690f;
	color: #fff;
	padding: 2px 18px;
	font-size: 12px;
	line-height: 1.5;
}
.worksdet .worksdetlar {
	text-align: center;
	margin-top: 30px;
}
.worksdet .worksdetcont {
	margin-top: 40px;
}
.worksdet .worksslider {
	padding: 0 30px;
	margin-top: 60px;
	position: relative;
}
.worksdet .worksslider .sliderimg img {
	width: 100%;
}
.worksdet .worksslider .slick-slide {
	padding: 0 10px;
	outline: none;
}
.worksdet .worksslider .slick-arrow {
	padding: 0;
	width: 26px;
	height: 26px;
	border: none;
	text-indent: -9999px;
	cursor: pointer;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	outline: none;
	z-index: 1;
}
.worksdet .worksslider .slick-prev {
	background: url(../img/works/prev_works.svg) center center no-repeat;
	left: 0;
}
.worksdet .worksslider .slick-next {
	background: url(../img/works/next_works.svg) center center no-repeat;
	right: 0;
}
.worksdet .workstab {
	max-width: 800px;
	margin: 100px auto 0;
}
.worksdet .workstab table {
	width: 100%;
	border-top: 1px #707070 dotted;
}
.worksdet .workstab table th,
.worksdet .workstab table td {
	font-size: 13px;
	line-height: 1.5;
	vertical-align: middle;
	border-bottom: 1px #707070 dotted;
}
.worksdet .workstab table th {
	border-right: 1px #707070 dotted;
	width: 100px;
	padding: 10px 0;
}
.worksdet .workstab table td {
	padding: 10px 20px;
}
.worksdet .worksvoice {
	margin-top: 100px;
}
.worksdet .workshds {
	font-size: 16px;
	line-height: 1.5;
	font-weight: 700;
	color: #342714;
	border-bottom: 1px #707070 solid;
	padding-bottom: 20px;
}
.worksdet .voiceflex {
	display: flex;
	align-items: flex-start;
	margin-top: 30px;
}
.worksdet .voiceflex .fleximg {
	width: 200px;
	flex-shrink: 0;
	margin-right: 40px;
}
.worksdet .voiceflex .flexin {
	flex: 1;
	font-size: 14px;
	color: #342714;
}

@media (max-width: 767px) {
.worksdet .detailnavi {
	margin-top: 40px;
}
.worksdet .worksdethd {
	font-size: 20px;
}
.worksdet .worksdetcate .catein {
	padding: 2px 15px;
	font-size: 10px;
}
.worksdet .worksdetlar {
	margin-top: 15px;
}
.worksdet .worksdetcont {
	margin-top: 30px;
}
.worksdet .worksslider {
	padding: 0;
	margin: 30px -5px 0;
}
.worksdet .worksslider .slick-slide {
	padding: 0 5px;
}
.worksdet .worksslider .slick-prev {
	left: -8px;
}
.worksdet .worksslider .slick-next {
	right: -8px;
}
.worksdet .workstab {
	margin: 40px auto 0;
}
.worksdet .worksvoice {
	margin-top: 50px;
}
.worksdet .workshds {
	padding-bottom: 10px;
}
.worksdet .voiceflex {
	display: block;
	margin-top: 30px;
}
.worksdet .voiceflex .fleximg {
	width: auto;
	text-align: center;
	margin: 0 0 30px;
}
}



/* faq
----------------------------------------------- */
.teaserfaq {
	background-image: url("../img/faq/teaser_faq.jpg");
}
.faqbox+.faqbox {
	margin-top: 40px;
}
.faqbox {
	overflow: hidden;
	border: 1px #707070 solid;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-ms-border-radius: 6px;
	-o-border-radius: 6px;
	border-radius: 6px;
}
.faqbox .faqtit {
	font-size: 16px;
	color: #42690f;
	line-height: 1.5;
	font-weight: 700;
	padding: 15px 32px 15px 20px;
	cursor:pointer;
	position: relative;
}
.faqbox .faqtit:before {
	position: absolute;
	content: "";
	background: url("../img/faq/arrow_faq.svg") 0 0 no-repeat;
	width: 11px;
	height: 6px;
	right: 22px;
	top: 50%;
	margin-top: -3px;
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
	z-index: 1;
}
.faqbox .faqcont {
	display: none;
	border-top: 1px #707070 solid;
	padding: 20px;
	background: #f7f5ec;
}
.faqbox .faqtit.on:before {
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
	transform: rotate(-180deg);
}

@media (max-width: 767px) {
.faqbox+.faqbox {
	margin-top: 15px;
}
.faqbox .faqtit {
	font-size: 18px;
	padding: 10px 25px 10px 15px;
}
.faqbox .faqtit:before {
	right: 12px;
}
.faqbox .faqcont {
	padding: 15px;
}
}



/* company
----------------------------------------------- */
.teasercompany {
	background-image: url("../img/company/teaser_company.jpg");
}
.companyflex {
	margin-top: 50px;
	display: flex;
	align-items: flex-start;
}
.companyflex .fleximg {
	margin-right: 30px;
	flex-shrink: 0;
}
.companyflex .flexin {
	flex: 1;
}
.companytab {
	max-width: 800px;
	margin: 100px auto 0;
}
.companytab table {
	width: 100%;
	border-top: 1px #707070 dotted;
}
.companytab th,
.companytab td {
	vertical-align: middle;
	font-size: 13px;
	line-height: 1.5;
	border-bottom: 1px #707070 dotted;
}
.companytab th {
	width: 100px;
	padding: 10px 0;
	border-right: 1px #707070 dotted;
}
.companytab td {
	padding: 10px 20px;
}
.companytab .companymap {
	display: inline-block;
	margin: 0 15px;
}
.companytab .companymap a {
	display: inline-block;
	background: #fff;
	font-size: 12px;
	line-height: 1.5;
	font-weight: 700;
	color: #42690f;
	padding: 2px 15px;
	border: 1px #42690f solid;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-ms-border-radius: 5px;
	-o-border-radius: 5px;
	border-radius: 5px;
}
.companytab .companymap a:hover {
	background: #42690f;
	color: #fff;
}

@media (max-width: 1024px) {
.companyflex {
	display: block;
}
.companyflex .fleximg {
	text-align: center;
	margin: 0 0 30px;
}
}
@media (max-width: 767px) {
.companyflex {
	margin-top: 20px;
}
.companytab {
	margin: 30px auto 0;
}
.companytab th {
	width: 90px;
}
.companytab .companymap {
	display: flex;
	justify-content: flex-end;
	margin: 3px 0 0;
}
.companytab .companymap a {
	display: block;
	padding: 2px 10px;
}
}



/* staff
----------------------------------------------- */
.teaserstaff {
	background-image: url("../img/staff/teaser_staff.jpg");
}
.staffmain {
	display: flex;
	align-items: flex-start;
	margin-top: 50px;
}
.staffmain .fleximg {
	margin-right: 20px;
	flex-shrink: 0;
}
.staffmain .flexin {
	flex: 1;
}
.staffcap {
	font-size: 16px;
	line-height: 1.5;
	font-weight: 700;
	color: #342714;
}
.staffname {
	font-size: 20px;
	color: #342714;
	line-height: 1.5;
	font-weight: 700;
}
.staffcap+.staffname {
	margin-top: 5px;
}
.stafftxt {
	margin-top: 15px;
}
.stafftit {
	font-size: 18px;
	color: #342714;
	line-height: 1.5;
	font-weight: 700;
	margin-top: 30px;
}
.staffnote {
	margin-top: 5px;
}
.stafflist {
	display: flex;
	flex-wrap: wrap;
	margin: 130px 0 -30px;
}
.stafflist li {
	width: calc((100% - 41px)/3);
	margin: 30px 20px 30px 0;
}
.stafflist li:nth-child(3n) {
	margin-right: 0;
}
.stafflist .stafflistimg {
	text-align: center;
	margin-bottom: 25px;
}
/*2022-2-3_追加*/
.youtube_box{
	text-align:center;
	margin: 50px 0px;
}
@media (max-width: 767px) {
.staffmain {
	display: block;
	margin-top: 30px;
}
.staffmain .fleximg {
	text-align: center;
	margin: 0 0 35px;
}
.staffmain .fleximg img {
	width: 250px;
}
.staffcap {
	font-size: 16px;
}
.staffname {
	font-size: 20px;
}
.stafftxt {
	margin-top: 20px;
}
.stafftit {
	font-size: 18px;
	margin-top: 25px;
}
.stafflist {
	display: block;
	margin: 0;
}
.stafflist li {
	margin: 60px 0 0;
	width: auto;
}
.stafflist .stafflistimg img {
	width: 250px;
}
.youtube_box{
	position: relative;
	width: 100%;
	overflow: hidden;
	padding-bottom: 56.25%;
}
.youtube_box iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}
}



/* top
----------------------------------------------- */
.toppage#wrapper {
	padding-top: 0;
}

@media (max-width: 1024px) {
.toppage#wrapper {
	padding-top: 44px;
}
}
.toppage #header {
	transform: translateY(-100%);
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}
.toppage.show #header {
	transform: translateY(0);
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}
.topcont {
	background: #fdfcf4;
}
.topcont .contents {
	padding: 0;
}
.topmain {
	display: flex;
	background: #fff;
	position: relative;
}
.topmain .mainimg {
	flex: 1;
	height: 910px;
	background: url("../img/top/mainimg.jpg") center center no-repeat;
	background-size: cover;
}
.topmain .mainlogo {
	width: 160px;
	flex-shrink: 0;
	padding: 50px 0;
	text-align: center;
}
.topmain .maintxt {
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translateY(50%);
	padding: 0 30px;
	font-size: 48px;
	line-height: 1.65;
	letter-spacing: 0.1em;
	font-weight: 600;
	color: #fff;
	z-index: 2;
}
.topmain .maintxtin {
	display: block;
	color: #342714;
}
.topnews {
	background: #fff;
	display: flex;
	align-items: stretch;
	justify-content: flex-end;
	font-size: 14px;
	line-height: 1.5;
	padding: 20px 160px 120px;
}
.topnews .topnewstit {
	display: flex;
	align-items: center;
	font-weight: 700;
	color: #42690f;
	padding: 5px 35px 5px 0;
	flex-shrink: 0;
	margin-right: 30px;
	border-right: 1px #4a5e2a solid;
}
.topnews .topnewsin {
	display: flex;
	align-items: center;
}
.topnews .topnewsin a {
	display: flex;
	align-items: center;
	color: #42690f;
	background: url("../img/top/arrow_news.svg") right center no-repeat;
	padding: 5px 35px 5px 0;
}
.topnews .topnewsin a .topnewsdate {
	flex-shrink: 0;
	margin-right: 20px;
}
.topnews .topnewsin a .topnewstxt {
	
}
@media (max-width: 1024px) {
.toppage #header {
	transform: translateY(0);
}
.topmain .mainimg {
	height: 400px;
}
.topmain .mainlogo {
	width: 100px;
	padding: 20px 0;
}
.topmain .mainlogo img {
	height: 300px;
}
.topmain .maintxt {
	padding: 0 10px;
	font-size: 40px;
}
.topnews {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 100px 10px 40px;
}
.topnews .topnewstit {
	padding: 0 0 10px;
	margin: 0 0 20px;
	border-right: none;
	border-bottom: 1px #4a5e2a solid;
}
.topnews .topnewsin a {
	display: block;
	background: url("../img/top/arrow_news.svg") right bottom no-repeat;
	padding: 0 35px 0 0;
}
.topnews .topnewsin a .topnewsdate {
	margin: 0;
}
}
@media (max-width: 767px) {
.topmain .mainimg {
	height: 300px;
	background: url("../img/top/mainimg_sp.jpg") center center no-repeat;
	background-size: cover;
}
.topmain .mainlogo {
	display: none;
}
.topmain .maintxt {
	font-size: 23px;
	letter-spacing: 0.15em;
}
.topnews {
	padding: 70px 10px 40px;
}
.topnews .topnewsin {
	width: 100%;
}
.topnews .topnewsin a {
	width: 100%;
	display: block;
}
}

.topup {
	padding: 190px 0 0;
	position: relative;
}
.topnavi {
	position: absolute;
	left: 0;
	top: 50px;
	width: 100%;
	z-index: 2;
}
.topnavi .gnavi {
	margin: 0;
}
.topnavi .gnavi li {
	margin: 0 16px;
}
.topus {
	margin-bottom: -40px;
	position: relative;
	z-index: 2;
}
.topup .topupbox {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
}
.topup .topabouten {
	background: #42690f;
	font-size: 14px;
	letter-spacing: 0.1em;
	line-height: 1.4;
	padding: 10px 0;
	color: #fff;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
}
.topup .topaboutjp {
	border: 2px #42690f solid;
	color: #342714;
	letter-spacing: 0.1em;
	white-space: nowrap;
	background: #fff;
	font-size: 24px;
	line-height: 1.2;
	font-weight: 600;
	padding: 15px 10px;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
}
.topup .topaboutdet {
	font-size: 18px;
	line-height: 2;
	letter-spacing: 0.3em;
	color: #342714;
	font-weight: 700;
	margin: 20px 40px 0 0;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
}
.topup .topaboutbtn {
	margin: 200px 45px 0 0;
}
.topup .topaboutbtn a {
	display: block;
	font-size: 14px;
	letter-spacing: 0.2em;
	font-weight: 700;
	line-height: 1.125;
	color: #42690f;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	position: relative;
}
.topup .topaboutbtn a .topaboutbtnin {
	display: block;
	padding-right: 10px;
	position: relative;
}
.topup .topaboutbtn a:hover {
}
.topup .topaboutbtn a .topaboutbtnin:after {
	position:absolute;
	content:"";
	background: #42690f;
	width: 2px;
	height: 100%;
	right: 0;
	top: 0;
	z-index:1;
}
.topup .topaboutbtn a .topaboutbtnin:before {
	position:absolute;
	background: #42690f;
	width: 2px;
	height: 0;
	content:"";
	right: 0;
	top: 0;
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
	z-index:2;
}
.topup .topaboutbtn a:hover .topaboutbtnin:after {
	display: none;
}
.topup .topaboutbtn a:hover .topaboutbtnin:before {
	height: 100%;
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}

.topaboutbox {
	background: url(../img/top/repeat_about.png) center 0 repeat;
}
.topusin {
	background: url(../img/top/bg_about01.png) center 0 no-repeat;
	padding: 600px 0 310px;
	position: relative;
}
.topusin .inner {
	position: relative;
	z-index: 2;
}
.topusin .topustxt {
	color: #342714;
	font-weight: 700;
	line-height: 2.22;
}
.topusin .topusimg01 {
	position: absolute;
	left: 0;
	top: -60px;
	z-index: 1;
}
.topusin .topusimg02 {
	position: absolute;
	right: 0;
	bottom: 250px;
	z-index: 1;
}
@media (max-width: 1500px) {
.topusin .topusimg02 {
	right: -200px;
}
}

.tophouse {
	background: url(../img/top/bg_about02.png) center 0 no-repeat;
	position: relative;
	padding: 155px 0 100px;
}
.tophouse .inner {
	position: relative;
	z-index: 1;
}
.tophouse .tophouseimg {
	position: absolute;
	left: 0;
	top: -60px;
	z-index: 1;
}
@media (max-width: 1500px) {
.tophouse .tophouseimg {
	position: absolute;
	left: -200px;
}
}
.tophouse .topaboutdet {
	color: #fff;
}
.tophouse .topaboutbtn a {
	color: #fff;
}
.tophouse .topaboutbtn a .topaboutbtnin:after {
	background: #fff;
}
.tophouse .topaboutbtn a .topaboutbtnin:before {
	background: #fff;
}
.tophouse .tophousetxt {
	color: #fff;
	line-height: 2.22;
	max-width: 440px;
	font-weight: 700;
}

@media (max-width: 1024px) {
.topup {
	padding: 50px 0 0;
}
.topnavi {
	display: none;
}
.topus {
	margin-bottom: 30px;
}
.topusin .topusimg01 {
	position: relative;
	left: auto;
	top: auto;
}
.topusin .topusimg01 img {
	width: 80%;
}
.topusin .topusimg02 {
	position: relative;
	right: auto;
	bottom: auto;
	text-align: right;
}
.topusin .topusimg02 img {
	width: 80%;
}
.topusin {
	padding: 0 0 100px;
}
.topusin .topustxt {
	margin: 40px 0;
}
.tophouse .tophouseimg {
	left: 0;
}
.tophouse .tophouseimg img {
	width: 80%;
}
.tophouse .tophousetxt {
	max-width: none;
	margin-top: 60px;
}
}
@media (max-width: 767px) {
.topup {
	padding: 30px 0 0;
	background: #fff;
}
.topaboutbox {
	background: url(../img/common/bg_sp.jpg) -50px -50px repeat-x;
}
.topusin {
	background: none;
}
.topusin .topusimg01 {
	transform: translate(-10%,-10px);
}
.topusin .topusimg01 img {
	width: 90%;
}
.topusin .topusimg02 {
	position: relative;
	right: auto;
	bottom: auto;
	text-align: right;
}
.topusin .topusimg02 img {
	width: 70%;
}
.topusin .topustxt {
	margin: 20px 0 30px;
	line-height: 2;
}
.tophouse {
	background: url(../img/top/bg_about02_sp.png) center 0 no-repeat;
	background-size: 100% auto;
	padding: 120px 0 100px;
}
.tophouse .tophouseimg {
	position: absolute;
	left: -30%;
	top: -60px;
	z-index: 1;
}
.tophouse .tophouseimg img {
	width: 85%;
}
.tophouse .tophousetxt {
	line-height: 2;
	margin-top: 30px;
}
}

.tophd {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: #342714;
	line-height: 1.5;
	margin-bottom: 40px;
}
.tophd .tophdjp {
	font-size: 40px;
	font-weight: 700;
}
.tophd .tophden {
	font-size: 22px;
	margin-top: 15px;
}
@media (max-width: 767px) {
.tophd {
	margin-bottom: 25px;
}
.tophd .tophdjp {
	font-size: 32px;
}
.tophd .tophden {
	font-size: 16px;
	margin-top: 10px;
}
}

.topwne {
	padding: 110px 0 100px;
}
.topwne .topwnein+.topwnein {
	margin-top: 110px;
}
.topback {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 40px;
}
.topback a {
	font-size: 14px;
	line-height: 1.5;
	color: #342714;
	padding: 0 15px 5px;
	position: relative;
}
.topback a:after {
	position: absolute;
	content: "";
	left: 0;
	bottom: 0;
	background: #42690f;
	width: 100%;
	height: 2px;
	z-index: 1;
}
.topback a:hover:after {
	display: none;
}
.topback a:before {
	position:absolute;
	background: #42690f;
	width: 0;
	height: 2px;
	content:"";
	z-index:2;
	bottom: 0;
	left: 0;
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}
.topback a:hover:before {
	width: 100%;
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}
.topcate {
	display: flex;
}
.topcate li {
	width: calc((100% - 40px)/3);
	margin: 0 20px 0 0;
}
.topcate li:nth-child(3n) {
	margin-right: 0;
}
.topcate li a {
	display: block;
	color: #42690f;
	font-size: 14px;
	line-height: 1.5;
}
.topcate .topcateimg {
	background: #cecece;
	height: 210px;
	overflow: hidden;
}
.topcate .topcateimgin {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
.topcate .topcateimgin {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	transition: all 0.6s;
	-webkit-transition: all 0.6s;
	transform: scale(1);
}
.topcate a:hover .topcateimgin {
	transform: scale(1.1);
	transition: all 0.6s;
}
.topcate .topcatedate {
	margin-top: 15px;
}
.topcate .topcatetxt {
	margin-top: 3px;
}
@media (max-width: 767px) {
.topwne {
	padding: 50px 0;
}
.topback {
	display: flex;
	justify-content: center;
	margin-bottom: 30px;
}
.topcate {
	display: block;
	padding: 0 10px;
}
.topcate li {
	width: auto;
	margin: 0;
}
.topcate li+li {
	margin-top: 30px;
}
}

.topro {
	background: #fff;
	padding: 100px 0 210px;
	position: relative;
}
.topro:before {
	position: absolute;
	content: "";
	background: url(../img/top/bg_pro.jpg) 0 0 repeat;
	right: 0;
	top: 0;
	width: 62.5%;
	height: 100%;
	z-index: 0;
}
.topro .inner {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	position: relative;
	z-index: 2;
}
.topro .toproimg {
	position: absolute;
	left: 50px;
	bottom: 60px;
	width: 46.875%;
	z-index: 1;
}
.topro .toprocont {
	display: flex;
	align-items: flex-start;
}
.topro .toproen {
	background: #42690f;
	font-size: 14px;
	letter-spacing: 0.1em;
	line-height: 1.4;
	padding: 10px 0;
	color: #fff;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
}
.topro .toprojp {
	border: 2px #42690f solid;
	color: #342714;
	letter-spacing: 0.1em;
	background: #fff;
	font-size: 24px;
	line-height: 1.2;
	font-weight: 600;
	padding: 15px 10px;
	white-space: nowrap;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	text-align: center;
}
.topro .toproin {
	margin: 15px 40px 0 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
.topro .toprodet {
	font-size: 18px;
	font-weight: 700;
	line-height: 2;
	letter-spacing: 0.3em;
	color: #333;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
}
.topro .toprotxt {
	line-height: 2.2;
	font-weight: 700;
	color: #342714;
	max-width: 300px;
	margin-top: 100px;
}
.topro .toprobtn {
	margin-top: 40px;
}
.topro .toprobtn a {
	font-size: 14px;
	color: #342714;
	line-height: 1.5;
	padding: 8px 30px;
	border: 2px #42690f solid;
	background: #fff;
	font-weight: 700;
}
.topro .toprobtn a:hover {
	background: #42690f;
	color: #fff;
}
.topro .toprotxtsp {
	display: none;
}
.topro .toprojpbox {
	display: flex;
	align-items: flex-end;
	flex-direction: row-reverse;
}
.topro .toprojpbox .toprojp+.toprojp {
	margin-bottom: -35px;
}

@media (max-width: 1024px) {
.topro {
	background: #fff;
	padding: 0;
}
.topro:before {
	display: none;
}
.topro .inner {
	align-items: center;
	padding: 300px 20px 50px;
	background: url(../img/top/bg_pro.jpg) 0 0 repeat;
}
.topro .toproimg {
	position: relative;
	left: auto;
	bottom: auto;
	width: auto;
	text-align: center;
	margin-bottom: -260px;
	transform: translateY(-30px);
	z-index: 3;
}
.topro .toproimg img {
	width: 450px;
}
}
@media (max-width: 767px) {
.topro .toproimg {
	margin-bottom: -160px;
	transform: translateY(-20px);
}
.topro .toproimg img {
	width: 300px;
}
.topro .inner {
	padding: 200px 20px 30px;
}
.topro .toprotxt {
	display: none;
}
.topro .toprotxtsp {
	display: block;
	font-size: 16px;
	line-height: 2;
	color: #342714;
	font-weight: 700;
	margin-top: 70px;
}
.topro .toprobtn {
	margin-top: 80px;
	align-self: flex-end;
}
.topro .toprocont {
	width: 100%;
	justify-content: flex-end;
}
.topro .toproin {
	margin: 15px 80px 0 0;
}
}

.topdown {
	padding: 110px 0 120px;
}
@media (max-width: 767px) {
.topdown {
	padding: 40px 0;
}
}


/* aboutus
----------------------------------------------- */
.teaserabout {
	background-image: url(../img/aboutus/teaser_aboutus_1.jpg);
}
.pagecom {
	padding-top: 0;
}
.pagemain {
	background: #fdfcf4;
	padding: 130px 0 0;
	position: relative;
}
.pagemain .pagetit {
	position: absolute;
	left: 0;
	top: 100px;
	width: 100%;
	z-index: 2;
}
.pagemain .pagetit .inner {
	display: flex;
	justify-content: flex-end;
}
.pagemain .pagetitin {
	font-size: 18px;
	font-weight: 700;
	line-height: 2;
	letter-spacing: 0.3em;
	color: #333;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
}
.pagemain .pagecont {
	background: url(../img/aboutus/bg_tree.png) center 60px no-repeat;
	padding: 0 0 130px;
}
.pagemain .pagelar {
	margin-bottom: 10px;
}
.pagemain .pagelar img {
	width: 67%;
}
.pagemain .pagedet {
	display: flex;
	justify-content: flex-end;
}
.pagemain .pagedet li {
	line-height: 2.2;
	font-weight: 700;
	color: #342714;
	width: calc((100% - 40px)/2);
}
.pagemain .pagedet li+li {
	margin-left: 40px;
}
@media (max-width: 767px) {
.pagemain {
	padding: 35px 0 0;
}
.pagemain .pagetit {
	position: relative;
	left: auto;
	top: auto;
	margin-bottom: 30px;
}
.pagemain .pagetit .inner {
	display: flex;
	justify-content: center;
}
.pagemain .pagecont {
	background: url(../img/common/bg_tree.png) -50px -60px repeat-x;
	padding: 0 0 100px;
}
.pagemain .pagelar {
	margin-bottom: 0;
	transform: translateY(-20px);
}
.pagemain .pagelar img {
	width: 86%;
}
.pagemain .pagedet {
	display: block;
}
.pagemain .pagedet li {
	line-height: 2;
	width: auto;
}
.pagemain .pagedet li+li {
	margin-left: 0;
}
}

.usreason {
	background: #e2d75b;
	padding: 160px 0 100px;
	position: relative;
}
.usreason .inner {
	display: flex;
	justify-content: flex-end;
}
.usreason .reasonimg {
	position: absolute;
	left: 30px;
	top: -40px;
	width: 46.875%;
	z-index: 1;
}
.usreason .reasonin {
	width: 50%;
}
.usreason .reasonhd {
	font-size: 20px;
	line-height: 1.5;
	font-weight: 700;
	color: #342714;
	margin-bottom: 45px;
}
.usreason .reasonbox+.reasonbox {
	margin-top: 50px;
}
.usreason .reasontit {
	border: 2px #42690f solid;
	background: #fff;
	padding: 12px 15px;
	display: flex;
	align-items: flex-start;
	margin-bottom: 20px;
}
.usreason .reasontit .reasonnum {
	flex-shrink: 0;
	background: #342714;
	width: 26px;
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	line-height: 0.8;
	font-weight: 700;
	color: #fff;
	padding: 3px 0 0;
	margin: 2px 15px 0 0;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}
.usreason .reasontit .reasontitin {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	color: #342714;
	align-self: center;
}
.usreason .reasontxt {
	line-height: 2.2;
	font-weight: 700;
	color: #342714;
}

@media (max-width: 1024px) {
.usreason {
	padding: 0 0 60px;
}
.usreason .inner {
	display: block;
}
.usreason .reasonimg {
	position: relative;
	left: auto;
	top: auto;
	width: auto;
	text-align: center;
	transform: translateY(-30px);
}
.usreason .reasonimg img {
	width: 450px;
}
.usreason .reasonin {
	width: auto;
}
}
@media (max-width: 767px) {
.usreason {
	padding: 0 0 40px;
}
.usreason .reasonimg {
	position: relative;
	left: auto;
	top: auto;
	width: auto;
	text-align: center;
	transform: translateY(-20px);
}
.usreason .reasonimg img {
	width: 300px;
}
.usreason .reasonhd {
	font-size: 20px;
	margin-bottom: 20px;
}
.usreason .reasontit {
	padding: 10px 13px;
	margin-bottom: 10px;
}
.usreason .reasontit .reasonnum {
	width: 22px;
	height: 22px;
	margin: 2px 10px 0 0;
}
.usreason .reasontit .reasontitin {
	font-size: 18px;
}
.usreason .reasontxt {
	line-height: 2;
	font-weight: 500;
}
}


/* birth
----------------------------------------------- */
.teaserbirth {
	background-image: url(../img/birth/teaser_birth.jpg);
}
.thelogo {
	padding: 130px 0 120px;
}
.thelogo .thelogohd {
	text-align: center;
	font-size: 20px;
	color: #342714;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 100px;
}
.thelogo .thelogobox {
	display: flex;
	align-items: flex-start;
}
.thelogo .thelogoimg {
	flex-shrink: 0;
	margin-right: 50px;
}
.thelogo .thelogoin {
	line-height: 2.2;
	font-weight: 700;
	color: #342714;
	flex: 1;
}

@media (max-width: 1024px) {
.thelogo .thelogobox {
	display: block;
}
.thelogo .thelogoimg {
	text-align: center;
	margin: 0 0 50px;
}
}
@media (max-width: 767px) {
.thelogo {
	padding: 40px 0 80px;
}
.thelogo .thelogohd {
	font-size: 20px;
	margin-bottom: 30px;
}
.thelogo .thelogoimg {
	margin: 0 0 35px;
}
.thelogo .thelogoimg img {
	width: 230px;
}
.thelogo .thelogoin {
	line-height: 2;
	font-weight: 500;
}
}

.relation {
	padding: 120px 0;
	color: #fff;
	position: relative;
}
.relation:before {
	position: absolute;
	content: "";
	background: #4d4232;
	left: 0;
	top: 0;
	width: 90%;
	height: 100%;
	z-index: 0;
}
.relation .inner {
	position: relative;
	z-index: 2;
}
.relation .relahd {
	font-size: 18px;
	line-height: 1.65;
	font-weight: 700;
	margin-bottom: 35px;
}
.relation .relatxt {
	line-height: 2.2;
	font-weight: 700;
	max-width: 480px;
}
.relation .relaimg {
	position: absolute;
	right: 0;
	top: 120px;
	width: 49.5%;
	z-index: 1;
}

@media (max-width: 1024px) {
.relation:before {
	width: 95%;
}
.relation .relatxt {
	max-width: none;
	padding-right: 40px;
}
.relation .relaimg {
	position: relative;
	right: auto;
	top: auto;
	width: auto;
	text-align: right;
	margin-top: 30px;
}
.relation .relaimg img {
	width: 95%;
}
}
@media (max-width: 767px) {
.relation {
	padding: 30px 0;
	color: #fff;
	position: relative;
}
.relation .relatxt {
	padding-right: 20px;
	font-weight: 500;
}
.relation .relahd {
	margin-bottom: 25px;
}
}




/* house
----------------------------------------------- */
.teaserhouse {
	background-image: url("../img/house/teaser_house.jpg");
}
.househdl {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.25;
	color: #342714;
}
.househdm {
	font-size: 20px;
	line-height: 1.65;
	font-weight: 700;
	color: #342714;
}
@media (max-width: 767px) {
.househdl {
	font-size: 20px;
	line-height: 1.5;
}
.househdm {
	font-size: 20px;
	line-height: 1.5;
}
}

.build {
	background: #e1e8de;
	padding: 130px 0 145px;
}
.build .househdl {
	margin-bottom: 50px;
}
.build .buildbox {
	display: flex;
	align-items: flex-start;
}
.build .buildbox .buildimg {
	margin-right: 30px;
	flex-shrink: 0;
}
.build .buildbox .buildin {
	flex: 1;
	font-size: 14px;
	color: #342714;
}
@media (max-width: 767px) {
.build {
	padding: 30px 0 40px;
}
.build .househdl {
	margin-bottom: 20px;
}
.build .buildbox {
	display: block;
}
.build .buildbox .buildimg {
	text-align: center;
	margin: 0 0 20px;
}
}

.method {
	padding: 100px 0;
}
.methodbox+.methodbox {
	margin-top: 110px;
}
.method .househdm {
	margin-bottom: 55px;
}
.method .methodflex {
	display: flex;
	align-items: flex-start;
}
.method .methodflex .methodimg {
	flex-shrink: 0;
	margin-left: 40px;
}
.method .methodflex .methodin {
	flex: 1;
	font-size: 14px;
	color: #342714;
}
.method .methoddet {
	margin-top: 30px;
	background: #f7f5ec;
	padding: 50px 20px;
	text-align: center;
}
@media (max-width: 767px) {
.method {
	padding: 40px 0 30px;
}
.methodbox+.methodbox {
	margin-top: 50px;
}
.method .househdm {
	margin-bottom: 20px;
}
.method .methodflex {
	display: block;
}
.method .methodflex .methodimg {
	margin: 30px 0 0;
	text-align: center;
}
.method .methoddet {
	padding: 35px 20px;
}
}

.super {
	background: #e2d75b;
	padding: 100px 0;
}
.super .househdm {
	margin-bottom: 55px;
}
.super .superlist {
	display: flex;
	flex-wrap: wrap;
	margin: -15px -10px;
}
.super .superlist li {
	margin: 15px;
}
@media (max-width: 1024px) {
.super .superlist {
	justify-content: center;
}
}
@media (max-width: 767px) {
.super {
	padding: 50px 0 40px;
}
.super .househdm {
	margin-bottom: 20px;
}
.super .superlist {
	justify-content: space-between;
	margin: -10px 0;
}
.super .superlist li {
	margin: 10px 0;
}
.super .superlist li img {
	width: 160px;
}
}

.design {
	padding: 115px 0 120px;
}
.design .househdm {
	margin-bottom: 55px;
}
.design .designdet {
	background: #f7f5ec;
	padding: 80px 20px 60px;
	text-align: center;
}
.design .designflex {
	display: flex;
	align-items: flex-start;
	margin-top: 60px;
}
.design .designflex .fleximg {
	flex-shrink: 0;
	margin-left: 40px;
}
.design .designflex .flexin {
	flex: 1;
	font-size: 14px;
	color: #342714;
}
@media (max-width: 767px) {
.design {
	padding: 50px 0;
}
.design .househdm {
	margin-bottom: 30px;
}
.design .designdet {
	padding: 20px;
}
.design .designflex {
	display: block;
	margin-top: 30px;
}
.design .designflex .fleximg {
	text-align: center;
	margin: 30px 0 0;
}
}


.flow {
	background: #f7f5ec;
	padding: 70px 0 80px;
}
.flow .househdl {
	margin-bottom: 50px;
}
.flow .flowbox+.flowbox {
	margin-top: 50px;
}
.flow .flowflex {
	display: flex;
	align-items: flex-start;
}
.flow .flowflex .fleximg {
	flex-shrink: 0;
	margin-left: 40px;
}
.flow .flowflex .flexin {
	flex: 1;
}
.flow .flowtit {
	background: #fff;
	border: 2px #42690f solid;
}
.flow .flowtit {
	border: 2px #42690f solid;
	background: #fff;
	padding: 12px 15px;
	display: flex;
	align-items: flex-start;
	margin-bottom: 20px;
}
.flow .flowtit .flownum {
	flex-shrink: 0;
	background: #342714;
	width: 26px;
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	line-height: 0.8;
	font-weight: 700;
	color: #fff;
	padding: 3px 0 0;
	margin: 2px 15px 0 0;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}
.flow .flowtit .flowtitin {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	color: #342714;
	align-self: center;
}
.flow .flowtxt {
	line-height: 2.2;
	font-weight: 700;
	color: #342714;
	margin-top: 20px;
}


@media (max-width: 767px) {
.flow {
	padding: 35px 0 20px;
}
.flow .househdl {
	margin-bottom: 30px;
}
.flow .flowbox+.flowbox {
	margin-top: 40px;
}
.flow .flowflex {
	display: block;
}
.flow .flowflex .fleximg {
	text-align: center;
	margin: 30px 0 0;
}
.flow .flowtit {
	padding: 10px 15px;
	margin-bottom: 15px;
}
.flow .flowtit .flownum {
	width: 22px;
	height: 22px;
	padding: 2px 0 0;
	margin: 2px 10px 0 0;
}
.flow .flowtit .flowtitin {
	font-size: 18px;
}
.flow .flowtxt {
	font-weight: 500;
	margin-top: 15px;
	line-height: 1.75;
}
}


.beside {
	display: inline-block;
	letter-spacing: 0;
	transform: rotate(-90deg);
}




/* XXXXXXX
----------------------------------------------- */

@media (max-width: 1024px) {

}
@media (max-width: 767px) {

}








