@charset "utf-8";



/* コンセプト
===================================================================*/

.sec-top_concept {
	width: 100%;
}
.sec-top_concept_inner {
	padding: 50px 0;
}

.concept-ttl {
	color: #00AD93;
	font-size: 5.0rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.8;
	margin-bottom: 30px;
}
.concept-ttl span {
	color: #00594B;
	font-weight: bold;
	border-bottom: 5px solid #F9D200;
}

.ul_concept {
	width: 800px;
	padding: 50px 60px;
	margin: 0 auto 50px;
	background: #F5F5F5 url(../images/worries.png) no-repeat right 40px bottom 0;
	border-radius: 10px;
}
.ul_concept li {
	color: #00594B;
	font-size: 3.5rem;
	font-weight: bold;
	padding-left: 55px;
	margin-bottom: 10px;
	background: url(../images/icn_check.png) no-repeat left center;
}
.ul_concept li:last-of-type {
	margin-bottom: 0;
}

.concept-catch {
	color: #00AC92;
	font-size: 3.0rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 0;
}



/* ステップ
======================================================*/

.sec-top_step {
	width: 100%;
}
.sec-top_step_inner {
	width: 1000px;
	padding: 30px 0 80px;
	margin: 0 auto;
}

.step-box {
	width: 100%;
	padding: 27px 37px;
	margin-bottom: 60px;
	border: 3px solid #00AF95;
	border-radius: 10px;
	position: relative;
}
.step-box:last-of-type {
	margin-bottom: 0;
}
.step-box:before {
	content: "";
    position: absolute;
    bottom: -63px;
    left: 50%;
    margin-left: -32px;
    border: 37px solid transparent;
    border-top: 32px solid #FFF;
    z-index: 2;
}
.step-box::after {
	content: "";
    display: block;
    clear: both;
    position: absolute;
    bottom: -65px;
    left: 50%;
    margin-left: -30px;
    border: 35px solid transparent;
    border-top: 30px solid #00AF95;
    z-index: 1;
}
.step-box:last-of-type:before,
.step-box:last-of-type::after {
	display: none;
}
.step-box_inner {
	overflow: hidden;
}
.step-number {
	position: absolute;
	top: -10px;
	left: 20px;
	z-index: 10;
}
.step-img {
	width: 300px;
	float: left;
}
.step-ctt {
	width: 590px;
	float: right;
}
.step-ttl {
	color: #00AE94;
	font-size: 3.0rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 1px solid #CCCCCC;
}
.step-tool {
	width: 100%;
	font-size: 1.3rem;
	padding: 10px;
	background: #E8FFFC;
}
.step-tool dt {
	font-size: 1.5rem;
	font-weight: bold;
	padding-left: 12px;
	margin-bottom: 0;
	position: relative;
}
.step-tool dt:before {
	content: "";
	width: 8px;
	height: 8px;
	background: #00AF95;
	border-radius: 3px;
	display: block;
	position: absolute;
	top: 10px;
	left: 0;
}



/* サービス一覧
======================================================*/

.sec-top_service {
	width: 100%;
	background: url(../images/service_bg.png);
}
.sec-top_service_inner {
	width: 1200px;
	padding: 80px 0;
	margin: 0 auto;
}
.sec-service_ttl {
	color: #00AF95;
	font-size: 3.5rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.05em;
	margin-bottom: 80px;
	position: relative;
}
.sec-service_ttl:after {
	content: "";
	width: 60px;
	height: 4px;
	background: #F9D200;
	display: block;
	position: absolute;
	bottom: -20px;
	left: 50%;
	margin-left: -30px;
}

.tab-group {
	width: 100%;
	margin-bottom: 40px;
	display: flex;
	flex-wrap: wrap;
}
.tab {
	width: 290px;
	height: 205px;
	line-height: 205px;
	margin: 0 13.333px 13px 0;
	opacity: 0.5;
	transition: 0.3s opacity;
}
.tab:nth-of-type(4n) {
	margin: 0 0 13px 0;
}
.tab.is-active {
	opacity: 1;
}
.tab:hover {
	cursor: pointer;
	opacity: 1;
	transition: 0.3s opacity;
}

.service-name {
	width: 100%;
	height: 145px;
	color: #ffffff;
	font-size: 2.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 145px;
	margin-bottom: 0;
}
.tab-1 .service-name {
	background: url(../images/production-1.png) no-repeat;
}
.tab-2 .service-name {
	line-height: 1.3;
	padding-top: 23px;
	background: url(../images/production-2.png) no-repeat;
}
.tab-3 .service-name {
	background: url(../images/production-3.png) no-repeat;
}
.tab-4 .service-name {
	background: url(../images/production-4.png) no-repeat;
}
.tab-5 .service-name {
	line-height: 1;
	padding-top: 33px;
	background: url(../images/production-5.png) no-repeat;
}
.tab-6 .service-name {
	background: url(../images/production-6.png) no-repeat;
}
.tab-7 .service-name {
	line-height: 1.3;
	padding-top: 38px;
	background: url(../images/production-7.png) no-repeat;
}
.tab-8 .service-name {
	background: url(../images/production-8.png) no-repeat;
}
.txt_13px {
	font-size: 1.3rem;
	font-weight: bold;
	margin-top: 10px;
	display: inherit;
}
.txt_18px {
	font-size: 1.8rem;
	font-weight: bold;
}

.service-price {
	width: 100%;
	height: 60px;
	color: #ffffff;
	font-size: 2.6rem;
	font-weight: bold;
	text-align: center;
	line-height: 60px;
	margin-bottom: 0;
	background: #00AF95;
}


.panel {
	width: 100%;
	height: 390px;
	padding: 30px;
	background: #ffffff;
	border: 3px solid #00AF95;
	border-radius: 10px;
	position: relative;
	display:none;
}
.panel.is-show {
	display:block;
}

.panel:before {
	content: "";
    position: absolute;
    top: -50px;
    left: 50%;
    margin-left: -25px;
    border: 25px solid transparent;
    border-bottom: 29px solid #FFF;
    z-index: 2;
}
.panel::after {
	content: "";
    display: block;
    clear: both;
    position: absolute;
    top: -55px;
    left: 50%;
    margin-left: -25px;
    border: 25px solid transparent;
    border-bottom: 30px solid #00AF95;
    z-index: 1;
}

.service-img {
	margin-left: 40px;
	float: right;
}
.service-ttl {
	color: #00AF95;
	font-size: 3.5rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	margin-bottom: 30px;
	position: relative;
}
.service-ttl:after {
	content: "";
	width: 40px;
	height: 2px;
	background: #F9D200;
	display: block;
	position: absolute;
	bottom: -15px;
	left: 0;
}



/* バナー
======================================================*/

.bnr_event {
	margin: 80px auto;
	display: block;
}



/* お問い合わせ
======================================================*/

.mailform {
	width: 1000px;
	margin: 0 auto;
}

.input_a {
	width: 400px !important;
	height: 35px;
	font-size: 1.5rem;
}
.input_b {
	width: 200px !important;
	height: 35px;
	font-size: 1.5rem;
}
.select_a {
	width: 200px !important;
	height: 35px;
	font-size: 1.5rem;
}
.textarea_a {
	width: 100% !important;
	height: 250px !important;
	font-size: 2.0rem !important;
	line-height: 1.5;
}

.cf-thanks_message {
	margin-bottom: 40px;
}
.cf-thanks_contact {
	width: 100%;
	padding: 20px;
	border: 1px solid #dddddd;
}
.cf-thanks_contact p:last-of-type {
	margin-bottom: 0;
}

.top-return {
	text-align: center;
	margin: 50px 0 0;
}
.top-return a {
	text-decoration: none;
}
.top-return a:hover {
	text-decoration: underline;
}



/* 404
======================================================*/

.notfound-box {
	width: 100%;
	font-size: 1.8rem;
	text-align: center;
	padding: 50px 0;
	border: 1px solid #cccccc;
}

.notfound-ttl {
	font-size: 2.5rem;
	font-weight: bold;
	margin-bottom: 30px;
}

.notfound-toplink {
	text-align: center;
	margin: 40px 0 0;
}
.notfound-toplink a {
	text-decoration: none;
}
.notfound-toplink a:hover {
	text-decoration: underline;
}