@charset "utf-8";
:root {
	--c_rd: #A01C22;
	--c_bl: #374689;
	--c_ye: #FFF93C;
	--c_or: #F39800;
	--c_gr: #1E8D93;
    --c_gr2: #64BE00;
	--c_gy: #DADAD5;
	--c_be: #F6F4EE;
    --c_pk: #C66F8F;
    --c_br: #856A42;
    --c_pl: #82488B;
	--c_wh: #fff;
	--c_bk: #000;
}
.clr-rd {color: var(--c_rd)!important;}
.clr-bl {color: var(--c_bl)!important;}
.clr-ye {color: var(--c_ye)!important;}
.clr-or {color: var(--c_or)!important;}
.clr-gr {color: var(--c_gr)!important;}
.clr-gr2 {color: var(--c_gr2)!important;}
.clr-gy {color: var(--c_gy)!important;}
.clr-be {color: var(--c_be)!important;}
.clr-pk {color: var(--c_pk)!important;}
.clr-br {color: var(--c_br)!important;}
.clr-wh {color: var(--c_wh)!important;}
.clr-bk {color: var(--c_bk)!important;}
.clr-pl {color: var(--c_pl)!important;}
.bg-rd {background-color: var(--c_rd)!important;}
.bg-bl {background-color: var(--c_bl)!important;}
.bg-ye {background-color: var(--c_ye)!important;}
.bg-or {background-color: var(--c_or)!important;}
.bg-gr {background-color: var(--c_gr)!important;}
.bg-gr2 {background-color: var(--c_gr2)!important;}
.bg-gy {background-color: var(--c_gy)!important;}
.bg-wh {background-color: var(--c_wh)!important;}
.bg-bk {background-color: var(--c_bk)!important;}
.bg-be {background-color: var(--c_be)!important;}
.bg-pk {background-color: var(--c_pk)!important;}
.bg-br {background-color: var(--c_br)!important;}
.bg-pl {background-color: var(--c_pl)!important;}

* {
min-height:0;
min-width : 0;
}

html{
   /* visibility: hidden;*/
   	font-size: 10px;
	transition: .2s;
   
}


html.wf-active{
visibility:visible;
}



html,body{
    width: 100%;

}
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'),
url(https://themes.googleusercontent.com/static/fonts/opensans/v8/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff)
format('woff');
}

 *{
     box-sizing: border-box;
 }



 body {
   font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic",'Noto Sans JP', sans-serif ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana;
    font-weight: 400;
    font-style: normal;

    
   font-size: 1.6rem;
	line-height: 1.6;
    text-align: center;

}
body,
td,
th{
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-all;
}



h2,
h3,
h4,
h5,
h6,
strong{
    font-weight: 600;
    line-height: 1.5;
}
th{
font-weight: 400;
}

a {
	color:#000;
	outline: none;
	text-decoration: none;

}

a:hover{
	opacity:0.7;
	filter: alpha(opacity=70);
}

img{
max-width: 100%;
height: auto;
width /***/:auto;
}


input, select, textarea {
    padding: 5px 10px;
	border: 1px solid #ccc;
	margin: 2px;
    background: #fff;

}


input[type=radio], input[type=checkbox] {
	margin:0 5px 0 0;
	width: auto;
}
label{
	display: inline-block;
}

.width100{
	width:100%;
}

.wrap{

}
 .wrap{
   overflow: hidden;
}

.block{
	display: block;
}

.onlysp{
	display: none;
}
.none{
	display:none;
}

.uline{
    text-decoration: underline;
}


/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}






.wrap{
margin-top: 10rem;
overflow-x: hidden;
}
.home .wrap{

}

/*
#a01,
#a02,
#a03,
#a04,
#a05,
#a06,
#reserve,
#mw_wp_form_mw-wp-form-27{
   display: block;
   margin-top:-150px;
   padding-top:150px;
}*/
#mw_wp_form_mw-wp-form-24{
  display: block;
   margin-top:-150px;
   padding-top:150px;
}




 .mainbody{
	max-width:108rem;
	margin: 0 auto;
}
.mainbody2{
	max-width:120rem;
	margin: 0 auto;
}
.mainbody3{
	max-width:90rem;
	margin: 0 auto;
}
.main900{
    max-width: 90rem;
    margin: 0 auto;
}

 .contents {
  padding: 8rem 0;
}

.boxBgWrap {
	display: inline-block;
	position: relative;
	z-index: 1;
 }



.fo-trajan {
	font-family: trajan-pro-3, serif;
	font-weight: 400;
	font-style: normal;
}
.fo-din {
	font-family: din-condensed, sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: .8;
}
.fo-cormorant {
	font-family: "cormorant-garamond", serif;
	font-weight: 400;
	font-style: normal;
	line-height: 0.9;
}
.fo-mincho {
	font-family: 'Noto Serif JP', serif;
}




.wow {
    visibility: hidden;
}


.txt-lh{
	line-height: 2;
}





/*ヘッダー
------------------------------------------------*/
.headerwrap{
    width: 100%;
    position:fixed;
    top: 0rem;
    left: 0;
    z-index: 1000;
    transition: .5s;
	
	background: #000;
	color: #fff;
 
}
 .header{
     height: 10rem;
     padding:0 2rem;
	
 }
  .header .logo{
     text-align: left;
 } 
 .header h1{
 	font-size: 1px;
 }


.hb01 {
	outline: 1px solid #fff;
	outline-offset: -1px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	height: 4rem;
	padding: 2rem;
	font-weight: 700;
}

.hb01:after {
	display: block;
	content: "";
	height: 1.2rem;
	width: 1.5rem;
	background: url("../img/icon_blank_white.svg") no-repeat center center;
	background-size: contain;
	margin: 0 0 0 1rem;
}

.hb02 {
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	color:  var(--c_rd);
	height: 4rem;
	padding: 2rem 5rem;
	font-size: 2rem;
	margin-left: 1rem;
}


.menubtn{
    display: none;
 }



/*全体レイアウト
------------------------------------------------*/


/**スマホのメニュー***/
body .sidr{
background: #333;

}
.smenu {
		position: fixed;
    top: 0;
    right: 0;
    z-index: 10;
    width: 100%;
    width: 90%;
    height: 100%;
    transition: all .2s ease-in;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    display: block;
    padding:1rem 0;
    background: #000;
    color: #fff;
backdrop-filter: blur(20px);
		-webkit-transform: translateX(25px);
		-ms-transform: translateX(25px);
		transform: translateX(25px);
		z-index: 99990;
		opacity: 0;
    visibility: hidden;
    
    
	}
	.smenu.active{
		display: block;
		right: 0;
    opacity: 1;
    -moz-transform: translateX(0);
    -webkit-transform: translateX(0);
    transform: translateX(0);
    visibility: visible;
	}
    

.splogo img{
	max-height: 2rem;
	margin-bottom: 1rem;
}

.spnavi{
    margin: 0 0 3rem;
}
.smenu a{
	color: #fff;
}


.spnavi a{
   display: block;
   color: #fff;
   border-bottom: 1px solid #fff;
   padding: 1rem ;
   text-align: left;
   position: relative;
   font-size:90%;
}

.spnavi a::before {
  content: '';
  width:0;
  height:0;
border-width: .8rem 0 .8rem .6rem;
  border-style: solid;
  border-color: transparent transparent transparent var(--c_rd);
 
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}


.spnavi a big{
    padding-right: 1rem;
}

.spmenu{
    margin: 0 0 4rem;
}


.spclose {
   flex-basis: 10%;
   text-align: right;
   
}
.spclose a{
    font-size: 2rem;
   border-radius: 99px;
   line-height: 1;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   
}

.smenu .hb01 {
	padding: 1rem;
	margin-bottom: 1rem;
}



.smenu .hb02 {
	padding: 2rem 1rem;
	margin:0 0 4rem;
}


.sptel ._num{
	font-size: 280%;
	margin-bottom: 1rem;
}
.sptel ._num small{
	font-size: 70%;
}


/*フッター
-------------------------------------------------*/
.footcontactwrap{
	background: var(--c_rd);
	color: #fff;
	box-shadow: inset 0 -20px 20px -5px rgba(0, 0, 0, 0.20);
}
.title01{
	margin: 0 0 3rem;
}

.title01 h2{
	font-size: 8rem;
	letter-spacing: .05em;
	margin-bottom: 2rem;	
}
.footcontactbox{
	position: relative;
}
.footcontactnavi a{
	flex-basis: 49%;
	border: 1px solid #fff;
	background:  var(--c_rd);
	height: 20rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	color: #fff;
	margin-bottom: 2rem;
	position: relative;
	z-index: 1;
}
.footcontactnavi h3{
	font-size: 2.4rem;
	margin: 0 0 1rem;
}
.footcontactnavi ._num{
	font-size: 4.6rem;
	margin-bottom: .5rem;
}
.footcontactnavi ._num small{
	font-size: 70%;
}
.footcontactnavi ._btn{
	font-size: 2.4rem;
	background: #fff;
	color: var(--c_rd);
	padding: 1.5rem ;
	margin-top: 1rem;
	width: 100%;
	max-width: 21rem;
}
.footcontactimg01{
	mix-blend-mode: multiply;
	position: absolute;
	top: 0;
	left: -40rem;
	clip-path: polygon(0 0, 100% 0%, 70% 100%, 0% 100%);
}
.footcontactimg02{
	mix-blend-mode: multiply;
	position: absolute;
	top: 0;
	right: -40rem;
	clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
}


/*footer***/
.footerwrap{
	background: #000;
	color: #fff;
}
.pagetop img{
	position: absolute;
	top: -2.5rem;
	max-height: 5rem;
	right: 0;
}
.footer{
	padding: 4rem 0;
}
.footlogo{
	margin-bottom: 1rem;
}
.footlogo p{
	font-size: 1.2rem;
	margin-bottom: .5rem;
}
.footer ._add{
	margin-bottom: 1rem;
}

.footinfo ._cont{
	margin-right: 6rem;
}
.footinfo ._mark{
	flex-shrink: 0;
	margin-right: 1rem;
}
.footinfo p{
	text-align: left;
	font-size: 1rem;
}

.footinfo ._sns li{
	margin-left: 1rem;
}
.footinfo ._sns img{
	max-height: 2.5rem;
}
.copyright{
	padding: 1rem;
	font-size: 1.3rem;
}


/*トップページ
------------------------------------------------*/
.mainvisualwrap{
	background: url("../img/top/bg_mv.jpg") no-repeat center center;
	background-size: cover;
	height: 70rem;
}

.mv{
position: relative;
}
.mvlogo{
	position: absolute;
	top: 2rem;
	left: 0;
	right: 0;
	margin: auto;
	letter-spacing: .2em;
	
}
.mvlogo h2{
	font-size: 24rem;
	 background:  url("../img/top/bg_mvlogo.jpg") left / cover no-repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  line-height: 1;
}
.mvmain{
	position: relative;
	z-index: 2;
	padding-top: 15rem;
}

.mvcont{
	text-align: left;
	color: #fff;
	flex-basis: 55%;
}
.mvcont h2{
	font-size: 3.6rem;
	margin-bottom: 1rem;
}
.mvcont h2 small{
	font-size: 3rem;
}
.mvcont h2 big{
	font-size: 6rem;
}

.mvcont h3{
	background: #000;
	padding: 1rem;
	font-size: 2rem;
	display: inline-block;
	margin-bottom: 1rem;
}

/****/
.topcrafitwrap{
	 background:
    linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)),
    url("../img/top/bg01.jpg") no-repeat center center;
  background-size: cover;
 
 
}
.topcraftbox{
position: relative;
 padding: 15rem 0;
}
.topcraftbox h3{
	font-size: 3rem;
	font-weight: 400;
	letter-spacing: .1em;
	margin-bottom: 3rem;
	line-height: 1.8;
}
.topcraftbox ._cont{
	position: relative;
	z-index: 2;
}
.craftmanimg01{
	position: absolute;
	top: 0;
	left: -60rem;
	height: 100%;
	clip-path: polygon(0 0, 100% 0%, 60% 100%, 0% 100%);
	z-index: 1;
}
.craftmanimg02{
	position: absolute;
	top: 0;
	right: -60rem;
	height: 100%;
	clip-path: polygon(40% 0, 100% 0, 100% 100%, 0% 100%);
	z-index: 1;
}


.topstrengthbox{
	margin-bottom: 3rem;
	position:relative;
}

.topstrengthbox:nth-child(odd){
	flex-direction: row-reverse;
}

.topstrengthbox:nth-child(odd) ._img{
flex: 1;
  margin-left: -20rem;
}
.topstrengthbox:nth-child(even) ._img{
flex: 1;
  margin-right: -20rem;
}

.topstrengthbox:nth-child(odd) ._img img{
	clip-path: polygon(0 0, 100% 0%, 70% 100%, 0% 100%);
	height: 100%;
}
.topstrengthbox:nth-child(even) ._img img{
	clip-path: polygon(30% 0, 100% 0, 100% 100%, 0% 100%);
}

.topstrengthbox ._cont{
	flex-basis: 50%;
	 background:
    linear-gradient(rgba(0,0,0,.2), rgba(0,0,0,.2)),
    url("../img/top/bg01.jpg") no-repeat center top;
  background-size: cover;
}
.topstrengthbox ._cont h2{
font-size: 8rem;
  letter-spacing: .05em;
  margin-bottom: 5rem;
}
.topstrengthbox ._cont h2{
background: url("../img/top/sttitle_txture01.jpg") left / cover no-repeat;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
.topstrengthbox._02 ._cont h2{
background-image: url("../img/top/sttitle_txture02.jpg");
}
.topstrengthbox._03 ._cont h2{
background-image: url("../img/top/sttitle_txture03.jpg");
}
.topstrengthbox._04 ._cont h2{
background-image: url("../img/top/sttitle_txture04.jpg");
}

.topstrengthbox ._cont h3{
	font-size: 2.4rem;
	 letter-spacing: .05em;
	 margin-bottom: 2rem;
	 font-weight: 400;
}

.topstrengthwrap ._strengthline{
	position: absolute;
}
._01 ._strengthline{
	right: -15rem;
}
._02 ._strengthline{
	left: -20rem;
	top: 3rem;
}
._03 ._strengthline{
	left: 38rem;
  top: 27rem;
 }
._04 ._strengthline{
left: -20rem;
	top: 27rem;
}

.compabpx{
	background: #fff;
	padding: 4rem;
}
.ctable01{
	width: 100%;
	border-collapse: collapse;
}
.ctable01 td,
.ctable01 th{
	padding:1rem .5rem;
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
}
.ctable01 td:last-child,
.ctable01 th:last-child{
	border-right: none;
}

.ctable01 th{
	font-weight: 600;
}
.ctable01 td big{
	font-size: 150%;
}
._thbg01{
	background: #F1F1F1;
}
._thbg02{
	background: #4D4D4D;
}


.optitlewrap{
	padding: 8rem 0 1rem;
}


.bg-dot{
	background: url("../img/top/bg_dot.png");
}
.topoptionwrap._01 ._cont{
	flex-basis: 30%;
}
.topoptionwrap ._img{
	flex-basis: 55%;
}
.topoptionwrap._01 ._img img{
	max-height: 42rem;
}
.topoptionwrap._02 ._img img{
	max-height: 55rem;
	margin: auto;
}
.topoptionwrap._04 ._img{
	flex-basis: 50%;
}
.topoptionwrap._04 ._img img{
	max-height: 30rem;
}
.topoptionwrap._05 ._img{
	flex-basis: 50%;
}
.topoptionwrap._05 ._img img{
	max-height: 36rem;
}

.topoptionbox {
	text-align: left;
}
.topoptionbox ._title h3{
	font-size: 2.4rem;
	margin-bottom: 1rem;
}
.topoptionbox ._title h2{
	font-size: 9rem;
	margin-bottom: 1rem;
	line-height: 1;
}
.topoptionbox ._title p{
	font-size: 1.8rem;
}

.otag li{
	width: 100%;
	flex-basis: 9rem;
	background: #000;
	border: 1px solid #fff;
	padding: 1rem 1rem .7rem;
	margin:0 1rem 0 0;
	text-align: center;
	font-size: 1.8rem;
	line-height: 1;
}

.plantThumb .slick-slide {
  cursor: pointer;
  font-size: 1.5rem;
  padding-top: 3rem;
}

.plantThumb .slick-slide p {
  border: 3px solid transparent;
  transition: .2s;
  position: relative;
  display: inline-block;
    margin: 0 1rem;
}
.plantThumb .slick-slide small{
	display: block;
	font-size: 70%;
}

.plantThumb .slick-slide.slick-current p {
  border-color: #fff;
}
.plantThumb .slick-slide.slick-current p:before{
	display: block;
	height: 0;
	content: "";
	position: absolute;
	top: -2rem;
	width: 0;
	left: 0;
  right: 0;
  margin: auto;
  border-style: solid;
  border-width: 0 5px 5px 5px;
  border-color: transparent transparent #ffffff transparent;
}

.op3box p{
	padding: 6rem 0 0 3rem;
}


.casebox{
	background: #fff;
	padding: 6rem;
}
.casephoto{
	margin-bottom: 3rem;
}

.casephoto figure{
	flex-basis: 48%;
	margin-bottom: 2rem;
}
.caseinfowrap{
	gap:4rem;
}

.caseinfo{
	flex-basis: 31%;
}
.caseinfo h3{
	text-align: left;
	margin-bottom: 1rem;
	font-size: 1.8rem;
}

.ctable02{
	width: 100%;
  border-collapse: collapse;
}
.ctable02 th,
.ctable02 td{
	padding: 1rem .5rem;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
}
.ctable02 th{
	font-weight: 600;
	background: #F1F1F1;
}
.ctable02 td:last-child{
	border-right: none;
}


.voicewrap{
	background: url("../img/top/bg_voice.jpg") no-repeat center center;
	background-size: cover;
}
.voicebox{
	background: #fff;
	padding: 6rem;
}
.voicebox ._img{
	flex-basis: 40%;
}
.voicebox ._cont{
	flex-basis: 55%;
	text-align: left;
}
.voicebox ._cont h3{
	font-size: 2.4rem;
	margin-bottom: 2rem;
}

.flowwrap{
	background: url("../img/top/bg_flow.jpg") no-repeat top center;
	background-size: cover;
}

.flowslider{
	position: relative;
}

.flowslider .prev, 
.flowslider .next {
content: '';
  width: 4rem;
  height: 4rem;
  display: block;
  background: url("../img/btn_next_w.svg") no-repeat center center;
  background-size: 1.5rem;
  border-radius: 99px;
  flex-shrink: 0;
  pointer-events: auto;
  cursor: pointer;
  top: 0%;
  bottom: 0;
  margin: auto;
  position: absolute;
}

 .flowslider .prev  {
transform: rotate(-180deg);
  left: -5%;
}
.flowslider .next {
  right: -5%;
}
.flowslider .slick-disabled{
opacity: 0;
  pointer-events: none;
}


.flowbox{
	padding-top: 7rem;
}
.flowbox dl{
	margin: 0 4rem 0 0;
	background: #4D4D4D;
	position: relative
}
.flowbox dl::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: -2.5rem;
  margin: auto;
  border-width: 12px 0 12px 10px;
  border-style: solid;
  border-color: transparent transparent transparent var(--c_rd);
}
.flowbox._last dl:after{
	display: none;
}


.flowbox dt{
	position: relative;
}
.flowbox dt ._num{
	position: absolute;
	top: -7rem;
	margin: auto;
	left: 0;
	right: 0;
	-webkit-text-stroke-width: 1px;
-webkit-text-stroke-color:  #FFF;
font-size: 6rem;
color: #000;
}

.flowbox dd{
	padding: 2rem;
}
.flowbox dd h3{
	font-size: 2rem;
	margin-bottom: 1rem;
}
.flowbox dd p{
	text-align: left;
	min-height: calc(1.5em * 3);
}


.faqbox{
	background: #fff;
	padding: 6rem 10rem;
}
.faqbox dl{
	text-align: left;
	margin-bottom: 2rem;
}
.faqbox dt{
	background: #000;
	color: #fff;
	padding: 1rem 2rem;
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 1rem;
	position: relative;
	cursor: pointer;
}
.faqbox dt::after {
content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  right: 2rem;
}
.faqbox dt.active:after{
	transform: translateY(-50%) rotate(-135deg);
}


.faqbox dt ._q{
	font-size:4rem;
	margin-right: 2rem;
	flex-shrink: 0;
}
.faqbox dd{
	padding: 1rem 2rem;
}
.faqbox dd ._a{
font-size:4rem;
	margin-right: 2rem;
	flex-shrink: 0;
}





/*contents
------------------------------------------------*/














/*********************************/
/* PC用のスタイル記述ここから */
/*********************************/
/*@media print, screen and (min-width: 769px) {*/
@media print, screen and (min-width: 621px) {
img {
    image-rendering: -webkit-optimize-contrast;
}




.gnavi{
	display: block!important;
}



.leftbox{
	display:inline-block;
	float:left;
	padding:0px 10px 0px 0;
}
	.fmenucont .leftbox {
		padding: 0;
	}
.rightbox{
	display:inline-block;
	float:right;
	padding:0px 0 0px 10px;
}

.centerbox{
	display:inline-block;
	float:left;
	padding:0px 2.2%;
}

.mwidth50{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
    width: 100%;
    max-width: 50%;
}
.mwidth40{
    width: 100%;
    max-width: 41%;
}
.mwidth30{
    width: 100%;
    max-width: 31%;
}
.mwidth60{
    width: 100%;
    max-width: 65%;
}

.mwidth25{
    width: 100%;
    max-width: 23%;
}
.mwidth20{
    width: 100%;
    max-width: 18%;
}











}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1350px) {
	html {
		font-size: .7407407vw;
	}
    .mainbody{
        max-width: 95%;
    }
}



/*@media screen and (max-width: 768px) {*/
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {



}
/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 620px) {

html {
		/*360px*/
		font-size: 2.7777777vw;
	}
	body {
		font-size: 1.4rem;
		line-height: 1.5;
	}



.slick-slider {
    touch-action: pan-y;
}


.wrap {
 
}


.wrap,
.home .wrap{
    
}
.wrap{
	margin-top: 6rem;
}





.mainbody,
.mainbody2,
.mainbody3,
.header .mainbody{
	margin:0 2rem;
	width:auto;
}

/*
#a01,
#a02,
#a03,
#a04,
#a05,
#a06,
#reserve,
#mw_wp_form_mw-wp-form-27{
   display: block;
   margin-top:-70px;
   padding-top:70px;
}
*/
.contents{
    padding: 4rem 0;
}


.spinner {
  width: 15rem;
}



/*ヘッダー
------------------------------------------------*/
.headerwrap {

}
 .header{
     height: 6rem;
     padding:0rem 0rem;
     margin: 0;
     border-radius: 0;
    
 }
 .header h1 img{
 	max-height:2rem;
 }


.headright{
    display: none;
}


 .headright {


 }




.menubtn{
      display: flex;
      align-items: center;
      justify-content: center;
      color:#fff !important;
      font-size: 200%;
      /*font-family: "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", "Osaka-mono", "monospace";*/
      width: 2rem;

      border-radius: 99px;
      line-height: 1;
      height:2rem;
      /*padding-bottom: .3rem;*/
    

}








/*フッター
------------------------------------------------*/

.title01{
	margin: 0 0 2rem;
}

.title01 h2{
	font-size: 4rem;
	margin-bottom: 1rem;	
}


.footcontactnavi{
display: block;
}
.footcontactnavi a{
	height: 12rem;
	margin-bottom: 2rem;
}
.footcontactnavi h3{
	font-size: 1.6rem;
	margin: 0 0 .5rem;
}
.footcontactnavi ._num{
	font-size: 2.3rem;
	margin-bottom: .5rem;
}

.footcontactnavi ._btn{
	font-size: 1.6rem;
	padding: 1rem ;
	margin-top: 1rem;
}
.footcontactimg01{
top: 0;
    left: -2rem;
    width: 30%;
}
.footcontactimg02{
top: 0;
    right: -2rem;
    width: 30%;
}


/*footer***/

.pagetop img{
	top: -1.5rem;
	max-height: 3rem;
	right: 0;
}
.footer{
	padding: 4rem 0;
}
.footlogo{
	margin-bottom: 1rem;
}
.footlogo p{
	font-size: 1rem;
	margin-bottom: .5rem;
}
.footer ._add{
	margin-bottom: 1rem;
}

.footinfo {
	display: inline-block;
}
.footinfo ._cont{
	margin:0 0 1rem;
}


.footinfo ._sns ul{
	justify-content: center;
}
.footinfo ._sns li{
	margin:.5rem;
}











/*トップページ
------------------------------------------------*/
.mainvisualwrap{
	background: url("../img/top/bg_mv_sp.jpg") no-repeat top center;
	background-size: cover;
	height: 210vw;
}

.mv{

}
.mvlogo{
	top: 2rem;
	
}
.mvlogo h2{
font-size: 34.5vw;
    text-align: left;
    line-height: .8;
 }
.mvmain{
	padding-top: 53vw;
	display: block;
		
}
.mvimg {
margin: 0 -1rem;
}


.mvcont{
	text-align: left;
}
.mvcont h2{
	font-size: 1.6rem;
	margin-bottom: 1rem;
}
.mvcont h2 small{
	font-size: 1.4rem;
}
.mvcont h2 big{
	font-size: 3rem;
}

.mvcont h3{
	padding: .5rem;
	font-size: 1.6rem;
	margin-bottom: 3rem;
}
.mvcont p{
	font-size: 1.2rem;
	line-height: 1.6;
}



/****/
.topcrafitwrap{

}
.topcraftbox{
 padding: 14rem 0;
}
.topcraftbox h3{
	font-size: 1.8rem;
	margin-bottom: 2rem;
}
.topcraftbox ._cont{
	position: relative;
	z-index: 2;
}
.craftmanimg01{

	top: 0;
left: -2rem;
    height: 50vw;
}
.craftmanimg02{
	top: auto;
	bottom: 0;
	right: -2rem;
	height: 50vw;
}


.topstrengthbox{
	margin-bottom: 7rem;	
	display: block;
}
.topstrengthbox ._img img{
	
}

.topstrengthbox:nth-child(odd) ._img{
flex: 1;
  margin-left: -2rem;
}
.topstrengthbox:nth-child(even) ._img{
flex: 1;
  margin-right:-2rem;
}

.topstrengthbox:nth-child(odd) ._img img{
	clip-path: polygon(0 0, 100% 0%, 80% 100%, 0% 100%);
	height: 100%;
}
.topstrengthbox:nth-child(even) ._img img{
	clip-path: polygon(20% 0, 100% 0, 100% 100%, 0% 100%);
}


.topstrengthbox ._cont{
  margin-bottom: 2rem;
}
.topstrengthbox ._cont h2{
font-size: 4rem;
  margin-bottom: 2rem;
}


.topstrengthbox ._cont h3{
	font-size: 1.6rem;
	 margin-bottom: 1rem;
}
.topstrengthbox ._cont p{
	font-size: 1.2rem;
	text-align: left;
	
}


.topstrengthwrap ._strengthline{
	display: none;
}




.compabpx{
	padding: 2rem;
}
.ctable01{

}
.ctable01 td,
.ctable01 th{
	padding:.5rem .5rem;
	font-size: 80%;
}

.ctable01 th{
}
.ctable01 td big{
	font-size: 130%;
}



.optitlewrap{
	padding: 4rem 0 1rem;
}

.topoptionwrap ._cont{
	margin-bottom: 2rem;
}
.topoptionwrap ._img{
	text-align: center;
}
.topoptionwrap ._img img{
margin: auto;
}

.topoptionwrap._01 ._img img{
	max-height: 25rem;
}
.topoptionwrap._02 ._img img{
	max-height: 25rem;
	margin: auto;
}

.topoptionwrap._04 ._img img{
	max-height: 18rem;
}
.topoptionwrap._05 ._img img{
	max-height: 20rem;
}

.topoptionbox {
	display: block;
}
.topoptionbox ._title {
	text-align: center;
}

.topoptionbox ._title h3{
	font-size: 1.6rem;
	margin-bottom: 1rem;
}
.topoptionbox ._title h2{
	font-size:6rem;
	margin-bottom: 1rem;
}
.topoptionbox ._title p{
	font-size: 1.6rem;
}

.otag li{
	flex-basis: 9rem;
	padding: .5rem .5rem .7rem;
	margin:0 1rem 0 0;
	font-size: 1.2rem;
}
.plantThumb{
	position: relative;
}

.plantImg.slick-slider{
	margin-bottom: 0;
}
.plantThumb .slick-slide {
  font-size: 1.4rem;
}

.plantThumb .slick-slide p {
    margin: 0 .5rem;
}


.plantThumb .slick-slide.slick-current p:before{
	display: block;
	height: 0;
	content: "";
	position: absolute;
	top: -2rem;
	width: 0;
	left: 0;
  right: 0;
  margin: auto;
  border-style: solid;
  border-width: 0 5px 5px 5px;
  border-color: transparent transparent #ffffff transparent;
}
.plantThumb .prev, 
.plantThumb .next {
content: '';
  width: 2rem;
  height: 2rem;
  display: block;
  background: url("../img/btn_next_w.svg") no-repeat center center;
  background-size: 1.5rem;
  border-radius: 99px;
  flex-shrink: 0;
  pointer-events: auto;
  cursor: pointer;
  top: 0%;
  bottom: 0;
  margin: auto;
  position: absolute;
}

 .plantThumb .prev  {
transform: rotate(-180deg);
  left: -5%;
}
.plantThumb .next {
  right: -5%;
}


.op3box{
	display: block;
}

.op3box p{
	padding: 0rem 0 2rem;
}
._03 .topoptionbox ._img{
	display: block;
}
._03 .topoptionbox ._img figure{
	margin: 0 10% 2rem;
	
}

.casebox{
	padding: 2rem;
}
.casephoto{
	margin-bottom: 2rem;
	display: block;
}

.casephoto figure{
	margin-bottom: 2rem;
}
.caseinfowrap{
	display: block;
}

.caseinfo{
	margin-bottom: 2rem;
}
.caseinfo h3{
	margin-bottom: 1rem;
	font-size: 1.6rem;
}


.ctable02 th,
.ctable02 td{
	padding: .5rem .5rem;
}



.voicebox{
	padding: 2rem;
	display: block;
}
.voicebox ._img{
	margin-bottom: 2rem;
}
.voicebox ._cont{
	text-align: left;
}
.voicebox ._cont h3{
	font-size: 1.6rem;
	margin-bottom: 1rem;
}



.flowslider .prev, 
.flowslider .next {
content: '';
  width: 2rem;
  height: 2rem;
  
}

 .flowslider .prev  {
  left: -5%;
}
.flowslider .next {
  right: -5%;
}
.flowbox{
	padding-top: 7rem;
}
.flowbox dl{
	margin: 0 2rem 0 2rem;
}
.flowbox dl::after {
right: -1.5rem;
}
.flowbox._last dl:after{
	display: none;
}

.flowbox dt{
	position: relative;
}
.flowbox dt ._num{
	top: -5rem;
font-size: 3rem;
}


.flowbox dd h3{
	font-size: 1.6rem;
}



.faqbox{
	padding: 2rem;
}
.faqbox dl{
	margin-bottom: 2rem;
}
.faqbox dt{
	padding: 1rem 2rem;
	font-size: 1.4rem;
	margin-bottom: 1rem;
}
.faqbox dt::after {
  width: .5rem;
  height: .5rem;
  right: 1rem;
}



.faqbox dt ._q{
	font-size:2.5rem;
	margin-right: 1rem;
	flex-shrink: 0;
}
.faqbox dd{
	padding: 1rem 1rem;
}
.faqbox dd ._a{
font-size:2.5rem;
	margin-right: 1rem;
	flex-shrink: 0;
}


















/*contents
------------------------------------------------*/











.onlypc{
	display:none;
}
.onlysp{
	display: block;
}

.onlysp._inlineblock{
    display: inline-block;
}



.spblock{
	display: block;
}

.spcenter{
    text-align: center;
}




.scroll-wrap{
    width: 100%;
    padding: 0%;
    overflow-x: auto;
    white-space: nowrap;
  }
  .scroll-wrap::-webkit-scrollbar {
    height: 10px;

  }
  .scroll-wrap::-webkit-scrollbar-thumb{
    background: #999;
    border-radius: 5px;
  }
  .scroll-wrap::-webkit-scrollbar-track-piece {
    background: #efefef;
  }  



}







/*safariのみ**/
_::-webkit-full-page-media, _:future, :root .contacttel dd{

}


/*ieのみ*/
@media all and (-ms-high-contrast: none) {


}
