@charset "utf-8";

*,*:before,*:after {
  box-sizing:border-box;
}

html {
  font-size:62.5%;
  scroll-behavior:smooth;
  margin-top:0px !important;
}

body {
  letter-spacing:0.3rem;
  color:#fff;
  background:#FFFCFA;
  font-family: '游明朝体', serif;
}

img {
  vertical-align:bottom;
  width:100%;
  height:auto;
}

p {
  line-height:185%;
}

a {
 text-decoration:none;
 color:#fff;
 font-family: '游明朝体',serif;
}

/* -------------------------------- header -------------------------------- */

header {
  display:flex;
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  background:#528d4e;
}

nav#nav {
  display:none;
}

header h1 {
  padding:15px;
}


header h1 a {
  transition:all .3s ease;
  color:#fff;
  font-weight:600;
	font-size: 16px;
	font-family: '游明朝体', serif;
}


header h1 img {
width:120px;
}
header > p {
  display:flex;
}

/* -------------------------------- .btn-wrapper -------------------------- */

.btn-wrapper {
  position:absolute;
  top:20px;
  right:20px;
  width:300px;
}

.btn-wrapper nav {
  position: fixed;
  top: 0;
  right:-100%;
  width:100%;
  height: 100%;
  padding-top: 120px;
  background:rgba(0,0,0,0.9);
  font-size: 16px;
  z-index: 999;
}

.btn-wrapper nav ul li {
  display:block;
  padding: 20px 28px;
}

.btn-wrapper nav ul li a {
  color: #fff;
}

.btn-wrapper nav ul li a:hover {
  text-decoration:underline;
}

.btn-wrapper .btn-gnav {
  position: fixed;
  top: 15px;
  right: 15px;
  width: 30px;
  height: 24px;
  z-index: 9999;
  -webkit-transition: all 400ms;
  transition: all 400ms;
}

.btn-wrapper .btn-gnav span {
  position:absolute;
  width:30px;
  height:2px;
  background:#fff;
  -webkit-transition:all 400ms;
  transition:all 400ms;
}

.btn-wrapper .btn-gnav span.active {
  background:#fff;
}

.btn-wrapper .btn-gnav span:nth-child(1) {
  top:0;
}

.btn-wrapper .btn-gnav span:nth-child(2) {
  top:10px;
}

.btn-wrapper .btn-gnav span:nth-child(3) {
  top:20px;
}

.btn-wrapper .btn-gnav.open {
  -webkit-transform:rotate(180deg);
  transform:rotate(180deg);
}

.btn-wrapper .btn-gnav.open span {
  width: 24px;
  background:#fff;
}

.btn-wrapper .contents section p {
  position: absolute;
  top: 50%;
  width: 30%;
  line-height: 1.4;
  font-size: 20px;
  color: #fff;
  z-index:10;
}

.btn-wrapper .contents section:nth-child(odd) p {
  left: 10%;
}

.btn-wrapper .contents section:nth-child(even) p {
  right: 10%;
}

.btn a {
  font-family: '游明朝体', serif;
}

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

footer {
  width:100%;
  margin:0 auto;
  color:#000;
}

footer .contaienr {
  width:100%;
  margin:0 auto;
}

.footer-top {
  width:100%;
  position:relative;
  z-index:1;
  padding-bottom:50px;
}

.footer-top:after {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  width:100%;
  height:40%;
  content:'';
  display:block;
  background:#cfcfcf;
  z-index:-1;
}

.container-txt {
  padding:0 15px;
}

.pc {
  display:none;
}
#main_visual {
  position:relative;
}
/* #main_visual:after {
  position:absolute;
  top:0;
  left:0;
  background:rgba(0,0,0,0.5);
  content:'';
  width:100%;
  height:100%;
  z-index:1;
} */
.main_visual_flex {
  z-index:2;
  justify-content:center;
  position:absolute;
  top:50%;
  left:50%;
  transform:translateX(-50%) translateY(-50%);
  width:90%;
}
.main_visual_btm {
  margin:160px auto 0;
  padding:0 15px;
}
.main_visual_flex .main_ttl{
  color:#233D22;
	text-shadow: #fff 3px 5px 8px;
  font-size:20px;
  font-weight:bold;
	line-height:1.7;
  letter-spacing:0.3em;
	display:inline-block;
	margin-top: 200px;
}
#main_visual .main_visual_btm .main_visual_text {
  color:#666;
  font-size:14px;
  line-height:200%;
  font-weight:bold;
}
.main_visual_btn {
  margin:25px auto 0;
}
#main_visual .main_visual_btm .main_visual_btn a {
  font-size:16px;
  color:#fff;
  background:#EF651E;
  border-radius:65px;
  box-shadow:3px 3px 0 #8B8B8B;
  display:block;
  position:relative;
  width:320px;
  text-align:center;
  height:60px;
  line-height:60px;
  font-weight:bold;
  margin:0 auto;
}
#main_visual .main_visual_btm .main_visual_btn a:after {
  position: absolute;
  content: '';
  width: 12px;
  height: 12px;
  border: 0px;
  border-top: solid 3px #ffffff;
  border-right: solid 3px #ffffff;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 46%;
  right: 36px;
}
#ready {
  margin:70px auto 0;
  padding:0 15px 30px;
  display:flex;
  flex-wrap:wrap;
}
#ready .ttl-l span {
  margin-left:0;
}
.main_visual_t img {
  max-width:130px;
}
.ttl-l {
  font-size:32px;
  color:#233D21;
  font-weight:bold;
  text-align:center;
}
.ttl-l span {
  display:block;
  font-size:18px;
  display:block;
  font-weight:bold;
}

#ready p {
  font-size:14px;
  color: #000;
  line-height: 200%;
  font-weight: bold;
  margin:20px auto 0;
}
.ready_btn {
  margin:25px auto 0;
}
#ready .ready_btn a {
  font-size:16px;
  color:#000;
  border:1px solid #000;
  display:block;
  position:relative;
  width:320px;
  text-align:center;
  height:60px;
  line-height:60px;
  margin:0 auto;
  font-weight:bold;
}
#ready .ready_btn a:after {
  position: absolute;
  content: '';
  width: 12px;
  height: 12px;
  border: 0px;
  border-top: solid 3px #000;
  border-right: solid 3px #000;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 46%;
  right: 36px;
}
#ready .ready_text {
  width:100%;
  order:2;
}
#ready .ready_img {
  display:none;
}
#works {
  padding:30px 15px;
}
#works ul li {
  overflow:hidden;
  box-shadow:0 0 10px rgb(0 0 0 / 60%);
  width:345px;
  height:262px;
  margin:35px auto 0;
}
#works ul li a {
  display:block;
  background:#fff;
  width:100%;
  width:345px;
  height:262px;
  margin:0 auto;
  position:relative;
}
#works ul li a figure {
  width:345px;
  height:262px;
  overflow:hidden;
}
#works ul li a figure img {
  width:345px;
  height:367px;
}
#works ul li a .works_text {
  padding:10px;
  position:absolute;
  top:50%;
  left:50%;
  transform:translateX(-50%) translateY(-50%);
  width:90%;
  height:90%;
  background:rgba(255,255,255,0.6);
  display:flex;
  opacity:0;
  align-items:center;
  justify-content:center;
  transition:.3s all ease-in;
}
#works ul li a:hover .works_text {
  opacity:1;
  transition:.3s all ease-in;
}
#works ul li a dl {
  text-align:center;
}
#works ul li a dl dt {
  font-size:21px;
  color:#000;
  font-weight:bold;
}
#works ul li a dl dd {
  font-size:13px;
  color:#000;
  margin:5px 0 0;
  font-weight:bold;
}
#works .works_img {
  position:relative;
}
#works .works_img p {
  padding:5px 25px 5px 5px;
  display:flex;
  align-items:center;
  position:absolute;
  bottom:0;
  right:0;
  background:#EF651E;
  border-radius:35px;
  width:
}
#works .works_img p span:nth-of-type(1) {
  width:35px;
  height:35px;
  background:#fff;
  border-radius:50%;
  display:flex;
  justify-content:center;
  align-items:center;
}
#works .works_img p span:nth-of-type(1) img {
  width:20px;
}
#works .works_img p span:nth-of-type(2) {
  margin-left:10px;
  display:block;
  font-size:13px;
  color:#fff;
  font-weight:bold;
}
.banner_footer_top {
  margin:40px auto;
  padding:0 15px;
}
.banner_footer_btm {
  margin:35px auto;
  padding:0 15px;
}
.banner_footer_btm ul li {
  width:100%;
  box-shadow:3px 3px 6px rgba(0,0,0,0.16);
  border-radius:35px;
  background:#fff;
}
.banner_footer_btm ul li:nth-of-type(2) {
  margin:30px auto 0;
}
.banner_footer_btm ul li a {
  color:#666;
  text-align:center;
  padding:30px 15px;
  display:flex;
  flex-wrap:wrap;
}
.banner_footer_btm ul li a div {
  width:100%;
  order:2;
  margin-top:10px;
}
.banner_footer_btm ul li a > p {
  width:100%;
  order:1;
}
.banner_footer_btm ul li a p {
  font-weight:bold;
}
.banner_footer_btm ul li a p img {
  max-width:230px;
}
.banner_footer_btm ul li a div p:nth-of-type(1) {
  font-size:16px;
}
.banner_footer_btm ul li a div p:nth-of-type(2) {
  font-size:16px;
  margin:10px 0 0 0;
}
.banner_footer_btm ul li a div p:nth-of-type(2) span{
  font-size:39px;
  margin:10px 0 0 0;
  color:#EF651E;
  font-weight:bold;
}
.banner_footer_btm ul li a div p:nth-of-type(3) {
  font-size:16px;
  margin:10px 0 0 0;
}
.footer_btm {
  background:#528d4e;
  padding:30px 0 10px;
}
.footer_logo {
  font-size:23px;
  text-align:center;
  color:#fff;
  font-weight:bold;
}
.footer_nav {
  margin-top:35px;
  display:flex;
  justify-content:space-around;
  flex-wrap:wrap;
  border-bottom:1px solid rgba(255,255,255,0.4);
}
.footer_nav li {
  width:50%;
  border-top:1px solid rgba(255,255,255,0.4);
}
.footer_nav li:nth-of-type(odd) {
  border-right:1px solid rgba(255,255,255,0.4);
	border-left:1px solid rgba(255,255,255,0.4);
}
.footer_nav li a {
  font-size:13px;
  color:#fff;
  font-weight:bold;
  text-align:center;
  display:block;
  height:45px;
  line-height:45px;
}
#copy_right {
  font-size:12px;
  text-align:center;
  color:#fff;
  margin-top:70px;
}

.sub_page_header {
  width:100%;
  height:265px;
  position:relative;
}
.sub_page_header_voice{
	background:url(./../img/sub-voice.png) no-repeat 0 0;
	background-size:cover;
}
.sub_page_header_works{
	background:url(./../img/sub-works.png) no-repeat 0 0;
	background-size:cover;
}
.sub_page_header_company{
	background:url(./../img/sub-company.png) no-repeat 0 0;
	background-size:cover;
}
.sub_page_header_recruit{
	background:url(./../img/sub-recruit.png) no-repeat 0 0;
	background-size:cover;
}
.sub_page_header_contact{
	background:url(./../img/sub-contact.png) no-repeat 0 0;
	background-size:cover;
}
.sub_page_header_inner {
  position:absolute;
  top:50%;
  left:50%;
  transform:translateX(-50%) translateY(-50%);
}
.sub_page_header_inner h2 {
  font-size:45px;
  font-weight:bold;
  color:#fff;
  text-align:center;
	text-shadow:#666 3px 5px 30px;
  line-height:100%;
  margin-top:10px;
}
.sub_page_header h2 span {
  font-size:14px;
  display:block;
  font-weight:bold;
}
.sub_page_header_img_voice img {
  width:270px;
}
.article {
  padding:30px 15px;
}
.article h2 {
  font-size:14px;
  color:#233D22;
  font-weight:bold;
}
.article p {
  font-size:13px;
  line-height:190%;
  color:#333;
  text-align:justify;
  letter-spacing:0.1em;
}
p.article_date {
  font-size:12px;
  margin-top:5px;
  color:#B3B3B3;
  font-weight:bold;
}
.article figure {
  min-width:345px;
  min-height:232px;
  max-width:345px;
  max-height:232px;
  margin:10px auto 20px;
  text-align:center;
  overflow:hidden;
  border-radius:35px;
  box-shadow:3px 3px 6px rgba(0,0,0,0.16);
}
.article figure img {
  min-width:345px;
  min-height:232px;
  max-width:345px;
  max-height:232px;
}
.company {
  padding:30px 15px;
}
.company dl {
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.company dl dt {
  width:31%;
  border-top:1px solid #333333;
  font-size:11px;
  color:#333;
  font-weight:bold;
  display:flex;
  align-items:center;
  height:75px;
  padding-left:10px;
	margin-right:15px;
}
.company dl dd {
  width:75%;
  font-size:11px;
  border-top: 1px solid #b9b9b9;
  color:#666;
  font-weight:bold;
  display:flex;
  align-items:center;
  height:75px;
  padding-left:5px;
}
.company dl:last-of-type dt {
  height:90px;
  border-bottom:1px solid #333;
}
.company dl:last-of-type dd {
  height:90px;
  border-bottom:1px solid #b9b9b9;
}
.location {
  background:#D0E6CF;
}
.location_text {
  padding:30px 15px;
}
.location_text dl dt {
  color:#000;
  font-size:11px;
}
.location_text dl dd {
  color:#000;
  font-size:11px;
}

.location_text dl {
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.location_text dl dt {
  width:31%;
  border-top:1px solid #fff;
  font-size:11px;
  font-weight:bold;
  display:flex;
  align-items:center;
  height:75px;
  padding-left:10px;
}
.location_text dl dd {
  width:75%;
  font-size:11px;
  border-top: 1px solid #fff;
  font-weight:bold;
  display:flex;
  align-items:center;
  height:75px;
  padding-left:5px;
}
.location_text dl:last-of-type dt {
  border-bottom:1px solid #fff;
}
.location_text dl:last-of-type dd {
  border-bottom:1px solid #fff;
}
.location_map {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}
.location_map iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.contact {
  padding:30px 15px;
}
.contact_text {
  font-size:14px;
  color:#528D4E;
  font-weight:bold;
  margin-top:30px;
}
form p {
  color:#000;
}
.wpcf7-response-output {
  color:#000;
}
#voice {
  background:url(./../img/voice-sp.png) no-repeat 0 0;
  background-size:cover;
  height:418px;
  width:100%;
  position:relative;
}
#voice:after {
  position:absolute;
  content:'';
  width:100%;
  height:100%;
  top:0;
  left:0;
  display:block;
  background:rgba(0,0,0,0.5);
  z-index:1;
}
#voice .ttl-l {
  color:#fff;
}
.voice_container {
  position:absolute;
  top:50%;
  left:50%;
  transform:translateX(-50%) translateY(-50%);
  z-index:2;
}

.voice_btn a {
  font-size:16px;
  color:#fff;
  border:1px solid #fff;
  display:block;
  position:relative;
  width:320px;
  text-align:center;
  height:60px;
  line-height:60px;
  margin:30px auto 0;
  font-weight:bold;
}
.voice_btn a:after {
  position: absolute;
  content: '';
  width: 12px;
  height: 12px;
  border: 0px;
  border-top: solid 3px #fff;
  border-right: solid 3px #fff;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 46%;
  right: 36px;
}
#features {
  background:#d0e6cf;
  padding:20px 0;
}
.features_list {
  display:flex;
  flex-wrap:wrap;
  margin-top:30px;
}
.features_list_text {
  order:2;
  width:100%;
  padding:0 15px;
  margin-top:15px;
}
.features_list_img {
  order:1;
  width:100%;
}
.features_list dl dt {
  color:#000;
  font-size:23px;
}
.features_list dl dt span {
  display:block;
  font-size:23px;
	font-weight:bold;
  position:relative;
  padding-left:30px;
}
.features_list dl dt span:before {
  position:absolute;
  top:50%;
  left:0;
  transform:translateY(-50%);
  width:17px;
  height:1px;
  background:#EF651E;
  display:block;
  content:'';
}
.features_list dl dd {
  font-size:12px;
  text-align:justify;
  color:#000;
  line-height:200%;
  margin-top:10px;
}
.footer_ctr_top,
.footer_ctr_btm {
  width:100%;
  height:220px;
  background-size:cover;
  display:flex;
  justify-content:center;
  align-items:center;
  position:relative;
}
.footer_ctr_top:after,
.footer_ctr_btm:after {
  width:100%;
  height:100%;
  content:'';
  display:block;
  background:rgba(0,0,0,0.5);
  position:absolute;
  top:0;
  left:0;
  z-index:1;
}
.footer_ctr_inner {
  position:relative;
  z-index:2;
}
.footer_ctr_top {
  background:url(./../img/works-img.png) no-repeat 0 0;
  background-size:cover;
}
.footer_ctr_btm {
  background:url(./../img/contact-img.png) no-repeat 0 0;
  background-size:cover;
}
.footer_ctr_inner .ttl-l {
  color:#fff;
}
.footer_btn a {
  font-size:16px;
  color:#fff;
  border:1px solid #fff;
  display:block;
  position:relative;
  width:320px;
  text-align:center;
  height:60px;
  line-height:60px;
  margin:30px auto 0;
  font-weight:bold;
}
.footer_btn a:after {
  position: absolute;
  content: '';
  width: 12px;
  height: 12px;
  border: 0px;
  border-top: solid 3px #fff;
  border-right: solid 3px #fff;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 46%;
  right: 36px;
}
#wrapper {
  width:100%;
  overflow:hidden;
}
#ready .ready_btn a:hover,
.voice_btn a:hover,
.footer_btn a:hover {
  background:#000;
  color:#fff;
  border:1px solid #000;
  transition:.3s all ease-in;
}
#ready .ready_btn a:hover,
.voice_btn a:hover,
.footer_btn a {
  transition:.3s all ease-in;
}
.footer_logo {
  font-family:'游明朝体', sans-serif;
}

.contact {
  padding:15px;
}

.wpcf7-form.init p label {
  width:100%;
  margin:0 auto;

}
form {
  margin-top:40px;
}

.wpcf7-form.init p label input {
  width:100%;
  margin:7px auto 0;
  padding:10px;
}

.wpcf7-form.init p label textarea {
  width:100%;
  margin:10px auto 0;
}
.wpcf7-form.init p {
  padding:15px 0 0;
  font-size:15px;
  color:#000;
  padding:10px;
}

.wpcf7-form.init p label input {
  height:40px;
  border:1px solid #6A6A6A;
}

.wpcf7-submit {
  background:#000;
  border: 2px solid #000;
  color:#fff;
  -webkit-appearance: none;
  appearance: none;
  display:block;
  margin:10px auto 0;
  width:250px;
  height:50px;
}
/* ================================================== pc ================================================== */
@media screen and (min-width:960px) {

    .wpcf7-form.init p {
      padding:35px 0;
      font-size:15px;
    }

    .wpcf7-form.init p label {
      display:flex;
      justify-content:center;
      align-items:center;
    }

    .contact h2 {
      font-size:44px;
      font-weight:600;
    }

    .contact h2 span {
      font-size:14px;
      display:block;
      padding-top:19px;
    }

    .contact p label span:nth-of-type(1) {
      width:25%;
      font-size:18px;
    }

    .contact p label span:nth-of-type(2) {
      width:75%;
    }

    .contact form {
      max-width:1000px;
      margin:0 auto;
      padding-top:50px;
    }

    .wpcf7-form.init p label input {
      height:60px;
      border:1px solid #6A6A6A;
    }

    .wpcf7-form.init p label textarea {
      height:250px;
      border:1px solid #6A6A6A;
    }

    .contact form p {
      padding:40px 0;
      border-bottom:1px solid #c1c1c1;
    }

    .contact form p:last-of-type {
      border-bottom:none;
    }
    .wpcf7-submit {
      width:300px;
      height:60px;
    }

    .wpcf7-submit:hover {
      background:#fff !important;
      border:1px solid #000 !important;
      color:#000 !important;
    }

.footer_ctr_top,
.footer_ctr_btm {
  width:100%;
  height:387px;
  background-size:cover;
  display:flex;
  justify-content:center;
  align-items:center;
  position:relative;
}

.footer_btn a {
  font-size:20px;
  color:#fff;
  border:1px solid #fff;
  display:block;
  position:relative;
  width:420px;
  text-align:center;
  height:88px;
  line-height:88px;
  font-weight:bold;
}
.footer_btn a:after {
  position: absolute;
  content: '';
  width: 12px;
  height: 12px;
  border: 0px;
  border-top: solid 3px #fff;
  border-right: solid 3px #fff;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 46%;
  right: 36px;
}
.footer_ctr_top {
  background:url(./../img/works-img.png) no-repeat 0 0;
  background-size:cover;
}
.footer_ctr_btm {
  background:url(./../img/contact-img.png) no-repeat 0 0;
  background-size:cover;
}
.footer_ctr {
  display:flex;
}
#features {
  margin-top:0;
  padding:50px 0 0;
}
.features_list dl dt {
  color:#000;
  font-size:28px;
}
.features_list dl dt span {
  display:block;
  font-size:20px;
  position:relative;
  margin-bottom:10px;
  padding-left:40px;
}
.features_list dl dt span:before {
  position:absolute;
  top:50%;
  left:0;
  transform:translateY(-50%);
  width:25px;
  height:1px;
  background:#EF651E;
  display:block;
  content:'';
}
.features_list dl dd {
  font-size:14px;
  text-align:justify;
  color:#000;
  line-height:200%;
  margin-top:20px;
}
.features_lists {
  margin-top:60px;
}
.features_list {
  align-items:center;
  margin-top:0;
  justify-content:space-between;
}

.features_list_text {
  width:40%;
  padding:0;
  margin:0 auto;
  order:1;
}
.features_list_img {
  width:50%;
  order:2;
}
.features_list_img img {
  box-shadow:0 0 4px rgba(0,0,0,0.35);
}
.features_lists li:nth-of-type(2) .features_list_text  {
  order:2;
}
.features_lists li:nth-of-type(2) .features_list_img   {
  order:1;
}
.voice_btn {
  margin-top:50px;
}
.voice_btn a {
  font-size:20px;
  color:#fff;
  border:1px solid #fff;
  display:block;
  position:relative;
  width:420px;
  text-align:center;
  height:88px;
  line-height:88px;
  font-weight:bold;
}
.voice_btn a:after {
  position: absolute;
  content: '';
  width: 12px;
  height: 12px;
  border: 0px;
  border-top: solid 3px #fff;
  border-right: solid 3px #fff;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 46%;
  right: 36px;
}
#voice {
  background:url(./../img/voice-img.png) no-repeat 0 0;
  background-size:cover;
  height:557px;
  width:100%;
  position:relative;
  background-attachment: fixed;
}
.contact {
  padding:60px 0;
  width:80%;
  max-width:1100px;
  margin:0 auto;
}
.contact_text {
  font-size:23px;
  font-weight:bold;
  max-width:1000px;
  margin:0 auto;
}
.location {
  height:513px;
  overflow:hidden;
}

.location_text dl {
  display:block;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid #528d4e;
  padding:14px 30px;
}
.location_text dl:last-of-type {
  border-bottom:1px solid #528d4e;
}
.location_text dl dt {
  width:100%;
  border-top:none;
  font-size:18px;
  font-weight:bold;
  display:flex;
  align-items:center;
  padding-left:10px;
  height:auto;
}
.location_text dl dd {
  width:100%;
  font-size:18px;
  border-top: none;
  font-weight:bold;
  display:flex;
  align-items:center;
  padding-left:5px;
  height:auto;
  margin:20px 0 0;
}
.location_text dl:last-of-type dt {
  border-bottom:none;
}
.location_text dl:last-of-type dd {
  border-bottom:none;
}
.company dl {
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.company dl dt {
  width:31%;
  border-top:1px solid #333333;
  font-size:18px;
  color:#333;
  font-weight:bold;
  display:flex;
  justify-content:center;
  align-items:center;
  height:105px;
  padding-left:10px;
	margin-right:30px;
}
.company dl dd {
  width:75%;
  font-size:18px;
  border-top: 1px solid #b9b9b9;
  color:#666;
  font-weight:bold;
  display:flex;
  align-items:center;
  height:105px;
  padding-left:30px;
}
.company dl:last-of-type dt {
  height:105px;
  border-bottom:1px solid #333;
}
.company dl:last-of-type dd {
  height:105px;
  border-bottom:1px solid #b9b9b9;
}
.location {
  display:flex;
}
.location_map {
  width:60%;
}
.location_text {
  width:40%;
}
.location_map iframe {
  max-height:520px;
  overflow:hidden;
}
.location_map {
  padding-bottom:37.25%;
}
.company {
  padding:60px 0;
  width:80%;
  max-width:1160px;
  margin:0 auto;
}
.sub_page_header_inner h2 {
  font-size: 100px;
  line-height: 80%;
  margin-top: 40px;
}

.article {
  padding:60px 0;
  max-width:960px;
  width:80%;
  margin:0 auto;
}
.article h2 {
  font-size:29px;
}
.article p {
  font-size:20px;
  line-height:200%;
  color:#333;
}
p.article_date {
  font-size:17px;
  margin-top:5px;
  color:#B3B3B3;
  font-weight:bold;
}
.article figure {
  min-width:960px;
  min-height:644px;
  max-width:960px;
  max-height:644px;
  margin:20px auto 30px;
  text-align:center;
  overflow:hidden;
  border-radius:35px;
  box-shadow:3px 3px 6px rgba(0,0,0,0.16);
}
.article figure img {
  min-width:960px;
  min-height:644px;
  max-width:960px;
  max-height:644px;
}

.sub_page_header_img img {
  width:400px;
}
.sub_page_header_img_voice img {
  width:505px;
}
.sub_page_header h2 span {
  font-size:26px;
  margin-top:10px;
}
.sub_page_header {
  width:100%;
  height:550px;
  position:relative;
}
#copy_right {
  font-size:14px;
  margin-top:90px;
}
.footer_btm {
  padding:60px 0 10px;
}
.footer_logo {
  font-size:40px;
}
.footer_nav {
  margin-top:65px;
  display:flex;
  justify-content:space-around;
  flex-wrap:wrap;
  border-bottom:none;
  width:960px;
  margin:90px auto 0;
}
.footer_nav li {
  width:23%;
  border-top:none;
}
.footer_nav li a {
  font-size:16px;
  color:#fff;
  font-weight:bold;
  text-align:center;
  display:block;
  height:auto;
  line-height:auto;
}

.banner_footer_btm ul li:nth-of-type(2) {
  margin:0 auto;
}
.banner_footer_btm ul li a div p:nth-of-type(2) {
  margin:0;
  font-size:27px;
}
.banner_footer_btm ul li a div p:nth-of-type(3) {
  font-size:19px;
}
.banner_footer_btm ul li a {
  padding:10px 0;
}
.banner_footer_btm {
  width:90%;
  margin:0 auto;
}
.banner_footer_btm ul {
  display:flex;
  align-items:center;
  justify-content:space-around;
}
.banner_footer_btm ul li {
  width:48%;
}
.banner_footer_btm ul li a {
  display:flex;
  justify-content:space-around;
}
.banner_footer_btm ul li a div {
  width:55%;
  order:1;
}
.banner_footer_btm ul li a > p {
  width:45%;
  display: flex;
  align-items: flex-end;
}
.banner_footer_btm ul li:nth-of-type(1) a > p img {
  max-width:280px;
}
.banner_footer_btm ul li:nth-of-type(2) a > p img {
  max-width:250px;
}
.banner_footer_btm ul li a div p:nth-of-type(1) {
  font-size:29px;
}
.banner_footer_top {
  margin:120px auto;
  max-width:960px;
  padding:0;
}

#works ul {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  margin:0 auto;
}

#works ul li {
  overflow:hidden;
  box-shadow:0 0 10px rgb(0 0 0 / 60%);
  width:410px;
  height:312px;
  margin:70px auto 0;
}
#works ul li a dl dt {
  font-size:29px;
  color:#000;
}
#works ul li a dl dd {
  font-size:17px;
  color:#000;
}
#works ul li:nth-of-type(1):after {
  font-size:19px;
}
#works .works_img p span:nth-of-type(2) {
  font-size:17px;
}
#works .works_img p span:nth-of-type(1) img {
  width:30px;
}
#works .works_img p span:nth-of-type(1) {
  width:45px;
  height:45px;
}
#works ul li a {
  display:block;
  background:#fff;
  width:100%;
  width:410px;
  height:312px;
  margin:0 auto;
}
#works ul li a figure {
  width:410px;
  height:312px;
  overflow:hidden;
}
#works ul li a figure img {
  width:410px;
  height:312px;
}
header {
  height:63px;
  display:flex;
  align-items:center;
  background:#000;
}
#main_visual {
  position:relative;
}
#main_visual .main_visual_flex {
  position:absolute;
  display:flex;
  align-items:center;
  top:calc(50% - 60px);
  left:50%;
  transform:translateY(-50%) translateX(-50%);
  width:100%;
}
#main_visual .main_ttl{
  font-size:35px;
  letter-spacing:0.4em;
  font-family: '游明朝体',serif;
  font-weight:bold;
  color:#233D22;
	text-shadow: #fff 3px 5px 8px;
  margin-left:350px;
}
#main_visual .main_visual_btm {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  width:80%;
  margin:-50px auto 0;
}
#main_visual .main_visual_btm .main_visual_text {
  color:#666;
  font-size:20px;
  line-height:250%;
  font-weight:bold;
}
#main_visual .main_visual_btm .main_visual_btn a {
  font-size:20px;
  color:#fff;
  background:#EF651E;
  border-radius:65px;
  box-shadow:3px 3px 0 #8B8B8B;
  display:block;
  position:relative;
  width:420px;
  text-align:center;
  height:88px;
  line-height:88px;
  font-weight:bold;
}
#main_visual .main_visual_btm .main_visual_btn a:after {
  position: absolute;
  content: '';
  width: 12px;
  height: 12px;
  border: 0px;
  border-top: solid 3px #ffffff;
  border-right: solid 3px #ffffff;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 46%;
  right: 36px;
}
.main_visual_t img {
  max-width:300px;
}
#ready {
  margin:70px auto ;
  padding:0;
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.ttl-l {
  font-size:42px;
  color:#233D21;
  font-weight:bold;
}
.ttl-l span {
  font-size:19px;
  font-weight:bold;
  display:block;
}
#ready .ttl-l {
  text-align:left;
}
#ready .ttl-l span {
  display:inline-block;
  margin-left:30px;
}
#ready .ready_text {
  width:45%;
  order:1;
}
#ready .ready_img {
  width:50%;
  order:2;
  box-shadow:0 0 10px rgba(0,0,0,0.6);
	display:block;
}
#ready .ready_text p {
  font-size:15px;
  line-height:250%;
  color:#000;
  margin-top:20px;
  font-weight:bold;
}
#ready .ready_text p.ready_btn {
  margin-top:30px;
}
#ready .ready_btn a {
  font-size:20px;
  color:#000;
  border:1px solid #000;
  display:block;
  position:relative;
  width:350px;
  text-align:center;
  height:60px;
  line-height:60px;
  font-weight:bold;
  margin:0 auto 0 0;
}
#ready .ready_btn a:after {
  position: absolute;
  content: '';
  width: 12px;
  height: 12px;
  border: 0px;
  border-top: solid 3px #000;
  border-right: solid 3px #000;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 46%;
  right: 36px;
}

#nav ul li {
  margin-right:40px;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
#nav ul li a {
  font-size:13px;
  font-weight:bold;
  color:#fff;
}
#nav ul li:nth-of-type(5),
#nav ul li:nth-of-type(6) {
  margin-right:0;
}
.header-tel a {
  color:#000;
}
#nav ul .header-mail a {
  color:#fff;
}

.header-tel a,
.header-mail a  {
  display:flex;
  align-items:center;
  font-size:16px;
  height:100%;
}
.header-tel a span:nth-of-type(2),
.header-mail a span:nth-of-type(2) {
  font-weight:bold;
  margin-left:10px;
}
.header-tel a span:nth-of-type(1) img {
  width:35px;
}
.header-mail a span:nth-of-type(1) img {
  width:34px;
}

.pc {
  display:block;
}

.sp {
  display:none;
}
/* -------------------------------- header ------------------------------- */


header {
  justify-content:space-between;
  background:#528D4E;
}

header h1 {
  padding:0 30px;
}
header h1 a {
  color:#fff;
	font-size: 16px;
	font-family: '游明朝体', serif;
	font-weight: bold;
}

header img {
  max-width:286px;
}
header h1 img {
  width:150px;
  max-width:100%;
}

nav#nav {
  display:flex;
  height:100%;
	padding-right:15px;
}

nav#nav ul {
  display:flex;
  margin:0 auto;
  width:fit-content;
  align-items:center;
}

.btn-wrapper {
  display:none;
}
.header-tel img {
  max-width:270px;
}

}

@media screen and (min-width:1215px) {

}
