@charset "utf-8";
/* CSS Document */

/** Front
---------------------------------------------------------------------------------*/
#main-visual {
	width:100%;
	max-width: 2100px;
	margin: 0 auto;
	position: relative;
}
#main-visual #video-mv,
#main-visual #slider-mv {
	padding-left: 10%;
}
#main-visual #video-mv video {
	max-width: none;
	width: 100%;
}
#main-visual h2,
#main-visual p {
	position: absolute;
	color: #fff;
	font-weight: 600;
	background-color: #0068b7;
	z-index: 1;
}
@media screen and (max-width: 639px) {
	#main-visual h2 {
		bottom:32%;
		left: 4%;
		font-size: 24px;
		padding: 7px 20px;
	}
	#main-visual p {
		bottom:16%;
		left: 15%;
		font-size: 14px;
		padding: 5px 10px;
	}
	.slick-dots {
		display: block;
		position: absolute;
		bottom: 1vw;
		width: 34%;
		padding: 0 8%;
		list-style: none;
		text-align: center;
	}
	.slick-dots li {
		display: inline-block;
		width: 33%;
	}
	.slick-dots li button {
		display: block;
		width: 4px !important;
		height: 4px !important;
		border-radius: 50%;
		margin: 0 auto;
		background-color: #fff;
		font-size: 0;
		line-height: 0;
		padding: 0;
		border: 0;
		outline: none;
		cursor: pointer;
	}
	.slick-dots li.slick-active button {
		background-color: #b5bcbf;
	}
}
@media screen and (min-width: 640px) {
	#main-visual h2 {
		bottom:27%;
		left: 6%;
		font-size: 32px;
		padding: 10px 50px;
	}
	#main-visual p {
		bottom:11%;
		left: 20%;
		font-size: 14px;
		padding: 10px 40px;
	}
}
@media screen and (min-width: 960px) and (max-width: 1399px) {
	#main-visual h2 {
		font-size: 3.35vw;
	}
	#main-visual p {
		font-size: 1.45vw;
	}
}
@media screen and (min-width: 1400px) {
	#main-visual h2 {
		font-size: 48px;
	}
	#main-visual p {
		font-size: 20px;
	}
}
/*--------------------  feadInOut処理  --------------------*/
@media screen and (min-width: 640px) {
	.fead-out {
		opacity: 0;
		transition: 
		margin .9s,
		opacity 1.5s
		;
	}
	#front-about .fead-out { margin-right: -100%; }
	#front-about img.fead-out { margin-left: -100%; }
	#front-contact .fead-out { margin-left: -100%; }
	#front-contact img.fead-out { margin-left: 100%; }
	#front-about img.fead-in,
	#front-about .fead-in,
	#front-contact img.fead-in,
	#front-contact .fead-in {
		opacity: 1;
		margin: 0;
	}
}
/*--------------------  front-news  --------------------*/
#front-news h3 {
	color: #0068b7;
	text-align: center;
	line-height: 1.1;
}
#front-news h3 span {
	font-size: 14px;
}
#front-news .news-list dt {
	color: #0068b7;
	font-weight: normal;
}
@media screen and (max-width: 639px) {
	#front-news { padding-top: 40px; padding-bottom: 40px; }
	#front-news {
		position: relative;
	}
	#front-news h3 {
		position: absolute;
		right: 0;
		top: -2em;
		width: 55%;
		padding: 10px;
		background-color: #fff;
		font-size: 22px;
	}
	#front-news .news-list {
		padding-left: 11%;
		padding-right: 15px;
	}
	#front-news .news-list dd {
		padding-top: 0;
	}
	#front-news .button-wrap-flex a {
		padding-right: 2.5em;
		background: url(../img/arrow.png) right 1em center no-repeat;
		background-size: 0.5em;
		border: 1px solid #0068b7;
	}
	.cms{
		width: 100%;
	}
	.cms_box{
		padding-bottom: 35px;
	}
}
@media screen and (min-width: 640px) {
	#front-news { padding-top: 40px; padding-bottom: 40px; margin-top: 20px; margin-bottom: 20px;}
	#front-news {
		border-top: 1px solid #0068b7;
		border-bottom: 1px solid #0068b7;
	}
	#front-news h3 {
		font-size: 32px;
		margin-bottom: 30px;
	}
	#front-news .news-list {
		width: 800px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 30px;
	}
	.cms{
		width: 100%;
	}
}
/*--------------------  front-about  --------------------*/
#front-about {
	position: relative;
}
#front-about h3 {
	color: #fff;
	text-align: left;
}
#front-about .bg-mask {
	background-color: #f2f7fa;
	width: 100%;
}
#front-about .bg-img {
	position: absolute;
	top: 0;
	left: 0;
}
#front-about .box {
	position: absolute;
	bottom: 0;
	right: 0;
	background-color: #0068b7;
	color: #fff;
}
@media screen and (max-width: 639px) {
	#front-about { padding-top: 40px; padding-bottom: 40px; margin-bottom: 80px; }
	#front-about h3 {
		font-size: 20px;
		margin-bottom: 10px;
	}
	#front-about .bg-mask {
		height: 300px;
	}
	#front-about .bg-mask p {
		font-size: 14px;
		line-height: 1.7;
		margin-bottom: 20px;
	}
	#front-about .bg-img {
		right: 20px;
	}
	#front-about .box {
		width: 90%;
		padding: 30px 30px;
	}
}
@media screen and (min-width: 640px) {
	#front-about { padding-top: 80px; padding-bottom: 80px; margin-bottom: 60px; }
	#front-about h3 {
		font-size: 32px;
		margin-bottom: 30px;
	}
	#front-about .bg-mask {
		height: 580px;
	}
	#front-about .bg-mask p {
		font-size: 18px;
		line-height: 2;
		margin-bottom: 40px;
	}
	#front-about .box {
		width: 50%;
		padding: 60px 0 60px 50px;
	}
	#front-about .inner {
		max-width: 420px;
	}
	#front-about .inner div.button-wrap-flex {
		text-align: end;
	}
}
/*--------------------  front-business  --------------------*/
#front-business h3 {
	color: #fff;
	text-align: center;
}
#front-business a {
	text-decoration: none;
}
#front-business .flex-3 .circle-img {
	border: 2px solid #fff;
	border-radius: 100%;
	overflow: hidden;
	width: 260px;
	height: 260px;
	margin: auto;
}
#front-business .flex-3 p {
	text-align: center;
}
@media screen and (max-width: 639px) {
	#front-business { padding-top: 0px; padding-bottom: 40px; }
	#front-business .flex-3 .circle-img {
		border: 3px solid #dfdfdf;
		width: 240px;
		height: 240px;
	}	
	#front-business #business-wrap {
		position: relative;
		border: 3px solid #dfdfdf;
		border-radius: 20px;
		margin: 15px;
		padding-top: 60px;
		padding-bottom: 40px;
	}
	#front-business h3,
	#front-business p,
	#front-business .button-wrap-flex a {
		color: #bcd0db;
	}
	#front-business h3 {
		position: absolute;
		background-color: #fff;
		top: -60px;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		min-width: 220px;
		padding: 10px 0px;
		font-size: 17px;
	}
	#front-business p {
		font-size: 16px;
	}
	#front-business .button-wrap-flex a {
		font-size: 14px;
	}
	#front-business .flex-3 .circle-img {
		margin-bottom: 10px;
	}
	#front-business div.btn-arrow a {
		background-image: url(../img/front/sp_arrow_g.png);
	}
}
@media screen and (min-width: 640px) {
	#front-business { padding-top: 60px; padding-bottom: 60px; margin-bottom: 60px; }
	#front-business {
		background-color: #0068b7;
		color: #fff;
	}
	#front-business #business-wrap {
		max-width: 960px;
		margin: auto;
	}
	#front-business p {
		color: #fff;
	}
	#front-business h3 {
		font-size: 28px;
		margin-bottom: 40px;
	}
	#front-business .flex-3 .circle-img {
		margin-bottom: 20px;
	}
	#front-business .flex-3 p {
		font-size: 22px;
	}
	#front-business .flex {
		margin-bottom: 40px;
	}
	#front-business .button-wrap-flex a {
		color:#fff ;
		border:1px solid #fff ;
		background-image: url(../img/btn_arrow_w.png);
	}
	#front-business .button-wrap-flex a:hover {
		background-image: url(../img/btn_arrow.png);
		color:#0068b7 ;
		background-color:#fff ;
	}
}
/*--------------------  front-oem_pb  --------------------*/
#front-oem_pb {
	color: #0068b7;
}
#front-oem_pb h3 {
	color: #0068b7;
}
#front-oem_pb #oem_pb-wrap h3,
#front-oem_pb #oem_pb-wrap p,
#front-oem_pb #oem_pb-wrap .button-wrap-flex {
	text-align: right;
}
@media screen and (max-width: 639px) {
	#front-oem_pb { padding-top: 40px; padding-bottom: 0px; margin-bottom: 40px; }
	#front-oem_pb {
		height: 460px;
		background: url(../img/front/sp_bg_02.png) #f8f8f8 center bottom no-repeat;
		background-size: contain;
	}
	#front-oem_pb #oem_pb-wrap {
		padding: 0px 15px;
		text-align: right;
	}
	#front-oem_pb #oem_pb-wrap h3 {
		display: inline-block;
		font-size: 17px;
		text-align: left;
		line-height: 1.4;
		margin-bottom: 20px;
	}
	#front-oem_pb #oem_pb-wrap p {
		font-size: 14px;
		line-height: 1.4;
		margin-bottom: 20px;
	}
}
@media screen and (min-width: 640px) {
	#front-oem_pb { padding-bottom: 30px; }
	#front-oem_pb {
		height: 515px;
		background: url(../img/front/bg_02.png) center bottom no-repeat;
		background-size: 100%;
	}
	#front-oem_pb #oem_pb-wrap {
		max-width: 960px;
		margin: auto;
		padding: 0 15px;
	}
	#front-oem_pb #oem_pb-wrap h3 {
		font-size: 32px;
		margin-bottom: 30px;
	}
	#front-oem_pb #oem_pb-wrap p {
		font-size: 18px;
		margin-bottom: 30px;
	}
}
@media screen and (min-width: 960px) {
	#front-oem_pb {
		height:calc(37vw + 160px);
	}
}

/*--------------------  front-contact  --------------------*/
#front-contact {
	position: relative;
}
#front-contact .bg-img {
	position: absolute;
	bottom: 0;
	right: 0;
}
#front-contact h3 {
	color: #fff;
	text-align: right;
}
#front-contact .box {
	background-color: #f49400;
	color: #fff;
	position: absolute;
}
#front-contact .box,
#front-contact p {
	text-align: right;
}
@media screen and (max-width: 639px) {
	#front-contact { padding-top: 0px; padding-bottom: 0px; margin-bottom: 40px; }
	#front-contact {
		height: 540px;
	}
	#front-contact .bg-mask {
		height: 100%;
	}
	#front-contact .box {
		padding: 20px 15px 30px;
		margin: 0 15px;
		left: 0;
		right: 0;
	}
	#front-contact h3 {
		text-align: center;
		font-size: 14px;
		margin-bottom: 20px;
	}
	#front-contact h3 span {
		font-size: 22px;
		margin-bottom: 20px;
	}
	#front-contact .bg-mask p {
		text-align: center;
		font-size: 15px;
		line-height: 2;
		margin-bottom: 20px;
	}
	#front-contact .bg-mask .tell {
		border-top: 1px solid #fff;
		border-bottom: 1px solid #fff;
		padding: 20px 30px;
		margin: 0 auto 20px;
		width: 90%;
	}
	#front-contact .bg-mask .tell a {
		display: block;
		width: 82%;
		margin: 0 auto;
	}
	#front-contact .bg-mask .tell p {
		margin-bottom: 10px;
	}
	#front-contact .bg-mask .tell p,
	#front-contact .bg-mask p.sp {
		font-size: 14px;
	}
	#front-contact .bg-img {
		position: absolute;
		bottom: 0;
		right: 0;
	}
}
@media screen and (min-width: 640px) {
	#front-contact { padding-top: 180px; margin-top: 60px; margin-bottom: 60px; }
	#front-contact {
		height: 600px;
	}
	#front-contact .bg-mask {
		height: 240px;
		border-top: 1px solid #f49400;
		border-bottom: 1px solid #f49400;
		width: 100%;
	}
	#front-contact .box {
		width: 50%;
		padding: 60px 50px 60px 0px;
		top: 0;
		left: 0;
	}
	#front-contact h3 {
		font-size: 32px;
		margin-bottom: 30px;
	}
	#front-contact .bg-mask p {
		font-size: 18px;
		line-height: 2;
		margin-bottom: 40px;
	}
	#front-contact .button-wrap-flex {
		text-align: right;
	}
	#front-contact .button-wrap-flex a:hover {
		background-image: url(../img/btn_arrow_o.png);
		background-color: #fff;
		color: #f49400;
	}
}
/** about
---------------------------------------------------------------------------------*/
#page-about h3 {
	text-align: center;
	color: #0068b7;
}
#page-about h3 span {
	display: block;
	line-height: 1.4;
}
@media screen and (max-width: 639px) {
	section#about-01 { padding-top:20px; padding-bottom:40px; }
	section#about-02 { padding-top:0px; padding-bottom:40px; }
	section#about-03 { padding-top:40px; padding-bottom:40px; }
	#page-about h3 {
		font-size: 14px;
	}
	#page-about h3 span {
		font-size: 22px;
	}
}
@media screen and (min-width: 640px) {
	section#about-01 { padding-top:60px; padding-bottom:80px; }
	section#about-02 { padding-top:0px; padding-bottom:80px; margin-left: auto; margin-right: auto; }
	section#about-03 { padding-top:80px; padding-bottom:80px; }
	#page-about h3 {
		font-size: 20px;
	}
	#page-about h3 span {
		font-size: 44px;
	}
}
/*--------------------  about-01  --------------------*/
section#about-01 .name {
	text-align: center;
}
@media screen and (max-width: 639px) {
	section#about-01 h3 {
		margin-bottom: 30px;
	}
}
@media screen and (min-width: 640px) {
	section#about-01 h3 {
		margin-bottom: 60px;
	}
	section#about-01 p {
		text-align: center;
		font-size: 16px;
		margin-bottom: 40px;
	}
}
/*--------------------  about-02  --------------------*/
section#about-02 h3 {
	color: #fff;
	text-align: left;
	background-color: #0068b7;
	position: relative;
	z-index: 150;
}
section#about-02 .sub-title {
	color: #0068b7;
	background-color: #fff;
	border: 1px solid #0068b7;
	border-right: none;
	position: relative;
	z-index: 100;
}
section#about-02 .bg-blue {
	color: #fff;
	background-color: #0068b7;
	position: relative;
}
section#about-02 .bg-blue p:last-of-type {
	margin-bottom: 0;
}
@media screen and (max-width: 639px) {
	section#about-02 h3 {
		width: 70%;
		margin: 0 auto -20px 0;
		padding: 20px 0 20px 22%;
		font-size: 15px;
	}
	section#about-02 .sub-title {
		width: 70%;
		margin: 0 0 -60px auto;
		padding: 30px 15% 20px;
		font-size: 18px;
		line-height: 1.4;
		letter-spacing: -2px;
		text-align: right;
	}
	section#about-02 .bg-blue {
		max-width: 820px;
		padding: 100px 20px 40px;
		margin: auto;
	}
}
@media screen and (min-width: 640px) {
	section#about-02 h3 {
		width: 70%;
		margin: 0 auto -20px 0;
		padding: 40px 20px 40px 20%;
		font-size: 28px;
	}
	section#about-02 .sub-title {
		width: 65%;
		margin: 0 0 -60px auto;
		padding: 50px 80px 40px;
		font-size: 36px;
	}
	section#about-02 .bg-blue {
		max-width: 820px;
		padding: 120px 15px 60px;
		margin: auto;
	}
	section#about-02 .bg-blue p {
		margin-bottom: 40px;
		text-align: center;
		font-size: 16px;
	}
}
/*--------------------  about-03  --------------------*/
section#about-03 {
	border-top: 1px solid #0068b7;
}
section#about-03 {
	background: url(../img/about/bg_overview.jpg) center no-repeat;
	background-size: cover;
	padding-left: 15px;
	padding-right: 15px;
}
section#about-03 dl {
	max-width: 400px;
	margin: auto;
	background-color: #fff;
	border: 1px solid #d5d5d5;
}
section#about-03 dl dt {
	font-size: 13px;
	font-weight: normal;
}
section#about-03 dl dd {
	border-bottom: 1px solid #d5d5d5;
	padding-bottom: 10px;
	margin-left: 0;
	margin-bottom: 10px;
	font-size: 16px;
}
section#about-03 dl dd:last-of-type {
	border: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
@media screen and (max-width: 639px) {
	section#about-03 h3 {
		margin-bottom: 40px;
	}
	section#about-03 dl {
		padding: 20px;
	}
	section#about-03 dl dt,
	section#about-03 dl dd {
		padding-left: 40px;
		padding-right: 40px;
	}
	section#about-03 dl dt {
		font-size: 14px;
	}
	section#about-03 dl dd {
		font-size: 17px;
	}	
}
@media screen and (min-width: 640px) {
	section#about-03 h3 {
		margin-bottom: 60px;
	}
	section#about-03 dl {
		padding: 40px;
	}
	section#about-03 dl dt,
	section#about-03 dl dd {
		padding-left: 60px;
		padding-right: 60px;
	}
}
/** business 事業案内 
---------------------------------------------------------------------------------*/
section#business-01 ul.flex-sp li a {
	background: url(../img/business/arrow_down_b.png) right center no-repeat;
	background-size: 0.8em;
	padding-right: 1.4em;
}
section#business-01 ul.flex-sp li.color-o a {
	color: #f49400;
	background-image: url(../img/business/arrow_down_o.png);
}
section#business-02 {
	background-color: #f8f8f8;
}
section#business-02 .bg-w {
	background-color: #fff;
	border-radius: 20px;
	margin: auto;
}
section#business-02 .bg-g {
	background-color: #fafafa;
}
section#business-02 .bg-g h4 {
	color: #0068b7;
}
section#business-02 .color-b {
	color: #0068b7;
}
section#business-02 .color-b .radius {
	font-weight: normal;
}
section#business-02 .g-line {
	border-bottom: 2px solid #bebebe;
	text-align-last: left;
}
section#business-02 table th,
section#business-02 table td {
	text-align: center;
	border: 1px solid #dadada;
}
section#business-02 table th {
	background-color: #fafafa;
	font-weight: normal;
}
section#business-02  .price {
	font-size: 16px;
}
section#business-02 .flex .flex-item1 p,
section#business-02 .flex .flex-item2 p,
section#business-02 .flex .flex-item3 p {
	font-size: 16px;
	text-align: center;
}
section#business-02 .flex .flex-item1 img,
section#business-02 .flex .flex-item2 img,
section#business-02 .flex .flex-item3 img {
	border: 1px solid #dadada;
}
section#business-02 .FontBlue .item-txt p,
section#business-02 .FontBlue .item-img p {
	color: #0068b7;
}
section#business-03 {
	background-color: #ecf0f7;
}
section#business-03 .bg-w {
	background-color: #fff;
	margin: auto;
	border-radius: 20px;
}
section#business-04 {
	background-color: #f8f8f8;
}
section#business-04 .bg-w {
	background-color: #fff;
	border-radius: 20px;
	margin: auto;
}
section#business-04 .bg-w .img-mask {
	position: relative;
}
section#business-04 .bg-w .img-mask p {
	position: absolute;
	left: 0;
	bottom: 0;
	text-align: center;
	background-color: rgba(255, 255, 255, .8);
}
section#business-04 .bg-w h4 {
	text-align: center;
	font-size: 18px;
}
section#business-04 .bg-w p {
	font-size: 16px;
}
section#business-04 .bg-w .bd-g {
	border: 1px solid #bebebe;
}
section#business-04 .bg-w .bd-g p.center {
	font-size: 14px;
}
section#business-05 h3.FontOrange {
	color: #f49400;
}
section#business-05 .list {
	position: relative;
	border: 4px solid #ebebeb;
	border-radius: 30px;
}
section#business-05 .list .value {
	position: absolute;
	top: -1em;
	left: 4%;
	background-color: #fff;
	padding: 0 0.5em;
}
section#business-05 .list .etc {
	width: 100%;
	text-align: right;
	font-size: 16px;
}
section#business-05 ul {
	margin-bottom: 0;
}
section#business-05 ul li {
	text-indent: -1em;
	padding-left: 1em;
}
section#business-05 ul li::before {
	content: "・";
}
@media screen and (max-width: 639px) {
	section#business-01 { padding-top:20px; padding-bottom:20px; }
	section#business-02 { padding-top:30px; padding-bottom:30px; }
	section#business-03 { padding-top:30px; padding-bottom:30px; }
	section#business-04 { padding-top:30px; padding-bottom:30px;  }
	section#business-05 { padding-top:30px; padding-bottom:40px;  }
	section#business-01 ul.flex-sp li {
		margin-right: 5%;
		margin-bottom: 10px;
	}
	section#business-02 h3 {
		font-size: 21px;
		margin-bottom: 30px;
	}
	section#business-02 .bg-w {
		padding: 20px 15px 40px;
		margin:0 15px 30px;
	}
	section#business-02 .bg-w > h4 {
		font-size: 15px;
		text-align: center;
		margin-bottom: 20px;
	}
	section#business-02  .price {
		font-size: 15px;
	}	
	section#business-02 .bg-w img {
		margin-bottom: 20px;
	}
	section#business-02 .bg-w p.intoro {
		font-size: 14px;
		margin-bottom: 10px;
	}
	section#business-02 .bg-g {
		padding: 20px 15px;
		margin-top: 20px;
		margin-bottom: 20px;
	}
	section#business-02 .bg-g h4 {
		font-size: 18px;
		margin-bottom: 10px;
	}
	section#business-02 .bg-g p {
		margin-bottom: 20px;
	}
	section#business-02 .bg-g p.underline {
		text-align: center;
		text-decoration: underline;
		margin-bottom: 0;
	}
	section#business-02 .color-b {
		padding-left: 5%;
	}
	section#business-02 .color-b dd {
		margin: 0 0 10px;
	}
	section#business-02 h4.g-line {
		padding-bottom: 10px;
		margin-top: 40px;
		margin-bottom: 10px;
	}
	section#business-02 table {
		width: 100%;
		margin-top: 30px;
		margin-bottom: 10px;
	}
	section#business-02 table th,
	section#business-02 table td {
		padding: 10px 5px;
	}
	section#business-02 .wrap75 p {
		font-size: 15px;
	}
	section#business-02 .flex .flex-item1,
	section#business-02 .flex .flex-item2,
	section#business-02 .flex .flex-item3 {
		margin-bottom: 20px;
	}
	section#business-02 .flex > *:last-of-type {
		margin-bottom: 0;
	}
	section#business-02 .flex .flex-item1 img,
	section#business-02 .flex .flex-item2 img,
	section#business-02 .flex .flex-item3 img {
		margin-bottom: 0px;
	}
	section#business-02 .flow-title {
		font-size: 16px;
		text-align: center;
		font-weight: bold;
		margin-top: -20px;
		margin-bottom: 30px;
	}
	section#business-02 .flex .item-txt {
		font-size: 16px;
		margin-bottom: 10px;
	}
	section#business-02 .flex .item-txt p {
		text-align: center;
	}
	section#business-02 .flex .item-img {
		margin-bottom: 40px;
	}
	section#business-02 .flex .flex-item1 p,
	section#business-02 .flex .flex-item2 p,
	section#business-02 .flex .flex-item3 p {
		font-size: 14px;
	}
	section#business-02 .flex:nth-of-type(1) .item-img p {
		font-size: 12px;
	}
	section#business-02 .FontBlue {
		margin-bottom: 20px;
	}
	section#business-02 .FontBlue .item-img p {
		font-size: 12px;
	}
	section#business-03 h3 {
		font-size: 21px;
		margin-bottom: 25px;
	}
	section#business-03 .bg-w {
		padding: 30px 15px;
		margin: 0 15px 30px;
	}
	section#business-03 p {
		margin-bottom: 20px;
	}
	section#business-03 div.button-wrap a {
		font-size: 15px;
	}
	section#business-04 h3 {
		font-size: 21px;
		margin-bottom: 25px;
	}
	section#business-04 .bg-w {
		padding: 30px 15px;
		margin: 0 15px 30px;
	}
	section#business-04 .bg-w .img-mask {
		margin-bottom: 20px;
	}
	section#business-04 .bg-w .img-mask p {
		font-size: 16px;
		width: 55%;
		padding: 10px 20px;
		margin-bottom: 0;
	}
	section#business-04 .bg-w h4 {
		font-size: 15px;
		margin-bottom: 20px;
	}
	section#business-04 .bg-w p {
		font-size: 15px;
	}
	section#business-04 .bg-w .bd-g {
		padding: 15px 15px;
		margin-bottom: 30px;
	}
	section#business-04 .bg-w .bd-g p {
		text-align: left;
		margin-bottom: 10px;
	}
	section#business-05 h3 {
		font-size: 21px;
		margin-bottom: 30px;
	}
	section#business-05 img {
		max-width: 85%;
		margin-bottom: 40px;
	}
	section#business-05 .list {
		padding: 30px 15px 30px 20px;
		margin-bottom: 30px;
	}
	section#business-05 .list:last-of-type {
		margin-bottom: 0;
	}
	section#business-05 .list .value {
		font-size: 17px;
	}
	section#business-05 ul li,
	section#business-05 .list .etc {
		font-size: 15px;
	}
}
@media screen and (min-width: 640px) {
	section#business-01 { padding-top:80px; padding-bottom:80px; }
	section#business-02 { padding:60px 20px 20px; }
	section#business-03 { padding-top: 60px; padding-bottom:40px; }
	section#business-04 { padding-top: 60px; padding-bottom:80px; }
	section#business-05 { padding-top: 60px; padding-bottom:80px; }
	section#business-01 {
		font-size: 16px;
	}
	section#business-01 p {
		text-align: center;
	}
	section#business-01 ul.flex-sp {
		justify-content: center;
	}
	section#business-01 ul.flex-sp li {
		margin-right: 40px;
	}
	section#business-02 h3 {
		font-size: 30px;
		margin-bottom: 50px;
	}
	section#business-02 .bg-w {
		max-width: 1000px;
		padding: 60px 80px;
		margin-bottom: 60px;
	}
	section#business-02 .bg-w > h4 {
		font-size: 18px;
		text-align: center;
		margin-bottom: 40px;
	}
	section#business-02 .bg-w img {
		margin-bottom: 40px;
	}
	section#business-02 .bg-w p.intoro {
		text-align: center;
		font-size: 16px;
		margin-bottom: 40px;
	}
	section#business-02 .bg-g {
		padding: 40px 60px;
		margin-top: 60px;
		margin-bottom: 40px;
	}
	section#business-02 .bg-g h4 {
		font-size: 20px;
		margin-bottom: 20px;
	}
	section#business-02 .bg-g p {
		margin-bottom: 40px;
	}
	section#business-02 .bg-g p.underline {
		text-align: center;
		text-decoration: underline;
		margin-bottom: 0;
	}
	section#business-02 .color-b {
		padding-left: 15%;
	}
	section#business-02 h4.g-line {
		padding-bottom: 10px;
		margin-top: 60px;
		margin-bottom: 10px;
	}
	section#business-02 table {
		max-width: 75%;
		margin: 40px auto 10px;
	}
	section#business-02 table.col2 {
		max-width: 55%;
	}
	section#business-02 table th,
	section#business-02 table td {
		padding: 10px;
	}
	section#business-02 table + p {
		text-align: center;
		margin-bottom: 40px;
	}
	section#business-02 .wrap75 {
		margin: 0 auto;
		width: 75%;
	}
	section#business-02 .wrap75 p {
		font-size: 16px;
		line-height: 2;
	}
	section#business-02 .flex .flex-item1,
	section#business-02 .flex .flex-item2,
	section#business-02 .flex .flex-item3 {
		margin-bottom: 30px;
	}
	section#business-02 .flex .flex-item1 img,
	section#business-02 .flex .flex-item2 img,
	section#business-02 .flex .flex-item3 img {
		margin-bottom: 10px;
	}
	section#business-02 .flex .flex-item1 {
		width: 47%;
	}
	section#business-02 .flex .flex-item2 {
		width: 36%;
	}
	section#business-02 .flex .flex-item2 + .flex-item2 {
		width: 58%;
	}
	section#business-02 .flex .flex-item3 {
		width: 100%;
	}
	section#business-02 .flow-title {
		font-size: 18px;
		text-align: center;
		font-weight: bold;
		margin-top: -20px;
		margin-bottom: 40px;
	}
	section#business-02 .flex .item-txt {
		width: 30%;
		font-size: 24px;
		padding: 80px 0 0 30px;
	}
	section#business-02 .flex .item-txt p {
		text-align: center;
	}
	section#business-02 .flex .item-img {
		width: 70%;
	}
	section#business-02 .flex:nth-of-type(1) .item-img p {
		font-size: 16px;
		padding-left: 80px;
	}
	section#business-02 .FontBlue {
		margin-bottom: 60px;
	}
	section#business-02 .FontBlue .item-txt {
		padding: 100px 0 0 30px;
	}
	section#business-02 .FontBlue .item-img p {
		font-size: 20px;
	}
	section#business-02 .business-flow .center {
		text-align: center;
		font-size: 16px;
		line-height: 2;
		margin-bottom: 0;
	}
	section#business-03 h3 {
		font-size: 30px;
		margin-bottom: 40px;
	}
	section#business-03 .bg-w {
		max-width: 1000px;
		padding: 60px 80px;
		margin-bottom: 60px;
	}
	section#business-03 p {
		text-align: center;
		font-size: 16px;
		line-height: 2;
		margin-bottom: 40px;
	}
	section#business-04 h3 {
		font-size: 30px;
		margin-bottom: 40px;
	}
	section#business-04 .bg-w {
		max-width: 1000px;
		padding: 80px 80px 40px;
		margin-bottom: 0px;
	}
	section#business-04 .bg-w .img-mask {
		margin-bottom: 40px;
	}
	section#business-04 .bg-w .img-mask p {
		font-size: 24px;
		width: 40%;
		padding: 20px 40px;
		margin-bottom: 0;
	}
	section#business-04 .bg-w h4 {
		margin-bottom: 30px;
	}
	section#business-04 .bg-w p {
		text-align: center;
		margin-bottom: 40px;
	}
	section#business-04 .bg-w .bd-g {
		max-width: 85%;
		padding: 20px 30px;
		margin: 0px auto 60px;
	}
	section#business-04 .bg-w .bd-g p {
		text-align: left;
		margin-bottom: 10px;
	}
	section#business-04 .bg-w .bd-g p.center span {
		display: block;
		text-align: center;
	}
	section#business-05 h3 {
		font-size: 30px;
		margin-bottom: 60px;
	}
	section#business-05 img {
		margin-bottom: 60px;
		max-width: 60%;
	}
	section#business-05 .list {
		padding: 40px 30px 30px;
		margin: 0 auto 60px;
		width: 60%;
	}
	section#business-05 .list:last-of-type {
		margin-bottom: 0;
	}
	section#business-05 .list .value {
		font-size: 20px;
	}
	section#business-05 ul li {
		font-size: 16px;
	}
	section#business-05 ul.col1 {
		width: 49%;
	}
	section#business-05 ul.col2 {
		width: 49%;
	}
}

/** oem_pb OEM/PB商品
---------------------------------------------------------------------------------*/
section#oem_pb-01 h3 {
	color: #0068b7;
	text-align: center;
}
section#oem_pb-02 .bg-g {
	border: 1px solid #dddddd;
	background-color: #fafafa;
}
section#oem_pb-02 .bg-g h3,
section#oem_pb-02 .bg-g p {
	color: #8f8f8f;
}
section#oem_pb-02 .bg-g h3 {
	text-align: left;
}
section#oem_pb-02 .bg-g h3::after {
	background-color: #8f8f8f;
}
section#oem_pb-03 {
	background-color: #f7fcff;
}
section#oem_pb-03 .button-wrap {
	max-width: 260px;
}
@media screen and (max-width: 639px) {
	section#oem_pb-01 { padding-top:20px; padding-bottom:30px; }
	section#oem_pb-02 { padding-bottom:40px; }
	section#oem_pb-03 { padding-top: 40px; padding-bottom:40px; }
	section#oem_pb-01 h3 {
		font-size: 15px;
		margin-bottom: 30px;
	}
	section#oem_pb-01 p {
		line-height: 1.7;
		margin-bottom: 20px;
	}
	section#oem_pb-01 p.note {
		font-size: 13px;
	}
	section#oem_pb-02 p {
		letter-spacing: -0.05em;
	}
	section#oem_pb-02 .bg-g {
		padding: 20px;
		margin-bottom: 30px;
	}
	section#oem_pb-02 .bg-g:last-of-type {
		margin-bottom: 0;
	}
	section#oem_pb-02 .bg-g h3 {
		font-size: 16px;
	}
	section#oem_pb-02 .bg-g p {
		font-size: 14px;
		line-height: 1.5;
	}
	section#oem_pb-03 h3 {
		font-size: 15px;
		margin-bottom: 40px;
	}
	section#oem_pb-03 img {
		margin-bottom: 60px;
	}
	section#oem_pb-03 .button-wrap a {
		padding: 20px 10px;
		font-size: 16px;
		letter-spacing: -0.03em;
	}
}
@media screen and (min-width: 640px) {
	section#oem_pb-01 { padding-top:40px; padding-bottom:60px; }
	section#oem_pb-02 { padding-bottom:60px; }
	section#oem_pb-03 { padding-top: 60px; padding-bottom:60px; }
	section#oem_pb-01 h3 {
		font-size: 32px;
		margin-bottom: 60px;
	}
	section#oem_pb-01 p {
		font-size: 16px;
		text-align: center;
		line-height: 2;
		margin-bottom: 30px;
	}
	section#oem_pb-01 p.note {
		font-size: 13px;
	}
	section#oem_pb-02 .bg-g {
		padding: 40px;
		margin-bottom: 40px;
	}
	section#oem_pb-02 .bg-g:last-of-type {
		margin-bottom: 0;
	}
	section#oem_pb-02 .bg-g h3 {
		font-size: 21px;
	}
	section#oem_pb-02 .bg-g p {
		font-size: 14px;
		line-height: 2;
	}
	section#oem_pb-03 h3 {
		font-size: 22px;
		margin-bottom: 40px;
	}
	section#oem_pb-03 img {
		margin-bottom: 60px;
	}
	section#oem_pb-03 .button-wrap a {
		padding: 30px 10px;
		font-size: 18px;
		letter-spacing: -0.03em;
	}
}
/** privacy
---------------------------------------------------------------------------------*/
section#privacy-01 .bd-g {
	border: 2px solid #bebebe;
	margin: auto;
}
section#privacy-01{
    line-height: 1.6em;
}
section#privacy-01 h4 {
	font-size: 16px;
}
section#privacy-01 p {
	font-size: 14px;
    margin-bottom: 0;
}
section#privacy-01 .space_bottom{
    margin-bottom: 10px;
}
section#privacy-01 ul li.circle{
    position: relative;
    padding-left: 12px;
}
section#privacy-01 ul li.circle::before{
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #0068b7;
    position: absolute;
    left: 0;
    top: 8px;
}
.circle_second{
    position: relative;
    padding-left: 12px;
}
.circle_second::before{
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #fff;
    border: solid 1px #0068b7;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    top: 8px;
}
@media screen and (max-width: 639px) {
	section#privacy-01 { padding-top: 20px; padding-bottom:40px; }
	section#privacy-01 .bd-g {
		padding: 20px 15px;
	}
	section#privacy-01 h4 {
		margin-top: 30px;
		margin-bottom: 15px;
	}
	section#privacy-01 h4:first-of-type {
		margin-top: 0;
	}
	section#privacy-01 p {
		margin-bottom: 10px;
	}
	section#privacy-01 p:last-of-type {
		margin-bottom: 0;
	}
	section#privacy-01 .info {
		margin-top: 40px;
	}
}
@media screen and (min-width: 640px) {
	section#privacy-01 { padding-top: 40px; padding-bottom:80px; }
	section#privacy-01 .bd-g {
		max-width: 820px;
		padding: 60px;
	}
	section#privacy-01 h4 {
		margin-top: 40px;
		margin-bottom: 15px;
        color: #0068b7;
	}
	section#privacy-01 h4:first-of-type {
		margin-top: 0;
	}
	section #privacy-01 p{
		margin-bottom: 0;
	}
	section#privacy-01 .info {
		margin-top: 50px;
	}
}

/** contact
---------------------------------------------------------------------------------*/
@media screen and (max-width: 639px) {
	section#contact-01 { padding-top: 30px; padding-bottom:0; }
	div#contact-reserve { padding-top: 40px; padding-bottom:40px; }
	section#contact-thanks { padding-top: 40px; padding-bottom:60px; }
}
@media screen and (min-width: 640px) {
	section#contact-01 { padding-top: 60px; padding-bottom:0; }
	div#contact-reserve { padding-top: 80px; padding-bottom:80px; }
	section#contact-thanks { padding-top: 60px; padding-bottom:80px; }
}

section#contact-01 p,
section#contact-thanks p {
	text-align: center;
}
section#contact-01 .box-tel {
	background-color: #f1f6f9;
}
section#contact-01 .box-tel p,
section#contact-01 .box-tel a {
	color: #565656;
	text-align: left;
	text-decoration: none;
}
#contact-reserve {
	color: #0068b7;
	background-color: #f7fcff;
}
#contact-reserve p {
	text-align: center;
}
#contact-reserve .box-reserve {
	background-color: #fff;
	border: 1px solid #0068b7;
}

@media screen and (max-width: 639px) {
	section#contact-01 {
		padding-left: 15px;
		padding-right: 15px;
	}
	section#contact-01 h3,
	section#contact-thanks h3 {
		width: 80%;
		margin: 0 auto 30px;
	}
	section#contact-01 .box-tel {
		margin: 30px 0;
		padding: 20px 20px;
		border-radius:10px;
		border: 2px solid #0068b7;
	}
	section#contact-01 .box-tel p {
		font-size: 13px;
		line-height: 1.2;
	}
	section#contact-01 .box-tel p.telnum {
		font-size: 24px;
	}
	section#contact-01 .contact-form {
		margin-bottom: 40px;
	}
	#contact-reserve {
		margin-left: -15px;
		margin-right: -15px;
		padding-left: 15px;
		padding-right: 15px;
	}
	#contact-reserve p.ttl-online {
		font-weight: 600;
		letter-spacing: -0.02em;
	}
	#contact-reserve .img-online {
		width: 60%;
		margin: 30px auto 30px;
	}
	#contact-reserve .box-reserve {
		min-height: 160px;
		margin: 30px auto 0;
	}
	section#contact-thanks .btn-ret {
		margin-top: 30px;
	}
}
@media screen and (min-width: 640px) {
	section#contact-01 h3,
	section#contact-thanks h3 {
		margin-bottom: 60px;
	}
	section#contact-01 p,
	section#contact-thanks p {
		font-size: 16px;
	}
	section#contact-01 .box-tel {
		max-width: 660px;
		padding: 30px 36px;
		margin: 50px auto;
		border: 3px solid #0068b7;
		border-radius:20px;
	}
	section#contact-01 .box-tel p {
		font-size: 15px;
	}
	section#contact-01 .box-tel p.telnum {
		font-size: 30px;
	}
	section#contact-01 .box-tel .flex {
		align-items: flex-end;
	}
	section#contact-01 .box-tel .flex p {
		line-height: 1.0;
		margin-bottom: 0;
	}
	section#contact-01 .contact-form {
		margin-bottom: 80px;
	}

	#contact-reserve p.ttl-online {
		font-size: 20px;
		margin-bottom: 60px;
	}	
	#contact-reserve p {
		font-size: 18px;
	}
	#contact-reserve .img-online {
		margin-top: 40px;
		margin-bottom: 60px;
	}
	#contact-reserve .box-reserve {
		max-width: 820px;
		min-height: 300px;
		margin: 60px auto 0;
	}
	section#contact-thanks .btn-ret {
		margin-top: 50px;
	}
}

/** dl-form
---------------------------------------------------------------------------------**/
.dl-form dt,
.dl-form dd {
	font-weight: normal;
	margin:0;
}
@media screen and (max-width: 639px) {
	.dl-form {
		margin-bottom: 30px;
	}
	table#mfp_confirm_table tr.mfp_colored {
		background-color: #fff !important;
	}
	table#mfp_confirm_table th,
	table#mfp_confirm_table td {
		display: block;
		font-weight: normal !important;
	}
	table#mfp_confirm_table {
		border-top: 1px solid #ddd;
	}
	table#mfp_confirm_table th {
		font-size: 14px !important;
		padding: 12px 0 3px !important;
		border: none !important;
	}
	table#mfp_confirm_table td {
		font-size: 16px !important;
		padding: 3px 0 12px !important;
		border-top: none !important;
		border-bottom: 1px solid #ddd !important;
	}
	div.mfp_buttons {
		margin-bottom: 30px;
	}
	.dl-form dt {
		padding:0 0;
	}
	.dl-form dd {
		padding:10px 0;
	}
}
@media screen and (min-width: 640px) {
	.dl-form {
		max-width: 768px;
		margin: 0 auto;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap:         wrap;
		margin-bottom: 50px;
	}
	table#mfp_confirm_table {
		max-width: 768px;
		margin: 0 auto 40px;
		margin-top: 60px;
		border-top: 2px solid #dddddd;
	}
	table#mfp_confirm_table tr th,
	.dl-form dt {
		font-size: 16px !important;
		font-weight: normal !important;
		width:30% !important;
		padding:25px 20px 20px 0 !important;
	}
	table#mfp_confirm_table tr td,
	.dl-form dd {
		font-size: 16px !important;
		width:70% !important;
		padding:20px 0 20px 10px !important;
	}
	table#mfp_confirm_table tr th,
	table#mfp_confirm_table tr td {
		border-top: none !important;
		border-bottom: 2px solid #dddddd;
		padding-top: 25px !important;
		padding-bottom: 25px !important;
	}
	table#mfp_confirm_table tr.mfp_colored {
		background-color: #fff !important;
	}
	div.mfp_buttons {
		width: 480px;
		margin-left: auto;
		margin-right: auto;
	}
	div#mfp_phase_confirm {
		margin-bottom: 60px;
	}
}
div.mfp_buttons button {
	width: 40%;
	margin: 2.5%;
}
form#mailformpro label.mfp_checked,
form#mailformpro label.mfp_not_checked {
    border: none !important;
    background-color: #fff !important;
    box-shadow: none !important;
}
