@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&family=Noto+Sans+JP:wght@300;400;500;700&display=swap');

body {
  font-size: 14px;
  font-family: 'Noto Sans JP', sans-serif;
  height: 100%;
  width: 100%;
  margin: 0;
  color: #444;
  background-color: #FFFFFF;
  line-height: 2em;
  text-justify: inter-ideograph;
  text-align: justify;
  font-weight: 400;
  overflow-x: hidden;
  padding: 0;
	-webkit-text-size-adjust: 100%;
}


*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
   
}
a:link {
  color:#444;
  text-decoration: none;
}
a:visited {
  color:#444;
  text-decoration: none;
}
a:hover {
    color: #666;
    text-decoration: none;
}
a:active {
    color: #666;
    text-decoration: none;
}
.sp_no {
	display:none !important;
	}
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex_c {
  display: -webkit-box !important; 
  display: -ms-flexbox !important; 
  display: -webkit-flex !important; 
  display: flex !important;
  -webkit-justify-content: center; 
  justify-content: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}	
img {
  height: auto;
  max-width: 100%;
  width: auto;
  vertical-align: bottom;
}


.warp {
            display: block;
    overflow: hidden;  
    }


/*---ヘッダー ---*/
header {
    max-width: 100%;
    display: block;
    background-position: center center;
}
.head_in {
  margin-left: 3%;
    margin-right: 3%;
    padding-top: 48px;
    padding-bottom: 48px;
    text-align: center;
    border-bottom: 1px solid #ddd;
}
.head_in h1 {
    text-align: center;
}

.head_in h1 img {
max-width: 80%;
      margin-left: auto;
    margin-right: auto;
}

/*---ヘッダー ---*/
/*---メニュー ---*/
.head_in2 {
      margin-left: 3%;
    margin-right: 3%;
}
.head_in2 menu {
    
}




.gnavi__wrap {
    margin-left: auto;
    margin-right: auto;
    border-bottom: 1px solid #ddd;
}
.gnavi__lists {
    display: flex;
    justify-content: center;
}
.gnavi__list {
display: block;
     position: relative;
    text-align: center;
}
.gnavi__list:hover {
  
}
.gnavi__list:not(:first-child)::before {
   
}
.gnavi__list:hover::before {
   
}

.gnavi__list a {
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    letter-spacing: 0.05em;
    transition: all .3s;
    padding-left: 24px;
    padding-right: 24px;
    line-height: 48px;
    display: block;
}

.gnavi__list a:hover {
    
}

.dropdown__lists {
    transform: scaleY(0);/*デフォルトでは非表示の状態にしておく*/
    transform-origin: center top;/*変形を適応する基準をtopとする*/
    transition: all .3s;/*表示の変化を0.3秒に指定*/
    position: absolute;
    top: 55px;
    left: 0;
    width: max-content;
    cursor: pointer;
    padding-bottom: 15px;
    padding-top: 15px;
    z-index: 99;    
}
.gnavi__list:hover .dropdown__lists {
    transform: scaleY(1);/*Gナビメニューにホバーしたら表示*/
    
      
}
.dropdown__list {
    transition: all .5s;
    position: relative;
    display: block;
    overflow: hidden;
    margin-bottom: 3px;
}

.dropdown__lists a:hover {


}
.dropdown__lists a {
    padding-right: 20px;
    padding-left: 20px;
    font-size: 16px;
    line-height: 32px;
    padding-bottom: 15px;
    padding-top: 15px;
    font-weight: 400;
    text-align: left !important;
    display: block !important;
    background-color: #976a1f;
    width: 130%;
}


.fixed{
position: fixed;
top: 0;
left: 0;
    width: 100%;
    z-index: 9999;
}

@media (max-width: 1300px) {
.block_1280,.container,.box1,.box1_2,.box02,.head_in,.block_1050 {
      padding-left: 2%;
        padding-right: 2%;
}

}

/*---メニュー ---*/




/*---トップコンテンツ ---*/

.box00 {
     max-width: 100%;
    display: block;
   background-image: url("../img/p_top/b2.webp");
    background-position: center center;
  
}


.box00 .main {
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}

.box00_w {
    display: block;
    padding-top: 48px;
    padding-bottom: 48px;
}

.box_1280 {
    margin-left: 3%;
    margin-right: 3%;
    text-align: center;
}
.ttl {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    font-size: 24px;
    font-weight: 800;
}
 

.works li {
    position: relative;
    width: 100%;
    margin-bottom: 32px;
    overflow: hidden;
    display: block;
}
.works::after{
  content:"";
  display: block;
  width:31%;
}
.works li img {
     width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.works h2 {
   text-align: left;
    font-size: 14px;
}




.info_m4 {
    display: block;
    font-size: 14px;
    text-align: center;
    line-height: 2em;
    margin-top: 32px;
}


input[type="checkbox"] {
  position: relative;
  width: 24px;
  height: 24px;
  border: 1px solid #444;
    margin-right: 10px;
  vertical-align: -5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
    top:3px;
}

input[type="checkbox"]:checked:before {
  position: absolute;
  top: 1px;
  left: 8px;
  transform: rotate(50deg);
  width: 8px;
  height: 16px;
  border-right: 2px solid #444;
  border-bottom: 2px solid #444;
  content: '';
}


input[type="text"], input[type="email"], input[type="tel"], input[type="url"] {
		padding: 10px;
		font-size: 16px;
		margin: 0;
		width: 100%;
    border: 1px dotted #444 !important;
    background-color:rgba(0,0,0,0) !important;
    color: #444 !important;
    outline: 0 !important;
}
textarea {
		width: 100%;
		height: 14.3em;
		font-size: 16px;
		border: 1px dotted #444 !important;
    background-color:rgba(0,0,0,0) !important;
    outline: 0 !important;
}
input[type="submit"] {
    display: inline;
    text-align: center;
    width: 50%;
    display: block;
    margin-right: auto;
    margin-left: auto;
    font-size: 16px;
    color: #444;
    line-height: 64px;
    background-color: rgba(0,0,0,0);
    border: 1px solid #444 !important;
    border-radius: 50px !important;    
}
input[type="submit"]:hover {
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    background-color: #000;
    color: #FFFFFF;
}

.wpcf7-form-control-wrap {
		margin: 0;
}

.box800 .box800_left p {
	display: block;
}
.wpcf7-list-item-label {
	line-height: 24px;
}

.box800 {
	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
	margin-top:48px;
	display: block;
	overflow: hidden;
	clear: both;
	
}
.box800 ul {
 
}
.box800 li {
    width: 100%;
}
.box800_user dl {
    display: block;
    clear: both;
    overflow: hidden;
    width: 100%;
    margin-bottom: 24px; 
}
.box800_user dl dt {
    text-align: left;
    width: 100%;
    display: block;
    float: left;
    overflow: hidden;
    padding-right: 25px;
    font-size: 14px;
    line-height: 2em;
}
.box800_user dl dd {
    display: block;
    float: left;
    width: 100%;
    overflow: hidden;
    text-align: left;
    font-size: 16px;
    line-height: 2em;
}
.name_l {
	float: left;
	width: 45%;
	margin-right: 5%;
	overflow: hidden;
}
.name_2 {
	float: left;
	width: 50%;
}
.wpcf7-form-control-wrap {
	clear: both;
	display: block;
}
.info_mm2 {
    text-align: center;
    display: block;
    overflow: hidden;
    margin-top: 15px;
    margin-bottom: 15px;
    font-size: 14px;
}







/*---トップコンテンツ ---*/


/*--- フッター ---*/

footer {
    padding-top: 64px;
    padding-bottom: 64px;
    background-position: center center;
    background-color: #E8E8E8;
}
footer h1 {
    width: 70%;
    margin-bottom: 48px;
    margin-left: auto;
    margin-right: auto;
}
footer h3 {
    margin-top: 48px;
     font-size: 18px;
    line-height: 2em;
    font-weight: 500;
}
footer .f_menu {
    
}
footer .f_menu li {
    border-left: 2px solid #444;
    padding-left: 14px;
    padding-right: 14px;
}
footer .f_menu li:last-child {
    border-right: 2px solid #444;
}
footer .f_menu li a {
    font-size: 14px;

}
.copyright {
    text-align: center;
    display: block;
    font-size: 14px;

    line-height: 48px;
    background-color: #FFF;
}

/*---ページトップ ---*/

#page-top {
	position: fixed;
	bottom: 15px;
	right: 15px;
}
#page-top a img {
	height: auto;
	width: 50px;
}
#page-top a:hover img {
	opacity: 0.9;
	filter: alpha(opacity=90);
	-ms-filter: "alpha( opacity=90 )";
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
#page-top2 {
    display: none;
	position: fixed;
	bottom: 130px;
	right: 20px;
}
#page-top2 a img {
     display: none;
	height: auto;
	width: 300px;
}
#page-top2 a:hover img {
	opacity: 0.9;
	filter: alpha(opacity=90);
	-ms-filter: "alpha( opacity=90 )";
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
ul.footer_menu {
}
/*---ページトップ ---*/

/*--- フッター ---*/





/*--- ページ ---*/
/*--- ページ ---*/


/*---NEWS---*/



/*--- ページ ---*/

.block_1280_main .kiji_1 {
    text-align: left;
    margin-bottom: 64px;
    border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #666;
    line-height: 2em;
    font-size: 14px;
    display: block;
    overflow: hidden;
    padding-top: 25px;
    padding-bottom: 64px;
    text-justify: inter-ideograph;
    text-align: justify;
}


.block_1280_main .b_tt h1 {
    font-size: 18px;
    line-height: 1.8em;
    border-bottom-width: 4px;
    border-bottom-style: solid;
    border-bottom-color: #444;
    text-justify: inter-ideograph;
    text-align: justify;
    display: block;
    overflow: hidden;
    padding-bottom: 0.5em;
    font-weight: 500;
}


.kiji_1 h1 {
    font-size: 16px !important;
    margin-bottom: 32px !important;
    border-bottom-width: 3px !important;
    border-bottom-style: solid !important;
    border-bottom-color: #444 !important;
    text-justify: inter-ideograph !important;
    text-align: justify !important;
    display: block;
    overflow: hidden;
    margin-top: 64px;
    padding-bottom: 0.3em;
    font-weight: 500;
}
.kiji_1 h2 {
	font-size: 16px !important;
	margin-bottom: 32px !important;
	text-align: left !important;
	border-bottom-width: 5px !important;
	border-bottom-style: double !important;
	border-bottom-color: #444 !important;
	letter-spacing: 0em !important;
	text-indent: 0px !important;
	text-justify: inter-ideograph !important;
	text-align: justify !important;
	background-image: none !important;
	padding-bottom: 5px;
	display: block;
	overflow: hidden;
    margin-top: 64px;
    padding-bottom: 0.3em;
    font-weight: 500;
}
.kiji_1 h3 {
	font-size: 15px !important;
	margin-bottom: 32px !important;
	padding: 0.5em !important;/*左線（実線 太さ 色）*/
	border-top-width: 1px !important;
	border-right-width: 1px !important;
	border-bottom-width: 1px !important;
	border-left-width: 5px !important;
	border-top-style: solid !important;
	border-right-style: solid !important;
	border-bottom-style: solid !important;
	border-left-style: solid !important;
	border-top-color: #444 !important;
	border-right-color: #444!important;
	border-bottom-color: #444 !important;
	border-left-color: #444 !important;
	display: block !important;
	width: 100% !important;
	text-justify: inter-ideograph !important;
	text-align: justify !important;
    margin-top: 64px;
    font-weight: 500;
}
.kiji_1 h4 {
	font-size: 15px !important;
	margin-bottom: 32px;
	position: relative;
	padding: 0.6em;
	background-color: #444;
	text-justify: inter-ideograph;
	text-align: justify;
	display: block;
    margin-top: 64px;
    color: #FFF;
    font-weight: 500;
}
.kiji_1 h4:after {
	position: absolute;
	content: '';
	top: 100%;
	left: 30px;
	width: 0;
	height: 0;
	border-top-width: 15px;
	border-right-width: 15px;
	border-bottom-width: 15px;
	border-left-width: 15px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #444;
	border-right-color: #FFF;
	border-bottom-color: #FFF;
	border-left-color: #FFF;
    
    
}
.kiji_1 h5 {
	font-size: 14px !important;
	margin-bottom: 32px;
	border: 1px dashed #444;
	text-justify: inter-ideograph;
	text-align: justify;
	display: block;
	padding-top: 0.2em;
	padding-right: 0.5em;
	padding-bottom: 0.2em;
	padding-left: 0.5em;
    margin-top: 64px;
    font-weight: 500;
    line-height: 1.5em;
}
.kiji_1 h6 {
	position: relative;
	font-size: 14px !important;
	margin-bottom: 32px;
	text-justify: inter-ideograph;
	text-align: justify;
	display: block;
    margin-top: 64px;
    padding-bottom: 0.8em;
    font-weight: 500;
    line-height: 1.5em;
}
.kiji_1 h6:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 7px;
	background: -webkit-repeating-linear-gradient(-45deg, #444, #444 2px, #fff 2px, #fff 4px);
	background: repeating-linear-gradient(-45deg, #444, #444 2px, #fff 2px, #fff 4px);
}
.kiji_1 h1:first-child,
.kiji_1 h2:first-child,
.kiji_1 h3:first-child,
.kiji_1 h4:first-child,
.kiji_1 h5:first-child,
.kiji_1 h6:first-child {
	margin-top: 32px;;
}

.kiji_1 p {
    margin-top: 0;
    
}
.kiji_1 a {
	text-decoration: underline;
}

.wp-pagenavi a, .wp-pagenavi span {
    font-size: 20px;
}

/*--------------------------------
スマホのフッターメニュー
---------------------------------*/
ul.footer_menu {
	margin: 0 auto;
	padding: 3px 0;
	width: 100%;
	overflow: hidden;
	display: table;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #999;
}
ul.footer_menu li {
    margin: 0;
    display: table-cell;
    vertical-align: middle;
    list-style-type: none;
    width: 33.3333%;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 5;
    padding-left: 0;
}
ul.footer_menu li a i {
    display: block;
}
ul.footer_menu li a {
    border: none;
    display: block;
    font-size: 10px !important;
    font-weight: 500;
    color: #FFF;
    text-align: center;
    text-decoration: none;
}
.footer_menu {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 9999999999;
    -moz-opacity: 0.9;
    opacity: 0.9;
    background-color: #976a1f;    
}
.footer_menu li a i img {
	height: auto;
	width: 30px;
	padding-top: 5px;
}
.box00_w3 {
    display: block;
    background-image: url(../img/p_top/brug1.gif),url(../img/so-white.png);
    background-position: center bottom,center bottom;
    background-repeat: no-repeat,repeat;
    padding-top: 64px;
    padding-bottom: 64px;
}
.mgt_32 {
    margin-top: 32px !important;
}
.mgb_48 {
    margin-bottom: 32px;
}
.block_1280_main .block_1050_n .navigation.clearfix .navigation_in {
	display: flex;
}
.block_1280_main .block_1050_n .navigation.clearfix .navigation_in p {
	float: left;
	width: 33%;
    text-align: center;
}
.block_1280_main .block_1050_n .button_all a {
    border: 1px solid #444;
    color: #444;
    display: block;
    padding: 24px;
    margin-top: 48px;
    clear: both;
    font-size: 14px;
    line-height: 14px;
}
.block_1280_main .block_1050_n .button_all a:hover {
    color: #FFF;
    background-color: #444;
}
.mgt48 {
    margin-top: 48px;
}
.box_cont2 {
    text-align: left;
    
    margin-right: auto;
    margin-left: auto;
    margin-top: 40px;
    font-size: 14px;
    border-top-width: 1px;
    border-right-width: 1px;
    border-left-width: 1px;
    border-top-style: dotted;
    border-right-style: dotted;
    border-left-style: dotted;
    border-top-color: #444;
    border-right-color: #444;
    border-left-color: #444;
    line-height: 2em;
    background-color: #444;
}
.box_cont2 dl dt {
	width: 100%;
	padding: 20px;
	display: block;
	color: #FFF;
	font-weight: 500;
	text-align: left;
	
}
.box_cont2 dl dd {
	display: block;
	width: 100%;
	padding: 20px;
	background-color: #FFF;
	text-justify: inter-ideograph;
	text-align: justify;
}
.box_cont2 dl {
	
	overflow: hidden;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #999;
	
}
.box_cont2 dl dd ul li {
	list-style-position: outside;
	list-style-type: disc;
	margin-left: 25px;
	margin-top: 5px;
	margin-bottom: 5px;
}

.info_m10 {
    display: block;
    font-size: 14px;
    text-align: left;
    line-height: 2em;
    margin-top: 32px;
}