@charset "utf-8";
/* ===================================================================
CSS information

 file name  :page.css
 style info :各ページ
=================================================================== */

/* -----------------------------------------------------------
    TOP
----------------------------------------------------------- */
#top #main {
	z-index: -1;
}

#top #main .main section {
	display: flex;
	display: -webkit-flex;
	justify-content: center;
	-webkit-justify-content: center;
	flex-direction: column;
	-webkit-flex-direction: column;
	height: 100vh;
	color: #ffffff;
	padding: 0 1.75%;
	position: relative;
}

.col #main {
    padding: 0px !important;
    height: 100vh !important;
}

#lower.col #main {
    padding: 0px !important;
    height: 30vh !important;
}

.col #main .main section .inner {
	margin-top: -19%;
}

#top #main .main section:before {
	content: "";
	background: rgba(0, 0, 0, 0.3);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

#top #main .main section:nth-child(1) {
	background: url(../img/top/main_img01.jpg) no-repeat center / cover;
}

#top #main .main section:nth-child(2) {
	background: url(../img/top/main_img02.jpg) no-repeat center / cover;
}

#top #main .main section:nth-child(3) {
	background: url(../img/top/main_img03.jpg) no-repeat center / cover;
}

#top #main .main section h1 {
	font-size: 40px;
    font-size: 4.0rem;
	text-shadow: 0px 0px 5px rgba(63,58,57,0.2), 0px 0px 5px rgba(63,58,57,0.2), 0px 0px 5px rgba(63,58,57,0.2);
}

#top #main .main section p {
	font-size: 15px;
    font-size: 1.5rem;
	line-height: 1.8;
	width: 50%;
	margin: 2% 0 0;
	text-shadow: 0px 0px 5px rgba(63,58,57,0.2), 0px 0px 5px rgba(63,58,57,0.2), 0px 0px 5px rgba(63,58,57,0.2);
}

#top #main .main section a {
	width: 300px;
	margin: 4% 0 0;
}

#services_box {
	background: url(../img/top/services_bg.jpg) no-repeat center bottom / contain;
	position: relative;
	padding: 0 5% 6.5%;
}

#services_box #services_box_title {
	display: flex;
	display: -webkit-flex;
	align-items: flex-end;
	-webkit-align-items: flex-end;
	justify-content: center;
	-webkit-justify-content: center;
	max-width: 1300px;
	min-width: 800px;
	width: 100%;
	height: 130px;
	margin: 6.5% auto 0;
	padding: 0 5%;
	background: #ffffff;
}

main div:first-child #services_box_title {
	margin: -130px auto 0 !important;
}

#services_box .slider_box {
	padding: 3.5% 0 0;
}

#services_box article {
	margin: 0 auto;
    max-width: 1340px;
	min-width: 800px;
	width: 100%;
}

#services_box article section a {
	display: block;
	margin: 0 20px;
}

#services_box article section .head_box {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	background: #19b7da;
	color: #ffffff;
	position: relative;
	min-height: 150px;
	height: 150px\0;/*IE*/
	padding: 5%;
}

#services_box article section .head_box:after {
    background: #ffffff;
    content: "";
    display: block;
    height: 20px;
    position: absolute;
    right: 17px;
    top: 0;
    width: 2px;
}

#services_box article section .head_box h3 {
	font-size: 18px;
    font-size: 1.8rem;
	position: relative;
	z-index: 0;
}

#services_box article section .head_box h3:after {
	content: "";
	background: #ffffff;
	width: 100%;
	height: 3px;
	position: absolute;
	bottom: -7px;
	left: 0;
	z-index: -1;
}

#services_box article section .head_box .num {
    height: 60px;
    left: 20px;
    position: absolute;
    top: -33px;
    width: 100px;
}

#services_box article section .head_box .num span {
    display: block;
    font-size: 50px;
	font-size: 5.0rem;
	font-weight: 700;
    height: 33px;
    left: 0;
    line-height: 60px;
    overflow: hidden;
    position: absolute;
    width: 100%;
}

#services_box article section .head_box .num span i {
    display: block;
    left: 0;
    position: absolute;
	font-style: normal;
}

#services_box article section .head_box .num span:first-child,
#services_box article section .head_box .num span:first-child i {
    bottom: 0;
}

#services_box article section .head_box .num span:last-child,
#services_box article section .head_box .num span:last-child i {
    color: #19b7da;
    top: 0;
}

#services_box article section .head_box .en {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bolder;
    left: 100%;
    letter-spacing: 4px;
    line-height: 18px;
    margin: 0 0 0 -8px;
    position: absolute;
    text-align: right;
    top: 28px;
    transform: rotate(90deg);
    transform-origin: left top 0;
}

#services_box > p {
	width: 300px;
	margin: 3.5% auto 0;
}

#services_box > p > a {
	width: 100%;
}

#works_box dl dt {
	font-size: 18px;
    font-size: 1.8rem;
	font-weight: bolder;
	text-align: center;
	border-top: 3px solid #ffffff;
	border-bottom: 1px solid #eeeeee;
	height: 100%;
}

#works_box dl dt:hover {
	cursor: pointer;
}

#works_box dl dd ul {
	font-size: 15px;
    font-size: 1.5rem;
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	margin: 4% 0 0;
}

#works_box dl dd ul li {
	text-align: center;
	border-right: 1px solid #eeeeee;
	border-bottom: 1px solid #eeeeee;
	flex: 0 1 20%;
	-webkit-flex: 0 1 20%;
	-ms-flex: 0 1 19.9%;
}

#works_box dl dd ul li:nth-child(-n+5) {
	border-top: 1px solid #eeeeee;
}

#works_box dl dd ul li:nth-child(5n+1) {
	border-left: 1px solid #eeeeee;
}

#works_box dl dd ul li a {
	display: block;
	padding: 7.5%;
}

#works_box dl dd ul li a:hover {
	background: #f8f8f8;
}

#works_box > p {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
	margin: 4% 0 0;
}

#works_box > p a {
	min-width: 300px;
}

#about_box a {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
	flex-direction: column;
	-webkit-flex-direction: column;
	background: url(../img/top/about_bg.jpg) no-repeat center / cover;
	min-height: 400px;
	height: 400px\0;/*IE*/
	position: relative;
	z-index: 0;
}

#about_box a:before {
	content: "";
	background: rgba(0, 0, 0, 0.3);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

#about_box a h2 {
	color: #ffffff;
}

#about_box a p {
	min-width: 300px;
	margin: 3em 0 0;
	transition: all .3s;
	-webkit-transition: all .3s;
}

#about_box a:hover p {
	border: 1px solid #ff7800;
	background: #ff7800;
}

#news_box .news_title {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}

#news_box .news_title h2 span {
	display: block;
}

#news_box .news_title h2 span:nth-child(1) {
	font-size: 40px;
	font-size: 4.0rem;
	line-height: 1;
}

#news_box .news_title h2 span:nth-child(2) {
	margin: 3% 0 0;
}

#news_box .news_title p {
	min-width: 300px;
}

#news_box #article {
	margin: 2% 0 0;
}

#news_box #article > a {
  display: block;
}

#news_box #article > a:not(:first-of-type) {
  margin-top: 1.5%;
}

#news_box #article ul li {
	border-top: 1px solid #eeeeee;
}

#news_box #article ul li:last-child {
	border-bottom: 1px solid #eeeeee;
}

#news_box #article ul li a {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	padding: 2% 0;
	position: relative;
}

#news_box #article ul li a:after {
	font-family: FontAwesome;
	font-size: 16px;
	font-size: 1.6rem;
	content: "\f054";
	color: #ff7800;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transition: all .3s;
	-webkit-transition: all .3s;
}

#news_box #article ul li a:hover:after {
	color: #19b7da;
}

#news_box #article ul li a > span:nth-child(1) {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
}

#news_box #article ul li a > span:nth-child(1) > span {
	font-size: 10px;
	font-size: 1.0rem;
	color: #ffffff;
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
	min-width: 100px;
	min-height: 20px;
	height: 20px\0;/*IE*/
	padding: 0.2em 1em;
	padding: 0.4em 1em 0\0;/*IE*/
}

#news_box #article ul li a > span:nth-child(1) > span.cat01 {
	background: #21b7b6;
}

#news_box #article ul li a > span:nth-child(1) > span.cat02 {
	background: #6ececd;
}

#news_box #article ul li a > span:nth-child(1) > span.cat03 {
	background: #32842c;
}

#news_box #article ul li a > span:nth-child(1) > span.cat04 {
	background: #5fbc58;
}

#news_box #article ul li a > span:nth-child(1) > span.cat05 {
	background: #d1331e;
}

#news_box #article ul li a > span:nth-child(1) > time {
	margin: 0 0 0 20px;
}

#news_box #article ul li a > span:nth-child(2) {
	flex: 1 1;
	-webkit-flex: 1 1;
	margin: 0 0 0 5%;
	transition: all .3s;
	-webkit-transition: all .3s;
}

#top-news .hd {
	display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    font-weight: bolder;
    border-top: 2px solid #ededed;
    border-bottom: 1px solid #ededed;
    margin-bottom: 40px;
}

#top-news p {
	display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
}

.list-news li span {
        font-size: 1.3rem;
    line-height: 1.5;
}

.list-news li {
    padding: 15px 0;
    font-size: 0;
    line-height: 0;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    border-bottom: 1px solid #ededed;
}
#title {
	margin: 0 0 30px;
    padding: 10px 0 0;
}

#title h2 {
    font-size: 1.5em;
}

#top-news .hd p span:nth-child(1) {
    font-size: 40px;
    color: #19b7da;
    border-top: 2px solid #19b7da;
    margin: -2px 20px 0 0;
    padding: 30px 0;
}

ul #pagenation {
    font-size: 14px;
    font-size: 1.4rem;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    margin: 50px 0;
    padding: 50px 0 0;
    width: 100%;
}

ul #pagenation li {
	border-bottom: none;
	width: 33%;
	justify-content: center;
	-webkit-justify-content: center;	
}

ul #pagenation li:nth-child(1) {
	justify-content: left;
	-webkit-justify-content: left;	
}

ul #pagenation li:nth-child(3) {
	justify-content: right;
	-webkit-justify-content: right;	
}

ul #pagenation li a {
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bolder;
    padding: 1.5em 0.8em;
    background: #19b7da;
    color: #FFF;
    width: 80%;
    text-align: center;
}

ul #pagenation li a:hover {
	opacity: 0.5;
}

.news_main span:first-child {
    padding-right: 20px;
}

#news_box #article ul li a:hover > span:nth-child(2) {
	color: #959291;
}

/*  サービス一覧   */
#services_box > .services_contents {
 	display: flex;
	display: -webkit-flex;
 	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-direction: row;
	-webkit-flex-direction: row;
}

#services_box > .services_contents section {
	margin-top: 65px;
	margin-left: 5%;
	min-height: 150px;
	flex: 0 0 30%;
	background: #19b7da;
}

#services_box > .services_contents section a {
	display: block;
	color: #ffffff;
}

#services_box > .services_contents section:nth-child(-n+3) {
	margin-top: 50px;
}

#services_box > .services_contents section:nth-child(3n+1) {
	margin-left: 0;
}

#services_box > .services_contents section .content {
	padding: 10%;
	position: relative;
}

#services_box > .services_contents section .content h3 {
	font-size: 18px;
    font-size: 1.8rem;
	display: inline-block;
}

#services_box > .services_contents section .content h3:after {
	content: "";
	background: #ffffff;
	height: 3px;
	bottom: -7px;
	display: block;
}

#services_box > .services_contents section .content p {
	margin-top:  20px;
}

#services_box > .services_contents section .content .num {
    height: 60px;
    right: -10px;
    position: absolute;
    top: -33px;
    width: 100px;
}

#services_box > .services_contents section .content .num span {
    display: block;
    font-size: 50px;
	font-size: 5.0rem;
	font-weight: 700;
    height: 33px;
    left: 0;
    line-height: 60px;
    overflow: hidden;
    position: absolute;
    width: 100%;
}

#services_box > .services_contents section .content .num span i {
    display: block;
    left: 0;
    position: absolute;
	font-style: normal;
}

#services_box > .services_contents section .content .num span:first-child,
#services_box > .services_contents section .content .num span:first-child i {
    bottom: 0;
}

#services_box > .services_contents section .content .num span:last-child,
#services_box > .services_contents section .content .num span:last-child i {
    color: #19b7da;
    top: 0;
}

.services_box {
	background: none !important;
}

/* -----------------------------------------------------------
    福祉用具貸与について/特定福祉用具販売について
----------------------------------------------------------- */
.note {
	margin: 20px 0 0 !important;
}

.rental, .sale, .renovation {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 24px;
}

.rental main .inner > .type > div {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	margin: 40px 0 0;
}

.rental main .inner > .type > div > section {
	flex: 0 1 45%;
	-webkit-flex: 0 1 45%;
	margin: 0;
}

.rental main .inner > .type > div > section > div h2 {
	font-size: 18px;
	font-size: 1.8rem;
}

.rental main .inner > .type > div > section > div p {
	margin: 20px 0 0;
}

.rental main .inner > .type > div > section > figure {
	margin: 20px 0 0;
}

.about main .inner > section {
	margin: 50px 0 0;
}

.about main .inner > section > p {
	margin: 40px 0 0;
}

.about main .inner > .line > div {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}

.about main .inner > .line > div > section {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	flex: 0 1 48%;
	-webkit-flex: 0 1 48%;
	margin-top: 40px;
	margin-left: 40px;
	margin-bottom: 0;
}

.about main .inner > .line > div > section:nth-child(2n+1) {
	margin-left: 0;
}

.about main .inner > .line > div > section > div {
	font-size: 13px;
	font-size: 1.3rem;
	flex: 1 1 0;
	-webkit-flex: 1 1 0;
}

.about main .inner > .line > div > section > div h2 {
	font-size: 18px;
	font-size: 1.8rem;
}

.about main .inner > .line > div > section > div > p {
	margin: 10px 0 0;
}

.about main .inner > .line > div > section > div ul {
	margin: 10px 0 0;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 24px;
}

.about main .inner > .line > div > section > div ul li {
	position: relative;
	padding: 0 0 0 1em;
}

.about main .inner > .line > div > section > div ul li:before {
	content: "・";
	font-weight:  bolder;
	position: absolute;
	top: 0;
	left: -0.2em;
}

.about main .inner > .line > div > section > div ul li span:nth-child(1) {
	font-weight:  bolder;
}

.about main .inner > .line > div > section > div ul li span:nth-child(1):after {
	content: "：";
}

.about main .inner > .line > div > section > figure {
	flex: 0 1 40%;
	-webkit-flex: 0 1 40%;
	margin: 0 0 0 20px;
}

.about main .inner > .line > ul {
	margin: 40px 0 0;
}

.note {
	margin: 20px 0 0 !important;
}

.sale main .inner > .type > div {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	margin: 40px 0 0;
}

.sale main .inner > .type > div > section {
	flex: 0 1 45%;
	-webkit-flex: 0 1 45%;
	margin: 0;
}

.sale main .inner > .type > div > section > div h2 {
	font-size: 18px;
	font-size: 1.8rem;
}

.sale main .inner > .type > div > section > div p {
	margin: 20px 0 0;
}

.sale main .inner > .type > div > section > figure {
	margin: 20px 0 0;
}

.renovation main .inner > .case > div {
	margin: 40px 0 0;
}

.renovation main .inner > .case > div > section {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	margin: 40px 0 0;
}

.renovation main .inner > .case > div > section:first-child {
	margin: 0;
}

.renovation main .inner > .case > div > section > div {
	flex: 1 1 0;
	-webkit-flex: 1 1 0;
}

.renovation main .inner > .case > div > section > div h2 {
	font-size: 18px;
	font-size: 1.8rem;
}

.renovation main .inner > .case > div > section > div p {
	margin: 10px 0 0;
}

.renovation main .inner > .case > div > section > figure {
	flex: 0 1 auto;
	-webkit-flex: 0 1 auto;
	margin: 0 0 0 70px;
}

.renovation main .inner > .flow > div > section {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	margin: 50px 0 0;
	position: relative;
}

.renovation main .inner > .flow > div > section:after {
	font-size: 30px;
	font-size: 3.0rem;
	content: "▼";
	position: absolute;
	bottom: -35px;
	left: 0;
}

.renovation main .inner > .flow > div > section:first-child {
	margin: 0;
}

.renovation main .inner > .flow > div > section:last-child:after {
	content: "";
}

.renovation main .inner > .flow > div {
	margin: 40px 0 0;
}

.renovation main .inner > .flow > div > section > div h2 {
	font-size: 18px;
	font-size: 1.8rem;
}

.renovation main .inner > .flow > div > section > div p {
	margin: 20px 0 0;
}

.renovation main .inner > .flow > div img {
	width: 700px;
}

/* -----------------------------------------------------------
    会社案内
----------------------------------------------------------- */
.company main .inner .outline_box .outline_box_in {
	margin: 40px 0 0;
}

.company main .inner .outline_box .outline_box_in > dl {
	font-size: 14px;
	font-size: 1.4rem;
	border-bottom: solid 1px #ebebeb;
    display: flex;
    display: -webkit-flex;
    padding: 15px;
}

.company main .inner .outline_box .outline_box_in > dl > dd {
	 flex: 1 1 0;
    -webkit-flex: 1 1 0;
}

.company main .inner .outline_box .outline_box_in >  dl > dt {
    flex: 0 1 20%;
    -webkit-flex: 0 1 20%;
    font-weight: bolder;
    margin-right: 28px;
}

.company main .inner .outline_box .outline_box_in dl > dd > dl {
	display: flex;
    display: -webkit-flex;
}

.company main .inner .outline_box .outline_box_in dl > dd > dl > dt {
	flex: 0 1 20%;
    -webkit-flex: 0 1 20%;
}

.company main .inner .outline_box .outline_box_in dl > dd > dl > dd {
	flex: 1 1 0;
    -webkit-flex: 1 1 0;
}

.company main .inner .access_box .access_box_in {
	margin: 40px 0 0;
}

.company main .inner .access_box > p {
	display: inline-block;
	margin: 30px 0 0;
}

.company main .inner .access_box > p .btn {
	min-width: 300px;
}

.company main .inner .access_box > p .btn:after {
	content: "";
}

.company main .inner .access_box > p i {
    padding: 0 3% 0 0;
}

/* 採用情報
----------------------------------------------------------- */
.recruit main div > .recruit_box > .recruit_box_in {
	display: flex;
	-webkit-display: flex;
	justify-content: space-between;
    -webkit-justify-content: space-between;
    margin: 40px 0 0;
}

.recruit main div > .recruit_box > .recruit_box_in > p {
    line-height: 1.8;
    flex: 1 1;
    -webkit-flex: 1 1;
}

.recruit main div > .recruit_box > .recruit_box_in > figure {
    margin: 0 0 0 40px;
}

.recruit main div > .guideline_box .guideline_box_in {
	margin: 40px 0 0;
}

.recruit main div > .guideline_box .guideline_box_in > dl {
	font-size: 14px;
	font-size: 1.4rem;
	border-bottom: solid 1px #ebebeb;
    display: flex;
    display: -webkit-flex;
    padding: 15px;
}

.recruit main div > .guideline_box .guideline_box_in > dl > dt {
    flex: 0 1 20%;
    -webkit-flex: 0 1 20%;
    font-weight: bolder;
}

.recruit main div > .guideline_box .guideline_box_in > dl > dd {
	 flex: 1 1 0;
    -webkit-flex: 1 1 0;
}

.recruit main div > .guideline_box .guideline_box_in > dl > dd > dl {
	display: flex;
    display: -webkit-flex;
}

.recruit main div > .guideline_box .guideline_box_in > dl > dd > dl > dt:after {
	content: "：";
}

.recruit main div > .recruit_box > .recruit_box_in > figure img {
    width: 100%;
}


/* -----------------------------------------------------------
    事業内容
----------------------------------------------------------- */
.biz main .inner > section {
	margin: 50px 0 0;
	font-size: 15px;
    font-size: 1.5rem;
}

.biz main .inner > section > div {
	 margin-top:-100px;
	 padding-top:100px;
}

.biz main .inner > section:first-of-type {
	margin: 0;
}

.biz main .inner > section > div > .biz_box {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	margin: 40px 0 0;
}

.biz main .inner > section > div > .biz_box > p {
	line-height: 1.8;
	flex: 1 1;
	-webkit-flex: 1 1;
}

.biz main .inner > section > div > .biz_box > figure {
	margin: 0 0 0 40px;
}

/* -----------------------------------------------------------
    施工事例
----------------------------------------------------------- */
.works main .inner > #case {
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}

.works main .inner > #case > div {
	flex: 0 1 23.5%;
	-webkit-flex: 0 1 23.5%;
	margin-top: 40px;
	margin-left: 2%;
}

.works main .inner > #case > div:nth-child(-n+4) {
	margin-top: 0;
}

.works main .inner > #case > div:nth-child(4n+1) {
	margin-left: 0;
}

.works main .inner > #case > div a > p {
	text-align: center;
	margin: 3% 0 0;
}

/* -----------------------------------------------------------
    施工事例の詳細
----------------------------------------------------------- */
.baMain {
	display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    margin: 40px 0 0;
}

.baMain figure {
	width: 30%;
}

.baMain figure img {
	width: 100%;
}

.baMain {
	font-size: 18px;
    font-size: 1.8rem;
    font-weight: bolder;
}

.afterComment {
    background: #f5f5f5;
    margin: 26px 0 0;
    padding: 30px;
    font-size: 14px;
    font-size: 1.4rem;
    width: 36%;
}

/* -----------------------------------------------------------
    よくある質問
----------------------------------------------------------- */
.faq main section div {
	margin: 40px 0 0;
}

.faq main section div > dl {
	background: #f2fcfc;
	margin: 40px 0 0;
	padding: 40px;
}

.faq main section div > dl:first-child {
	margin: 0;
}

.faq main section div > dl dt {
	font-size: 16px;
    font-size: 1.6rem;
	font-weight: bolder;
	position: relative;
	padding: 0 0 0 1.8em;
}

.faq main section div > dl dt:before {
	content: "Q.";
	font-size: 16px;
    font-size: 1.6rem;
	line-height: 30px;
	color: #21b7b6;
	position: absolute;
	top: -3px;
	left: 0;
}

.faq main section div > dl dd {
	background: #ffffff;
	margin: 15px 0 0;
	padding: 25px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 30px;
}

.faq main section div > dl dd span {
	display: block;
	position: relative;
	padding:  0 0 0 1.8em;
}

.faq main section div > dl dd span:before {
	content: "A.";
	font-size: 16px;
    font-size: 1.6rem;
	font-weight: bolder;
	line-height: 1.2;
	color: #21b7b6;
	position: absolute;
	top: 5px;
	left: 0;
}

/* -----------------------------------------------------------
    お問い合わせ
----------------------------------------------------------- */
.contact main #formBox {
	border-top: 2px solid #f5f5f5;
    border-bottom: 2px solid #f5f5f5;
    margin: 60px 0;
    padding: 45px 0;
}

.contact main #formBox > dl {
    display: flex;
	display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    border-top: 1px dashed #eeede9;
    padding: 25px;
}

.contact main #formBox > dl:first-child {
	border: none;
	padding: 0 25px 25px;
}

.contact main #formBox dl dt {
	flex: 0 1 25%;
    -webkit-flex: 0 1 25%;
}

.contact main #formBox dl dd {
	width: 100%;
}

.contact main #formBox dl dd select {
	background: url(../img/contact/down_type.png) no-repeat right center;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	padding: 0 0.8em;
    border: 1px solid #eeede9;
    border-radius: 0;
    color: #222222;
    height: 40px;
    width: 50%;
}

.contact main #formBox dl dd select::-ms-expand {
	display: none;
}

.contact main #formBox dl dd input[type="text"],
.contact main #formBox dl dd textarea {
    border: 1px solid #eeede9;
    border-radius: 0;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
}

.contact main #formBox dl dd input[type="text"] {
	padding: 0 1em;
    height: 40px;
}

.contact main #formBox dl dd textarea {
    padding: 0.7em 1em;
}

.contact main #formBox dl dt span:before {
	content: "必須";
    background: #c30d23;
    color: #ffffff;
    font-size: 10px;
	font-size: 1.0rem;
    margin: 0 1em 0 0;
    padding: 0.3em 0.5em;
}

.contact main #btnBox {
	text-align: center;
}

.contact main #btnBox button {
	font-size: 15px;
	font-size: 1.5rem;
    font-weight: bolder;
    border: none;
    -webkit-transition: all .3s;
    transition: all .3s;
    background: #ff7800;
    color: #ffffff;
    height: 70px;
    cursor: pointer;
    min-width: 300px;
    padding: 2%;
	text-align: center;
	margin: 0 auto;
}

.contact main #btnBox button:hover {
	background: #19b7da;
}

.contact main .inner section > ol {
	display: flex;
	-webkit-display: flex;
	align-items: center;
    -webkit-align-items: center;
    justify-content: space-between;
    -webkit-justify-content: space-between;
	margin: 50px 0 0;
}

.contact main .inner section > ol li:after {
	background: #ffffff;
    border-color: transparent transparent transparent #ededed;
    border-style: solid;
    border-width: 35px 0 35px 25px;
    content: "";
    display: block;
    height: 0;
    position: absolute;
    right: 0;
    top: 0;
}

.contact main .inner section > ol li p:nth-child(1) {
	font-size: 15px;
	font-size: 1.5rem;
    font-weight: 500;
    padding: 0 0.5em 0 0;
}

.contact main .inner section > ol li p:nth-child(2) {
	font-size: 32px;
	font-size: 3.2rem;
    font-weight: 500;
}

.contact main .inner section > ol li p:nth-child(3) {
	font-size: 14px;
	font-size: 1.4rem;
    margin-left: auto;
}

.contact main .inner section > ol li {
	display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    list-style: none;
    background: #ededed;
    min-width: 30.5%;
    height: 70px;
    position: relative;
    padding: 0 3.5% 0 2.5%;
}

.contact main .inner section > ol li:last-child {
    margin: 0;
}

.contact main .inner section > ol li:last-child:after {
    content: none;
}

.contact main .inner section > ol li.is_current {
    background: #19b7da;
    position: relative;
}

.contact main .inner section > ol li.is_current p:nth-child(1),
.contact main .inner section > ol li.is_current p:nth-child(2),
.contact main .inner section > ol li.is_current p:nth-child(3) {
    color: #ffffff;
}

.contact main .inner section > ol li.is_current:after {
    border-left-color: #19b7da;
}

.contact main .inner section > ol li p:nth-child(1) {
    float: left;
	font-size: 15px;
    font-size: 1.5rem;
    padding: 0 5px 0 20px;
    position: relative;
}

.contact main .inner section > ol li p:nth-child(2) {
    float: left;
	font-size: 30px;
    font-size: 3.0rem;
    position: relative;
}

.contact main .inner section > ol li p:nth-child(3) {
    float: right;
	font-size: 15px;
    font-size: 1.5rem;
    position: relative;
}





















.contact main #container #contents #formBox {
	font-size: 14px;
	font-size: 1.4rem;
	border-top: 2px solid #e6e6e6;
	border-bottom: 2px solid #e6e6e6;
	padding: 40px 0;
}

.contact main #container #contents #formBox dl {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	border-top: 1px dashed #d6d6d6;
	padding: 20px 30px;
}

.contact main #container #contents #formBox dl:first-child {
	border: none;
	padding: 0 30px 20px;
}

.contact main #container #contents #formBox dl:last-child {
	align-items: flex-start;
	-webkit-align-items: flex-start;
	padding: 20px 30px 0;
}

.contact main #container #contents #formBox dl dt {
	width: 25%;
}

.contact main #container #contents #formBox dl dd {
	flex: 1;
	-webkit-flex: 1;
}

.contact main #container #contents #formBox dl dt span:before {
	content: "必須";
	background: #b5150d;
    color: #ffffff;
	font-size: 11px;
    font-size: 1.1rem;
    margin: 0 1em 0 0;
    padding: 0.3em 0.5em;
}

.contact main #container #contents #formBox dl:last-child dt {
	padding: 9px 0 0;
}

/* トップ
----------------------------------------------------------- */
.contact main #container #contents #formBox dl dd select {
	background: url(../img/contact/down_type.png) no-repeat right center, url(../img/contact/line.gif) no-repeat right 41px center;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	padding: 0 0 0 10px;
	border: 1px solid #d6d6d6;
	font-size: 14px;
    font-size: 1.4rem;
	color: #333333;
	height: 40px;
	width: 25em;
}

.contact main #container #contents #formBox dl dd select::-ms-expand {
	display: none;
}

.contact main #container #contents #formBox dl dd select option {
	padding: 0 0 0 10px;
}

.contact main #container #contents #formBox input,
.contact main #container #contents #formBox textarea {
	border: 1px solid #d6d6d6;
	font-size: 14px;
    font-size: 1.4rem;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
}

.contact main #container #contents #formBox input {
	padding: 0 15px;
	height: 40px;
}

.contact main #container #contents #formBox textarea {
	padding: 10px 15px;
}

.contact main #container #contents #btnBox {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
	margin: 50px 0 0;
}

.contact main #container #contents button,
.contact main #container #contents #btnBox p a {
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bolder;
	border: none;
    -webkit-transition: all .3s;
	transition: all .3s;
	text-align: center;
	background: #9c3353;
	color: #ffffff;
	min-height: 50px;
	cursor: pointer;
	min-width: 250px;
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
}

.contact main #container #contents button:hover,
.contact main #container #contents #btnBox p a:hover {
	background: #f7a5be;
	opacity: 1;
}

.err_top {
	font-size: 14px;
	font-size: 1.4rem;
    color: #b94a48;
    font-weight: bolder;
    margin: 0 0 40px 0;
    background: #f2dede;
    border: 1px solid #eed3d7;
    padding: 10px 15px;
}

.err {
	font-size: 14px;
	font-size: 1.4rem;
    color: #b94a48;
    font-weight: bolder;
    margin: 10px 0 0 0;
    background: #f2dede;
    border: 1px solid #eed3d7;
    padding: 10px 15px;
}

/*    入力内容の確認ページ
----------------------------------------------------------- */
.confirm main #container #contents #formBox dl:last-child dt {
	padding: 0;
}

.confirm main #container #contents #btnBox button {
	min-width: 250px;
}

.confirm main #container #contents #btnBox button:last-child {
	margin: 0 0 0 40px;
}

/*    送信完了ページ
----------------------------------------------------------- */
.complete main #container #contents #formBox {
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 2;
	text-align: center;
}

.complete main #container #contents #formBox p:last-child {
	margin: 20px 0 0;
}

.mt24 {
	margin-top: 24px;
}

.blank_box {
    background-image: linear-gradient( -12deg,transparent, transparent 50%,#DDD 50%, #DDD 51%,transparent 51%, transparent );
}

/*    ニュース＆トピックス
----------------------------------------------------------- */

.news #container main .inner section .news_heading {
	border-top: 2px solid #ededed;
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
}

.news #container main .inner section .news_heading span:first-child {
	font-size: 40px;
	font-size: 4rem;
	color: #1BAF46;
	border-top: 2px solid #1BAF46;
	padding: 30px 0;
	position: relative;
	z-index: 2;
	margin-top: -2px;
}

.news #container main .inner section .news_heading span:last-child {
	margin: 0 5px;
	font-size: 16px;
	font-size: 1.6rem;
}

.news #container main .inner section .news_heading span:nth-child(+2) {
	margin: 0 5px;
	font-size: 16px;
	font-size: 1.6rem;
}

.news #container main .inner section .news_flex {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}

.news #container main .inner section .news_flex div {
	flex: 0 1 800px;
	-webkit-flex: 0 1 800px;
}

.news #container main .inner section .news_flex div p {
	line-height: 1.8;
}

.news #container main .inner section .news_flex #productBox {
	flex: 0 1 300px;
	-webkit-flex: 0 1 400px;
}

.news #container main .inner section .news_flex .download_box {
	width: 100%;
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	background: #D9F1E1;
	height: 90px;
	padding: 0 5%;
	margin-top: 30px;
}

.news #container main .inner section .news_flex .download_box span {
	font-weight: bold;
}

.news #container main .inner section .news_flex .download_box a {
	display: block;
	padding: 20px 60px;
	background: #1BAF46;
	color: #ffffff;
	margin-left: auto;
	-webkit-box-shadow: 0 10px 6px -6px #777;
       -moz-box-shadow: 0 10px 6px -6px #777;
            box-shadow: 0 10px 6px -6px #777;
}

.news #container main .inner section .news_flex .download_box a:hover {
	 background: #d45069;
}

.news #container main .inner section .news_flex .download_box a i {
	padding: 0 10px;	
}

/*.news #container main .inner section .news_flex #productBox .thumb-item-nav {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}

.news #container main .inner section .news_flex #productBox .thumb-item-nav li {
	width: 30%;
}*/

.news_wrap {
	width: 100%;
	margin-left: 40px;
}
.news_wrap p {
    width: 100%;
    text-align: center;
}

.news_wrap ul {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}

.news_wrap li {
	width: 30%;
	margin-top: 30px;
}

.news_wrap li img {
	cursor:pointer;
}

.biz_box p a {
	background: #d45069;
	color: #FFF;
	padding: 20px 40px;
}

.biz_box p a {
	background: #ff7800;
	color: #FFF;
	padding: 20px 50px;
	position: relative;
}

.biz_box p a:hover {
	background: #19b7da;
	color: #FFF;
	padding: 20px 50px;
}

.biz_box p a:after {
    font-family: FontAwesome;
    font-weight: normal;
    content: "\f0a9";
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transition: all .3s;
    -webkit-transition: all .3s;
}


.mt_30 {
    margin-top:240px;
}


.mt_50 {
    margin-top:360px;
}

dl.accordion dd {
    display:none;
}

.single_contents {
	display: flex;
	display: -webkit-flex;
}

.single_contents div:nth-child(1){
	width: 60%;
}

.single_contents div:nth-child(2){
	width: 40%;
	margin-left: 30px;
}

.dl_btn a {
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bolder;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
    background: #aed046;
    min-height: 60px;
    height: 60px\0;
    position: relative;
    color: #ffffff !important;
    padding: 2%;
    margin-top: 30px;

}

.dl_btn a::after {
    font-family: FontAwesome;
    font-weight: normal;
    margin-left: 20px;
    content: "\f063";
}

.p_message {
	display: flex;
	display: -webkit-flex;
}

.p_message span:nth-child(2){
	width: 36%;
	margin-left: 5%;
}

.detail_rec {
	padding: 4px 40px 4px 30px;
	color: #ffffff !important;
	background: #19b7da;
	position: relative;
}

.detail_rec span::after {
    font-family: FontAwesome;
    font-weight: normal;
    content: "\f0a9";
    position: absolute;
    top: 50%;
    right: 10%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transition: all .3s;
    -webkit-transition: all .3s;
}

.web_url {
	margin-top: 40px;
}

.web_url a {
	padding: 10px 40px 10px 30px;
	color: #ffffff !important;
	background: #19b7da;
	position: relative;
}

.web_url a span::after {
    font-family: FontAwesome;
    font-weight: normal;
    content: "\f0a9";
    position: absolute;
    top: 50%;
    right: 10%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transition: all .3s;
    -webkit-transition: all .3s;
}

.btn_back_box ul {
    margin: 50px 0 0;
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
	-webkit-justify-content: space-between;
}

.btn_back_box ul li {
	width: 47%;
}

.btn_back_box ul li a {
    display: block;
    text-align: center;
    font-weight: bold;
    padding: 20px 40px;
    color: #ffffff !important;
	background: #ff7800;
	width: 100%;
}

.btn_back_box ul li:nth-child(1) a::before {
    font-family: FontAwesome;
    content: "\f022";
    margin-right: 10px;
}

.btn_back_box ul li:nth-child(2) a::before {
    font-family: FontAwesome;
    content: "\f015";
    margin-right: 10px;
}

.btn_back_box ul li a:hover {
	background: #19b7da;
}

.cat_num_box {
    margin-top: 40px;
}

.cat_num_box ul {
    display: flex;
    display: -webkit-flex;
}

.cat_num_box ul li a{
    padding: 10px 20px;
    color: #ffffff !important;
    margin-right: 1px;
	background: #ff7800;
}

.cat_num_box ul li a:hover {
	background: #19b7da;
}

.cat_num_box ul li a.current {
	background: #19b7da;
}

.flex_b {
	display: flex;
	display: -webkit-flex;
	margin-top: 20px;
}

.flex_b li {
	margin-right: 20px;
}

@media screen and (min-width: 1023px){
.sp_dl {
display:none;
}
}