@charset "utf-8";
/* ===========================================================
 *
 * 王子機工 スタイルシート
 * Last UpDate : 2025/10/10
 *
=========================================================== */

/* ----------------------------------------------------------
	style.css
---------------------------------------------------------- */

/* noto-sans-jp-regular - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: url('noto-sans-jp-v55-japanese-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-700 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  src: url('noto-sans-jp-v55-japanese-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-900 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 900;
  src: url('noto-sans-jp-v55-japanese-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* barlow-condensed-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 400;
  src: url('barlow-condensed-v13-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-condensed-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  src: url('barlow-condensed-v13-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-condensed-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  src: url('barlow-condensed-v13-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ----------------------------------------------------------
 common
---------------------------------------------------------- */

html{ font-size: 62.5%; scroll-behavior: smooth; scroll-padding-top: 100px; }
body {
	color: #333;
	background-color: #fff;
	font-family: 'Barlow Condensed','Noto Sans JP',"Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 1px;
	font-feature-settings: "palt";
	font-size: 16px;
	font-size: 1.6rem;
	margin: 0;
	padding-top: 80px;
}

/*
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .h2Wrap{ line-height: 1.7 !important; }

}
*/


.mb0{ margin-bottom: 0 !important; }
.mt40{ margin-top: 40px !important; }

/* a.anker{ display: block; padding-top: 100px; margin-top: -100px; } */

:root{
	--main-color: #00a53e;
	--main-color02: #bcc800;
	--contact-color: #2064c2;
	--footer-color: #126933;
}

strong{ font-weight: bold !important; }



/* ----------------------------------------------------------
 link
---------------------------------------------------------- */
a:link		{ color: #333; text-decoration: none; }
a:visited	{ color: #333; text-decoration: none; }
a:hover		{ color: var(--main-color); text-decoration: none; }
a:active	{ color: var(--main-color); text-decoration: none; }

a { -ms-filter: "alpha( opacity=60 )"; -webkit-transition: 0.5s ease-in-out; -moz-transition: 0.5s ease-in-out; -o-transition: 0.5s ease-in-out; transition: 0.5s ease-in-out; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
header{ position: fixed; top: 0; width: 100%; height: 100px; z-index: 100; background-color: #fff; box-shadow: 0px 8px 16px -6px rgba(0,0,0,0.1); }

.header_wrap{ display: flex; justify-content: space-between; align-items: center; }

.header_logo{ flex-basis: 15%; margin-left: 6%; max-width: 350px; max-height: 57px; }
.header_logo img{ width: 100%; height: auto; }
.header_logo span{}
.header_logo a:hover{ opacity: .6; }

.header_logo_sec{ }
.header_logo_sec a{ display: flex; }
.header_logo_sec a svg{ margin-right: 10px; }




.gnavi{ flex-basis: 400px; margin-left: 30%; }
.gnavi a{ font-size: 1.7rem; font-weight: 700; text-align: center; letter-spacing: 1px; }
.gnavi a:hover{ background-color: #eee; }




#menu {}

#menu-btn {
  display: none;
}

#menu-content {
	width: 100%;
  margin: 0;
  list-style-type: none;
	position: relative;
}

#menu-content > li {
float: left;
width: 30%;
  transition: all 0.2s;
}

#menu-content > li > a {
  display: block;
  line-height: 100px;
  font-size: 1.7rem;
  text-decoration: none;
}

#menu-content > li > a > .blogicon-chevron-down {
  margin-right: 5px;
}

#menu-content > li > ul.second-content {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  padding-left: 0;
  list-style-type: none;
	width: 16%;
          box-shadow: 1px 1px 7px #bbb;
}

#menu-content > li:hover > ul.second-content {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.2s, visibility 0.2s;
	background-color: #fff;
}

#menu-content > li > ul.second-content > li {
	border-bottom: 1px solid #ccc;
}

#menu-content > li > ul.second-content > li > a {
	position: relative;
  display: block;
  line-height: 40px;
  font-size: 1.6rem;
  text-decoration: none;
	padding: 10px;
}




#menu-content > li > ul.second-content > li > a:hover {
  background: #eee;
  transition: all 0.2s;
}

#menu-content > li > ul.second-content > li:hover > a,
#menu-content > li > ul.second-content > li > a.current{ background: #eee; }

@media screen and (max-width: 1023px) {
#menu nav {
    position: fixed;
    top: 0;
    left: -1000px;
    bottom: 0;
    width: 80%;
    background: #fff;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    z-index: 3;
    opacity: 0;
  }
 #menu .open nav {
    left: 0;
    opacity: 1;
	 z-index: 99;
  }
 #menu  nav .inner {
    padding: 25px;
  }
#menu nav .inner ul {
    list-style: none;
    margin: 0;
    padding: 0;
	  flex-wrap: wrap;
  }
 #menu nav .inner ul li {
    position: relative;
    margin: 0;
  }
 #menu nav .inner ul li a {
    display: block;
    color: #333;
    font-size: 1.8rem;
	 font-weight: 700;
    text-decoration: none;
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
	  flex-wrap: wrap;
  }
  .toggle_btn {
    display: block;
    position: fixed;
    top: 10px;
    right: 15px;
    width: 30px;
    height: 30px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    cursor: pointer;
    z-index: 3;
  }
  .toggle_btn span {
    position: absolute;
    left: 0;
    width: 30px;
    height: 1px;
    background-color: #333;
    border-radius: 4px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .toggle_btn span:nth-child(1) {
    top: 4px;
  }
  .toggle_btn span:nth-child(2) {
    top: 14px;
  }
  .toggle_btn span:nth-child(3) {
    bottom: 4px;
  }
  .open .toggle_btn span {
    background-color: #fff;
  }
  .open .toggle_btn span:nth-child(1) {
    -webkit-transform: translateY(10px) rotate(-315deg);
    transform: translateY(10px) rotate(-45deg);
  }
  .open .toggle_btn span:nth-child(2) {
    opacity: 0;
  }
  .open .toggle_btn span:nth-child(3) {
    -webkit-transform: translateY(-10px) rotate(315deg);
    transform: translateY(-10px) rotate(45deg);
  }
  #mask {
    display: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .open #mask {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.5;
    z-index: 2;
    cursor: pointer;
  }
  #menu-content > li {
    width: 100%;
    margin-bottom: 15px;
  }
  #menu-content > li:hover {
    background: none;
  }
  #menu-content > li > a {
  /*  height: 100%; */
    padding: 15px 10px;
	  font-weight: 700;
    font-size: 1.6rem;
    border-bottom: 1px solid #999;
	  line-height: normal !important;
	  text-align: left;
  }
  #menu-content > li > ul.second-content {
    visibility: visible;
    opacity: 1;
    width: 100%;
    position: relative;
    box-shadow: none;
	  margin-top: 10px;
	 margin-left: 20px;
  }
.open #menu-content > li > ul.second-content{
    position: relative;
	}
  #menu-content > li > ul.second-content > li {
    width: 100%;
    text-align-last: left;
  }
  #menu-content > li > ul.second-content > li > a {
    padding-left: 15px;
	  font-size: 1.4rem;
	  line-height: 1.3;
	  position: relative;
	  text-align: left;
  }
  #menu-content > li > ul.second-content > li > a:hover {
    background: none;
  }

	#menu-content > li > ul.second-content > li > a:before{
	  content: '';
	  width: 4px;
	  height: 4px;
	  border-top: solid 1px var(--main-color);
	  border-right: solid 1px var(--main-color);
	  position: absolute;
	  left: 0px;
	  top: 16px;
	transform: rotate(45deg);
	}
}







.header_tel{ flex-basis: 15%; margin-right: 200px; min-width: 290px; font-size: 4rem; font-weight: 600; letter-spacing: 1px; line-height: 1.3; }
.header_tel i{ font-size: 3rem; margin-right: 10px; color: var(--main-color02); }


.header_contact{ position: absolute; top: 0; right: 0; width: 160px; height: 100px; }
.header_contact a{ display: flex; align-items: center; align-content: center; flex-wrap: wrap; justify-content: center; background-color: var(--contact-color); transition: .3s ease; border: 2px solid var(--contact-color); color: #fff; text-align: center; font-size: 1.6rem; letter-spacing: 2px; height: 100px; }
.header_contact a i{ display: block; font-size: 4rem; flex-basis: 100%; }
.header_contact a p{ flex-basis: 100%; }
.header_contact a:hover{ background-color: #fff; color: var(--contact-color); }






/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */

.footer_contact{ background-color: var(--main-color); padding: 40px 0; margin-top: 100px; }
.footer_contact_sec{ width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }

.footer_contact_sec_tit{ font-size: 10rem; color: #fff; font-weight: 800; line-height: 1.1; }
.footer_contact_sec_tit span{ display: block; font-size: 2.2rem; font-weight: 600; letter-spacing: 2px; }
.footer_contact_sec01{ background-color: #fff; padding: 20px 30px; display: flex; justify-content: space-between; align-items: center; }
.footer_contact_sec_tel01{ font-size: 5rem; font-weight: 600; margin-right: 30px; }
.footer_contact_sec_tel01 i{ font-size: 4rem; color: var(--main-color02); margin-right: 10px; }
.footer_contact_sec_btn01{ width: 280px; }
.footer_contact_sec_btn01 a{ display: block; font-size: 2.5rem; color: #fff; text-align: center; padding: 10px; border: 2px solid var(--contact-color); background-color: var(--contact-color); }
.footer_contact_sec_btn01 a i{ font-size: 2.3rem; margin-right: 10px; }
.footer_contact_sec_btn01 a:hover{ background-color: #fff; color: var(--contact-color); }


footer{ background-color: var(--footer-color); padding: 40px 0; }
.footer_sec{ width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }
.footer_logo{ color: #fff; }
.footer_logo span{ display: block; font-size: 1.6rem; margin-top: 10px; }
.footer_logo p{ font-size: 1.2rem; margin-top: 20px; color: rgba(255,255,255,.6); }
.footer_logo a:hover{ opacity: .6; }
.footer_sitemap{}
.footer_sitemap_list{ display: flex; align-items: center; gap: 20px; }
.footer_sitemap_item{ flex: 1 0 auto; }
.footer_sitemap_item a{ font-size: 1.7rem; color: #fff; font-weight: 600; letter-spacing: 2px; }
.footer_sitemap_item a:hover{ opacity: .6; }
.footer_sitemap_item_instagram{  }
.footer_sitemap_item_instagram a{ display: block; font-size: 2rem; color: #333; width: 50px; height: 50px; background-color: #fff; text-align: center; line-height: 50px; border-radius: 100%; }
.footer_sitemap_item_instagram a i{ font-size: 2rem; }


/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */
.h1_wrap{ width: 100%; margin: 0 auto 250px auto; }
.h1_bg{ position: relative; width: 1800px; height: 300px; margin: 0 0 0 auto; }

.h1_wrap_sec{ position: absolute; left: 3%; bottom: -200px; }
.h1_wrap_sec h1{ font-size: 3.5rem; font-weight: 700; letter-spacing: 3px; margin-bottom: 10px; }
.h1_01{ font-size: 16rem; font-weight: 800; letter-spacing: 2px; margin-bottom: 20px; background: linear-gradient(90deg,rgba(188, 200, 0, 1) 0%, rgba(0, 165, 62, 1) 70%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; line-height: 1; }


h2{ font-size: 5rem; font-weight: 700; color: #333; letter-spacing: 3px; line-height: 1.2; margin-bottom: 40px; }
h2 span{ display: block; font-size: 6rem; font-weight: 700; letter-spacing: 3px; margin-bottom: 10px; background: linear-gradient(90deg,rgba(188, 200, 0, 1) 0%, rgba(0, 165, 62, 1) 11%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }


h3{ font-size: 3.5rem; color: var(--main-color); font-weight: 700; letter-spacing: 3px; line-height: 1.5; margin-bottom: 20px; }



/* ぱんくず */
 
.breadcrumbs_sec{ letter-spacing: 2px; } 
.breadcrumbs_sec > span{ display: inline-block; position: relative; color: #333; font-size: 1.7rem; }
.breadcrumbs_sec > span span{ margin-left: 25px; }
.breadcrumbs_sec > span a span{ margin-left: 0; }
.breadcrumbs_sec > span:first-child span{ margin-left: 0; }
.breadcrumbs_sec > span br{ display: none; }
.breadcrumbs_sec > span:before{ content: "/"; display: block; position: absolute; top: 0; left: 10px; color: #333; font-size: 17px; }
.breadcrumbs_sec span:first-child:before{ content: ""; margin-left: 0; }
.breadcrumbs_sec > span a{ color: #333; font-size: 1.7rem; margin: 0 0 0 30px; }
.breadcrumbs_sec > span:first-child a{ margin: 0 0 0 0; }
.breadcrumbs_sec span a:hover{ opacity: 0.6; }

/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */

.main{}
.contents{}
.page_sec{ width: 90%; max-width: 1200px; margin: 0 auto; }
.page_sec p{ font-size: 1.8rem; letter-spacing: 2px; line-height: 1.4; margin-bottom: 20px; }

.top_img_wrap{ position: relative; margin-bottom: 250px; }
.top_img{ position: relative; width: 1800px; height: 600px; margin: 0 0 0 auto; z-index: -1; }


.top_catch{ position: absolute; left: 8%; bottom: -150px; }
.top_catch01{ font-size: 20rem; font-weight: 800; letter-spacing: 2px; margin-bottom: 20px; background: linear-gradient(90deg,rgba(188, 200, 0, 1) 0%, rgba(0, 165, 62, 1) 70%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; line-height: 1; }
.top_catch02{ font-size: 5rem; font-weight: 700; letter-spacing: 3px; line-height: 1; }
.top_catch02 i{ margin-right: 10px; }


.top_main01{}
.top_main01_list{ display: flex; gap: 40px; margin-bottom: 100px; }
.top_main01_list:nth-child(2){ flex-direction: row-reverse; }
.top_main01_item{}
.top_main01_item_img{}
.top_main01_item_txt{ width: 35%; }
.top_main01_tit01{ font-size: 13rem; font-weight: 800; letter-spacing: 2px; margin-bottom: 20px; background: linear-gradient(90deg,rgba(188, 200, 0, 1) 0%, rgba(0, 165, 62, 1) 70%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; line-height: 1; }
.top_main01_tit02{ font-size: 2.5rem; font-weight: 700; margin-bottom: 20px; }
.top_main01_txt01{ font-size: 1.9rem; line-height: 1.6; letter-spacing: 3px; }
.top_main01_btn01{ width: 240px; margin-top: 20px; }
.top_main01_btn01 a{ display: block; font-size: 2rem; color: var(--main-color); border: 2px solid var(--main-color); padding: 20px; text-align: center; letter-spacing: 2px; }
.top_main01_btn01 a:hover{ background-color: var(--main-color); color: #fff; }


p.txt_greeting01{ width: 60%; font-size: 2.1rem; line-height: 2; }

.greeting_name{ width: 60%; display: flex; align-items: center; justify-content: flex-end; text-align: right; letter-spacing: 2px; }
.greeting_name01{ font-size: 1.8rem; margin-right: 20px; }
.greeting_name02{ font-size: 3rem; }
.greeting_name02 span{ display: block; text-align: right; font-size: 1.5rem; }

.wp-block-columns{ justify-content: space-between; }

.table_outline01{}
.table_outline01 table{}
.table_outline01 table th{ width: 30%; padding: 15px; font-size: 1.8rem; font-weight: 600; text-align: left; border-bottom: 1px solid var(--main-color); }
.table_outline01 table td{ padding: 15px; font-size: 1.8rem; border-bottom: 1px solid #ccc; }

.table_outline01{ width: 100%; }
.table_outline01 table{ width: 100%; border-collapse: collapse; }



.map_sec {
  height: 250px;
}

.map_sec iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}



.business_sec{ position: relative; }
.business_sec_list{  }
.business_sec_item{ margin-bottom: 60px; }
.business_sec_item:nth-child(1){ background: url("/info/wp-content/uploads/img_business01-1.jpg") no-repeat top right; }
.business_sec_item:nth-child(3){ background: url("/info/wp-content/uploads/img_business02-1.jpg") no-repeat top right; }
.business_sec01{ width: 1200px; margin: 0 auto 80px auto; }
.business_sec_txt{ width: 50%; font-size: 1.8rem; line-height: 1.6; letter-spacing: 3px; margin-bottom: 30px; }
.business_sec_dl{ display: flex; justify-content: space-between; flex-wrap: wrap; width: 50%; }
.business_sec_dt{ flex-basis: 20%; font-size: 1.8rem; color: #fff; text-align: center; font-weight: 700; letter-spacing: 2px; padding: 10px; background-color: var(--main-color); margin-bottom: 10px; }
.business_sec_dd{ flex-basis: 80%; font-size: 1.8rem; color: #333; text-align: left; font-weight: 700; letter-spacing: 2px; padding: 10px 20px; background-color: #f3f3f3; margin-bottom: 10px; }

.business_sec_item_img{ display: none; }


.equipment_sec{}
.equipment_sec_list{ display: flex; justify-content: space-between; flex-wrap: wrap; }
.equipment_sec_item{ flex-basis: 32%; margin-bottom: 40px; }
.equipment_sec_img01{ margin-bottom: 10px; }
.equipment_sec_img01 img{ width: 100%; height: auto; }
.equipment_sec_tit01{ font-size: 1.8rem; font-weight: 600; letter-spacing: 2px;  }


.cases_sec{}
.cases_sec_list{ display: flex; justify-content: space-between; flex-wrap: wrap; }
.cases_sec_item{ flex-basis: 48%; margin-bottom: 60px; }
.cases_sec_tit{ display: flex; align-items: center; margin-bottom: 10px; }
.cases_sec_cat01{ display: inline-block; color: #fff; font-size: 1.8rem; font-weight: 700; background-color: #2064c2; border-radius: 40px; padding: 3px 10px; margin-right: 20px; }
.cases_sec_tit01{ font-size: 3rem; font-weight: 700; letter-spacing: 2px; }
.cases_sec_img01{ margin-bottom: 20px; }
.cases_sec_img01 img{ width: 100%; height: auto; }

.cases_sec_dl{ display: flex; justify-content: space-between; flex-wrap: wrap; }
.cases_sec_dt{ flex-basis: 20%; font-size: 1.8rem; color: #fff; text-align: center; font-weight: 700; letter-spacing: 2px; padding: 10px; background-color: var(--main-color); margin-bottom: 10px; }
.cases_sec_dd{ flex-basis: 80%; font-size: 1.8rem; color: #333; text-align: left; font-weight: 700; letter-spacing: 2px; padding: 10px 20px; background-color: #f3f3f3; margin-bottom: 10px; }

.cases_sec_txt01{ font-size: 1.5rem; line-height: 1.7; letter-spacing: 2px; }


.privacy_sec01{ width: 90%; margin: 0 0 0 auto; }
.privacy_sec01 p{ font-size: 1.6rem; letter-spacing: 2px; line-height: 1.6;  }




/* 共通 */
.column_bg01{ background-color: var(--main-color-koime); color: #fff; padding: 40px 0 80px 0; }
.column_bg01 h2 span{ color: #fff; }

.box01{ width: 90%; max-width: 1000px; margin: 0 auto; }

.txt01{ font-size: 1.8rem; letter-spacing: 2px; line-height: 1.8; }

.table01 table{ width: 100%; }
.table01 thead th{ color: #fff; background-color: var(--main-color) !important; border: 1px solid #ccc !important; padding: 15px !important; }
.table01 th,
.table01 td{ border: 1px solid #ccc !important; padding: 15px !important; }


.table02 table{ max-width: 100%; width: 900px; margin: 0 auto; }
.table02 table th{ background-color: #f5f5f5; padding: 10px 15px !important; text-align: left; font-size: 1.5rem; }
.table02 table td{ border-top: 0 !important; border-left: 0 !important; border-right: 0 !important; border-bottom: 1px solid #ccc !important; padding: 15px !important;  font-size: 1.8rem; }
.table02 table th:nth-child(1),
.table02 table th:nth-child(6),
.table02 table td:nth-child(1),
.table02 table td:nth-child(6){ width: 8%; text-align: center; }

.table03 table{ width: 100%; }
.table03 table th,
.table03 table td{ border-top: 0 !important; border-left: 0 !important; border-right: 0 !important; border-bottom: 1px solid #ccc !important; padding: 15px !important; background-color: #fff !important; }

.table04 table{ width: 100%; }
.table04 table th{ color: var(--main-color); border-top: 0 !important; border-left: 0 !important; border-right: 0 !important; border-bottom: 1px solid #ccc !important; padding: 15px !important; background-color: #fff !important; }
.table04 table td{ border-top: 0 !important; border-left: 0 !important; border-right: 0 !important; border-bottom: 1px solid #ccc !important; padding: 15px !important; background-color: #fff !important; }

ul.list01{ display: flex; margin: 20px 0 60px 0; }
ul.list01 li{ position: relative; font-size: 2.5rem; color: var(--main-color); padding: 0 0 0 40px; margin-right: 40px; }
ul.list01 li:before{ position: absolute; content: ""; display: block; width: 20px; height: 20px; background-color: #f9e876; border-radius: 50%; top: 10px; left: 0; }


ol.ol_list01{ margin: 10px 0 0 30px; }
ol.ol_list01 li{ list-style-type: decimal; font-size: 1.8rem; letter-spacing: 2px; line-height: 1.8; margin-bottom: 5px; }




/* ページ内アンカーリンク */
.main_nav{ background-color: #62a7cd; padding: 15px 0; }
.main_nav > nav{ }
.main_nav > nav > ul{ display: flex; justify-content: center; }
.nav_item{ position: relative; color: #fff; font-size: 1.5rem; padding: 0 20px 0 0; }
.nav_item:after{ content: "/"; display: block; position: absolute; top: 0; right: 8px; }
.nav_item:last-child:after{ display: none; }
.nav_item a{ color: #fff; font-size: 1.5rem; letter-spacing: 2px; }












/* フォーム */
.contact_sec{ width: 1100px; margin: 0 auto; }
.contact_item{display: flex; width: 100%; padding: 20px 20px; border-bottom: 1px solid #ccc; max-width: 1100px; margin: 0 auto;}
.contact_tit{ width: 25%;  font-weight: 700!important; position: relative; margin-left: 80px; text-align: left!important;;}
.contact_tit span{ position: absolute; font-size: 1.5rem; background-color: #E02E30; color: #fff; margin-right: 15px; border: 1px solid #E02E30; padding: 4px 8px; left: -80px; top: -5px; border-radius: 40px; }
.contact_tit .optional{background-color: #999; border: 1px solid #999;}
.contact_txt,
.contact_adress,
.contact_txtarea{ width: 73%; }
.contact_txt input{font-size: 2rem; background: #fff; height: 35px; padding: 8px; border: 1px solid #ccc; width: 100%; }
.contact_txtarea textarea{font-size: 2rem; padding: 8px; background: #fff; border: 1px solid #ccc; width: 100%; }
.contact_adress_sub p{padding: 15px 0;}
.contact_adress input{background: #fff; border: 1px solid #ccc; height: 35px; margin-left: 15px; font-size: 2rem; padding: 8px; }
.contact_submit{border-bottom: none;}
.contact_submit_btn{ text-align: center; margin-top: 30px; }
.contact_submit_btn input{ background-color: var(--main-color); color: #fff; font-size: 1.8rem; font-weight: 700; font-family: "LineSeedJP_Rg","Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif; letter-spacing: 1px; padding: 15px 30px; cursor: pointer; -webkit-appearance: none; border-radius: 0; border: none; transition: .5s all; }

.contact_submit_btn input:hover{opacity: 0.7;}

input[type="checkbox"]{float: left;}
.contact_check{display: flex;}
.contact_submit .contact_tit{width: 30%;}
.wpcf7-spinner{display: block;}

.contact_adress_sub p span{margin-left: 10px;}

::placeholder{ color: #999; }



.sitemap_list{ width: 50%; margin: 0 auto; }
.page_item{ position: relative; margin-bottom: 40px; }
.page_item:before{ display: block; position: absolute; content: ""; top: 8px; left: 0; width: 15px; height: 15px; border-radius: 100%; background-color: var(--main-color); }
.page_item > a{ font-size: 2.2rem; font-weight: 700; letter-spacing: 2px; padding-left: 30px; }

.page_item > ul{ margin: 10px 0 30px 0; }
.page_item > ul > li{ margin-bottom: 5px; }
.page_item > ul > li > a {
position: relative;
display: block;
font-size: 1.8rem;
text-decoration: none;
padding: 5px 5px 5px 30px;
letter-spacing: 2px;
}

.page_item > ul > li > a:before{
content: '';
width: 6px;
height: 6px;
border-top: solid 1px var(--main-color);
border-right: solid 1px var(--main-color);
position: absolute;
left: 15px;
top: 13px;
transform: rotate(45deg);
}





/* ----------------------------------------------------------
 SP CSS
---------------------------------------------------------- */
@media screen and (max-width: 520px){
img,video {
  max-width: 100%;
  height: auto;
}

/* フォントサイズ10px=62.5% */
html{ font-size: 60%; }

/* 基本のフォントサイズ */
body{ font-size: 1.8rem; height: auto !important; height: 100%; padding-top: 0; }

/* 非表示用 */
.noneSP		{ display: none !important; }


/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
header{ position: fixed; top: 0; width: 100%; height: 50px; z-index: 100; background-color: #fff; box-shadow: 0px 8px 16px -6px rgba(0,0,0,0.1); }

.header_wrap{ display: flex; justify-content: space-between; align-items: center; }

.header_logo{ flex-basis: 50%; margin-left: 3%; max-width: 200px; max-height: 33px; margin-top: 10px; }

.header_logo_sec{ }
.header_logo_sec a{ display: flex; }
.header_logo_sec a svg{ margin-right: 10px; }




.gnavi{ flex-basis: 43%; margin-left: 15%; }
.gnavi a{ font-size: 1.6rem; text-align: center; letter-spacing: 1px; }
.gnavi a:hover{ background-color: #eee; }


.header_tel{ display: none; }
.header_contact{ display: none; }

/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */

/* ページ下部 固定メニュー */
.btm_menu { position: fixed; bottom: -50px; width: 100%; border-top: 1px solid #fff; z-index: 99; }
.btm_menu li { float: left; width: 50%; }
.btm_menu li a{ border-right: 1px solid #fff; }
.btm_menu li:last-child a{ border-right: 0px solid #fff; }
.btm_menu li a { display: block; height: 50px; text-align: center; font-size: 1.6rem; font-weight: 700; padding: 15px 5px 5px; background-color: var(--main-color); color: #fff; }
.btm_menu li a i{ font-size: 1.8rem; margin-right: 10px; vertical-align: middle; }
.btm_menu li a:hover { background-color: #333; color: #fff; }
.btm_menu ul:after { content: ''; clear: both; display: block; }



.footer_contact{ background-color: var(--main-color); padding: 30px 0; margin-top: 100px; }
.footer_contact_sec{ width: 90%; margin: 0 auto; flex-wrap: wrap; }

.footer_contact_sec_tit{ flex-basis: 100%; font-size: 7rem; }
.footer_contact_sec_tit span{ font-size: 1.6rem; margin-bottom: 20px; }
.footer_contact_sec01{ flex-basis: 100%; padding: 20px; flex-wrap: wrap; }
.footer_contact_sec_tel01{ flex-basis: 100%; font-size: 4rem; margin-right: 0px; text-align: center; }
.footer_contact_sec_tel01 i{ font-size: 3rem; }
.footer_contact_sec_btn01{ flex-basis: 100%; width: 100%; }
.footer_contact_sec_btn01 a{ font-size: 2.2rem; }
.footer_contact_sec_btn01 a i{ font-size: 2rem; margin-right: 10px; }
.footer_contact_sec_btn01 a:hover{ background-color: #fff; color: var(--contact-color); }


footer{ background-color: var(--footer-color); padding: 30px 0 70px 0;; }
.footer_sec{ width: 90%; flex-wrap: wrap; }
.footer_logo{ width: 90%; margin: 0 auto; }
.footer_logo img{ width: 80%; height: auto; text-align: center; }
.footer_logo span{ display: block; font-size: 1.6rem; margin-top: 10px; }
.footer_logo p{ font-size: 1.2rem; margin-top: 20px; color: rgba(255,255,255,.6); }
.footer_logo a:hover{ opacity: .6; }
.footer_sitemap{ display: none; }



/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */
.h1_wrap{ width: 100%; margin: 50px auto 100px auto; }
.h1_bg{ position: relative; width: 100%; height: auto; margin: 0 0 0 auto; }

.h1_wrap_sec{ position: absolute; left: 3%; bottom: -160px; }
.h1_wrap_sec h1{ font-size: 2.5rem; font-weight: 700; letter-spacing: 3px; margin-bottom: 10px; }
.h1_01{ font-size: 8rem; font-weight: 800; letter-spacing: 2px; margin-bottom: 20px; background: linear-gradient(90deg,rgba(188, 200, 0, 1) 0%, rgba(0, 165, 62, 1) 70%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; line-height: 1; }


h2{ font-size: 3rem; margin-bottom: 30px; }
h2 span{ font-size: 5rem; }


h3{ font-size: 2.4rem; color: var(--main-color); font-weight: 700; letter-spacing: 2px; line-height: 1.5; margin-bottom: 20px; }


/* ぱんくず */ 
.breadcrumbs_sec{ letter-spacing: 2px; margin-bottom: 30px; } 
.breadcrumbs_sec > span{ display: inline-block; position: relative; color: #333; font-size: 1.5rem; }
.breadcrumbs_sec > span span{ margin-left: 25px; }
.breadcrumbs_sec > span a span{ margin-left: 0; }
.breadcrumbs_sec > span:first-child span{ margin-left: 0; }
.breadcrumbs_sec > span br{ display: none; }
.breadcrumbs_sec > span:before{ content: "/"; display: block; position: absolute; top: 0; left: 10px; color: #333; font-size: 15px; }
.breadcrumbs_sec span:first-child:before{ content: ""; margin-left: 0; }
.breadcrumbs_sec > span a{ color: #333; font-size: 1.5rem; margin: 0 0 0 30px; }
.breadcrumbs_sec > span:first-child a{ margin: 0 0 0 0; }
.breadcrumbs_sec span a:hover{ opacity: 0.6; }

/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */

.main{}
.contents{}
.page_sec{ width: 90%; max-width: 1200px; margin: 0 auto; padding-top: 40px; }

.top_img_wrap{ position: relative; margin-bottom: 80px; }
.top_img{ position: relative; width: 100%; height: auto; margin: 0 0 0 auto; z-index: -1; }

.top_catch{ position: absolute; left: 3%; bottom: -60px; }
.top_catch01{ font-size: 6rem; font-weight: 800; letter-spacing: 2px; margin-bottom: 20px; background: linear-gradient(90deg,rgba(188, 200, 0, 1) 0%, rgba(0, 165, 62, 1) 70%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; line-height: 1; }
.top_catch02{ display: flex; align-items: center; font-size: 1.6rem; font-weight: 700; letter-spacing: 2px; line-height: 1; }
.top_catch02 i{ font-size: 2rem; margin-right: 5px; }


.top_main01{ width: 90%; margin: 0 auto; }
.top_main01_list{ flex-wrap: wrap; gap: 20px; margin-bottom: 60px; }
.top_main01_list:nth-child(2){ flex-direction: column; }
.top_main01_item{}
.top_main01_item_img{}
.top_main01_item_txt{ width: 100%; }
.top_main01_tit01{ font-size: 6rem; font-weight: 800; letter-spacing: 2px; margin-bottom: 20px; background: linear-gradient(90deg,rgba(188, 200, 0, 1) 0%, rgba(0, 165, 62, 1) 70%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; line-height: 1; }
.top_main01_tit02{ font-size: 2rem; font-weight: 700; margin-bottom: 20px; }
.top_main01_txt01{ font-size: 1.6rem; line-height: 1.6; letter-spacing: 3px; }
.top_main01_btn01{ width: 200px; margin-top: 20px; }
.top_main01_btn01 a{ font-size: 1.6rem; padding: 10px; }


.business_sec{ padding-top: 40px; }

.business_sec_item{ margin-bottom: 30px; }
.business_sec_item:nth-child(1){ background: none; }
.business_sec_item:nth-child(3){ background: none; }

.business_sec01{ width: 90%; margin: 0 auto 30px auto; }
.business_sec_item_img{ display: block; text-align: center; }

.business_sec_txt{ width: 100%; font-size: 1.8rem; line-height: 1.6; letter-spacing: 3px; margin-bottom: 30px; }
.business_sec_dl{ display: flex; justify-content: space-between; flex-wrap: wrap; width: 100%; }
.business_sec_dt{ flex-basis: 30%; font-size: 1.6rem; padding: 5px 10px; margin-bottom: 0; }
.business_sec_dd{ flex-basis: 100%; font-size: 1.6rem; color: #333; text-align: left; font-weight: 700; letter-spacing: 2px; padding: 10px 20px; background-color: #f3f3f3; margin-bottom: 10px; }


p.txt_greeting01{ width: 100%; font-size: 1.8rem; }
.greeting_name{ width: 100%; }
.greeting_name01{ font-size: 1.6rem; }
.greeting_name02{ font-size: 2.4rem; }
.greeting_name02 span{ font-size: 1.3rem; }


.table_outline01{}
.table_outline01 table{}
.table_outline01 table th{ display: block; width: 100%; padding: 10px 15px; font-size: 1.8rem; background-color: #f5f5f5; }
.table_outline01 table td{ display: block; width: 100%; padding: 15px; font-size: 1.8rem; border-bottom: 1px solid #ccc; }

.map_sec {
  height: 150%;
}


.equipment_sec_item{ flex-basis: 48%; margin-bottom: 40px; }
.equipment_sec_tit01{ font-size: 1.6rem; }


.cases_sec{}
.cases_sec_item{ flex-basis: 100%; margin-bottom: 60px; }
.cases_sec_tit{ flex-wrap: wrap; }
.cases_sec_cat01{ display: block; font-size: 1.4rem; margin-right: 10px; }
.cases_sec_tit01{ flex-basis: 100%; font-size: 2rem; }

.cases_sec_dl{ display: flex; justify-content: space-between; flex-wrap: wrap; }
.cases_sec_dt{ flex-basis: 40%; font-size: 1.6rem; color: #fff; text-align: center; font-weight: 700; letter-spacing: 2px; padding: 5px 10px; background-color: var(--main-color); margin-bottom: 0px; }
.cases_sec_dd{ flex-basis: 100%; font-size: 1.6rem; color: #333; text-align: left; font-weight: 700; letter-spacing: 2px; padding: 10px 20px; background-color: #f3f3f3; margin-bottom: 10px; }

.cases_sec_txt01{ font-size: 1.5rem; line-height: 1.7; letter-spacing: 2px; }

.contact .box01{ width: 100%; }

/* フォーム */
.contact_sec{ width: 100%; margin: 0 auto; }
.contact_item{ position: relative; display: flex; flex-wrap: wrap; width: 100%; padding: 20px 0; border-bottom: 1px solid #ccc; max-width: 1100px; margin: 0 auto;}
.contact_item p{ margin-bottom: 5px; }
.contact_item .mail_confirm{ display: block; font-size: 1.3rem; margin-bottom: 5px; }
.contact_tit{ flex-basis: 100%; width: 100%; margin-left: 80px; margin-bottom: 5px; }
.contact_tit span{ display: block; position: absolute; margin-right: 15px; padding: 2px 8px; left: -80px; top: 0; font-size: 1.4rem; }
.contact_tit .optional{background-color: #999; border: 1px solid #999;}
.contact_txt,
.contact_adress,
.contact_txtarea{ width: 100%; }
.contact_txt input{font-size: 2rem; background: #fff; height: 35px; padding: 8px; border: 1px solid #ccc; width: 100%; }
.contact_txtarea textarea{font-size: 2rem; padding: 8px; background: #fff; border: 1px solid #ccc; width: 100%; }
.contact_adress_sub p{ padding: 0; }
.contact_adress input{background: #fff; border: 1px solid #ccc; height: 35px; margin-left: 0; font-size: 2rem; padding: 8px; width: 100%; }
.contact_submit{border-bottom: none;}
.contact_submit_btn{text-align: center; margin-top: 30px;}
.contact_submit_btn input{ background-color: var(--main-color); color: #fff; font-size: 1.8rem; letter-spacing: 1px; padding: 15px 30px; cursor: pointer; -webkit-appearance: none; border-radius: 0; border: none;}

.contact_submit_btn input:hover{opacity: 0.7;}

input[type="checkbox"]{float: left;}
.contact_check{display: flex;}
.contact_submit .contact_tit{width: 30%;}
.wpcf7-spinner{display: block;}

.contact_adress_sub p span{margin-left: 0px;}

::placeholder{ color: #999; }

.privacy_sec01{ width: 100%; margin: 0 0 0 auto; }
.privacy_sec01 p{ font-size: 1.6rem; letter-spacing: 2px; line-height: 1.6;  }

ol.ol_list01{ margin: 10px 0 0 30px; }
ol.ol_list01 li{ list-style-type: decimal; font-size: 1.6rem; letter-spacing: 2px; line-height: 1.8; margin-bottom: 5px; }





}
/* ----------------------------------------------------------
 SP CSS END
---------------------------------------------------------- */

/* ----------------------------------------------------------
 TAB CSS
---------------------------------------------------------- */
@media screen and (min-width: 521px) and (max-width: 1023px){

img,video {
  max-width: 100%;
  height: auto;
}

/* フォントサイズ10px=62.5% */
html{ font-size: 50%; }

/* 基本のフォントサイズ */
body{ font-size: 1.8rem; padding-top: 0; }

/* 非表示用 */
.noneTAB		{ display: none !important; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
header{ position: fixed; top: 0; width: 100%; height: 50px; z-index: 100; background-color: #fff; box-shadow: 0px 8px 16px -6px rgba(0,0,0,0.1); }

.header_wrap{ display: flex; justify-content: space-between; align-items: center; }

.header_logo{ flex-basis: 50%; margin-left: 3%; max-width: 200px; max-height: 33px; margin-top: 10px; }

.header_logo_sec{ }
.header_logo_sec a{ display: flex; }
.header_logo_sec a svg{ margin-right: 10px; }




.gnavi{ flex-basis: 43%; margin-left: 15%; }
.gnavi a{ font-size: 1.6rem; text-align: center; letter-spacing: 1px; }
.gnavi a:hover{ background-color: #eee; }


.header_tel{ display: none; }
.header_contact{ display: none; }


/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
/* ページ下部 固定メニュー */
.btm_menu{ display: none; }

.footer_contact{ background-color: var(--main-color); padding: 30px 0; margin-top: 50px; }
.footer_contact_sec{ width: 90%; margin: 0 auto; flex-wrap: wrap; }

.footer_contact_sec_tit{ flex-basis: 100%; font-size: 8rem; }
.footer_contact_sec_tit span{ font-size: 1.6rem; margin-bottom: 20px; }
.footer_contact_sec01{ flex-basis: 100%; padding: 20px; flex-wrap: wrap; }
.footer_contact_sec_tel01{ flex-basis: 100%; font-size: 4rem; margin-right: 30px; text-align: center; }
.footer_contact_sec_tel01 i{ font-size: 3rem; }
.footer_contact_sec_btn01{ flex-basis: 100%; width: 100%; }
.footer_contact_sec_btn01 a{ font-size: 2.2rem; }
.footer_contact_sec_btn01 a i{ font-size: 2rem; margin-right: 10px; }
.footer_contact_sec_btn01 a:hover{ background-color: #fff; color: var(--contact-color); }


footer{ background-color: var(--footer-color); padding: 30px 0; }
.footer_sec{ width: 90%; flex-wrap: wrap; }
.footer_logo{ width: 90%; margin: 0 auto; }
.footer_logo img{ width: 50%; max-width: 250px; height: auto; text-align: center; }
.footer_logo span{ display: block; font-size: 1.6rem; margin-top: 10px; }
.footer_logo p{ font-size: 1.2rem; margin-top: 20px; color: rgba(255,255,255,.6); }
.footer_logo a:hover{ opacity: .6; }
.footer_sitemap{ display: none; }
	
/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */
.h1_wrap{ width: 100%; margin: 50px auto 100px auto; }
.h1_bg{ position: relative; width: 100%; height: auto; margin: 0 0 0 auto; }

.h1_wrap_sec{ position: absolute; left: 3%; bottom: -160px; }
.h1_wrap_sec h1{ font-size: 2.5rem; font-weight: 700; letter-spacing: 3px; margin-bottom: 10px; }
.h1_01{ font-size: 8rem; font-weight: 800; letter-spacing: 2px; margin-bottom: 20px; background: linear-gradient(90deg,rgba(188, 200, 0, 1) 0%, rgba(0, 165, 62, 1) 70%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; line-height: 1; }


h2{ font-size: 3rem; margin-bottom: 30px; }
h2 span{ font-size: 5rem; }


h3{ font-size: 2.4rem; color: var(--main-color); font-weight: 700; letter-spacing: 2px; line-height: 1.5; margin-bottom: 20px; }


/* ぱんくず */ 
.breadcrumbs_sec{ letter-spacing: 2px; margin-bottom: 30px; } 
.breadcrumbs_sec > span{ display: inline-block; position: relative; color: #333; font-size: 1.5rem; }
.breadcrumbs_sec > span span{ margin-left: 25px; }
.breadcrumbs_sec > span a span{ margin-left: 0; }
.breadcrumbs_sec > span:first-child span{ margin-left: 0; }
.breadcrumbs_sec > span br{ display: none; }
.breadcrumbs_sec > span:before{ content: "/"; display: block; position: absolute; top: 0; left: 10px; color: #333; font-size: 15px; }
.breadcrumbs_sec span:first-child:before{ content: ""; margin-left: 0; }
.breadcrumbs_sec > span a{ color: #333; font-size: 1.5rem; margin: 0 0 0 30px; }
.breadcrumbs_sec > span:first-child a{ margin: 0 0 0 0; }
.breadcrumbs_sec span a:hover{ opacity: 0.6; }



/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */

.main{}
.contents{}
.page_sec{ width: 90%; max-width: 1200px; margin: 0 auto; padding-top: 40px; }

.top_img_wrap{ position: relative; margin-bottom: 80px; }
.top_img{ position: relative; width: 100%; height: auto; margin: 0 0 0 auto; z-index: -1; }

.top_catch{ position: absolute; left: 3%; bottom: -60px; }
.top_catch01{ font-size: 6rem; font-weight: 800; letter-spacing: 2px; margin-bottom: 20px; background: linear-gradient(90deg,rgba(188, 200, 0, 1) 0%, rgba(0, 165, 62, 1) 70%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; line-height: 1; }
.top_catch02{ font-size: 1.6rem; font-weight: 700; letter-spacing: 2px; line-height: 1; }
.top_catch02 i{ margin-right: 10px; }


.top_main01{ width: 90%; margin: 0 auto; }
.top_main01_list{ flex-wrap: wrap; gap: 20px; margin-bottom: 60px; }
.top_main01_list:nth-child(2){ flex-direction: column; }
.top_main01_item{}
.top_main01_item_img{}
.top_main01_item_txt{ width: 100%; }
.top_main01_tit01{ font-size: 6rem; font-weight: 800; letter-spacing: 2px; margin-bottom: 20px; background: linear-gradient(90deg,rgba(188, 200, 0, 1) 0%, rgba(0, 165, 62, 1) 70%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; line-height: 1; }
.top_main01_tit02{ font-size: 2rem; font-weight: 700; margin-bottom: 20px; }
.top_main01_txt01{ font-size: 1.6rem; line-height: 1.6; letter-spacing: 3px; }
.top_main01_btn01{ width: 200px; margin-top: 20px; }
.top_main01_btn01 a{ font-size: 1.6rem; padding: 10px; }


.business_sec{ padding-top: 40px; }

.business_sec_item{ margin-bottom: 30px; }
.business_sec_item:nth-child(1){ background: none; }
.business_sec_item:nth-child(3){ background: none; }

.business_sec01{ width: 90%; margin: 0 auto 30px auto; }
.business_sec_item_img{ display: block; text-align: center; }

.business_sec_txt{ width: 100%; font-size: 1.8rem; line-height: 1.6; letter-spacing: 3px; margin-bottom: 30px; }
.business_sec_dl{ display: flex; justify-content: space-between; flex-wrap: wrap; width: 100%; }
.business_sec_dt{ flex-basis: 20%; font-size: 1.8rem; color: #fff; text-align: center; font-weight: 700; letter-spacing: 2px; padding: 10px; background-color: var(--main-color); margin-bottom: 10px; }
.business_sec_dd{ flex-basis: 80%; font-size: 1.8rem; color: #333; text-align: left; font-weight: 700; letter-spacing: 2px; padding: 10px 20px; background-color: #f3f3f3; margin-bottom: 10px; }


p.txt_greeting01{ width: 100%; font-size: 1.8rem; }
.greeting_name{ width: 100%; }
.greeting_name01{ font-size: 1.6rem; }
.greeting_name02{ font-size: 2.4rem; }
.greeting_name02 span{ font-size: 1.3rem; }


.table_outline01{}
.table_outline01 table{}
.table_outline01 table th{ display: block; width: 100%; padding: 10px 15px; font-size: 1.8rem; background-color: #f5f5f5; }
.table_outline01 table td{ display: block; width: 100%; padding: 15px; font-size: 1.8rem; border-bottom: 1px solid #ccc; }

.map_sec {
  height: 150%;
}


.equipment_sec_item{ flex-basis: 48%; margin-bottom: 40px; }
.equipment_sec_tit01{ font-size: 1.6rem; }


.cases_sec{}
.cases_sec_item{ flex-basis: 48%; margin-bottom: 40px; }
.cases_sec_tit{ flex-wrap: wrap; }
.cases_sec_cat01{ font-size: 1.4rem; margin-right: 10px; }
.cases_sec_tit01{ flex-basis: 100%; font-size: 1.7rem; }

.cases_sec_dl{ display: flex; justify-content: space-between; flex-wrap: wrap; }
.cases_sec_dt{ flex-basis: 40%; font-size: 1.6rem; color: #fff; text-align: center; font-weight: 700; letter-spacing: 2px; padding: 5px 10px; background-color: var(--main-color); margin-bottom: 0px; }
.cases_sec_dd{ flex-basis: 100%; font-size: 1.6rem; color: #333; text-align: left; font-weight: 700; letter-spacing: 2px; padding: 10px 20px; background-color: #f3f3f3; margin-bottom: 10px; }

.cases_sec_txt01{ font-size: 1.5rem; line-height: 1.7; letter-spacing: 2px; }

.contact .box01{ width: 100%; }

/* フォーム */
.contact_sec{ width: 100%; margin: 0 auto; }
.contact_item{ position: relative; display: flex; flex-wrap: wrap; width: 100%; padding: 20px 0; border-bottom: 1px solid #ccc; max-width: 1100px; margin: 0 auto;}
.contact_item p{ margin-bottom: 5px; }
.contact_item .mail_confirm{ display: block; font-size: 1.3rem; margin-bottom: 5px; }
.contact_tit{ flex-basis: 100%; width: 100%; margin-left: 80px; margin-bottom: 5px; }
.contact_tit span{ display: block; position: absolute; margin-right: 15px; padding: 2px 8px; left: -80px; top: 0; font-size: 1.4rem; }
.contact_tit .optional{background-color: #999; border: 1px solid #999;}
.contact_txt,
.contact_adress,
.contact_txtarea{ width: 100%; }
.contact_txt input{font-size: 2rem; background: #fff; height: 35px; padding: 8px; border: 1px solid #ccc; width: 100%; }
.contact_txtarea textarea{font-size: 2rem; padding: 8px; background: #fff; border: 1px solid #ccc; width: 100%; }
.contact_adress_sub p{ padding: 0; }
.contact_adress input{background: #fff; border: 1px solid #ccc; height: 35px; margin-left: 0; font-size: 2rem; padding: 8px; width: 100%; }
.contact_submit{border-bottom: none;}
.contact_submit_btn{text-align: center; margin-top: 30px;}
.contact_submit_btn input{ background-color: var(--main-color); color: #fff; font-size: 1.8rem; letter-spacing: 1px; padding: 15px 30px; cursor: pointer; -webkit-appearance: none; border-radius: 0; border: none;}

.contact_submit_btn input:hover{opacity: 0.7;}

input[type="checkbox"]{float: left;}
.contact_check{display: flex;}
.contact_submit .contact_tit{width: 30%;}
.wpcf7-spinner{display: block;}

.contact_adress_sub p span{margin-left: 0px;}

::placeholder{ color: #999; }

.privacy_sec01{ width: 100%; margin: 0 0 0 auto; }
.privacy_sec01 p{ font-size: 1.6rem; letter-spacing: 2px; line-height: 1.6;  }

ol.ol_list01{ margin: 10px 0 0 30px; }
ol.ol_list01 li{ list-style-type: decimal; font-size: 1.6rem; letter-spacing: 2px; line-height: 1.8; margin-bottom: 5px; }




}
/* ----------------------------------------------------------
TAB CSS END
---------------------------------------------------------- */

/* ----------------------------------------------------------
PC CSS
---------------------------------------------------------- */
@media print, screen and (min-width: 1024px) and (max-width: 1600px){

/* フォントサイズ10px */
html{ font-size: 62.5%; }

/* 基本のフォントサイズ */
body{ font-size: 16px; font-size: 1.8rem; }

/* 非表示用 */
.nonePC		{ display: none !important; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
.header_logo{ flex-basis: 25%; margin-left: 3%; }
.header_logo img{ width: 100%; height: auto; }
	
.gnavi{ flex-basis: 30%; margin-left: 10%; }

.header_tel{ flex-basis: 11%; margin-right: 120px; min-width: 250px; font-size: 3.3rem; }
.header_tel i{ font-size: 2.5rem; margin-right: 10px; color: var(--main-color02); }


.header_contact{ width: 100px; }

#toggle{ display: none; }
#nav{ display: none; }

/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
/* ページ下部 固定メニュー */
.btm_menu{ display: none; }


.footer_contact{ background-color: var(--main-color); padding: 40px 0; margin-top: 100px; }
.footer_contact_sec{ width: 94%; }

.footer_contact_sec_tit{ font-size: 8rem; }
.footer_contact_sec_tit span{ display: block; font-size: 1.8rem; }
.footer_contact_sec01{ padding: 20px 20px; }
.footer_contact_sec_tel01{ font-size: 3.5rem; font-weight: 600; margin-right: 30px; }
.footer_contact_sec_tel01 i{ font-size: 3rem; color: var(--main-color02); margin-right: 10px; }
.footer_contact_sec_btn01{ width: 220px; }
.footer_contact_sec_btn01 a{ font-size: 2rem; }
.footer_contact_sec_btn01 a i{ font-size: 2.3rem; margin-right: 10px; }


footer{ padding: 40px 0; }
.footer_sec{ width: 94%; }
.footer_logo{ flex-basis: 33%; }
.footer_logo span{ font-size: 1.5rem; margin-top: 10px; }
.footer_logo p{ font-size: 1.2rem; margin-top: 20px; }
.footer_logo img{ width: 100%; max-width: 300px; height: auto; }
.footer_sitemap{}
.footer_sitemap_list{ display: flex; align-items: center; gap: 20px; }
.footer_sitemap_item{ flex: 1 0 auto; }
.footer_sitemap_item a{ font-size: 1.6rem; }
.footer_sitemap_item_instagram{  }
.footer_sitemap_item_instagram a{ display: block; font-size: 2rem; color: #333; width: 50px; height: 50px; background-color: #fff; text-align: center; line-height: 50px; border-radius: 100%; }
.footer_sitemap_item_instagram a i{ font-size: 2rem; }


/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */

.h1_bg{ position: relative; width: 100%; height: auto; margin: 0 0 0 auto; }
.h1_bg img{ width: 100%; height: auto; }


/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */

.top_img_wrap{ position: relative; margin-bottom: 250px; }
.top_img{ position: relative; width: 100%; height: auto; margin: 0 0 0 auto; z-index: -1; }
.top_img img{ width: 100%; height: auto; }

.top_catch{ position: absolute; left: 4%; bottom: -150px; }
.top_catch01{ font-size: 17rem; }
.top_catch02{ font-size: 4rem; }


.top_main01{}
.top_main01_list{ margin-bottom: 100px; gap: 20px; }
.top_main01_item{}
.top_main01_item_img{ flex-basis: 55%; }
.top_main01_item_img img{ width: 100%; height: auto; }
.top_main01_item_txt{ width: 40%; }
.top_main01_tit01{ font-size: 9rem; }



.business_sec_item{ margin-bottom: 30px; }
.business_sec_item:nth-child(1){ background: none; }
.business_sec_item:nth-child(3){ background: none; }

.business_sec01{ width: 90%; margin: 0 auto 30px auto; }
.business_sec_item_img{ display: block; text-align: center; }

.business_sec_txt{ width: 100%; font-size: 1.8rem; line-height: 1.6; letter-spacing: 3px; margin-bottom: 30px; }
.business_sec_dl{ display: flex; justify-content: space-between; flex-wrap: wrap; width: 70%; }
.business_sec_dt{ flex-basis: 20%; font-size: 1.8rem; color: #fff; text-align: center; font-weight: 700; letter-spacing: 2px; padding: 10px; background-color: var(--main-color); margin-bottom: 10px; }
.business_sec_dd{ flex-basis: 80%; font-size: 1.8rem; color: #333; text-align: left; font-weight: 700; letter-spacing: 2px; padding: 10px 20px; background-color: #f3f3f3; margin-bottom: 10px; }


p.txt_greeting01{ width: 100%; font-size: 2.1rem; line-height: 2; }
.greeting_name{ width: 100%; display: flex; align-items: center; justify-content: flex-end; text-align: right; letter-spacing: 2px; }


.cases_sec_dt{ flex-basis: 23%; font-size: 1.8rem; }
.cases_sec_dd{ flex-basis: 77%; font-size: 1.8rem; }


.box01{ width: 100%; max-width: 1000px; margin: 0 auto; }


}
/* ----------------------------------------------------------
 PC CSS END
---------------------------------------------------------- */
/* ----------------------------------------------------------
 PC WIDE CSS
---------------------------------------------------------- */
@media screen and (min-width: 1601px){
/* フォントサイズ10px */
html{ font-size: 62.5%; height: 100%; }

/* 基本のフォントサイズ */
body{ font-size: 16px; font-size: 1.8rem; height: 100%; }

/* 非表示用 */
.nonePCWIDE		{ display: none !important; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
#toggle{ display: none; }
#nav{ display: none; }
	
/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */
/* ページ下部 固定メニュー */
.btm_menu{ display: none; }



/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */



/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */





}
/* ----------------------------------------------------------
 PCWIDE CSS END
---------------------------------------------------------- */
