
/* ======================================================

	header

========================================================= */

.header {
	width: 100%;
	min-width: 1200px;
	position: relative;
	z-index: 501;
}
.header .inner {
	display: flex;
	margin: 0 auto;
	max-width: 1200px;
	height: 80px;
	align-items: center;
	justify-content:space-between;
}
.h_logo a {
	transition: all 0.5s;
}
.h_logo a:hover {
	opacity: 0.7;
}
.h_logo img {
	width: 100%;
	max-width: 350px;
	transition: all 0.5s;
}

.header.sub_header {
	background: rgb(124 163 213 / 80%);
}

@media screen and (max-width:1200px) {
	.header {
		min-width: auto;
	}
}
@media screen and (max-width:1100px) {
	.h_logo img {
		max-width: 280px;
	}
}
@media screen and (max-width:1000px) {
	.h_logo img {
		max-width: 240px;
	}
	.h_info li:first-child {
		margin: 0 10px;
	}
}

@media screen and (max-width:899px) {
	.h_logo img {
		max-width: 210px;
	}
}
@media screen and (max-width:768px) {
	.header.sub_header {
		background:#fff;
	}
	.header .inner {
		height: 50px;
	}
	.inner_logo {
		position: inherit;
		float: left;
	}
	.h_logo img {
		max-width: 200px;
		padding: 10px;
	}
}

/* ======================================================

	gnav

========================================================= */
.gnav ul {
	display: flex;
}
.gnav ul li {
	position: relative;
	margin: 1em 1.2em 0 0;
	font-weight: bold;
	text-align: center;
	text-shadow: 3px 3px 6px #666;
}
.gnav ul li a {
	position: relative;
	color: #fff;
	font-size: min(1.4vw, 16px);
}
.gnav ul:not(.dropdown) li a:after {
	content: '';
	display: block;
	margin-top: 15px;
	width: 0;
	transition: all 0.3s ease;
	border-bottom: 2px solid #2c68bc;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
}
.gnav ul:not(.dropdown) li a:hover:after {
	width: 100%;
	border-bottom: 2px solid #2c68bc;
}
.gnav ul li span {
	display: block;
	padding-bottom: 10px;
	color: #dfdfdf;
	font-size: 14px;
	text-shadow: none;
}
.gnav .dropdown {
	position: absolute;
	display: block;
	visibility: hidden;
	padding: 30px 0;
	width: 200px;
	bottom: -150px;
	left: 50%;
	box-sizing: border-box;
	transform: translateX(-50%);
	background: #4376bf;
	transition:all .3s;
	z-index: -1;
}
.gnav .dropdown li {
	text-shadow: none;
}
.gnav .dropdown a {
	border: none!important;
}
.gnav .dropdown a:hover {
	padding-bottom: 5px;
	border-bottom: 1px solid #fff!important;
}
.gnav .dropdown a:after {
	border: none!important;
}
.gnav .has-child:hover .dropdown {
	visibility: visible;
	transition:all .3s;
	z-index: 1;

}
.gnav .has-child:hover a::after {
	border: none;
}
.gnav .dropdown a:hover {
	border-bottom: 1px solid #fff;
}




.gnav_fix{
	z-index:2000;
	position: fixed;
	top: -200px;
	width: 100%;
	background: rgb(124 163 213 / 80%);
}
.gnav_fix .inner{
	display: flex;
	align-items: center;
	justify-content:space-between;
	width: 1200px;
	margin: 0 auto;
}

.sp_btn {
	display: none;
}

@media screen and (max-width:1199px){
	.gnav_fix{
		width:100%;
	}
	.gnav_fix .inner{
		width: 100%;
	}
}
@media screen and (max-width:1100px) {
	.gnav ul li {
		margin: 1em 1em 0 0;
	}
}

@media screen and (max-width:899px) {
	.gnav ul li {
		margin-right: 0.5em;
	}
}

@media screen and (max-width:768px) {
	.gnav ul {
		margin: 0 auto;
		width: 100%;
	}
	.gnav_fix{
		display: none;
	}
	.sp_gnav {
		display: none;
		overflow-y: scroll;
		position: fixed;
		right: 0;
		width: 100%;
		height: 100%;
		top: 0;
		padding: 50px 2em 0;
		z-index: 100;
		margin-bottom: 0;
		background: #01a1ee;
	}
	.sp_gnav ul {
		max-width: 380px;
    	width: 90%;
		margin: 40px auto;
	}
	.sp_gnav li {
		position: relative;
		font-size: 20px;
	}
	.sp_gnav li a {
		display: block;
		padding: 12px 20px 12px 40px;
		text-decoration: none;
		color: #fff !important;
		font-weight: normal;
		text-align: center;
	}
	.sp_gnav li a:hover {
		opacity: 0.7;
	}
	.sp_gnav li dl{
		max-width: 220px;
		width: 80%;
		margin: 0 auto;
		text-align: left;
	}
	.sp_gnav li dl dt{
		position: relative;
		font-size: 15px;
	}
	.sp_gnav li dl dt a {
		text-align: left;
		font-size: 16px;
	}
	.sp_gnav li dl dt::after {
		content: "";
		width: 6px;
		height: 6px;
		border: 0px;
		border-top: solid 1px #ffffff;
		border-right: solid 1px #ffffff;
		transform: translateY(-50%) rotate(45deg);
		position: absolute;
		top: 50%;
		left: 20px;
	}
	.sp_gnav li:nth-child(2)::after{
		top: 25px;
	}
	.sp_gnav li a span {
		margin-right: 20px;
		color:#1cb0d5 !important;
		font-size: 16px;
	}
	.sp_gnav li ul {
		margin-left: 20px;
	}
	.sp_gnav li ul li a {
		border-top: none;
	}
	.sp_gnav li ul li::after {
		display: block;
		content: '';
		top: 31px;
		left: 50px;
		width: 8px;
		height: 1px;
		background-color: #929292;
		transform: rotate(0deg);
	}
	.h_info_sp {
		width: 90%;
		padding: 20px 10px 10px;
		margin: 0 auto;
		text-align: center;
		color: #fff;
	}
	.h_info_sp h2 {
		max-width: 300px;
		width: 90%;
		margin: 0 auto 10px;
		font-size: 18px;
	}
	.h_info_sp h2 img {
		width: 100%;
	}
	.h_info_sp .h_num_sp {
		margin-bottom: 20px;
		font-size: 12px;
	}
	.h_address_sp {
		margin-bottom: 20px;
		padding: 10px;
		border: 1px solid #1cb0d5;
		border-left: 0;
		border-right: 0;
	}
	.h_tel_sp {
		margin-bottom: 20px;
		font-weight: bold;
	}
	.h_tel_sp a {
		font-size: 26px;
		color: #fff!important;
	}
	.h_tel_sp a::before {
		content: "";
	    display: inline-block;
	    background: url(images/f_tel.png) no-repeat center top;
	    background-size: contain;
	    width: 24px;
	    height: 24px;
	    margin-right: 10px;
	}
	.h_contact_sp {
		margin-top: 20px;
		text-align: center;
		padding-bottom: 80px;
	}
	.h_contact_sp a {
		font-size: 18px;
		font-weight: 600;
		background: #1cb0d5;
		color: #38302b !important;
		width: 280px;
		margin-bottom: 5px;
		padding: 20px 0;
		display: inline-block;
		text-align: center;
		line-height:normal;
		box-sizing: border-box;
		position: relative;
		transition: all 0.5s;
}
	.h_contact_sp a::before {
		content: "";
		background: url("images/mail_wh.png")no-repeat;
		width: 27px;
		height: 21px;
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		left: 20px;
	}
	.h_contact_sp a::after {
		content: "";
		position: absolute;
		width: 10px;
		height: 10px;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		transform: rotate(45deg);
		right: 32px;
		top: 0;
		bottom: 0;
		margin: auto;
	}

	/*sp_btn*/
	.sp_btn {
		position: fixed;
		display: inline-block;
		right: 10px;
		width: 50px;
		height: 40px;
		padding: 5px;
		/* background: rgb(87 79 74); */
		cursor: pointer;
		z-index: 2000;
		transition: .3s ease-in-out;
}
	.sp_btn div {
		position: relative;
		top: 3px;
		right: 5px;
		}
	.sp_btn span {
		display: block;
		position: absolute;
		height: 3px;
		width: 30px;
		background: #01a1ee;
		left: 10px;
		transition: .3s ease-in-out;
}
	.sp_btn span:nth-child(1) {
		top: 0;
	}
	.sp_btn span:nth-child(2) {
		top: 10px;
	}
	.sp_btn span:nth-child(3) {
		top: 20px;
	}
	.sp_btn.open {
		background: none;
	}
	.sp_btn.open span:nth-child(1) {
		top: 11px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
		background: #fff;
		box-shadow: none;
	}
	.sp_btn.open span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.sp_btn.open span:nth-child(3) {
		top: 11px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
		background: #fff;
		box-shadow: none;
	}
	.h_tel_contact_sp {
		display:flex;
		justify-content:space-around;
		width: 320px;
		margin: 0 auto 20px;
	}
	.h_tel_contact_sp dt a {
		display:block;
		width:60px;
		height: 60px;
		background:#fff;
		padding: 15px;
		border-radius: 30px;
		/* box-shadow: 7px 3px 10px 0 #7e7e7e, -4px -4px 10px #ffffff; */
		transition: all .3s;
		line-height: 25px;
	}
	.h_tel_contact_sp dt img {
		width:100%;
	}
}

@media screen and (max-width:399px) {
	.h_contact_sp a {
		width: 240px;
	}
}

/* ======================================================

	mv

========================================================= */
.mvArea {
	position: relative;
	text-align: center;
	margin-top: -100px;
}

.mvArea .mvslider img {
	width: 100%;
}

.mvArea .catch_inner {
	width: 35%;
	position: absolute;
	top: 55%;
	right: 0;
	left: 0;
	margin: auto;
	color: #fff;
	z-index: 1;
	transform: translate(60%,-50%);
}
.mvArea .cacth_p {
	margin-bottom: 40px;
	font-size: 3.8vw;
	font-weight: 300;
	text-shadow: #6d86ac 10px 10px 5px;
}
.mvArea .cacth_p::after {
	content:"";
	display:inline-block;
	width:100%;
	height:1px;
	background:#fff;
	box-shadow:#6d86ac 10px 10px 5px;
}
.mvArea .cacth_p_2 {
	font-size: 2vw;
    line-height: 1.8em;
    letter-spacing: 2px;
    font-weight: 300;
}
/*スクロールダウン全体の場所*/
.scrolldown1{
    position:absolute;
    left:50%;
    bottom:10px;
    /*全体の高さ*/
    height:50px;
    z-index: 1;
}

/*Scrollテキストの描写*/
.scrolldown1 span{
	position: absolute;
	top: -2em;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
	color: #2c68bc;
	font-size: 1rem;
	letter-spacing: 0.05em;
}

/* 線の描写 */
.scrolldown1::after{
	content: "";
	position: absolute;
	top: 0;
	width: 1px;
	height: 100px;
	background: #2c68bc;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:60px;
		opacity: 1;
	}
	100%{
		height:0;
		top:100px;
		opacity: 0;
	}
}

.submvArea {
    overflow: hidden;
    display: flex;
    justify-content: center;
	margin-top: -100px;
}

@media screen and (max-width:768px) {
	.mvArea {
		margin-top: -50px;
	}
	.mvArea .cacth_p {
		font-size: 22px;
		margin-bottom: 20px;
	}
	.mvArea .cacth_p_2 {
		font-size: 14px;
	}
	.submvArea {
		margin-top: 0;
	}
	.submvArea img {
		height: 130px;
		object-fit: contain;
	}
	.scrolldown1{
		bottom:-30px;
	}
	
	@keyframes pathmove{
		0%{
			height:0;
			top:0;
			opacity: 0;
		}
		30%{
			height:30px;
			opacity: 1;
		}
		100%{
			height:0;
			top:50px;
			opacity: 0;
		}
	}
}

@media screen and (max-width:599px) {
	.mvArea .mvslider img {
		height:300px;
		object-fit: cover;
	}
	.mvArea .catch_inner {
		padding: 20px;
		width: 60%;
		left: 50%;
		transform: translate(-50%,-50%);
		background: rgb(126 136 165 / 70%);
	}
	.mvArea .cacth_p {
		font-size: 20px;
		line-height: 1.8rem;
		margin-bottom: 0;
	}
	.mvArea .cacth_p br{
		display: none;
	}
}

@media screen and (max-width:399px) {
	.mvArea .catch_inner {
		width: 80%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	.mvArea .cacth_p {
		font-size: 18px;
		line-height: 1.4;
	}
}

/* ======================================================

	タイトルなど

========================================================= */
.ttl_main01 {
	margin-bottom: 20px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
}
.ttl_main01 span{
	display: inline-block;
	font-size: 40px;
	color: #2c68bc;
}
.ttl_sub01 {
	margin-bottom: 30px;
	font-size: 34px;
	font-weight: bold;
	line-height: normal;
}
.txt {
	margin-bottom: 50px;
	line-height: 1.8;
}
.txt .water_color {
	font-weight: bold;
	color: #01a1ee;
}
.more_btn {
    width: 100%;
    max-width: 460px;
    margin: 0 auto;
}
.more_btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	margin: 0 auto;
	width: 100%;
	color: #454545!important;
	font-size: 18px;
	font-weight: bold;
	border-radius: 50px;
	background: #f3f4f5;
	box-shadow:
	-3px -3px 12px rgba(255, 255, 255, 0.7),
	3px 3px 12px rgba(17, 17, 17, 0.3),
	inset 3px 3px 12px transparent,
	inset -3px -3px 12px transparent;
	transition: box-shadow ease-in-out 0.3s;
}
.more_btn a::before {
	content:"";
	display: inline-block;
	margin-right: 20px;
	width: 33px;
	height: 24px;
	background:url(images/more_btn_icon_aboutus.png) no-repeat center center;
	background-size: contain;
}
.more_btn a:hover {
	background: #fff;
	box-shadow: -3px -3px 6px transparent, 3px 3px 6px transparent, inset 3px 3px 6px rgba(17, 17, 17, 0.2), inset -3px -3px 6px rgba(255, 255, 255, 0.7);
}
.newsArea .more_btn a::before {
    background: url(images/more_btn_icon_news.png) no-repeat center top;
    background-size: contain;
}
.pickupArea .more_btn a::before {
    background: url(images/more_btn_icon_pickup.png) no-repeat center top;
    background-size: contain;
}
.pbaseArea .more_btn a::before {
    background: url(images/more_btn_icon_pbase.png) no-repeat center top;
    background-size: contain;
}
.supportArea .more_btn a::before {
    background: url(images/more_btn_icon_support.png) no-repeat center top;
    background-size: contain;
}

.fix_contact {
	position:fixed;
	top: 100px;
	right: 50px;
}
.fix_contact_btn a {
	display: block;
	padding: 20px;
	width: 65px;
	background: #fff;
	border-radius: 33px;
	box-shadow: 7px 3px 10px 0 #7e7e7e, -4px -4px 10px #ffffff;
	transition: all .3s;
}
.fix_contact_btn a img {
	width: 100%;
}
.fix_contact_btn a:hover {
    box-shadow: inset 0px 1px 2px rgb(86 86 86 / 50%);
    background: #ffffff;
    transform: scale(0.95);
}

@media screen and (max-width:1000px) {
	.ttl_main01 span{
		font-size: 32px;
	}
	.ttl_sub01 {
		font-size: 26px;
	}
}



@media screen and (max-width:768px) {
	.ttl_main01 span{
		font-size: 30px;
	}
	.ttl_sub01 {
		font-size: 20px;
	}
	.fix_contact {
		display: none;
	}
}
/* ======================================================

	about us

========================================================= */
.aboutArea {
	position:relative;
	padding: 100px 0 80px;
	background:url(images/aboutus_bg.jpg) no-repeat center top;
	background-size:cover;
}
.aboutArea .flex_box {
	display: flex;
	justify-content: space-between;
}
.aboutArea .flex_l {
	width: 63%;
}
.aboutArea .flex_r {
	width: 37%;
}

.aboutArea .flex_l div {
	margin: 70px 80px 0 100px;
}
.aboutArea .flex_l img {
	max-width: 100%;
}
@media screen and (max-width:1000px) {
	.aboutArea {
		padding: 50px 0;
	}
	.aboutArea .flex_l div {
		position:relative;
		margin: 50px 20px 0 20px;
	}
	.aboutArea .flex_l {
		width: 55%;
	}
	.aboutArea .flex_r {
		width: 45%;
	}
}

@media screen and (max-width:768px) {
	.aboutArea {
		background:url(images/aboutus_bg.jpg) no-repeat left -300px top;
		background-size:cover
	}
	.aboutArea .contents_inner{
		display: block;
	}
	.aboutArea .flex_l {
		width: 100%;
	}
	.aboutArea .flex_r {
		width: 100%;
	}
	.aboutArea .flex_l div {
		position:relative;
		margin: 0 40px 50px;
	}
	.aboutArea .flex_l img {
		max-width:400px;
		width: 100%;
	}
	.aboutArea .flex_l {
		text-align:center;
	}
}

/* ======================================================

	item us

========================================================= */
.itemArea {
	position: relative;
	padding: 100px 0 80px;
	background: linear-gradient(114deg, rgb(162 182 208) 0%, rgb(228 231 235) 100%);
	background-size: cover;
}
.itemArea .flex_box {
	display: flex;
	justify-content: flex-end;
}
.itemArea .flex_l {
	width: 45%;
}
.itemArea .flex_r {
	width: 55%;
}
.itemArea .flex_l div {
	margin: 0px 80px 0 0px;
}
.itemArea .flex_l img {
	max-width: 100%;
}
.itemArea .ttl_sub01 span{
	display: block;
	font-size: 60%;
}
.itemArea ul{
	margin-bottom: 50px;
}
.itemArea ul li{
	margin-bottom: 20px;
	font-weight: bold;
}
@media screen and (max-width:1000px) {
	.itemArea {
		padding: 50px 0;
	}
	.itemArea .flex_l div {
		position: relative;
		margin: 20px 50px 0 20px;
	}
}
@media screen and (max-width:768px) {
	.itemArea .contents_inner {
		display: block;
	}
	.itemArea .flex_l {
		width: 100%;
	}
	.itemArea .flex_r {
		width: 100%;
	}
	.itemArea .flex_l div {
		position: relative;
		margin: 0 30px 50px 10px;
	}
	.itemArea .flex_l img {
		max-width: 400px;
		width: 100%;
	}
	.itemArea .flex_l {
		text-align: center;
	}
	.itemArea .ttl_sub01 span{
		font-size: 90%;
	}
}

/* ======================================================

	news

========================================================= */
.newsArea {
	position:relative;
	padding: 100px 0 80px;
	background:url(images/news_bg.jpg) no-repeat center top;
	background-size:cover;
}
.newsArea .flex_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.newsArea .flex_l {
	width: 58%;
	margin-right: 20px;
}
.newsArea .flex_r {
	width: 40%;
}
.news_list {
	border-top: 1px solid #e5e5e5;
}
.news_list dl {
	display: flex;
	align-items: center;
	padding: 20px 10px;
	border-bottom: 1px solid #e5e5e5;
}
.news_list dt {
	margin-right: 30px;
}
.news_list .number {
	color: #2c68bc;
	font-size: 20px;
}
.news_list .number span {
	font-size: 14px;
}
.news_list .news_ttl {
	margin-right: 20px;
	width: 530px;
	font-weight: bold;
}
.news_ttl a:link {
	color: #454545;
}
.news_ttl a:hover {
	color: #2c68bc;
}
.news_btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	color: #454545!important;
	font-size: 18px;
	font-weight: bold;
	border-radius:30px;
	background: #f3f4f5;
	box-shadow:  11px 10px 19px 0 #e4e5e6, -17px -17px 34px #ffffff;
	transition: all .3s;
}
.news_btn a:hover {
    box-shadow: inset 0px 1px 2px rgb(86 86 86 / 50%);
    background: #ffffff;
    transform: scale(0.95);
}
.news_btn img {
	width: 32%;
}

@media screen and (max-width:1000px) {
	.newsArea {
		padding: 50px 0;
	}
	.newsArea .flex_box {
		display: block;
	}
	.newsArea .flex_l  {
		width: 100%;
		margin-bottom: 40px;
	}
	.newsArea .flex_r  {
		width: 100%;
	}
	.news_list .news_ttl {
		width: 100%;
	}
	.news_btn {
    margin-right: 0;
    margin-left: auto;
	}
}

@media screen and (max-width:768px) {
}
/* ======================================================

	product

========================================================= */
.productArea {
	position:relative;
	padding: 100px 0 80px;
	background:#f4f4f4;
	background-size:cover;
}
.productArea .contents_inner {
	padding: 0 20px;
}
.product_list {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: flex-start;
}
.product_list > li {
	position: relative;
	display: flex;
	margin: 0 4% 50px 0;
	padding: 0 20px 20px;
	width: 48%;
	color: #4b5656!important;
	font-size: 18px;
	font-weight: bold;
	border-radius: 20px;
	background: #f3f4f5;
	box-shadow:  11px 10px 19px 0 #e4e5e6, -17px -17px 34px #ffffff;
	transition: all .3s;
}
/* .product_list > li > a {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	cursor: pointer;
	z-index: 1;
} */
/* .product_list > li:hover {
	opacity: 0.8;
} */
.product_list > li:nth-child(2n) {
	margin-right: 0;
}
.product_list .product_flex {
	display: flex;
	width: 100%;
}
.product_list .product_flex dt {
	width: 100%;
	max-width: 230px;
	margin-right: 20px;
}
.product_list .product_flex dt .pic {
	width: 100%;
	position: relative;
}
.product_list .product_flex dt .pic::after {
	content: "";
	display: block;
	padding-bottom: 95%;
}

.product_list .product_flex dt img {
    position: absolute;
	max-width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
    transition: transform 0.5s linear;
}
.product_list .product_flex > dt p {
	padding: 15px 20px;
	margin-bottom: 10px;
	background-color: #4b5656;
	font-size: 18px;
	color: #fff;
	font-weight: 300;
	border-bottom-right-radius: 10px;
	border-bottom-left-radius: 10px;
}
.product_list .product_flex > dt + dd {
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: column;
	padding: 20px 0 0;
	width: 60%;
}
.product_list .product_flex h3 {
	margin-bottom: 20px;
	color: #01a1ee;
	font-size: 18px;
}
.product_list .product_flex h3 span{
	padding: 5px 10px;
	margin-right: 10px;
	color: #454545;
	font-size: 16px;
	border-radius: 5px;
	background: #fff;
	box-shadow:  11px 10px 19px 0 #e4e5e6, -17px -17px 34px #ffffff;
}
.product_list .product_flex h4 {
	margin-bottom: 20px;
	line-height: 1.4;
	font-size: 18px;
}
.product_list .spec {
	margin-bottom: 20px;
	font-size: 14px;
	font-weight: normal;
	line-height: 1.6;
}
.product_list .spec dl {
	display: flex;
	align-items: center;
	padding: 10px 30px;
	margin-bottom: 10px;
	color: #454545;
	font-size: 16px;
	border-radius: 25px;
	background: #fff;
	box-shadow:  11px 10px 19px 0 #e4e5e6, -17px -17px 34px #ffffff;
}
.product_list .spec dd {
	font-size: 20px;
}
.product_list .spec .type01 {
	color: #5dc36d;
}
.product_list .spec .type02 {
	color: #c35d5d;
}

@media screen and (max-width:1199px) {
	.product_list .spec dl {
		padding: 10px 15px;
	}
}

@media screen and (max-width:1000px) {
	.product_list {
		display: block;
	}
	.product_list > li {
		width: 700px;
		margin: 0 auto 30px;
	}
	.product_list > li:nth-child(2n) {
		margin-right: auto;
	}
	.product_list .product_flex dt {
		width: 40%;
		max-width: 240px;
		margin-right: 20px;
	}
	.product_list .product_flex > dt + dd {
		width: 60%;
	}
	.product_list .spec dl {
		justify-content: space-between;
		padding: 10px 30px;
	}
	
}

@media screen and (max-width:768px) {
	.productArea {
		padding: 50px 0;
	}
	.product_list > li {
		width: 100%;
	}
	.more_btn a {
		font-size: 16px;
		padding: 15px;
	}
	.more_btn a::before {
		margin-right: 0.5em;
		width: 2em;
		height: 1.2em;
	}
}	

@media screen and (max-width:599px) {
	.product_list .product_flex {
		display:block;
	}
	.product_list .product_flex > dt {
		width: 240px;
		margin: 0 auto;
	}
	.product_list .product_flex > dt + dd{
		width:100%;
	}
}
/* ======================================================

	ピックアップ

========================================================= */
.pickupArea {
	position:relative;
	padding: 100px 0 80px;
	background:#fff;
	background-size:cover;
}
.pickup_list {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 50px;
}
.pickup_list li {
	width: 23%;
	margin: 0 1%;
}
.pickup_list li a {
	display: block;
	color: #454545;
}
.pickup_list li a:hover {
	opacity:0.7;
}
.pickup_list li dt {
	position:relative;
	overflow: hidden;
}
.pickup_list li dt:before{
	content: "";
	display: block;
	padding-top: 90%;
}
.pickup_list li dt img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	object-fit: cover;
	transition: transform 0.5s linear;
}
.pickup_list li dd {
	font-size: 16px;
	line-height: 1.6;
}
.pickup_list li:hover dt img{
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-o-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
}
.pickup_list li p {
	margin: 30px 0;
	font-weight: bold;
}

@media screen and (max-width:768px) {
	.pickupArea {
		padding: 50px 0;
	}
	.pickup_list li {
		width: 48%;
	}
}
@media screen and (max-width:599px) {
	.pickup_list li {
		width:48%;
	}
	.pickup_list li a {
		padding: 0;
	}
	.pickup_list li p {
		margin:10px 0 30px;
		font-size:14px;
		font-weight:normal;
	}
}

/* ======================================================

	生産拠点

========================================================= */
.pbaseArea {
	position:relative;
	padding: 100px 0 80px;
	background:url(images/productionbase_bg.jpg) no-repeat center top;
	background-size:cover;
}
.pbase_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 600px;
	margin: 0 auto 50px;
}
.pbase_list li {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 160px;
	height: 160px;
	text-align: center;
	line-height: 1.2;
	font-size: 28px;
	font-weight: bold;
	color: #01a1ee;
	background:#fff;
	border-radius: 80px;
	box-shadow: #c9c9c9 2px 2px 10px;}

.pbaseArea p {
	margin-bottom: 30px;
	font-size: 26px;
	text-align:center;
	line-height: 1.6;
}
.pbaseArea .movie {
	margin-bottom: 50px;
}
.pbaseArea .movie video {
	width: 100%;
}

@media screen and (max-width:768px) {
	.pbaseArea {
		padding: 50px 0;
	}
	.pbase_list {
		width: 460px;
	}
	.pbase_list li {
		width:120px;
		height:120px;
		font-size:20px;
	}
	.pbaseArea p {
		font-size:20px;
	}
}
@media screen and (max-width:599px) {
	.pbase_list {
		width: 360px;
	}
	.pbase_list li {
		width:100px;
		height:100px;
		font-size:16px;
	}
	.pbaseArea p {
		font-size:18px;
	}
}
@media screen and (max-width:399px) {
	.pbase_list {
		width: 280px;
	}
	.pbase_list li {
		width:80px;
		height:80px;
		font-size:14px;
	}
	.pbaseArea p {
		font-size:16px;
	}
}

/* ======================================================

	生産拠点

========================================================= */
.supportArea {
	position:relative;
	padding: 100px 0 80px;
}
.supportArea .flex_box01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 50px;
    align-items: flex-end;
}
.supportArea .flex_l {
	margin: 0 20px 50px 0;
	width: calc(57% - 20px);
}
.supportArea .flex_r {
	width: 43%;
}
.supportArea .flex_r img {
	max-width: 100%;
}
.supportArea .flex_box02 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.supportArea .flex_box02 .txt {
	margin-left: 50px;
	font-weight: bold;
	font-size: 16px;
}
.supportArea .flex_box02 .txt span {
	font-size: 26px;
}
.supportArea .flex_box02 .txt p {
	text-align: center;
}
.supportArea .flex_box02 p:nth-child(2) {
	border-bottom: 5px solid #78b479;
}
.support_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-weight: bold;
	text-align: center;
}
.support_list li {
	width: 18%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
	line-height: 1.4;
}
.support_list li img {
	max-width: 100%;
	margin-bottom: 20px;
}

@media screen and (max-width:1100px) {
	.supportArea .flex_l {
		width: calc(60% - 20px);
	}
	.supportArea .flex_r {
		width: 40%;
	}
}
@media screen and (max-width:1000px) {
	.supportArea .flex_box01 {
		display: block;
		text-align: center;
	}
	.supportArea .flex_l {
		width: 100%;
	}
	.supportArea .flex_r {
		width: 80%;
		margin: 0 auto;
	}
	.supportArea .flex_box02 {
		display: block;
	}
	.supportArea .flex_box02 .txt {
		display: inline-block;
    	margin: 0 0 50px;
	}
	.support_list {
		justify-content: space-around;
	}
}

@media screen and (max-width:768px) {
	.supportArea {
		padding: 50px 0;
	}
	.support_list li {
		width:30%;
		margin:0 0 30px;
	}
}



/* ======================================================

	footer

========================================================= */
#footer {
	background: #4b5056;
	color: #fff;
	padding-top: 100px;
}
.footerArea {
	padding-bottom: 110px;
	max-width: 1200px;
    margin: 0 auto;
}
.footerArea .ttl_main01 span {
	margin-bottom: 20px;
	color: #fff;
}
.f_infoArea01 {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 50px;
	padding-bottom: 50px;
	border-bottom: 1px solid #fff;
}
.f_info {
	width: 300px;
	font-size: 20px;
}
.f_telArea {
	width: 390px;
}
.f_contact {
	width: 350px;
}

.f_logo {
	margin-bottom: 10px;
}
.f_logo a:hover {
	opacity: 0.7;
}
.f_logo img {
	max-width: 100%;
}
.f_tel01 {
	margin-bottom: 10px;
}
.f_tel01 a {
font-size: 46px;
font-weight: bold;
color: #fff!important;
}
.f_tel01 a:before {
	content: "";
	display: inline-block;
	background: url(images/f_tel.png) no-repeat center top;
	width: 39px;
	height: 39px;
	margin-right: 10px;
	}
.f_telArea dl {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}
.f_telArea dt {
	display: inline-block;
	margin-right: 15px;
	padding: 5px 10px;
	letter-spacing: 1px;
	border: 1px solid #fff;
	font-size: 12px;
}
.f_telArea .f_tel01_txt {
	font-size: 14px;
	line-height: 1.8;
}
.f_telArea dd {
	display: inline-block;
	font-size: 18px;
}


.f_contact .more_btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 30px 50px;
	font-size: 20px;
	font-weight: bold;
	color: #454545;
	background:#fff;
	border-radius: 20px;
	box-sizing: border-box;
	box-shadow: #2d2d2d 2px 2px 10px;
	transition:all .3s;
}
.f_contact .more_btn:before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 21px;
	background: url("images/h_mail.png") no-repeat center top;
	background-size: contain;
}

.f_contact .more_btn:hover {
	box-shadow: inset 0px 3px 6px 0px rgb(18 18 18 / 50%);
	background:#ffffff;
	transform: scale(0.97);
}


.f_infoArea02 {
	margin-bottom: 60px;
	text-align: center;
}
.f_infoArea02 p {
	margin-bottom: 20px;
}
.f_infoArea02 p span {
	padding: 5px 20px;
	border: 1px solid #fff;
	font-size: 0.8em;
}

.f_tel02 a {
	font-size: 26px;
	font-weight: bold;
	color: #fff!important;
}
.f_tel02 a:before {
	content: "";
	display: inline-block;
	background: url(images/f_tel.png) no-repeat center top;
	background-size: contain;
	width: 24px;
	height: 24px;
	margin-right: 10px;
	}
.f_nav {
	display: flex;
	justify-content: space-between;
	width: 940px;
	padding: 0 20px;
	margin: 0 auto;
}
.f_nav ul li {
	margin-bottom: 40px;
}
.f_nav ul li a {
	font-size: 16px;
	font-weight: bold;
}
.f_nav li a:hover {
	text-decoration: underline;
}
.f_nav dl {
	margin: 30px 0 0 20px;
}
.f_nav dt {
	position: relative;
	margin-bottom: 20px;
	font-size: 14px;
}
.f_nav ul li dl dt a {
	font-size: 15px;
	font-weight: normal;
}
.f_nav ul li dt::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -20px;
	width: 10px;
	height: 2px;
	margin-right: 10px;
	background: #fff;
	transform: translateY(-50%);
}
.copyright {
	padding: 10px;
	font-size: 14px;
	text-align: center;
	color: #fff;
	font-weight: 500 !important;
}

@media screen and (max-width:1200px) {
	.footerArea {
		padding: 0 20px;
	}
}
@media screen and (max-width:1100px) {
	.f_info {
		margin-bottom:40px;
		width:100%;
		text-align:center;
	}
}

@media screen and (max-width:1000px) {
	#footer {
		padding-top: 60px;
	}
	.f_telArea {
		width:45%;
	}
	.f_tel01 a {
		font-size:36px;
	}
	.f_telArea dd {
		font-size:14px
	}
	.f_nav {
		width: 100%;
	}

}

@media screen and (max-width:768px) {
	.f_infoArea01 {
		display:block;
	}
	.f_nav ul {
		margin: 0 20px 0 0;
	}
	.f_telArea {
		width:100%;
		text-align: center;
	}
	.f_tel01 a {
		font-size:26px;
	}
	.f_tel01 a::before {
		width:20px;
		height:20px;
		background-size:contain
	}

	.f_telArea dl {
		display:block;
	}
	.f_contact {
		margin: 50px auto 0;
	}

	.f_nav {
		display: block;
		max-width: 440px;
		padding: 0 20px;
		flex-wrap: wrap;
		transform: translateX(20px);
	}
	.f_nav::after {
		content: " ";
		display: block;
		clear: both;
		font-size: 0;
	}
	.f_nav ul {
		margin: 0 20px;
		float: left;
		width: 40%;
	}
	.f_nav ul li {
		margin-bottom: 20px;
	}
	.f_nav ul:last-child {
		width:100%;
	}
	.f_nav ul:last-child li {
		float:left;
		width:50%
	}
	.f_nav dl {
		margin:20px 0 0
	}
}
@media screen and (max-width:599px) {
	.f_info {
		font-size:16px
	}
	.f_contact {
		width:320px;
	}
	.f_contact .more_btn {
		padding: 20px 40px;
		font-size:18px;
	}
	.f_nav {
		transform: translateX(0);
		padding: 0 40px;
	}
	.f_nav ul,.f_nav ul:last-child li {
		width:100%;
		float:none;
	}
	.f_nav dl{
		padding-left: 20px;
	}
}
@media screen and (max-width:399px) {
	.f_infoArea02 {
		font-size:14px;
	}
	.f_contact {
		width: 280px;
	}
	.f_contact .more_btn {
		padding: 20px 30px;
	}
}


/* ==============================================

	pagetop

================================================= */
.copyright {
	clear: both;
	padding: 10px 10px 30px;
	font-size: 12px;
	text-align: center;
	font-family: 'Bebas Neue', 'Oswald';
	letter-spacing: 1.5px;
	font-weight: normal;
}
@media screen and (max-width: 768px) {
	.copyright {
		padding: 10px;
	}
}
#pageTop {
	position: fixed;
	line-height: 1;
	right: 20px;
	bottom: 20px;
	z-index: 500;
}
#pageTop a {
	display: block;
	position: relative;
	padding: 25px;
	color: #fff;
	font-size: 1.2rem;
	text-decoration: none;
	background: #2c68bc;
}
#pageTop a::before {
	position: absolute;
	content: "";
	top: 20px;
	left: 50%;
	margin-left: -5px;
	width: 10px;
	height: 10px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	transition: all .3s;
}
#pageTop:hover a::before {
	top: 15px;
}
@media screen and (max-width: 768px) {
	#pageTop {
		right: 0;
		bottom: 50px !important;
	}
}
@media screen and (max-width:599px) {
	#pageTop a {
		padding: 20px;
	}
	#pageTop a::before {
		top: 15px;
	}
	#pageTop:hover a::before {
		top: 15px;
	}
}
/* =======================================

	topicPath

========================================== */
#topicPath {
	margin: 0 auto 50px;
	padding: 10px;
	width: 1200px;
}
#topicPath li {
	display: inline;
	list-style-type: none;
	font-size: 14px;
}
#topicPath li:before {
	content: "|";
	padding: 0 10px;
}
#topicPath li:first-child:before {
	content: none;
}
#topicPath li a {
	color: #555;
}
#topicPath li a:hover {
	text-decoration:underline;
}
#topicPath li .home {
	color: #E65401;
}
@media screen and (max-width: 1200px) {
	#topicPath {
		padding: 10px 20px;
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	#topicPath li {
		font-size: 12px;
	}
}


/* ======================================================

	下層ページ

========================================================= */
.contents_inner {
	margin: 0 auto 80px;
	width: 1200px;
}
.sub_topArea{
	width: 80%;
	margin: 0 auto 100px;
}
.sub_topArea_ttl{
	padding-bottom: 20px;
	font-size:max(22px, min(3vw,28px) );
	font-size:clamp(22px, 3vw,28px) ;
	text-align: center;
}
.sub_topArea_ttl span{
	background:linear-gradient(transparent 70%, #94e7fd 70%);
}
.sub_topArea p{
	margin-bottom: 10px;
	line-height: 1.5em;
}
.sub_ttl01{
	margin-bottom: 50px;
	font-size:max(20px, min(3vw,24px) );
	font-size:clamp(20px, 3vw,24px) ;
	text-align: center;
	line-height: 1.4em;
}

@media screen and (max-width:1200px) {
	.contents_inner {
		padding: 0 10px;
		width: 100%;
	}
}
@media screen and (max-width:768px) {
	.contents_inner {
		margin: 0 auto 60px;
	}
	.sub_topArea{
		width: 100%;
		padding: 0 20px;
		margin: 0 auto 60px;
	}
	.sub_ttl01 br{
		display: none;
	}
}



