@charset "UTF-8";
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/all.min.css');


/*------------------------normalize*/
html {-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; scroll-behavior: smooth;}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {display: block;}audio,canvas,progress,video {display: inline-block; vertical-align: baseline;}a {background: transparent;}a:active,a:hover {outline: 0;}sub,sup {font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}sup {top: -0.5em;}sub {bottom: -0.25em;}img {border: 0;}svg:not(:root) {overflow: hidden;}figure {margin: 0;}hr {-moz-box-sizing: content-box; box-sizing: content-box; height: 0;}pre {overflow: auto;}button,input,optgroup,select,textarea {color: inherit; font: inherit; margin: 0;}button {overflow: visible;}button,select {text-transform: none;}button,html input[type="button"],input[type="reset"],input[type="submit"] {-webkit-appearance: button; cursor: pointer;}button[disabled],html input[disabled] {cursor: default;}button::-moz-focus-inner,input::-moz-focus-inner {border: 0; padding: 0;}input {line-height: normal;}input[type="checkbox"],input[type="radio"] {box-sizing: border-box; padding: 0;}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button {height: auto;}input[type="search"] {-webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box;}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}fieldset {border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em;}textarea {overflow: auto;}table {border-collapse: collapse; border-spacing: 0;}td,th {padding: 0;}img{ vertical-align: bottom;}
button{ border:none;}button:focus{ outline:none;}table { border-collapse: collapse; border-spacing: 0;}
*{ box-sizing: border-box;}
ul, ol{ margin: 0; padding: 0; list-style: none; }
dl, dt, dd{ margin: 0; padding: 0;}
/*------------------------normalizeEnd*/

body {
	background:#fff;
	/* font-family:'Hiragino kaku Gothic ProN', 'ヒラギノ角ゴ ProN W4', 'Meiryo', 'メイリオ', -apple-system, BlinkMacSystemFont, sans-serif; */
    font-family: "Noto Sans JP", sans-serif;
	color:#4d4d4d;
	margin:0 auto;
	text-align:left;
	font-size:18px;
line-height: 1.7;
}

h1, h2, h3, h4, h5, h6, p, ul{ margin: 0 0 1em; padding: 0;}
h2{ margin-bottom: 10px;}
h4{ font-size: 24px; margin-bottom: 10px;}
h5{ font-size: 18px; margin-bottom: 0;}
p{}
/* h1:before {
 font-family: "Font Awesome 6 Free";
 content: '\f004';
 font-weight: 900;
} */

.sectBox,
section{ margin-bottom: 50px; }
article{}
address{ font-style:normal;}

a{ word-break: break-all;}
a:link, a:visited{ text-decoration: none; color:#000;}/*007ab0*/
a:hover{ opacity: 0.6; transition: 0.4s; color:#117703;}/*0099FF*/
area { outline:none; }



/*------*/
.wrapBox{ width: 100%; max-width: 1080px; margin: 0 auto;}

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

}


/*------------------------Style*/
main{ text-align:left; margin-bottom: 40px;}



/* header */
header{ width: 100%; max-width: 1640px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; padding: 20px;}
header nav.menu{ font-size: 19px; font-weight: bold;}
header nav.menu ul{ display: flex;}
header nav.menu ul li{ margin-left: 2em; border-bottom: 4px solid #fff;}

header nav.menu ul li a:hover{ opacity: 1; color: #000;}
header nav.menu ul li.visit{ border-bottom: 4px solid #bfce1a;}
header nav.menu ul li:hover{ border-bottom: 4px solid #bfce1a; transition: .8s;}
.job a{ padding: 1px 1em 4px; border-radius: 200px; border: 2px solid #000; background: #bfce1a;}
header nav.menu ul li.job:hover { border-bottom: 4px solid #fff;}

@media screen and (max-width: 1080px) {
header{ padding: 10px 1em;}
header h1{ width: 100%; margin: 0;}
header h1 img{ width: 80%; max-width: 320px;}

header nav.menu ul{ display: block; padding-top: 2em;}
header nav.menu ul li{ margin: 0 0 1em; text-align: center;}
}



/* footer */
footer{ background: #f0f0f0; padding: 100px 1em 50px;}
footer .wrap{ width: 100%; max-width: 1080px; margin: 0 auto;}


/* contactBox */
.contactBox{ display: flex; justify-content: space-between; margin-bottom: 50px;  padding: 0 1em; background: #fff; border: 2px solid #000; border-radius: 16px;align-items: center;}
.contactBox .box01,
.contactBox .box02{ width: 33%; margin: 1em auto;}
.contactBox .box01{ border-right: 1px solid #000;}
.contactBox .box02{}
.contactBox h3{ font-size: 32px; letter-spacing: 2px; margin: 1em;}
.contactBox p{ font-size: 14px; margin: 0;}
.contactBox .telBox{ font-size: 28px; line-height: 0; font-weight: bold; letter-spacing: 2px;}
.contactBox .mailBox{ font-size: 24px; line-height: 0; font-weight: bold;}
.contactBox i{ font-size: 24px;}
.contactBox p{ margin-left: 2.5em;}

@media screen and (max-width: 1080px) {
.contactBox{ display: block; padding: 0;}
.contactBox .box01,
.contactBox .box02{ width: 100%; margin-bottom: 1em; padding: 0 1em; text-align: center;}

.contactBox .box01{ border: none;}
.contactBox h3{ font-size: 32px; text-align: center; margin-left: 0;}
.contactBox .telBox{ font-size: 24px; line-height: 1.7; margin: 0;}
.contactBox .mailBox{ font-size: 24px; line-height: 1.7; margin: 0;}
.contactBox i{ font-size: 34px;}
.contactBox p{ margin-left: 0;}
}


footer .flexBox{ justify-content: space-between;}
footer .flexBox div{ padding: 0 4em 0 1em; border-right: 1px solid #000;}

footer h4{ font-size: 32px; margin-bottom: 24px;}

footer nav{ padding: 0 1em; font-size: 18px;}
footer nav ul{ display: flex; margin-bottom: 2em;}
footer nav ul li{ margin-left: 1.3em;}
footer nav ul li a{ display: block; color: #666; font-size: 14px; padding: 4px 0;}
a.parent{ color: #000; font-size: 16px; font-weight: bold;}

footer small{ display: block; text-align: center; padding: 4em 1em 0;}



footer .flexBox{ display: block;}
footer .flexBox div{ padding: 0; border: none;}
footer nav{ padding: 0; margin-top: 2em;}
footer nav ul li{ font-size: 18px; margin: 0 3.5em 0 0;}

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

footer nav ul{ display: block; margin: 0;}
footer nav ul li{ font-size: 20px; margin: 0 0 1em;}

footer .tR{ text-align: left;}
}




/* lowBox */
.lowBox{}
.lowBox section{}
.lowBox .wrapBox{ margin: 0 auto; padding: 1em; width: 100%; max-width: 1080px;}
.lowBox h2{ font-size: 42px; text-align: center; padding: 1.5em 1em; background: rgba(190,205,26,0.3);}
.lowBox h3{ font-size: 32px; border-bottom: 4px solid rgba(190,205,26,1);}

@media screen and (max-width: 640px) {
.lowBox h2{ font-size: 28px;}
.lowBox h3{ font-size: 24px;}
}


.lowBox .phBox{ width: 100%; max-width: 420px; margin-right: 2em;}
.lowBox .phBox img{}

.lowBox .txtBox{}
@media screen and (max-width: 980px) {
.lowBox .flexBox{ display: block;}

.lowBox .phBox img{ width: 100%;}
}


/* business */
.businessBox{}
.businessBox .flexBox{ justify-content: space-between;}
.businessBox .txtBox{ margin-right: 2em;}

/* wraksBox */
.wraksBox{}
.wraksBox .flexBox{ justify-content: space-between;}
.wraksBox figure{ margin-left: 2em;}



.bnBox{ text-align: center; background: #fee201;}
.bnBox img{ width: 100%; max-width: 1280px;}


/* recruitBox */
.recruitBox{}
.recruitBox .flexBox{ justify-content: space-between;}
.recruitBox .txtBox{ margin-right: 2em;}

/* .flowBox{ margin: 1em auto; padding: 1em; background: rgba(190,205,26,0.2);}
.flowBox p{ margin-bottom: 0;} */


.flowBox > li { position: relative;}
.flowBox > li:not(:last-child) { margin-bottom: 40px;}
.flowBox > li dl {
  width: 100%;
  padding: 20px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 2px solid rgb(154, 164, 24);
  border-radius: 10px;
  position: relative;
}
.flowBox > li:not(:last-child) dl::before,
.flowBox > li:not(:last-child) dl::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.flowBox > li:not(:last-child) dl::before {
  border-width: 22px;
  border-top-color: rgb(154, 164, 24);
}
.flowBox > li:not(:last-child) dl::after {
  border-width: 20px;
  border-top-color: #fff;
}
.flowBox > li dl dt {
  font-size: 20px;
  font-weight: 600;
  color: rgba(185,195,43,1);
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  margin-right: 2vw;
  text-align: center;
}
.flowBox > li dl dt .icon {
  font-size: 14px;
  color: #fff;
  background: #b9c32b;
  background: -moz-linear-gradient(left, rgba(185,195,43,1) 75%, rgba(185,195,43,.5) 100%);
  background: -webkit-linear-gradient(left, rgba(185,195,43,1) 75%,rgba(185,195,43,.5) 100%);
  background: linear-gradient(to right, rgba(185,195,43,1) 75%,rgba(185,195,43,.5) 100%);
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
  position: relative;
  z-index: 100;
}
@media screen and (max-width: 980px) {
.flowBox > li dl{ display: block;}
}



/*table*/
.table01{ width: 100%; margin-bottom:2em; border-collapse: collapse;}
.table01 th{ border: 1px solid #cfcfcf; background: #efefef; padding: 1em;}
.table01 td{ border: 1px solid #cfcfcf; padding: 1em; color: #666;}
@media screen and (max-width: 980px) {
.table01 th,
.table01 td{ display: block;}
}


/* list */
.olList{ margin: 1em;}
.olList li{ list-style: decimal; margin-bottom: 2em;}
.olList li b{ display: block; margin-bottom: 5px; padding-bottom: 5px; border-bottom: 1px dotted #ccc;}


/*------------------------otherStyle*/
.PC{ display: block; }
.SP{ display: none; }

.flexBox{ display: flex; }

.imgR{ margin-left: 1em;}
.imgR figcaption{ text-align: right; font-size: .8em;}
@media screen and (max-width: 960px) {
.imgR{ text-align: center; margin-left: 0;}
.imgR img{ width: 100%; max-width: 320px;}
.imgR figcaption{ text-align: center;}
}

.fitImg{ width: 100%; max-width: 1440px;}
.fitImg img{ width: 100%;}

.s{ font-size: 0.8em;}
.B{ font-weight: bold; }
.fontS{ font-size: .8em;}

.kome{ text-indent: -1em; margin-left: 1em; }
.tC{ text-align: center; }
.tR{ text-align: right; }

.red{ color: #c20303;}

.noEvent{ pointer-events: none; }

.clear { clear:both; }
.clear hr { display:none; }
.cf:after{/*for modern browser*/
    content:"."; display: block; height:0px; clear:both; line-height:0; visibility:hidden;}
.cf {zoom:1;/*for IE 5.5-7*/}

/*pagetop*/
.pagetop{ position: fixed; z-index: 9000; bottom: 10px; right: 10px; display: none;}
.pagetop a{ box-sizing: border-box; font-size: 24px; text-align: center; display: block; background: #fff; width: 60px; height: 60px; border-radius: 120px; padding-top: 12px;box-shadow: 0 0 4px 4px rgba(0,0,0,0.2);}
.pagetop a:link, .pagetop a:visited{ color: #147b99;}
.pagetop a:hover{ opacity: 0.6; transition: 0.2s;}

@media screen and (max-width: 1080px) {
.PC{ display: none; }
.SP{ display: block; }


}






































/*------------------------nav*/
.drawer{ z-index: 9999; display: flex; flex-direction: row; align-items: center; justify-content: space-between; position: fixed; top: 10px; right: 10px; padding: 0 9px; width: 48px; height: 48px; background: #bac42c; }
.navbar_toggle{z-index:9999;}
.navbar_toggle_icon { position: relative; display: block; border-radius: 4px; height: 2px; width: 30px; background: #fff; -webkit-transition: ease .4s; transition: ease .4s;}
.navbar_toggle_icon:nth-child(1) { top: 0;}
.navbar_toggle_icon:nth-child(2) { margin: 8px 0;}
.navbar_toggle_icon:nth-child(3) { top: 0;}

/*OPEN時の動き*/
.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {top: 10px; -webkit-transform: rotate(45deg); transform: rotate(45deg);}
.navbar_toggle.open .navbar_toggle_icon:nth-child(2) {-webkit-transform: translateY(-50%); transform: translateY(-50%); opacity: 0;}
.navbar_toggle.open .navbar_toggle_icon:nth-child(3) {top: -10px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}

/*OPEN*/
.menu.open {
 -webkit-transform:translateX(-1em);
 transform:translateX(-1em);
 overflow-y: auto;
 -webkit-overflow-scrolling: touch;
}


@media screen and (min-width: 1081px) {
.drawer,
.navbar_toggle{ display: none;}
}

@media screen and (max-width: 1080px) {
.menu{ position: fixed; -webkit-transform: translateX(100%); transform: translateX(100%); -webkit-transition:ease .5s; transition:ease .5s; z-index:9998; top: 0; width: 100%; height: 100vh; margin: 0; padding: 10px; background: #fff;}
.menu nav{ padding: 20px 20px 80px; height: 100vh; overflow: scroll; font-size: 18px; text-align: left; }
}


