/* Sass Document */
@media screen and (max-width: 767px) {
		#main_content img {
				max-width: 100%;
		}
}
/* ----------------------------------------------------------------------------------------------------
*  mv
* --------------------------------------------------------------------------------------------------*/
#main_visual {
		position: relative;
		height: auto;
		margin: 0 auto;
}
#main_visual .mv_txt {
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		height: 100%;
		z-index: 3;
}
@media screen and (max-width: 767px) {
		#main_visual .mv_txt {
				display: none;
		}
}
#main_visual .mv_img {
		position: relative;
		z-index: 1;
}
#main_visual .mv_img img {
		display: block;
		width: 100%;
		max-width: inherit;
		height: auto;
}
#main_visual img {
		width: 100%;
}

@media screen and (max-width: 767px) {
		#main_visual {
				overflow: hidden;
		}
		#main_visual .mv_txt {
				height: auto;
				width: 90%;
				display: none;
		}
		#main_visual .mv_img {
				width: 100%;
		}
}
/* ----------------------------------------------------------------------------------------------------
*  sec-services
* --------------------------------------------------------------------------------------------------*/
.sec-services {
		position: relative;
		padding: 90px 0 180px 0;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.sec-services:after {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		margin: 0 auto;
		display: block;
		content: "";
		width: 100%;
		height: 540px;
		background: url("../img/index/bg_stripe.png") repeat left top;
		z-index: -1;
}
.sec-services .box_wrap {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
}
.sec-services .box {
		position: relative;
		width: 32%;
		max-width: 310px;
		background: #FFF;
		padding: 0 28px 30px 27px;
		-webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
		        box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		-webkit-transition: 0.4s;
		transition: 0.4s;
}
.sec-services .box:nth-of-type(2) {
		top: 34px;
}
.sec-services .box:nth-of-type(3) {
		top: 68px;
}
.sec-services .box:hover {
		opacity: 0.7;
}
.sec-services .box .img {
		margin: -20px auto 0 auto;
		text-align: center;
}
.sec-services .box .txt {
		margin-top: 20px;
}
.sec-services .box .txt h3 {
		font-size: 1.8rem;
		font-weight: 700;
		margin-bottom: 15px;
		text-align: center;
		line-height: 1.6;
}
.sec-services .box .txt h3 span {
		display: block;
		font-size: 2.8rem;
		line-height: 1.2;
		margin-top: 5px;
		color: #81bf00;
		text-align: center;
}
.sec-services .box .txt p {
		font-size: 1.4rem;
		line-height: 1.7;
}
.sec-services .box .btn_wrap {
		position: absolute;
		left: 0;
		right: 0;
		bottom: -20px;
		margin: 0 auto;
		padding: 0 30px;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.sec-services .box .btn {
		max-width: 140px;
		font-size: 1.2rem;
		padding: 10px 5px 11px 5px;
		margin: 0 0 0 auto;
}
.sec-services .box .btn.arrow:before, .sec-services .box .btn.arrow:after {
		right: 15px;
}
.sec-services .box .btn.arrow:before {
		width: 12px;
}
.sec-services .box .btn.arrow:after {
		margin-top: -4px;
		border-width: 4px 0 0 5px;
}

@media screen and (max-width: 767px) {
		.sec-services {
				padding: 10% 0 17%;
		}
		.sec-services:after {
				height: 100%;
		}
		.sec-services .box_wrap {
				display: block;
		}
		.sec-services .box {
				position: relative;
				width: 82%;
				max-width: 100%;
				padding: 5em 4em 8em;
				-webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
				        box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
				margin: 2em auto 0;
		}
		.sec-services .box + .box {
				margin-top: 9em;
		}
		.sec-services .box:nth-of-type(2), .sec-services .box:nth-of-type(3) {
				top: 0;
		}
		.sec-services .box:hover {
				opacity: 0.7;
		}
		.sec-services .box .img {
				margin: 0 auto 0 auto;
		}
		.sec-services .box .txt {
				margin-top: 1em;
		}
		.sec-services .box .txt h3 {
				font-size: 3.7rem;
				margin-bottom: 1em;
		}
		.sec-services .box .txt h3 span {
				font-size: 4.8rem;
				margin-top: 5px;
		}
		.sec-services .box .txt p {
				font-size: 3rem;
				line-height: 1.7;
		}
		.sec-services .box .btn_wrap {
				bottom: -3em;
				padding: 0 3em;
		}
		.sec-services .box .btn {
				max-width: 60%;
				font-size: 2.8vw;
				padding: 1em;
				margin: 0 0 0 auto;
		}
		.sec-services .box .btn.arrow:before, .sec-services .box .btn.arrow:after {
				right: 15px;
		}
		.sec-services .box .btn.arrow:before {
				width: 12px;
		}
		.sec-services .box .btn.arrow:after {
				margin-top: -4px;
				border-width: 4px 0 0 5px;
		}
}
/* ----------------------------------------------------------------------------------------------------
*  sec-reasons
* --------------------------------------------------------------------------------------------------*/
.sec-reasons {
		position: relative;
		padding: 100px 0 80px 0;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.sec-reasons .sec_ttl {
		text-align: left;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		margin-bottom: 80px;
}
.sec-reasons .sec_ttl span {
		position: relative;
		display: inline-block;
		vertical-align: middle;
		padding-right: 20px;
		margin-right: 14px;
		margin-bottom: 0;
}
.sec-reasons .sec_ttl span:before {
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto 0;
		display: block;
		vertical-align: middle;
		content: "";
		width: 1px;
		height: 30px;
		background: #848484;
		-webkit-transform: rotate(30deg);
		transform: rotate(30deg);
}
.sec-reasons .sec_ttl:after {
		display: none;
}
.sec-reasons .box_wrap {
		max-width: 1360px;
		margin: 0 auto;
}
.sec-reasons .box {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
}
.sec-reasons .box:nth-of-type(even) {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: row-reverse;
		        flex-direction: row-reverse;
}
.sec-reasons .box + .box {
		margin-top: 120px;
}
.sec-reasons .box .img {
		width: 55%;
		max-width: 750px;
		margin: -60px 0 0 0;
}
.sec-reasons .box:nth-of-type(even) .img {
		margin: -60px 0 0 0;
}
.sec-reasons .box .img img {
		display: block;
		width: 100%;
		max-width: inherit;
		height: auto;
}
.sec-reasons .box .txt {
		width: 65%;
		max-width: 800px;
		margin-right: -254px;
		padding: 60px 312px 60px 90px;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.sec-reasons .box:nth-of-type(even) .txt {
		margin-left: -254px;
		margin-right: 0;
		padding: 60px 90px 60px 312px;
}
.sec-reasons .box.b01 .txt {
		background: -webkit-gradient(linear, left bottom, right top, from(rgba(29, 153, 196, 0.2)), color-stop(80%, #FFF));
		background: linear-gradient(to top right, rgba(29, 153, 196, 0.2), #FFF 80%);
}
.sec-reasons .box.b02 .txt {
		background: -webkit-gradient(linear, right bottom, left top, from(rgba(245, 161, 1, 0.4)), color-stop(80%, #FFF));
		background: linear-gradient(to top left, rgba(245, 161, 1, 0.4), #FFF 80%);
}
.sec-reasons .box.b03 .txt {
		background: -webkit-gradient(linear, left bottom, right top, from(rgba(254, 193, 218, 0.4)), color-stop(80%, #FFF));
		background: linear-gradient(to top right, rgba(254, 193, 218, 0.4), #FFF 80%);
}
.sec-reasons .box .txt .box_num {
		margin-bottom: 25px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		line-height: 1.1;
}
.sec-reasons .box .txt .box_num .num {
		font-size: 9rem;
		font-weight: 700;
}
.sec-reasons .box .txt .box_num .text {
		position: relative;
		font-size: 1.4rem;
		font-weight: 700;
		color: #848484;
}
.sec-reasons .box .txt .box_num .text:before {
		display: inline-block;
		vertical-align: middle;
		margin: 0 18px;
		content: "";
		width: 1px;
		height: 25px;
		background: #848484;
}
.sec-reasons .box .txt h3 {
		margin-bottom: 30px;
		font-size: 3.4rem;
		font-weight: 700;
		line-height: 1.4;
}
.sec-reasons .box.b01 .txt h3 span {
		color: #1d99c4;
}
.sec-reasons .box.b02 .txt h3 span {
		color: #f5a101;
}
.sec-reasons .box.b03 .txt h3 span {
		color: #de4f89;
}
.sec-reasons .box .txt p {
		font-size: 1.4rem;
		line-height: 1.7;
}
.sec-reasons .btn_wrap {
		margin-top: 50px;
}

@media screen and (max-width: 767px) {
		.sec-reasons {
				padding: 10% 0;
		}
		.sec-reasons .sec_ttl {
				width: 82% !important;
				margin: 0 auto 10%;
		}
		.sec-reasons .sec_ttl span {
				padding-right: 20px;
				margin-right: 14px;
				margin-bottom: 0;
		}
		.sec-reasons .sec_ttl span:before {
				position: absolute;
				right: 0;
				top: 0;
				bottom: 0;
				margin: auto 0;
				display: block;
				vertical-align: middle;
				content: "";
				width: 1px;
				height: 30px;
				background: #848484;
				-webkit-transform: rotate(30deg);
				transform: rotate(30deg);
		}
		.sec-reasons .sec_ttl:after {
				display: none;
		}
		.sec-reasons .box {
				width: 82%;
				margin: 0 auto;
				-webkit-box-orient: vertical;
				-webkit-box-direction: reverse;
				    -ms-flex-direction: column-reverse;
				        flex-direction: column-reverse;
		}
		.sec-reasons .box:nth-of-type(even) {
				-webkit-box-orient: vertical;
				-webkit-box-direction: reverse;
				    -ms-flex-direction: column-reverse;
				        flex-direction: column-reverse;
		}
		.sec-reasons .box + .box {
				margin-top: 6em;
		}
		.sec-reasons .box .img {
				width: auto;
				max-width: 100%;
				margin: 0;
		}
		.sec-reasons .box:nth-of-type(even) .img {
				margin: 0;
		}
		.sec-reasons .box .img img {
				display: block;
				width: 100%;
				max-width: inherit;
				height: auto;
		}
		.sec-reasons .box .txt {
				width: auto;
				max-width: 100%;
				margin-right: 0;
				padding: 5em 4em 5em;
		}
		.sec-reasons .box:nth-of-type(even) .txt {
				margin-left: 0;
				margin-right: 0;
				padding: 5em 4em 5em;
		}
		.sec-reasons .box .txt .box_num {
				margin-bottom: 1em;
		}
		.sec-reasons .box .txt .box_num .num {
				font-size: 9rem;
		}
		.sec-reasons .box .txt .box_num .text {
				font-size: 3rem;
		}
		.sec-reasons .box .txt .box_num .text:before {
				margin: 0 1em;
				height: 7vw;
		}
		.sec-reasons .box .txt h3 {
				margin-bottom: 0.5em;
				font-size: 4.8rem;
		}
		.sec-reasons .box .txt p {
				font-size: 3rem;
		}
		.sec-reasons .btn_wrap {
				margin-top: 7em;
		}
}
/* ----------------------------------------------------------------------------------------------------
*  sec-voice
* --------------------------------------------------------------------------------------------------*/
.sec-voice {
		position: relative;
		padding: 76px 0 72px 0;
		background: #c1e771;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.sec-voice:before {
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		margin: 0 auto;
		width: 100%;
		height: 50%;
		display: block;
		content: "";
		background: rgba(255, 255, 255, 0.2);
		z-index: 1;
}
.sec-voice .inner {
		position: relative;
		z-index: 2;
}
.sec-voice .sec_ttl {
		margin-bottom: 70px;
}
.sec-voice .sec_ttl:after {
		background: #FFF;
}
.sec-voice .box_wrap {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
}
.sec-voice .box {
		width: 31%;
		max-width: 310px;
		margin-right: 3.5%;
		-webkit-transition: 0.4s;
		transition: 0.4s;
}
.sec-voice .box a:hover img {
		opacity: 1;
}
.sec-voice .box:hover {
		opacity: 0.7;
}
.sec-voice .box:nth-of-type(3n) {
		margin-right: 0;
}
.sec-voice .box .img {
		position: relative;
}
.sec-voice .box .img img {
		display: block;
		width: 100%;
		max-width: inherit;
		height: auto;
}
.sec-voice .box .img .name {
		position: absolute;
		left: 0;
		bottom: 0;
		font-size: 1.6rem;
		font-weight: 700;
		color: #FFF;
		text-align: center;
		background: rgba(245, 161, 1, 0.85);
		padding: 7px 24px;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.sec-voice .box .txt {
		background: #FFF;
		padding: 25px;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.sec-voice .box .txt .ttl {
		font-size: 2rem;
		font-weight: 700;
		line-height: 1.5;
}
.sec-voice .btn_wrap {
		margin-top: 40px;
}
.sec-voice .btn {
		max-width: 230px;
		padding: 21px 10px 24px 10px;
}

@media screen and (max-width: 767px) {
		.sec-voice {
				padding: 10% 0;
		}
		.sec-voice .sec_ttl {
				margin-bottom: 2em;
		}
		.sec-voice .sec_ttl:after {
				background: #FFF;
		}
		.sec-voice .box_wrap {
				display: block;
		}
		.sec-voice .box {
				width: 82%;
				max-width: 100%;
				margin: 0 auto 0;
				margin-right: auto !important;
		}
		.sec-voice .box + .box {
				margin-top: 5em;
		}
		.sec-voice .box .img .name {
				position: absolute;
				left: 0;
				bottom: 0;
				font-size: 3rem;
				font-weight: 700;
				color: #FFF;
				text-align: center;
				background: rgba(245, 161, 1, 0.85);
				padding: 7px 24px;
				-webkit-box-sizing: border-box;
				        box-sizing: border-box;
		}
		.sec-voice .box .txt {
				font-size: 3rem;
				background: #FFF;
				padding: 2em 2em;
		}
		.sec-voice .box .txt .ttl {
				font-size: 3rem;
				font-weight: 700;
				line-height: 1.5;
		}
		.sec-voice .btn_wrap {
				margin-top: 7em;
		}
		.sec-voice .btn {
				max-width: 80%;
				padding: 2em 1em;
		}
}
/* ----------------------------------------------------------------------------------------------------
*  sec-news
* --------------------------------------------------------------------------------------------------*/
.sec-news {
		position: relative;
		padding: 70px 0 65px 0;
		background: url("../img/index/bg_stripe.png") repeat left top;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.sec-news .sec_ttl:after {
		display: none;
}
.sec-news .box_wrap {
		background: #FFF;
		padding: 55px 70px 50px 70px;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.sec-news .post-news .post {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: start;
		    -ms-flex-pack: start;
		        justify-content: flex-start;
		padding-bottom: 20px;
		border-bottom: 1px solid #e8e8e8;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
}
.sec-news .post-news .post + .post {
		margin-top: 20px;
}
.sec-news .post-news .post .cat {
		width: 110px;
		height: 24px;
		display: block;
		margin-right: 17px;
		vertical-align: middle;
		text-align: center;
		font-size: 1.1rem;
		line-height: 1;
		font-weight: 700;
		padding: 5px 5px 0;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		-webkit-transition: 0.4s;
		transition: 0.4s;
}
.sec-news .post-news .post .cat:hover {
		opacity: 0.7;
}
.sec-news .post-news .post .cat.cat-01 {
		color: #81bf00;
		border: 1px solid #81bf00;
}
.sec-news .post-news .post .cat.cat-02 {
		color: #1d99c4;
		border: 1px solid #1d99c4;
}
.sec-news .post-news .post .cat.cat-03 {
		color: #f5a101;
		border: 1px solid #f5a101;
}
.sec-news .post-news .post .cat.cat-04 {
		color: #de4f89;
		border: 1px solid #de4f89;
}
.sec-news .post-news .post .post-date {
		font-size: 1.2rem;
		font-weight: 700;
		color: #b4b4b4;
		width: 76px;
		margin-right: 40px;
}
.sec-news .post-news .post .post-txt {
		font-size: 1.4rem;
		line-height: 1.7;
		max-width: calc( 100% - 110px - 17px - 76px - 40px );
}
@media screen and (max-width: 767px) {
		.sec-news .post-news .post .post-txt {
				max-width: 100%;
		}
}
.sec-news .post-news .post .post-txt:hover {
		text-decoration: underline;
}

.link_wrap {
		text-align: center;
		margin-top: 30px;
}
.link_wrap .text_link {
		text-align: center;
		font-size: 1.3rem;
		font-weight: 700;
		padding: 0 34px 8px 18px;
		border-bottom: 2px solid #323232;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		-webkit-transition: 0.4s;
		transition: 0.4s;
}
.link_wrap .text_link:hover {
		opacity: 0.7;
}
.link_wrap .arrow:before, .link_wrap .arrow:after {
		right: 8px;
}
.link_wrap .arrow:before {
		background: #323232;
		width: 12px;
}
.link_wrap .arrow:after {
		margin-top: -4px;
		border-width: 4px 0 0 4px;
		border-color: transparent transparent transparent #323232;
}

@media screen and (max-width: 767px) {
		.sec-news {
				padding: 10% 0;
		}
		.sec-news .sec_ttl:after {
				display: none;
		}
		.sec-news .box_wrap {
				padding: 2em 4em 8em;
				width: 82%;
				margin: 0 auto;
		}
		.sec-news .post-news .post {
				padding: 4em 2.5em;
				-ms-flex-wrap: wrap;
				    flex-wrap: wrap;
		}
		.sec-news .post-news .post + .post {
				margin-top: 0;
		}
		.sec-news .post-news .post .cat {
				width: auto;
				display: block;
				display: inline-block;
				min-width: 8em;
				margin-right: 0.5em;
				padding: 0.2em 0.5em 0;
				font-size: 2.4em;
				text-align: center;
				height: auto;
		}
		.sec-news .post-news .post .cat:hover {
				opacity: 0.7;
		}
		.sec-news .post-news .post .post-date {
				font-size: 2.4em;
				margin-right: 0;
				width: calc( 100% - 10em );
		}
		.sec-news .post-news .post .post-txt {
				font-size: 3em;
				line-height: 1.6;
				width: 100%;
				margin-top: 0.5em;
		}

		.link_wrap {
				margin-top: 10%;
		}
		.link_wrap .text_link {
				font-size: 2.8rem;
				padding: 0 2.2em 0.5em 1.5em;
		}
		.link_wrap .arrow:before, .link_wrap .arrow:after {
				right: 0.5em;
		}
		.link_wrap .arrow:before {
				background: #323232;
				width: 1em;
		}
		.link_wrap .arrow:after {
				margin-top: -0.3em;
				border-width: 0.3em 0 0 0.4em;
		}
}
/*# sourceMappingURL=index.css.map */