@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css");
@import url('https://fonts.googleapis.com/css2?family=Zen+Antique+Soft&family=Zen+Kaku+Gothic+New&display=swap');
:root {
    --navy:#142849;
  	--smoky-blue:#48618A;
  	--light-smoky:#9BADC9;
	--green:#16723C;
  	--light-green:#53A83A;
  	--lime-green: #BCE000;
  	--brown: #473714;
  	--beige: #9F8A60;
  	--pale-orange:#F4E9D3;
    --white:#fff;
    --txt-color:#121212;
    --bg-color:#F7F7F7;
    --gray :#eee;
}

/*------------------------------
responsive02 blue one_column
------------------------------*/

body {
	font-size: 18px;
  	letter-spacing: 0.03em;
  	font-family: "Zen Kaku Gothic New", sans-serif;
  	font-weight: 400;
  	font-style: normal;
}
#wrap {
    background: var(--bg-color);
}
a {
  	color: var(--green);
  	transition: all 0.2s;
}
a:hover {
  	color:var(--light-green);
}
.bottomLink {
	display: none;
}
#mainArticles .envelope, #mainBlogCommentForm .envelope {
    background: var(--gray);
    border-radius: 2rem 0 2rem 0;
}
/*----------見出し----------*/
#mainArticles h2, #listTopics h2, .article h2, #mainTopics h2, .gallery h3, .freeHtml h3, .article h3, .article h4, .article h5, .article h6 {
  	font-family: "HGS明朝E", "Zen Antique Soft", serif;
  	font-optical-sizing: auto;
  	font-style: normal;
}
#mainArticles h2, #listTopics h2 {
  	background: var(--white);
    color: var(--txt-color);
}
#mainArticles h2 > strong, #listTopics h2 > strong {
 	color: var(--navy); 
}
#mainArticles div[id^=blog] h2 {
  	margin: 0 calc(512px - 50vw) 40px;
  	width: 100vw;
    padding: 3vw 0;
}
#mainTopics h2, .article h3, .gallery h3, .freeHtml h3 {
    color: var(--txt-color);
}
#mainTopics h2 strong, .article h3 strong, .gallery h3 strong, .freeHtml h3 strong {
    font-size: 16px;
}
#mainArticles .article h2::after, #mainTopics h2::after, .article h3::after, .gallery h3::after, .freeHtml h3::after {
  	content:none;
}
.article h4 {
    background: none;
    border: none;
    border-radius: 0;
    letter-spacing: 0.2rem;
}
.article h4:before {
    background: var(--light-green);
  	width: 24px;
    height: 2px;
}
.article h5 {
    border-left: solid 2px var(--light-green);
}
.article h6 {
    color: var(--navy);
    background: none;
  	padding:0;
  	font-size: 1.2rem;
}
.article h6::before {
    content: none;
}
.article.col3.business h6 {
 	font-size: 1.1rem; 
}
/*----------table---------*/
.article table.normalTbl th {
    text-align: center;
  	font-weight:bold;
}
/*----------button----------*/
a.btn {
  	background: var(--navy);
    color: #fff;
  	max-width: 560px;
    margin: 0 auto;
}
a.btn:hover {
  	background: var(--green);
    color: white;
}
a.btn.round {
    background: transparent;
    color: var(--light-green);
  	border-radius: 99px;
  	border: 3px solid var(--light-green);
}
a.btn.round:hover {
    background: var(--light-green);
    color: white;
}
/*----------header----------*/
#title h1 {
  background: url(/materials/177062864661201.png) left center no-repeat;
  background-size: contain;
  height: 80px;
  width: 320px;
}
h1 a {
  	overflow: hidden;
  	text-indent: 110%;
  	white-space: nowrap;
  	display: block;
  	height: inherit;
}
#title #title_outer {
  	background: url(/materials/177019785065002.png) right center no-repeat;
  	background-size: 280px;
  	height: 80px;
}
/*---------topmanu--------*/
#topMenu_outer .topMenu li a {
  	color: var(--navy);
}
#topMenu_outer .topMenu li a:hover {
    background: transparent;
    color: var(--green);
}
/*----------最新情報----------*/
#mainTopics {
    background: transparent;
}
ul.topics li {
  	border-radius: 0;
}
ul.topics li p.more a {
    background: var(--navy);
    color: #fff;
}
ul.topics li p.more a:hover {
  	background: var(--green);
}
#mainTopics .listview a {
    background: var(--navy);
    color: #fff;
}
#mainTopics .listview a:hover {
  	background: var(--green);
}
ul.topics li p.date {
    background: none;
    color: var(--txt-color);
    padding: 0;
}
ul.topics li h3 a {
    color: var(--green);
}
ul.topics li h3 a:hover {
    color: var(--light-green);
}
#listTopics ul.topics li {
    border: none;
}
/*---------ごあいさつ--------*/
.article.message {
    background-color: var(--green);
    padding: 0 4% 40px;
    color: white;
    border-radius: 0 5rem 0 5rem;
    margin: 40px auto;
}
.article.message h3 {
    color: white;
}
/*---------home_leave&recruitment----------*/
.article.leave, .article.recruit_home {
 	padding: 0 4% 40px;
}
.article.leave {
  	background: var(--navy);
  	border-radius: 0 5rem 0 0;
  	color: var(--gray);
}
.article.leave h3 {
  	color: var(--gray);
}
.article.recruit_home {
  	background: var(--pale-orange);
	border-radius: 0 0 0 5rem;
}
/*---------左右分割 comm--------*/
.mainArticles .article.max.comm .article_right .image img, .mainArticles .article.max.comm .article_left .image img {
    width: 100%;
}
.article.max.comm {
    padding: 0;
}
.article.max.comm .article_body {
    display: flex;
    align-items: center;
}
.article.max.comm .article_right {
    padding-left: 4%;
}
.article.max.comm .article_left {
    padding-right: 4%;
}
.mainArticles .article.max.comm .article_right .image, .mainArticles .article.max.comm .article_left .image {
    width: unset;
    max-width: unset;
    float: unset;
    flex-basis: 60vw;
}
.mainArticles .article.max.comm .article_left .image {
    border-radius: 0 4rem 0 0;
}
.article.max.comm .article_left {
    padding-right: 4%;
}
.mainArticles .article.max.comm .article_right .image {
    border-radius: 0 0 0 4rem;
}
.article.max.comm .article_right .image {
    order: 2;
}
.commTxt {
    flex-basis: 40vw;
}
/*--------事業内容--------*/
.article.col3.business .image img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 2rem 0 2rem 0;
}
.article.col3.business {
    border-radius: 2rem 0 2rem 0;
}
/*---------サイトマップ--------*/
ul.guide {
    display: flex;
    justify-content: space-between;
  	flex-wrap: wrap;
    align-items: center;
    flex-direction: row;
    width: 100%;
    height: auto;
    gap: 8px;
}
ul.guide li {
    width: calc(100% / 3 - 10px);
}
/*---------access--------*/
.article.max.access {
  padding: 0;
}
/*---------Form--------*/
#mainArticles form, #mainBlogCommentForm form {
    background: var(--navy);
    padding: 2px;
}
#mainArticles table.contactTable tr th, #mainArticles table.contactTable tr td, #mainBlogCommentForm table.contactTable tr th, #mainBlogCommentForm table.contactTable tr td {
    border-bottom: dotted 2px #aaa;
    border-right: solid 2px white;
}
#mainArticles table.contactTable tr th, #mainBlogCommentForm table.contactTable tr th {
    background: var(--gray);
}
#mainArticles table.contactTable tr td, #mainBlogCommentForm table.contactTable tr td {
    background: white;
}
#mainArticles table.contactTable input.button, #mainBlogCommentForm table.contactTable input.button {
    background: var(--navy);
    width: 50%;
  	transition: all 0.2s;
}
#mainArticles table.contactTable input.button:hover, #mainArticles table.contactTable input[type=button]:hover, #mainBlogCommentForm table.contactTable input.button:hover, #mainBlogCommentForm table.contactTable input[type=button]:hover {
    background: var(--light-green);
    opacity: 1;
}
#mainArticles table.contactTable tbody tr:last-child td {
    border-bottom: 0;
}
/*---------Sidemenu--------*/
.sideContents #sideServices h2:before, .sideContents #sideBlogCategories h2:before, .sideContents #sideBlogDates h2:before, .sideContents #sideMobile h2:before {
    background: var(--navy);
  	width: 2px;
}
.sideContents ul li a, .sideContents dt a {
    color: var(--txt-color);
}
.sideContents ul li a:before, .sideContents dt a:before {
    content: "―";
    font-weight: bold;
    margin-right: 8px;
}
.sideContents ul li, .sideContents dl dt {
    border: none;
}
.sideContents ul li a:hover, .sideContents dt a:hover {
    background: var(--green);
    color: #fff;
}

/*----------freeHTML----------*/
.side_address {
	display: flex;
	margin-bottom: 15px;
	padding: 0;
	box-sizing: border-box;
	align-items: top;
	width: 100%;
	justify-content: center;
}
.side_address .logo {
	padding: 0 2em 1em;
	text-align: center;
}
.side_address .txtblock {
	width: 500px;
}
.side_address .txtblock p {
	text-align: center;
}
.side_address .sitename {
    font-size: 22px;
    font-weight: bold;
    line-height: 1em;
}
.side_logo{
    text-align: center;
    margin-bottom: 10px;
}
.side_logo img{
    max-width: 250px;
}
.side_address .txtblock a.btn {
	margin: auto;
}
.side_address .txt {
    margin: 0 auto 15px;
    line-height: 1.8;
    display: block;
    letter-spacing: 0.02rem;
}
.side_address .logo img {
    width: 100%;
    max-width: 88px;
}
@media only screen and (width < 728px) {
  .side_address {
    display: flex;
    margin-bottom: 15px;
    padding: 0;
    border-radius: 4px;
    box-sizing: border-box;
    justify-content: center;
    flex-direction: column;
  }
  .side_address .logo {
    padding: 1em;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .side_address .txtblock {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 100%;
  }
  .side_address .sitename {
    font-size: 16px;
    font-weight: bold;
    /*display: block;*/
    margin: 0 auto 5px;
  }
  .side_address .txt {
    font-size: 14px;
    margin: 0 auto 5px;
    line-height: 1.6;
    display: block;
    text-align: center;
    letter-spacing: 0;
    white-space: wrap;
   }
}
/*-------contact us-------*/
div#contact_us {
    width: 100vw;
    margin: 0 calc(50% - 50vw) 16px;
    padding: 3vw 0;
    line-height: 1.5;
    text-align: center;
    background: url(/materials/177027253297303.jpg) no-repeat;
    background-attachment: fixed;
    background-position: top;
    animation: parallax linear both;
    animation-timeline: view();
    background-size: cover;
    position: relative;
}
div#contact_box {
    max-width: 1024px;
    display: block;
    margin: auto;
    padding: 64px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--txt-color);
    border-radius: 5rem 0 5rem 0;
    line-height: 1.8;
    backdrop-filter: blur(5px);
}
span.tel {
    font-size: 1.8em;
}
#contact_btn a.btn {
    margin: 16px auto;
  	max-width: 600px;
}
#contact_btn {
    font-size: 1em;
}
#contact_box h3 {
    margin: 0 auto;
    padding: 0;
}
@media only screen and (width < 1024px) {
  div#contact_us {
      margin: 0 calc(50% - 50vw) 16px;
      padding: 5vw 0;
  }
  div#contact_us {
      background-position: left center;
  }
}
@media only screen and (width <= 600px) {
  ul#contact_btn {
      flex-direction: column;
  }
  ul#contact_btn li a.btn {
      margin: .25em auto;
      min-width: 224px;
  }
  ul.topics li h3 a {
      line-height: 1.25;
  }
  div#contact_box {
      width: 92%;
      padding: 32px 16px;
      border-radius: 2rem 0 2rem 0;
  }
}
/*---------Footer--------*/
#footer {
  	background: transparent;
}
#footer_body .copyright {
  	background: var(--navy);
}
#footer_body .topMenu li a, #footer_body .services li a {
    color: var(--txt-color);
    background: transparent;
}
#footer_body .topMenu li a:hover, #footer_body .services li a:hover {
    background-color: var(--green);
    color: var(--white);
}
#footer_body .topMenu li a:before, #footer_body .services li a:before {
    color: inherit;
	content: "―";
    font-weight: bold;
    margin-right: 8px;
}
/*---------responsive--------*/
@media only screen and (width < 895px) {
  #title h1 {
    width: 256px;
   }
  #title #title_outer {
  	background-size: 256px;
   }
  .article.max.comm .article_body {
    padding: 0;
    display: block;
   }
  .mainArticles .article.max.comm .article_right .image, .mainArticles .article.max.comm .article_left .image {
    flex-basis: auto;
    margin: 0;
    border-radius: 1em;
  }
  .mainArticles .article.max.comm {
    padding-left: 4%;
    padding-right: 4%;
  }
  ul.guide { 
  	flex-direction: column;
    gap: 24px 4%;
  }
  ul.guide li {
    width: 100%;
  }
}

@media only screen and (max-width:600px) {
  body {
  	font-size: 16px;
  }
  #title h1 {
    background-size: contain;
    padding-left: 0;
    margin-left: 4%;
    width: 220px;
    height: 56px;
  }
  #title #title_outer {
    background: none;
    justify-content: start;
    height: 56px;
  }
  #toggle {
    background-color: transparent;
    filter: brightness(0) saturate(100%) invert(9%) sepia(49%) saturate(2316%) hue-rotate(200deg) brightness(97%) contrast(91%);
  }
  .active #toggle {
    background-color: transparent;
    filter: brightness(0) saturate(100%) invert(9%) sepia(49%) saturate(2316%) hue-rotate(200deg) brightness(97%) contrast(91%);
  }
  a.btn.round {
    max-width:320px;
  }
  .article.message {
  	border-radius: 0 3rem 0 3rem;
  }
  .article.leave{
    border-radius: 0 3rem 0 0;
  }
  .article.home_recruit {
    border-radius: 0 0 0 3rem; 
  }
  #mainArticles table.contactTable input.button, #mainBlogCommentForm table.contactTable input.button {
	width: 80%;
  }
  #topMenu_outer .topMenu li {
    border: none;
    border-top: solid 1px var(--gray);
  }
  #topMenu_outer .topMenu li:last-of-type {
    border: none;
    border-top: solid 1px var(--gray);
    border-bottom: solid 1px var(--gray);
  }
  .bottomLink {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    text-align: center;
    z-index: 1000;
    height: 48px;
    overflow: hidden;
    display: block;
  }
  .bottomLink a {
    display: block;
    color: var(--white);
    background: var(--light-green);
    text-decoration: none;
    font-size: 100%;
    line-height: 48px;
    height: 100%;
  }
    #footer {
  	margin-bottom:48px;
  }
}
/*-------------
バッジ非表示
---------------*/
.recaptcha_policy {
padding: 0;
margin: 0;
text-align: center;
font-size: 11px !important;
color: #444 !important;
}
.recaptcha_policy a {
font-size: 11px !important;
color: #111 !important;
}
.grecaptcha-badge { visibility: hidden; }


/*---------Mission--------*/
.article.envelope.mission {
  	text-align:center;
}
@media only screen and (max-width:600px) {
  .article.envelope.mission {
  	text-align:left!important;
  }
}