@charset "UTF-8";
/*!
Theme Name: oriental-wp
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.1.0
*/



/* reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
q:before,q:after{content:'';}
object,embed{vertical-align:top;}
legend{display:none;}
h1,h2,h3,h4,h5,h6{font-size:100%;}
img,abbr,acronym,fieldset{border:0;}



body {
	width: 100%;
	height: 100vh;
	animation: bggradient 20s ease infinite;
	background-attachment: fixed;
	font-size: 14px;
	line-height: 1.8;
	font-family: "Noto Serif JP", sans-serif;
	overflow-x: hidden;
	color:#000;
	counter-reset: number 0;
}


html {
  scroll-behavior: smooth;
	scroll-padding-top: 100px;
}
a{
	color:#000;
	text-decoration: none;
	transition : all 0.5s ease 0s;
}

a:hover{
	color: #666;
	opacity: 0.7;
}


img a:hover{
	opacity: 0.7;
}


a:active, a:focus,input:active, input:focus{outline:0;}

h1 {
	font-size: 40px;
	font-weight: 500;
	padding: 10px 0;
	letter-spacing: 3px;
}

@media (max-width: 600px) {
	h1 {
	font-size: 30px;
	font-weight: 500;
	padding: 10px 0;
}
}


hr {
	height: 1px;
}

* {
    box-sizing: border-box !important;
}


a.anchor {
    display: block;
}


/* 共通
------------------------------------------------------------*/

.center {
	text-align: center !important;
}

.right {
	text-align: right !important;
}

.left {
	text-align: left !important;
}

.img-cen {
	margin: 10px auto;
	text-align: center;
}

img{
	width: 100%;
	height: auto;
	vertical-align:top;
}

img.img-nomal {
	width: inherit;
}

img.img100 {
	width:100px !important;
}

img.img120 {
	width:120px !important;
}

img.img200 {
	width:200px !important;
}

img.img500 {
	width:500px !important;
}

img.img80p {
	width:80% !important;
	border-radius: 20px;
}
img.img100p {
	width:100% !important;
	border-radius: 20px;
}
@media (max-width: 800px) {
img.img80p {
	width:100% !important;
}
img.img100p {
	width:100% !important;
}
img.img500 {
	width:90% !important;
}
}


.mtb10 {margin: 10px 0 !important;}
.mtb15 {margin: 15px 0 !important;}
.mtb20 {margin: 20px 0 !important;}
.mtb30 {margin: 30px 0 !important;}
.mtb50 {margin: 50px 0 !important;}
.mtb70 {margin: 70px 0 !important;}

.mt10 {margin-top: 10px !important;}
.mt20 {margin-top: 20px !important;}
.mt30 {margin-top: 30px !important;}
.mt50 {margin-top: 50px !important;}
.mt70 {margin-top: 70px !important;}

.mb0 {margin-bottom: 0 !important;}
.mb10 {margin-bottom: 10px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb50 {margin-bottom: 50px !important;}
.mb70 {margin-bottom: 70px !important;}
.mb100 {margin-bottom: 100px !important;}

.ptb70 {padding: 70px 0 !important;}

.pb30 {padding-bottom: 30px !important;}
.pb50 {padding-bottom: 50px !important;}
.pb70 {padding-bottom: 70px !important;}
.pb90 {padding-bottom: 90px !important;}
.pb100 {padding-bottom: 100px !important;}

.pt30 {padding-top: 30px !important;}
.pt50 {padding-top: 50px !important;}
.pt70 {padding-top: 70px !important;}
.pt100 {padding-top: 100px !important;}
.pt120 {padding-top: 120px !important;}
.pt200 {padding-top: 200px !important;}

.pr10 {padding-right: 10px !important;}

.spacer20 {height: 20px;}
.spacer30 {height: 30px;}
.spacer50 {height: 50px;}
.spacer60 {height: 60px;}
.spacer70 {height: 70px;}
.spacer75 {height: 75px;}
.spacer80 {height: 80px;}
.spacer100 {height: 100px;}
.spacer120 {height: 120px;}
.spacer200 {height: 200px;}

.tb {
	font-weight: 600;
}


h2 {font-size: 30px;font-weight: 600;}
h3 {font-size: 20px;font-weight: 600;}
.ft12 {font-size: 12px;}
.ft14 {font-size: 14px !important;}
.ft16 {font-size: 16px;}

.ftl1 {line-height: 1.2;}
.center {text-align: center;}

@media screen and (min-width: 600px){
.br-sp {display: none; }
}
@media screen and (max-width: 600px){
.br-pc {display: none; }
}



.bg-light {
	background: rgba(243,238,213,0.5);
	width: 100%;
	padding: 80px 0 20px 0;
}


@media only screen and (max-width: 800px) {
	.bg-light {
	padding: 80px 0 0 0;
}
}
	




/* ヘッダー
------------------------------------------------------------*/

.top-link-wrap {
	width: 100%;
	padding: 7px 0;
	background: #659d78;
}

.top-link {
	text-align: center;
	color: #fff;
	font-size: 12px;
	font-weight: 500;
}

.top-btn a {
    background: #fff;
    border-radius: 20px;
	line-height: 1;
    margin-left: 20px;
    padding: 2px 25px;
    color: #000;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.top-btn a:hover {
    background: #ddd;
	opacity: 1;
}


.sp-link {
	display: none;
}

@media screen and (max-width:1000px) {
	
.top-link-wrap {
	display: none;
}
	.sp-link {
	display:block;
		margin-top: 30px;
		margin-left: 20px;
		text-align: left;
}
}


.top-title {
	width: 100%;
	max-width: 1200px;
	padding: 20px 30px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	 justify-content: space-between; 
}

.top-logo {
	width: 150px;
	margin-right: 50px;
}
.top-menu {
	width: 290px;
}

.logo {
	display: none;
}

.top-tel {
	padding: 0 5px;
	letter-spacing: 1px;
}
.top-tel1 {
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	top: 5px;
    position: relative;
}

.top-time {
	display: block;
	padding: 5px 5px 0;
	text-align: center;
	letter-spacing: 1px;
	border-top: 2px solid #21743d;
	margin-top: 10px;
	font-size: 12px;
}



@media screen and (max-width:1000px) {
	.top-title {
	display: none;
}
	.logo {
	display: block;
		padding-left: 30px;
}
}

nav ul{
	list-style: none;
	display: flex;
	justify-content:space-between;
	width: 900px;
	letter-spacing: 1px;
}

nav ul ul{
	display: block;
}

nav ul li{
	position: relative;
	text-align: left;
}

nav ul li a{
	display: block;
	text-decoration: none;
	color: #fff;
	padding:20px 35px;
	transition:all .3s;
}

nav ul li li a{
	padding:10px 25px;
}

.m-tit {
	font-size: 10px;
}

@media screen and (max-width:1200px) {
nav ul li a{
}
nav ul li li a{
	padding:10px 20px;
}
}

nav ul li a:hover{
	color:#fff;
	opacity: 1;
}

nav ul li.has-child::before{
	content:'';
	position: absolute;
	left:20px;
	top:28px;
	width:6px;
	height:6px;
	border-top: 2px solid #fff;
    border-right:2px solid #fff;
    transform: rotate(135deg);
}

@media screen and (max-width:1200px) {
nav ul li.has-child::before{
    left:10px;
}
}

nav li.has-child ul{
	position: absolute;
	left:0;
	top:76px;
	z-index: 4;
	background:#21743d;
	width:230px;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
}

nav li.has-child:hover > ul,
nav li.has-child ul li:hover > ul,
nav li.has-child:active > ul,
nav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}

nav li.has-child ul li a{
	color: #fff;
	border-bottom:solid 1px #fff;
}

nav li.has-child ul li:last-child a{
	border-bottom:none;
}

nav li.has-child ul li a:hover,
nav li.has-child ul li a:active{
	background:rgba(255,255,255,0.2);
}


@media screen and (max-width:1000px){
	nav{
		padding: 0;
	}
	
	nav ul{
		display: block;
	}
	
nav ul li a{
	/*border-bottom:1px solid #fff;*/
}


nav ul li.has-child::before{
	left:30px;	
	top: 23px;
}

nav ul ul li.has-child::before{
    transform: rotate(135deg);
	left:20px;
}
    
nav ul li.has-child.active::before{
    transform: rotate(-45deg);
}

}



#header{
	height: 70px;
	width:100%;
    z-index: 999;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	padding: 15px 0;
	background: #21743d;
	font-weight: 500;
}



#header.m_fixed {
	left: 0;
	position: fixed;
	top: 0;
}



@media screen and (max-width:1000px) {
#g-nav{
    position:fixed;
    z-index: 999;
	right:-120%;
    top:0;
	width:100%;
    height: 100vh;
	background:#21743d;
	transition: all 0.6s;
	font-size: 18px;
	letter-spacing: 1px;
}

#g-nav.panelactive{
    right: 0;
}

#g-nav.panelactive #g-nav-list{
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

#g-nav ul {
    margin:100px auto 0 auto;
}
    
#g-nav ul ul{
    width: 100%;
    margin: 0;
}
 
#g-nav ul li.has-child ul{
  	position: relative;
	left:0;
	top:0;
	width:100%;
	visibility:visible;
	opacity:1;
	display: none;
	transition:none;
    transform: none;
	background: #659d78;
}

/*リストのレイアウト設定*/

#g-nav li{
	list-style: none;
    text-align: left; 
}

#g-nav li a{
	color: #fff;
	text-decoration: none;
	padding:10px 20px 10px 50px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
}
}


	
.openbtn1{
    display: none;
}
 
@media screen and (max-width:1000px) {
.openbtn1{
 display: block;
	position:fixed;
    z-index: 9999;
	top:10px;
	right: 10px;
	cursor: pointer;
    width: 50px;
    height:50px;
}

/*ボタン内側*/
.openbtn1 span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
  background: #fff;
    width: 45%;
  }

.openbtn1 span:nth-of-type(1) {
  top:15px; 
}

.openbtn1 span:nth-of-type(2) {
  top:23px;
}

.openbtn1 span:nth-of-type(3) {
  top:31px;
}


.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 15px;
    transform: translateY(6px) rotate(-45deg);
    width: 50%;
}

.openbtn1.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn1.active span:nth-of-type(3){
    top: 30px;
    left: 15px;
    transform: translateY(-6px) rotate(45deg);
    width: 50%;
}
}


.nav01c li a{
	position: relative;
}

.nav01c li.current a,
.nav01c li a:hover{
	color:#eee;
}

.nav01c li a::after {
    content: '';
    position: absolute;
    bottom: 16px;
    left: 25%;
    width: 50%;
    height: 1px;
    background:#eee;
    transition: all .3s;
    transform: scale(0, 1);
    transform-origin: left top;
}

.nav01c li li a::after {
    display: none;
}

.nav01c li.current a::after,
.nav01c li a:hover::after {
    transform: scale(1, 1);
}
@media screen and (max-width:960px) {
.nav01c li a::after {
    display: none;
}  
}


/* TOP
------------------------------------------------------------*/

.bg-slider {
	min-height: calc(100vh - 130px);
	width: 100vw;
	background-position:center center;
	background-size: cover;
	position: relative;
}


.top-copy{
	font-size: 20px;
	line-height: 1.5;
	font-weight: bold;
	position: absolute;
	top:90px;
	left: 50px;
	display: inline-block;
	color: #000;
}

.top-copy li {
	background: #fff;
	opacity: .7;
	padding: 10px 20px;
	margin-bottom: 10px;
}

@media screen and (max-width:500px) {
	.top-copy{
	font-size: 18px;
	top:60px;
	left: 20px;
}
}
	

/*メイン*/

.back-img {
	background-image: url("images/menu.png");
	background-position: center center;
	background-size: cover;
	height: 300px;
	width: 100%;
}

@media screen and (max-width:500px) {
	.back-img{
	background-image: url("images/menu2.png");
	background-position: center center;
	background-size: cover;
	height: 200px;
	width: 100%;
}
}


.container {
	width: 100%;
	position: relative;
}


.bg-gray {
	background:#F9F9F9;
}

.wrap {
	width: 100%;
}


.child_1{
  order: 1;
}
.child_2{
  order: 2;
}


@media (max-width: 800px) {
.child_1{
  order: 2;
}
.child_2{
  order: 1;
}
}



.content{
    margin: 0 auto;
	padding: 0 40px;
	max-width: 1200px;
}



.t-bnr {
	width: 90%;
	margin: 30px auto;
	padding: 20px;
	border: solid 2px #21743d;
}


@media screen and (max-width: 900px) {
	.t-bnr {
	width: 100%;
	margin: 30px auto;
	padding: 20px;
	border: solid 2px #21743d;
}
}
	
.fw-about{
    margin: 0 auto;
	padding:40px;
	font-size: 16px;
}



.s-content{
    margin: 0 auto;
	padding: 100px 40px 40px;
	z-index: 1;
	position: relative;
	max-width: 1200px;
}


.con-title {
	margin-bottom: 60px;
	text-align: center;
}

.s-con-h2{
    font-size: 28px;
	letter-spacing: 5px;
	font-weight: 500;
}

.h2-ss {
	margin-top: 15px;
	font-size: 16px;
	font-weight: 600;
	position: relative;
    display: inline-block;
    padding: 0 60px;
	letter-spacing: 2px;
}

.h2-ss:before,
.h2-ss:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 45px;
    height: 2px;
    background-color: #000;
}

.h2-ss:before {
    left: 0;
}

.h2-ss:after {
    right: 0;
}





.s-mds {
	border:2px solid #000;
	border-radius: 30px;
	padding: 10px;
	font-size: 18px;
	font-weight: 500;
	margin: 10px auto 50px;
	text-align: center;
	display: table;
	min-width: 480px;
	letter-spacing: 2px;
}


@media screen and (max-width: 900px) {
.content{
    width: 90%;
	padding: 0 10px;
	margin: 0 auto 50px;
}
.content h2,.s-content h2{
    font-size: 30px;
}
	
.s-con-h2{
    font-size: 30px;
}
	
.s-content{
    width: 90%;
	padding: 50px 0;
	margin: 0 auto;
}

.content h3,.s-content h3{
    font-size: 22px;
	letter-spacing: 1px;
	font-weight: 600;
}
	
	.s-mds {
	border:2px solid #000;
	border-radius: 30px;
	padding: 10px;
	font-size: 18px;
	font-weight: 500;
	margin: 10px auto 50px;
	text-align: center;
	display: table;
	min-width: 100%;
	letter-spacing: 2px;
}
}




.t-box2{
  display: flex;
  justify-content: space-between;
	flex-wrap :wrap;
	margin: 0 auto 50px;
    max-width: 960px;
}

.tb2{
  width: calc((100% / 2) - 20px);
	padding: 40px;
	background:#E7E7E7;
	border-radius: 20px;
	text-align: center;
}

.tb2 img{
  border-radius: 20px;
}


.tb2 p{
	font-size: 20px;
	font-weight: 600;
	margin: 30px 0 5px;
}

.tbss {
	font-size: 12px !important;
	margin: 0 !important;
}
.tbtxt {
	padding: 20px 0 10px;
}


@media(max-width: 800px){
 .t-box2{
  flex-direction: column;
}

.tb2{
  width: 100%;
		margin:0 0 20px 0;
}
}





/*新着アーカイブ*/


.pickup-img {
	background:#ff6347;
	padding: 5px 10px;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	position: absolute;
	top:0;
	line-height: 1.8;
	z-index: 5;
}

.pt-name {
	display: inline-block;
    background:#F7F7F7;
    padding: 6px 10px;
    font-size: 12px;
    position: absolute;
    top:-40px;
}


.arrow::after{
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  content: "\f105";
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
  vertical-align: middle;

}




/*ニュースアーカイブ（一覧用）*/


.news-dt{
  margin: 0;
  display: inline-block;
  font-size: 14px;
	font-weight: 500;
  padding: 0 15px 0 0;
	letter-spacing: 2px;
}


.news-category{
  margin: 0;
  min-width: 140px;
  padding: 0 20px 0 0;
}
.news-category span{
  background: #21743d;
  color: #FFF;
  text-align: center;
  display: inline-block;
  padding: 5px 20px;
  font-size: 12px;
  line-height: 1;
}



.news-title{
  margin: 10px 0 0;
  width: 100%;
	font-size: 18px;
	font-weight: 500;
	position: relative;
}


.news-title a{
  color: #000000;
}
.news-title a:hover{
  color: #666 !important;
}

.text-all {
	font-size: 14px;
	padding: 10px 0;
}
.time-wrap {
	margin: 10px 0 30px;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 2px;
}


.news-wrap {
	width: 100%;
	padding: 0 50px 100px;
	margin-bottom: 20px;
}

.news-wrap h3 {
	font-size: 24px;
    letter-spacing: 2px;
    font-weight: 500;
	margin-bottom: 30px;
}

.article-wrap {
	font-size: 16px;
}

.article-wrap img {
	width: inherit;
}

@media screen and (max-width: 800px){

.news-dt-h{
  min-width: 100px;
}
.news-title-h{
  margin-top: 10px;
	padding-right: 0;
}
	
.news-item {
  flex-wrap: wrap;
}
.news-dt{
  min-width: 100px;
}
.news-title{
  margin-top: 10px;
}
	
.news-wrap {
	width: 100%;
	padding: 0 0 80px;
	margin-bottom: 20px;
}

.news-wrap h3 {
	font-size: 22px;
}
}


/*新着リスト*/


.news-list{
  list-style: none outside;
  margin: 0 auto 40px;
	max-width: 960px;
}
.news-list .n-item a{
  display: flex;
  flex-wrap: wrap;
  flex-wrap: nowrap;
  text-decoration: none;
  color: #000;
  border-bottom: 1px solid #000;
  padding: 20px 20px;
}
.news-list .n-item:first-child a{
  border-top: 1px solid #000;
}
.news-list .n-item .date{
  margin: 0;
  min-width: 140px;
  font-size: 14px;
  color: #000;
  padding: 0 20px 0 0;
}
.news-list .n-item .category{
  margin: 0;
  min-width: 140px;
  padding: 0 20px 0 0;
}
.news-list .n-item .category span{
  background: #21743d;
  color: #FFF;
  text-align: center;
  display: inline-block;
  padding: 5px 20px;
  font-size: 12px;
  line-height: 1;
}
.news-list .n-item .title{
  margin: 0;
  width: 100%;
	font-size: 16px;
}
.news-list .n-item a:hover .title{
  color: #21743d;
}

@media screen and (max-width: 767px){
.news-list .n-item a{
  flex-wrap: wrap;
}
.news-list .n-item .date{
  min-width: 100px;
}
.news-list .n-item .title{
  margin-top: 10px;
}
}



/* トップページ */

.s-2wrap {
	margin: 0 auto;
	width: 80%;
}






/* 製品案内 */


.page-header0 {
    position: relative;
    color: #ffffff;
    text-align: center;
    background: var(--vk-page-header-url, url(https://eco-oriental.jp/wp-image/item.jpg)) no-repeat 50% center;
    background-size: cover;
    min-height: 15rem;
	margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 0;
    display: flex;
    align-items: center;
}

.page-header {
    position: relative;
    color: #ffffff;
    text-align: center;
    background: var(--vk-page-header-url, url(https://eco-oriental.jp/wp-image/pkg01.jpg)) no-repeat 50% center;
    background-size: cover;
    min-height: 15rem;
	margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 0;
    display: flex;
    align-items: center;
}
.page-header2 {
    position: relative;
    color: #ffffff;
    text-align: center;
    background: var(--vk-page-header-url, url(https://eco-oriental.jp/wp-image/pkg02.jpg)) no-repeat 50% center;
    background-size: cover;
    min-height: 15rem;
	margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 0;
    display: flex;
    align-items: center;
}
.page-header3 {
    position: relative;
    color: #ffffff;
    text-align: center;
    background: var(--vk-page-header-url, url(https://eco-oriental.jp/wp-image/pkg03.jpg)) no-repeat 50% center;
    background-size: cover;
    min-height: 15rem;
	margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 0;
    display: flex;
    align-items: center;
}
.page-header0::before,.page-header::before,.page-header2::before,.page-header3::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #000;
    opacity: 0.3;
    width: 100%;
    height: 100%;
}

.page-header0 h2,.page-header h2,.page-header2 h2,.page-header3 h2 {
	color:#fff;
	font-size: 2rem;
	position: relative;
    z-index: 5;
    margin: 1.5em auto;
	letter-spacing: 5px;
}


.item-wrap {
	width: 100%;
	padding: 40px 50px 60px;
	margin-bottom: 20px;
}

.item-wrap h3 {
	font-size: 25px;
	font-weight: 600;
	margin: 20px 0 30px;
}


.cate-mds {
    background: #eee;
    border-radius: 30px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 50px  auto;
    max-width: 250px;
    padding: 10px 25px;
    color: #333333;
	letter-spacing: 5px;
	font-size: 22px;
    font-weight: 500;
}


.g-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

.g-itm {
  text-align: center;
	border: solid 1px #ddd;
}


.g-wrap2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
	max-width: 500px;
	text-align: center;
	margin: 50px auto 0;
}


@media(max-width: 700px){
.g-wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}
	.g-wrap2 {
  grid-template-columns: 1fr;
}
}



/* 2カラム */


.i-box2{
  display: flex;
  justify-content: space-between;
	width: 100%;
	margin: 0 auto;
	flex-wrap :wrap;
}

.ib2{
  width: 45%;
	position: relative;
}



.cl2i-wrap{
  display: flex;
  justify-content: space-between;
	flex-wrap :wrap;
	margin: 0 auto 50px;
	height: 100%;
}


.cl2i{
  width: calc((100% / 2) - 10px);
	text-align: left;
	font-size: 12px;
	word-wrap: break-word;
}

.cl2i p {
	padding: 5px 0 10px;
	font-size: 18px;
	font-weight: 500;
}


.cl2i img {
	object-fit: cover;
    width: 100%;
    height: 100%;
}



.pw10 {padding: 10px 10px 10px 0;}



@media(max-width: 800px){
	
.item-wrap {
	width: 100%;
	background:#fff;
	padding: 10px 20px 10px;
	margin-bottom: 50px;
}

.item-wrap h3 {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 10px;
}
	
 .i-box2{
  flex-direction: column;
	 width: 100%;
}

.ib2{
  width: 100%;
		margin:0 0 20px 0;
}
	
.cl2i-wrap{
  flex-direction: column;
	 width: 100%;
}

.cl2i{
  width: 100%;
		margin:0 0 20px 0;
}
.pw10 {
	padding: 0 20px 10px;
}	
}



.item-txt {
	margin-top: 50px;
}


.dlTable {
    width: 100%;
    border-top: 1px solid #ddd; 
    border-left: 1px solid #ddd;
    display: flex; 
    flex-wrap: wrap; 
}
.dlTable dt,
.dlTable dd {
    border-right: 1px solid #ddd; 
    box-sizing: border-box; 
    padding: 15px 30px; 
}

.dl-last {
	border-bottom:1px solid #ddd; 
}

.dlTable dt {
    width: 200px;
}
.dlTable dd {
    width: calc(100% - 200px); 
}

@media screen and (max-width:750px) {

	.item-txt {
	margin-top: 10px;
}
	
    .dlTable {
        width: 100%; 
        border-left: none; 
        display: block;
		position: relative;
    }
    .dlTable dd {
        border-right: none; 
        width: 100%; 
        padding: 10px 15px 20px 15px; 
    }
    .dlTable dt {
		border-right: none; 
        width: 100%; 
        border-bottom: none; 
        padding-bottom: 0; 
		padding: 20px 15px 5px 35px;
    }
	
	.dlTable dt:before {
        background: #222850;
        content: "";
        height: 20px;
    width: 3px;
    left: 10px;
    position: absolute;
    top: 24px;
}

}


.item-list {
	text-align: center;
	margin-bottom: 30px;
}

.item-list li{
	list-style: none;
	display: inline-block;
	width: 10%;
	min-width: 90px;
}
.item-list li:not(:last-child){
	border-right:1px solid #000;
}
.item-list a{
	text-decoration: none;
	color: #21743d;
	font-weight: 600;
}

.item-list a:hover{
	color:#999;
}



.app-btn {
	border-radius: 30px;
	background: #21743d;
	color: #fff !important;
	padding: 10px 35px;
	font-size: 16px;
	font-weight: 500;
	margin: 0 auto;
	text-align: center;
	display: inline-block;
	min-width: 250px;
	letter-spacing: 2px;
	transition : all 0.5s ease 0s;
}


.app-btn:hover {
	border-radius: 30px;
	background: #999;
	opacity: 1;
}

.app-btn2 {
	border-radius: 30px;
	background: #fff;
	border: solid 1px #21743d;
	color: #21743d !important;
	padding: 10px 25px;
	font-size: 14px;
	font-weight: 500;
	margin: 0 auto;
	text-align: center;
	display: inline-block;
	min-width: 250px;
	letter-spacing: 2px;
	transition : all 0.5s ease 0s;
}


.app-btn2:hover {
	border-radius: 30px;
	background: #999;
	border: solid 1px #999;
	color: #fff !important;
	opacity: 1;
}





@media screen and (max-width: 800px) {
}
	




/* 会社概要
------------------------------------------------------------*/


.about-wrap {
  width: 100%;
	margin: 0 auto;
	background: #eee;
	padding: 100px 50px;
}




/* 2カラム37 */


.f-box37{
  display: flex;
  justify-content: space-between;
	flex-wrap :wrap;
	margin: 0 auto;
    max-width: 100%;
	
}

.fb3l{
  width: 300px;
	margin-right: 30px;
	padding-right: 30px;
}
.fb7r{
  flex: 1;
		margin:0 0 10px 0;
}

.fb7r h3 {
	font-size: 2rem;
	font-weight: 500;
	margin-bottom: 10px;
}



@media screen and (max-width: 800px){

.f-box37{
  display: flex;
	max-width: 1100px;
	margin: 0 auto;
	flex-wrap :wrap;
	padding: 0 20px;
  flex-direction: column;
}

.fb3l{
  width: 100%;
		margin:0 0 40px 0;
	padding-right: 0;
}
.fb7r{
  width: 100%;
		margin:0 0 10px 0;
}
}


.ab-g-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}

.ab-g-wrap2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

@media(max-width: 700px){
.ab-g-wrap {
  grid-template-columns: 1fr;
}
}

.sdgs-tit {
	width: 100%;
	text-align: center;
	padding: 5px;
	background: #999;
	color: #fff;
}




.ab-dl {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: left;
}

.ab-dl dl {
padding: 25px 0;
border-top: 1px solid #000;
}

.ab-dl dt {
padding-bottom: 5px;
	font-weight: 600;
	font-size: 15px;
	padding-left: 0;
}

.ab-bd {
	border-bottom: 1px solid #000;
}

@media screen and (min-width: 801px) {

.ab-dl dt {
clear: left;
float: left;
width: 200px;
padding-left: 30px;
}
.ab-dl dd {
margin-left:230px;
}
}

.ab-dl ul {
	margin-left: 15px;
}
.ab-dl li {
	list-style: disc;
}

.gmap {
overflow: hidden;
position: relative;
	height: 500px;
	margin: 0 auto 50px;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}


@media(max-width: 800px){
	.map-wrap {
	padding:30px 0;
}
	
	.gmap {
height: 300px;
}
}









/* 3カラム */

.f-box3 {
  display: flex;
	justify-content:flex-start;
	flex-wrap:wrap;
	margin: 0 0 30px;
}
	
.fb3 {
	width: calc((100% / 3) - (40px * 2 / 3));
	font-size: 16px;
	text-align: left;
	overflow: hidden;
	margin-bottom: 50px;
	margin-right:40px;
	position: relative;
	background: #fff;
	display: flex;
	flex-direction: column;
}
.fb3:nth-of-type(3n) {
margin-right: 0;/*右端に来る箱だけ右側の余白を消す*/
}

.fb3-wr {
	padding: 10px 30px 20px;
	text-align: left;
}


.image-trim {
  position: relative;
  overflow: hidden;
  padding-top: 70%; /* 比率 */
}
.image-trim img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
	height: 100%;
  object-fit: cover;
}

.fb3 h3 {
	font-size: 24px;
	text-align: center;
	letter-spacing: 2px;
	font-weight: 500;
}

.fb3 p {
	font-size: 12px;
}



.fb-btn {
	border-radius: 30px;
	background: #21743d;
	color: #fff;
	padding: 10px 35px;
	font-size: 16px;
	font-weight: 500;
	text-align: center;
	display: inline-block;
	min-width: 250px;
	letter-spacing: 2px;
	transition : all 0.5s ease 0s;
	margin-top: auto;
}


.fb-btn:hover {
	background: #999;
	border-radius: 30px;
	color: #fff;
	opacity: 1;
}



@media(max-width: 1000px){
  .f-box3 {
   flex-direction: column;
	  width: 100%;
	  margin: 0 auto 30px;
  }
	.fb3 {
	width: 100%;
	margin-right:0;
		font-size: 14px;
}

}





/* 2カラム */

.cl2-wrap{
  display: flex;
  justify-content: space-between;
	flex-wrap :wrap;
	margin: 0 auto 50px;
}


.cl2{
  width: calc((100% / 2) - 20px);
}

.cl2 p {
	padding: 20px 0 30px;
}


@media(max-width: 800px){
.cl2-wrap{
  flex-direction: column;
	 width: 100%;
}

.cl2{
  width: 100%;
		margin:0 0 20px 0;
}

}




.f-box2{
  display: flex;
  justify-content: space-between;
	flex-wrap :wrap;
	margin: 0 auto 50px;
    max-width: 960px;
    padding: 0 20px 0;
}

.fb2-1{
  width: 400px;
	margin-right: 50px;
}


.fb2-2{
  width: 100%;
  flex: 1;
}

.fb2-2 p{
	font-size: 18px !important;
	font-weight: 600;
	margin: 30px 0 10px;
}


.ft20 {
	font-size: 20px;
	font-weight: 500;
}


@media(max-width: 800px){
 .f-box2{
  flex-direction: column;
	 width: 100%;
}

.fb2-1,.fb2-2{
  width: 100%;
		margin:0 0 20px 0;
}
	.fb2-2 p{
	font-size: 18px !important;
	font-weight: 600;
	margin: 10px 0 10px;
}
}






/*マップ*/

.map {
	padding-bottom: 10px;
}
.map-wrap {
	width: 100%;
	background:#fff8f9;
	padding:40px 0;
}


@media(max-width: 800px){
	.map-wrap {
	padding:30px 0;
}
	

}









/* 404
------------------------------------------------------------*/

.tit404 {
	text-align: center;
	width: 100%;
}

.tit404 p {
	font-size: 22px;
	font-weight: bold;
}




/* CONTACT
------------------------------------------------------------*/

.tel-wrap {
	border-radius: 10px;
	background: #d0f4ed;
	padding: 30px;
	margin:0 auto 50px;
	text-align: center;
	width: 70%;
	color: #000 !important;
}
.tel-wrap p {
	font-size:40px;
	letter-spacing: 3px;
	font-weight: 600;
	padding-bottom: 10px;
}


.con-wrap {
	margin: 0 auto;
	max-width: 960px;
	padding: 40px;
	text-align: center;
}

.con-wrap p {
	font-size: 16px;
}


@media screen and (max-width: 768px) {
	.con-wrap {
	width: 100%;
		padding: 30px 10px;
}
}



.sw-form {
	padding: 0;
	margin: 0 auto;
	text-align: left !important;
}


.sw-q {
	margin-bottom: 20px;
    font-size: 14px;
	    display: flex;
    justify-content: space-between;
	text-align: left;
}

.sw-1 {
	width: 200px;
    padding-top: 15px;
	font-weight: 600;
	text-align: left;
}

.sw-2{
	flex: 1;
}

.pt15 {
	padding-top: 15px;
}

@media screen and (max-width: 768px) {
	.sw-form{
	width: 100%;
}
	.sw-q {
	flex-direction: column;
}

.sw-1 {
	width: 100%;
}
.sw-2{
	width: 100%;
}
}

.fm-red {
	color: red;
	font-weight: 500;
}

input, textarea {
  width: 100%;
  max-width: 100%;
  margin: 0.5rem 0;
  padding: 0.7rem 1rem;
	    border: none;
  border: solid 1px #ddd;
  color: #3C3C3C;
	font-size: 14px !important;
	display: inline-block;
}




/* 送信ボタン */
input.sub-btn {
	width: 300px;
	padding: 10px 0;
	background: #21743d;
	color: #FFF;
	border: none;
	margin: 0 auto !important;
    display: block;
    font-weight: 600;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
	cursor:pointer;
	border-radius: 30px;
	font-size: 16px;
}

input.sub-btn::after {
  content: '';
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}


/* 送信ボタンホバー */
input.sub-btn:hover{
	background: #999;

}


@media(max-width: 600px){
input[type="submit"],
input[type="button"],
input[type="reset"] {
  -webkit-appearance: none;
}
}


.sub-btn input {
	width: 300px;
	padding: 10px 0;
	background:#222850;
	color: #FFF;
	border: none;
	margin: 0 auto !important;
    display: block;
	border-radius: 30px;
    font-weight: 600;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
	cursor:pointer;
}

/* 送信ボタンホバー */
.sub-btn input:hover{
	background: #ccc;
}




input::placeholder, textarea::placeholder {
  color: #7a7a7a;
	font-weight:400!important;
}
input.error, textarea.error {
  background:#FD2629;
  color: #fff;
}
input.error::placeholder, textarea.error::placeholder {
  color: black;
}

textarea {
  height: 10rem;
}

input[type=radio] {
	display: inline;
	width: 20px;
}


.wpcf7-list-item {
	margin: 0 0 0 0 !important;
}
.wpcf7-list-item-label {

}

input[type=checkbox] {
	display: inline;
	width: inherit;
	margin-right: 10px;
}

input[type=select] {
	display: inline;
}




select{
  position: relative;
	font-size: 14px;
  margin: 0.5rem 0;
  padding: 0.7rem 1rem;
	border: none;
    background: #F5F5F5;
  width: 100%;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;

}

.select-wrap {
    position: relative;
}

.select-wrap:after {
  content: "";
    position: absolute;
    right: 15px;
    top: 25px;
    width: 10px;
    height: 10px;
    border-top: 2px solid;
    border-left: 2px solid;
    transform: translateY(-50%) rotate(
-135deg
);
  font-size: 20px;
  pointer-events: none;
}







@media screen and (max-width: 768px) {
	input, textarea {
		width: 100%;
  margin: 0.5rem 0;
  padding: 0.7rem 1rem;
  color: #3C3C3C;
	font-size: 14px !important;
	display: inline-block;
}
}
	

.wpcf7 form.sent .wpcf7-response-output, 
.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output, 
.wpcf7 form.payment-required .wpcf7-response-output, 
.wpcf7 form.sent .wpcf7-response-output {
    border: 0 !important;
    padding: 20px !important;
    background: #f2be41 !important;
    margin: 0 0.5em 1em !important;
}




.wpcf7-date {
	width: 200px;
}

.wpcf7-time {
	width: 80px;
}




.f12 {
	font-size: 12px;
	line-height: 1.6 !important;
	margin-bottom: 10px;
}

.f14 {
	font-size: 14px;
	line-height: 1.6 !important;
	font-weight: normal;
}

.bg-checkbox {
    margin-bottom: 1rem;
}

.bg-checkbox input[type=checkbox] {
    position: relative;
    cursor: pointer;
    width: 30px;
    height: 30px;
    background-color: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    vertical-align: middle;
    transition: .3s;
	padding: 4px 12px;
	border: none;
    border: solid 1px #ddd;
	font-weight: normal !important;
}



.bg-checkbox input[type=checkbox]:checked {
}

.bg-checkbox input[type=checkbox]:checked::before {
    position: absolute;
    top: 7px;
    left: 7px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 14px;
    content: '\f00c';
}





/* プライバシーポリシー
------------------------------------------------------------*/

.pp {
	text-align: left;
	width: 90%;
	margin: 20px auto 0 auto;
	
}
.pp h3 {
	margin: 10px 0 5px 0;
	font-size: 16px;
	font-weight:600;
}

.pp p {
	margin-bottom: 30px;
}
.pp ul {
	margin-left: 20px;
	list-style-type: disc;
}



/* フッター
------------------------------------------------------------*/
#footer{
	background: #659d78;
	padding: 80px 0 30px;
}

.footer-wrap {
	width: 100%;
    max-width: 1200px;
    padding: 20px 30px;
	margin: 0 auto ;
}



.img150 {
	width: 150px;
}




.ft-box3 {
  display: flex;
	justify-content:flex-start;
	flex-wrap:wrap;
	margin: 0 0 30px;
}
	
.ft-fb3 {
	width: calc((100% / 3) - (40px * 2 / 3));
	font-size: 16px;
	text-align: left;
	overflow: hidden;
	margin-bottom: 50px;
	margin-right:40px;
	position: relative;
	display: flex;
	flex-direction: column;
	color: #fff;
}
.ft-fb3:nth-of-type(3n) {
margin-right: 0;/*右端に来る箱だけ右側の余白を消す*/
}


.ft-fb3 a {
	color: #fff;
}


.ft-fb3 li {
    padding: .5em;
}

.ft-fb3 li {
    border-bottom: 1px solid rgba(255,255,255,0.3);
	background-clip: padding-box;
}


.ft-fb3 li a{
    display: block;
    height: 100%;
    width: 100%
}




@media(max-width: 1000px){
  .ft-box3 {
   flex-direction: column;
	  width: 100%;
	  margin: 0 auto 30px;
  }
	.ft-fb3 {
	width: 100%;
	margin-right:0;
		font-size: 14px;
}

}


.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%; /* 比率を4:3に固定 */
}

@media only screen and (max-width: 800px){
	.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%; /* 比率を4:3に固定 */
}
}
	

/* Google Mapのiframe */
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
	border: none;
}

.tel {
	font-size: 20px;
	font-weight: 600;
}
.pt {
	font-size: 10px;
	font-weight: 500;
	background-color: #21743d;
	padding: 3px 5px;
	color: #fff;
	line-height: 1;
	letter-spacing: 0;
}


.company {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	color: #fff;
	padding: 10px;
	background: #21743d;
}


.copy {
	text-align: center;
	letter-spacing: 1px;
	color: #fff;
}

	
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}




/* いろいろ
------------------------------------------------------------*/

/* 検索 */

.search-form {
    display: flex;
    align-items: center;
    overflow: hidden;
	margin: 20px 0;
}

.search-form input {
    width: 250px;
    height: 40px;
    padding: 5px 15px;
    border: none;
    box-sizing: border-box;
    background-color: #fff;
    font-size: 1em;
    outline: none;
	margin: 0;
}

.search-form input::placeholder {
    color: #666666;
}



.search-form button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 40px;
    border: none;
    background-color:#21743d;
    cursor: pointer;
}

.search-form button::after {
    width: 20px;
    height: 20px;
    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%20%3Cpath%20d%3D%22M23.7%2020.8%2019%2016.1c-.2-.2-.5-.3-.8-.3h-.8c1.3-1.7%202-3.7%202-6C19.5%204.4%2015.1%200%209.7%200S0%204.4%200%209.7s4.4%209.7%209.7%209.7c2.3%200%204.3-.8%206-2v.8c0%20.3.1.6.3.8l4.7%204.7c.4.4%201.2.4%201.6%200l1.3-1.3c.5-.5.5-1.2.1-1.6zm-14-5.1c-3.3%200-6-2.7-6-6s2.7-6%206-6%206%202.7%206%206-2.6%206-6%206z%22%20fill%3D%22%23fff%22%3E%3C%2Fpath%3E%20%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    content: '';
}


.i-name {
	display: inline-block;
    background:#F7F7F7;
    padding: 6px 10px;
    font-size: 12px;
	margin-bottom: 0 !important;
	border-radius: 5px;
}

.s-txt {
	margin: 30px 0 50px;
	text-align: center;
}




/* ページネーション */

.n-p {
	width: 100%;
	margin: 40px auto 20px auto;
	text-align: center;
	font-size: 14px;
}

.page-numbers {
  margin: 10px 5px;
	line-height: 2.2;
  padding: 0;
  display: inline-block;
  width: 30px;
  height: 30px;
  text-align: center;
	border-radius: 7px;
}

.n-p a{
    color: #fff;
    background: #000;
}

.current {
	background:#000;
	color: #fff;
}



.page-numbers:hover {
	background: #999;
	color: #fff !important;
	opacity: 1 !important;
	text-decoration: none;
}



