@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600&display=swap');
/*
@import url('https://fonts.googleapis.com/css2?family=Scada:wght@700&display=swap');*/

.scada {
	font-family: 'Scada', sans-serif !important;
}
.futura {
	font-family: "futura-pt", sans-serif;
}
.notoserif {
	font-family: 'Noto Serif JP', serif;
}

body {
    color: #222;
}
p {
    font-size: 16px !important;
}
h1, h2, h3, h4 {
	color: #442516;
}
.about li {
    list-style: disc;
    list-style-position: inside;
}
.entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6, .post-wrap h3, .post-wrap h4, .post-wrapt h5, .post-wrap h6 {
    margin-top: 0;
}
.big {
	font-size: 1.4em;
}
.mincho {font-family: "ヒラギノ明朝 Pro W6","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝",serif;}

.flexbox {
	display: flex;
	flex-flow: row wrap;
}
.ai_center {
	align-items: center;
}
.page-id-67 .entry-content,
.page-id-67 .entry-summary,
.page-id-12009 .entry-content,
.page-id-12009 .entry-summary,
.page-id-10858 .entry-content,
.page-id-10858 .entry-summary,
.page-id-414 .entry-content,
.page-id-414 .entry-summary,
.page-id-12114 .entry-content,
.page-id-12114 .entry-summary {
    padding: 0 0 1em;
}
.page-id-67 .page-wrap .container,
.page-id-12009 .page-wrap .container,
.page-id-10858 .page-wrap .container,
.page-id-414 .page-wrap .container,
.page-id-12114 .page-wrap .container {
    width: 100%;
}
.page-id-67 .intro,
.page-id-12009 .intro,
.page-id-10858 .intro,
.page-id-414 .intro,
.page-id-12114 .intro {
    padding: 50px 0;
    border-top: 28px solid #E8E5E4;
    background: #F6F5F4;
}
.page-id-67 .intro h1,
.page-id-12009 .intro h1,
.page-id-10858 .intro h1,
.page-id-414 .intro h1,
.page-id-12114 .intro h1 {
    color: #442516;
    font-size: 1.4rem;
}
.ul01 {
    padding: 0 0 0 2em;
}
.ul01 li {
    list-style: disc;
}/*
.btn01 {
    padding: 1em 3em;
    background: #2B1E0F;
    color: #fff;
    font-size: 1.8rem;
}*/
.btn01 {
	position:relative;
	color:#333;
    padding: 10px 30px;
	display: block;
	text-align: center;
    text-decoration: none;
    outline: none;
	transition:all 0.3s ease-in-out;
}
.btn01::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    border-top: 2px solid #2B1E0F;
    border-right: 2px solid #2B1E0F;
    border-bottom: 2px solid #2B1E0F;
    border-left: 2px solid #2B1E0F;
    opacity: 0;
    transform: scale(0, 1);
    transition: all 0.3s;
}
.btn01::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color:#2B1E0F;
    transition: all 0.3s;
}
.btn01:hover::before {
    opacity: 1;
    transform: scale(1, 1);
}
.btn01:hover::after {
    opacity: 0;
    transform: scale(0, 1);
}
.btn01 span {
	position: relative;
	z-index: 2;
	color: #fff;
    font-size: 1.6rem;
    transition: all 0.3s;
}
.btn01:hover span {/*
    letter-spacing: 2px;*/
	color: #333;
}
.btn02 {
	padding: 1em 2em;
	display: block;
	text-align: center;
	border: 1px solid #2B1E0F;
	background: none;
	text-decoration: none;
}
.btn02 span {
	font-weight: 600;
}
.btn02:hover {
	opacity: .7;
}
.btn_brown {
	padding: .5em 2em;
	color: #fff;
	text-align: center;
	background: #2B1E0F;
}
.btn_brown:hover {
	color: #fff;
	opacity: .7;
}
.ttl_border_btm {/*
    margin: 0 auto 20px;
    color: #442516;*/
    padding: .3em 0;
    border-bottom: 3px solid #442516;
}
.ttl_h2_01 {
    padding: .3em 0;
}
.ttl_h2 {
    padding: .3em 0;
	color: #442516;
    font-size: 1.2rem;
	font-weight: normal;
}
.ttl_h2_en {
    font-weight: normal;/*
    letter-spacing: 4px;*/
}
/*.ttl_border_front {
    padding: 0 1.2em;
    position: relative;
}
.ttl_border_front::before {
    content: "";
    width: .7em;
    height: 4px;
    background: #B7AA8A;
    position: absolute;
    left: 0;
    top: 48%;
}*/


.ttl_h3 {
    font-weight: 500;
	
	    background: #fff;
    position: absolute;
    left: 20px;
    top: -22px;
    padding: 0 2em;
    display: flex;
    align-items: center;
}


.ttl_grad_gray {
    margin: 0 auto 20px;/*
    background: linear-gradient(180deg, #fff 0, #fff 32px,#F8F8F8 32px, #F8F8F8 100%);*/
}
.uppercase {
    text-transform: uppercase;
}/*
.ls1 {letter-spacing: 1px;}
.ls2 {letter-spacing: 2px;}
.ls3 {letter-spacing: 3px;}
.ls4 {letter-spacing: 4px;}
.ls5 {letter-spacing: 5px;}
.ls6 {letter-spacing: 6px;}
.ls7 {letter-spacing: 7px;}
.ls8 {letter-spacing: 8px;}
.ls9 {letter-spacing: 9px;}
.ls10 {letter-spacing: 10px;}*/

.bg_grad_gray {/*
    padding: 0 0 50px;
    background: linear-gradient(180deg, #fff 0, #fff 44px,#F8F8F8 44px, #F8F8F8 100%);*/
}
.bg_grad_gray02 {/*
    padding: 0 0 50px;
    background: linear-gradient(180deg, #fff 0, #fff 44px,#F8F8F8 44px, #F8F8F8 60%, #fff 60%, #fff 100%);*/
}/*
.bg_gray02 {
	background: #D8D4D2;
}*/
.bg_gray03 {
	background: #F7F7F7;
}
.bg_white {
    padding: 40px 50px 30px;
    background: #fff;
}
.bg_black {
    background: #000;
}
.bg_green {
    background: #87C30E;
}
.w80p {
	width: 80%;
	margin-right: auto;
	margin-left: auto;
}
.bg_border_gray {
    padding: 20px 30px;
    background: #fff;
    border: 1px solid #e6e3e2;
	position: relative;
}
.subgrid_col3  .bg_border_gray {
    padding: 15px;
}
.arrow::before {
	margin: 0 auto -70px;
	left: 4px;
	width: 140px;
	border: 70px solid transparent;
	border-top: 35px solid #fff;
}
.mr15 {
	margin-right: 15px;
}
.ml15 {
	margin-left: 15px;
}

.col2 {
    width: 48%;
}
.col3 {
    width: 30%;
}
.staff_photo > div {
    width: calc(100% / 5);
}



.about .s01 {
    padding: 0 0 50px;
    background: linear-gradient(180deg, #fff 0, #fff 44px,#F8F8F8 44px, #F8F8F8 100%);
}
.about .ttl01 {
    color: #442516;
    font-weight: 600;
    font-size: 2.2rem !important;
}
.about .ttl02 {
	margin: 0;
}
.about .ttl03 {
    margin: 0 auto 30px;
    padding: .3em 0 0.3em;
    color: #442516;
    font-size: 3rem;
    font-weight: 600;
    background: #F8F8F8;
    border-bottom: 2px solid #442516;
}
.about .ttl04 {
    margin: 0 auto 20px;
    padding: .3em 0;
    color: #442516;
    font-size: 2.8rem !important;
    font-weight: 600;
    border-bottom: 3px solid #442516;
}
.about .ttl06 {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 7rem;
    color: #2B1E0F;
	line-height: 1;
}
.about .ttl07 {
    margin: 0 auto 30px;
    padding: .3em 0 0.3em;
    font-size: 2rem;
    font-weight: 600;
    border-bottom: 3px solid #442516;
}
.about .s01 .photo {
    padding: 0;
}
.about .s01 .photo li {
    width: 45%;
    margin: 0 auto 40px;
    padding: 2% 2% 24px;
    color: #442516;
    list-style: none;
    background: url(../images/arrow01.svg) #E6E3E2 no-repeat 100% 100% / 8%;
}
.about .s01 .photo li figure > .flexbox {
	align-items: center;
}
.about .s01 .photo li figure > .flexbox .kakaku01 {
	align-items: baseline;
}
.about .s01 .photo li figure p.txt01 {
    margin: .5em 0 1em;
    font-size: 1.8rem !important;
    font-weight: 600;
    display: inline-block;
}
.about .s01 .photo li figure img {
    margin: 0 0 12px;
    display: block;
}
.about .s01 .photo li figure figcaption {
    padding: 0 1em;
    color: #fff;
    background: #40220F;
    display: inline-block;
    margin-right: 1em;
    vertical-align: text-bottom;
}
.about .s01 .photo li figure span {
	font-size: 1.8em;
}
.about .s02 {
    background: #D8D4D2;
}
.about .s02 .w1000 {
	padding: 50px 50px 0;
    background: #fff;
}
.about .s03 {
    padding: 80px 0 0;
    background: #F8F8F8;
    border-bottom: 25px solid #DCDAD7;
}/*
.about .s03 h2 {
    font-size: 2rem;
    letter-spacing: 5px;
    font-weight: 600;
}*/
.about .s03 h2 span {
	font-weight: 400;
	font-size: 1.8rem;
}
.about .s03 .box04 {
    width: 48%;
    padding: 50px;
    background: #fff;
    margin: 30px auto;
}
.about .plan_cont {
	padding: 50px 0;
}
.about .plan_cont table th {
    padding: 0 1.2em;
    color: #B7AA8A;
    position: relative;
}
.about .plan_cont table th::before {
    content: "";
    width: .7em;
    height: 4px;
    background: #B7AA8A;
    position: absolute;
    left: 0;
    top: 48%;
}
.about .plan_cont table td {
    font-weight: 600;
}
.about .plan_cont .ttl03 {
    margin: 0 auto 20px;
    background: linear-gradient(180deg, #fff 0, #fff 32px,#F8F8F8 32px, #F8F8F8 100%);
}
.plan_gallery {
	margin: 30px auto;
    padding: 0 0 50px;
    background: linear-gradient(180deg, #fff 0, #fff 50px,#DCDAD7 50px, #DCDAD7 100%);
}
.plan_flor .box04 {
    width: 48%;
    padding: 30px 30px 0;
    background: #E6E3E2;
    margin: 30px auto;
}
.plan_flor figcaption {
	margin: .5em 0;
    font-size: 2rem;
    letter-spacing: 5px;
}
.about .s05 {
    margin-top: -30px;
}
.about .s05 .cont01 {
    background: url(../images/about_img01.jpg?3) no-repeat 50% 0% / 71.62%;
    height: 780px;
    position: relative;
}
.about .s05 .cont01.black {
    background: url(../images/about_img01.jpg?3) no-repeat #000 50% 0% / auto 100%;
    height: 780px;
    position: relative;
}
.bg_black02 {
	padding: 70px 30px;
    background: #000;
}
.about .s05 .cont01 .ttl05 {
	position: absolute;
	bottom: 100px;
	left: 10%;
	line-height: 1.6;
}
.about .s05 .cont01 .ttl05 span {
    padding: .1em 1em;
    font-size: 4rem;
    color: #40220F;
    background: #DCDAD7;
    display: block;
    margin: 10px 0 0;
    font-weight: normal;
    letter-spacing: 4px;
}
.about .s05 .cont02 {
	align-items: center;
    justify-content: flex-start;
}
.about .s05 .cont02 .photo {
	min-height: 490px;
	padding: 0;
    background: url(../images/ecomodule_img02.jpg?1) no-repeat 0 0 / cover;
}
.about .s05 .cont02 .box04 {
	padding: 4%;
}
.about .s05 .cont02 .box04 .ttl04 {
    font-size: 2.5rem !important;
}
.natural .s05 .cont01 {
    background: url(../images/natural_img01.jpg) no-repeat 50% 0% / 71.62%;
    height: 780px;
    position: relative;
}
.quality .s05 .cont01 {
    background: url(../images/quality_img01.jpg) no-repeat 50% 0% / 71.62%;
    height: 780px;
    position: relative;
}
.table_simple {
	max-width: none;
	border-top: 1px solid #e6e3e2;
}
.table_simple tr:nth-child(even) {
    background-color: #fff;
}
.table_simple tbody th {
    width: 22%;
    margin-bottom: unset;
    padding: .5em 1.2em;
    position: unset;
    color: unset;
    text-align: center;
    font-size: 1em;
    letter-spacing: 5px;
    background: #DCDAD7;
    border-bottom: 1px solid #e6e3e2;
}
.table_simple tbody th::after {
	content: none;
}
.table_simple thead th:first-of-type {
	width: 22%;
	border-right: 1px solid #e6e3e2;
	background: none;
}
.table_simple tbody tr td {
    padding: .5em 1.2em;
	text-align: left;
    border-bottom: 1px solid #e6e3e2;
}
.table_simple tbody tr td:first-of-type {
    border-right: 1px solid #e6e3e2;
    border-left: 1px solid #e6e3e2;
	border-bottom: 1px solid #e6e3e2;
}
.subgrid_col3 {
	display: grid;
    gap: 0 2%;
    grid-template-columns: repeat(3, fit-content(100%));
}
.subgrid_col3 .bg_border_gray {
    display: grid;
    grid-row: span 3;
    grid-template-rows: subgrid;
}

@media only screen and (min-width: 668px) and (max-width: 768px) {/*ipad縦*/
	.about .s05 .cont01 {
		background: url(../images/ecomodule_img01.jpg?1) no-repeat 100% 0% / 80%, url(../images/ecomodule_bg01.svg) no-repeat 0% 100% / 60%;
		height: 740px;
	}
	.about .s05 .cont01 .ttl05 {
		bottom: 100px;
		left: 4%;
	}
}

@media only screen and (max-width: 667px){
	
	.sp_w100p {width: 100% !important;}
	.sp_mb0 {margin-bottom: 0 !important;}
	.sp_m_btm30 {margin-bottom: 30px !important;}
	.sp_m_btm60 {margin-bottom: 60px !important;}
	.sp_order1 {order: 1;}
	.sp_order2 {order: 2;}
	.sp_pd_rl15 {
		padding-right: 15px;
		padding-left: 15px;
	}
	.btn01 {
		padding: 8px 30px;
		display: block;
		text-align: center;
	}
	.btn02 {
		padding: .5em 0;
	}
	.col2,
	.col3 {
		width: 100%;
	}
	.bg_white {/*
		padding: 40px 1em 30px;*/
		padding: 1em 0;
	}
	.staff_photo > div {/*
		width: calc(100% / 4);*/
		/*width: calc(100% / 3);*/
	}/*
	.staff_photo > div:nth-of-type(-n+2) {
		width: calc(100% / 2);
	}*/
	/*.staff_photo > div:nth-last-of-type(-n+4) {
		width: calc(100% / 4);
	}*/
	.bg_border_gray {
		width: calc(100% - 30px);
		margin-right: auto;
		margin-left: auto;
	}
	.page-id-67 #main,
	.page-id-67 .entry-content,
	.page-id-67 .entry-summary,
	.page-id-12009 #main,
	.page-id-12009 .entry-content,
	.page-id-12009 .entry-summary,
	.page-id-10858 #main,
	.page-id-10858 .entry-content,
	.page-id-10858 .entry-summary,
	.page-id-414 #main,
	.page-id-414 .entry-content,
	.page-id-414 .entry-summary,
	.page-id-12114 #main,
	.page-id-12114 .entry-content,
	.page-id-12114 .entry-summary {
		padding: 2em 0 0;
	}
	.page-id-67 .intro,
	.page-id-12009 .intro,
	.page-id-10858 .intro,
	.page-id-414 .intro,
	.page-id-12114 .intro {
		padding: 20px 0;
		border-top: 18px solid #E8E5E4;
	}
	.page-id-67 .intro h1 img,
	.page-id-12009 .intro h1 img,
	.page-id-10858 .intro h1 img,
	.page-id-414 .intro h1 img,
	.page-id-12114 .intro h1 img {
		max-width: 210px;
	}
	.about .s05 .cont01 {
		background: rgb(220,218,215);
		height: auto;
		position: inherit;
	}
	.about .s05 .cont01 .ttl05 {
		position: inherit;
		margin-top: 15px;
		margin-right: 15px;
		margin-left: 15px;
	}
	.about .s05 .cont01 .ttl05 span {
		padding: 0;
		font-size: 1.9rem;
		margin: 0;
		letter-spacing: 0px;
		display: inline;
	}
	.about .s05 .cont02 .photo {
		min-height: 220px;
	}
	.about .s05 .cont02 .box04 .ttl04 {
		font-size: 2.2rem !important;
	}
	.about .s01 h2 img {
		height: 80px;
	}
	.about .ttl01 {
		margin: 10px auto 15px;
		font-size: 2rem !important;
	}
	.about .ttl06 {
		font-size: 4rem;
	}
	.about .s01,
	.bg_grad_gray {
		padding: 0 15px 15px;
	}
	.about .s01 .photo li figure p.txt01 {
		font-size: 1.6rem !important;
		line-height: 1.7;
	}
	.about .s01 .photo li {
		width: 100%;
		margin: 0 auto 30px;
		padding: 15px 15px 12px;
	}
	.about .s01 .photo li figure figcaption {
		font-size: .8em;
		letter-spacing: 1px;
	}
	.about .s01 .photo li figure > .flexbox .kakaku01 {
		width: 100%;
		margin: 12px auto 0;
		justify-content: flex-end;
	}
	.about .ttl02 {
		margin: 0 auto 20px;
	}
	.about .ttl03 {
		margin: 15px auto;
		padding: .5em 0;
		font-size: 2.4rem;
	}
	.about .ttl07 {
		margin: 0 auto 30px;
		padding: .3em 0 0.3em;
		font-size: 1.9rem !important;
		font-weight: 600;
		border-bottom: 3px solid #442516;
	}
	.about .s02 .w1000 {
		padding: 30px 0 0;
		background: #fff;
	}
	.about .s03 {
		padding: 30px 15px 0;
	}
	.about .s03 h2 img {
		height: 70px;
	}
	.about .s03 .box04 {
		width: 100%;
		padding: 15px;
		background: #fff;
		margin: 30px auto 0;
	}
	.about .s04 {
		padding: 30px 0;
	}
	.about .s04 .box04 {
		margin: 20px auto;
		width: 100%;
	}
	.about .plan_cont table {
		width: 100%;
	}
	.about .plan_cont table th,
	.about .plan_cont table td {
		width: 100%;
		display: block;
	}
	.about .plan_cont .ttl03 {
		margin: 0;
		padding: 0;
	}
	.about .plan_cont .ttl03 img {
		max-height: 90px;
	}
	.bg_border_gray {
		padding-right: 1em;
		padding-left: 1em;
	}
	.plan_gallery {
		margin: 0 auto 30px;
		padding: 0;
	}
	.plan_gallery > div > div {
		width: 50%;
		margin: 0 auto 30px;
		text-align: center;
	}
	.plan_gallery > div > div img {
		width: 88%;
	}
	.table_simple {
		width: 100%;
	}
	.table_simple tbody th,
	.table_simple tbody td,
	table.table_simple tr td:nth-of-type(1){
		width: 100%;
		display: block;
	}
	.table_simple tbody th {
		padding: 0 15px;
		font-size: .9em;
		text-align: left;
	}
	.table_simple tbody td,
	table.table_simple tr td:nth-of-type(1) {
		padding: 2px 10px;
		font-size: .9em;
	}
	.subgrid_col3 {
		display: block;
	}
}
