@charset "utf-8";

/*+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+-----+// under 404
--+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+*/

p.mes404 {
  text-align:center;
  margin:100px auto;
}

/*+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+-----+// mimage
--+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+*/

section#section-1 {
  background:url(../images/top/main_001.png) no-repeat center bottom;
}
/* section#section-2 {
  background:#f2f2f2;
}
section#section-2 div.section-content {
  background:url(../images/top/slide02.png) no-repeat right 100px center;
  background-size:500px;
} */


/* div.panel h2 {
  width:100%;
  max-width:1000px;
  margin:30px auto;
} */
div.panel h2 img {
  max-width:100%;
}
div.panel h3 {
  /* color:#602c88;
  margin:20px 0;
  font-size:18px;
  font-weight:bold;
  width:100%;
  max-width:1000px;
  margin:0 auto; */
}
/* div.panel p {
  color:#602c88;
  margin:20px 0;
  font-size:14px;
  line-height:1.7;
  width:100%;
  max-width:1000px;
  margin:30px auto;
} */
div.panel div.btn_slide {
  width:100%;
  max-width:1000px;
  margin:0 auto;
}
div.panel div.btn_slide a {
  width:229px;
  height:47px;
  display:block;
  text-align:center;
}
div.panel div.btn_slide a img {
  width:229px;
  height:47px;
}

/*+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+-----+// about
--+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+*/

section.about h2 {
  width:100%;
  background:#71c7d5;
  color:#fff;
  font-weight:bold;
  padding:20px 0;
}
section.about h2 div.sec_wrap {
  display:flex;
  justify-content:space-between;
}
section.about h2 span.jp {
  color:#fff;
}

section.about ul {
  display:flex;
  flex-wrap:wrap;
  margin: auto;
}
section.about ul li {
  width:33.33%;
  text-align:center;
}
section.about ul li h3 {
  line-height:1.5;
  font-weight:bold;
  position:relative;
}
section.about ul li h3 span {
  color:#602c88;
  font-size:14px;
}
section.about ul li a {
  display:flex;
  align-items:center;
  margin-top:15px;
  justify-content:center;
  font-size:14px;
}
section.about ul li a img {
  margin-left:10px;
}

/*+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+-----+// service
--+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+*/

section.service {
  margin:0 auto 0;
  background:#f2f2f2;
}

section.service dl {
  display:flex;
  flex-wrap:wrap;
}

section.service dl dt {
  width:40%;
  background: -webkit-linear-gradient(right,#61b963,#2b78bc);
  background:         linear-gradient(to right,#61b963,#2b78bc);
  padding:40px;
  background-repeat:no-repeat;
  background-position:-100px top;
}
section.service dl dt img {
  max-width:100%;
}
section.service dl dd {
  width:60%;
  padding:60px 40px;
}
section.service dl dd h3 {
  color:#4d4d4d;
  font-size:28px;
  margin-bottom:30px;
  font-weight:bold;
}
section.service dl dd h3 span {
  color:#602c88;
  font-size:14px;
}
section.service dl dd p {
  line-height:1.8;
  max-width:540px;
  font-size:14px;
}

button.btn_basic {
  width:356px;
  border:1px solid #666;
  border-radius:50px;
  padding:10px 0;
  text-align:center;
  font-size:18px;
  font-weight:bold;
  color:#666;
  position:relative;
  margin-top:50px;
  background:#fff;
}
button.btn_basic:after {
  position:absolute;
  content:"";
  width:20px;
  height:21px;
  background:url(../images/common/arrow.png);
  right:20px;
  top:12px;
}

button.btn_basic:hover {
  opacity:0.7;
}


/*+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+-----+// contact
--+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+*/

section.contact dl {
  display:flex;
  flex-wrap:wrap;
}
section.contact dt {
  width:50%;
  padding:0 50px 0 15px;
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
section.contact h2 {
  color:#4d4d4d;
  font-size:28px;
  margin-bottom:30px;
  font-weight:bold;
  line-height:1.3;
}
section.contact h2 span {
  color:#602c88;
  font-size:14px;
}

section.contact dd {
  width:50%;
  padding:50px 15px 50px 50px;
  background: -webkit-linear-gradient(left,#602c88,#2b78bc 50%,#61b963);
  background:         linear-gradient(to left,#602c88,#2b78bc 50%,#61b963);
}

section.contact dd div.contact_group {
  max-width:435px;
  width:100%;
}
section.contact dd div.contact_group h3 {
  line-height:1.5;
  color:#fff;
  font-weight:bold;
  border-bottom:1px solid #fff;
  padding-bottom:20px;
  margin-bottom:25px;
}

section.contact dd div.btn_group {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
section.contact dd div.contact_group .btn_contact {
  background:#fff;
  border-radius:4px;
  padding:10px 20px;
  width:42%;
  min-width:206px;
  box-shadow:2px 2px 4px #404040;
  position:relative;
  color:#4d4d4d;
  font-weight:bold;
  font-size:12px;
  text-align:left;
  margin-bottom:15px;
}
section.contact dd div.contact_group .btn_contact span {
  color:#602c88;
}
section.contact dd div.contact_group .btn_contact:after {
  content:">";
  color:#149e87;
  position:absolute;
  right:10px;
  top:12px;
  bottom:10px;
}
section.contact dd div.contact_group .btn_contact:hover {
  opacity:0.7;
}


/*+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+-----+// company mission
--+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+*/

section.head_company {
  width:100%;
  background:#f2f2f2;
  padding:30px 0;
  margin-top:70px;
}

section.head_company h2 {
  margin-bottom:30px;
}
section.head_company h2 img {
  width:181px;
  height:48px;
}

section.head_company ul {
  display:flex;
  flex-wrap:wrap;
}
section.head_company li {
  margin-right:30px;
  padding-right:15px;
  margin-bottom:10px;
  position:relative;
}
section.head_company li a {
  color:#666;
  font-weight:bold;
}
section.head_company li.current_li a {
  color:#602c88;
}
section.head_company li:after {
  position:absolute;
  content:"^";
  transform:rotate(180deg);
  color:#602c88;
  right:0;
  bottom:2px;
  font-weight:bold;
}

section.company {
  padding:50px 0;
}

section.company h3 {
  width:100%;
  color:#602c88;
  font-size:33px;
  font-weight:bold;
  padding:0 0 30px 50px;
  border-bottom:1px solid #ccc;
  position:relative;
}
section.company h3:before {
  left:0;
  top:15px;
  content:"";
  position:absolute;
  width:26px;
  height:7px;
  border-radius:15px;
  background: -webkit-linear-gradient(left,#61b963,#2b78bc 50%,#602c88);
  background:         linear-gradient(to left,#61b963,#2b78bc 50%,#602c88);
}

section.company h4 {
  font-size:20px;
  font-weight:bold;
  margin:40px 0 30px;
  color:#602c88;
}
section.company p {
  line-height:2;
}


/*+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+-----+// company outline
--+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+*/

section.outline dl {
  display:flex;
  flex-wrap:wrap;
}
section.outline dt {
  width:150px;
  padding:20px 40px;
  border-bottom:1px solid #ccc;
  font-weight:bold;
  font-size:14px;
}
section.outline dd {
  width:calc(100% - 150px);
  padding:20px 40px;
  border-bottom:1px solid #ccc;
  font-size:14px;
  line-height:1.5;
}
section.outline dt.com_map {
  width:100%;
  padding:40px 40px 0;
  border-bottom:none;
}
section.outline dd.com_map {
  width:100%;
  border-bottom:none;
  display:flex;
  flex-wrap:wrap;
}
section.outline dd.com_map div.map_con {
  width:50%;
  padding-right:8px;
}
section.outline dd.com_map div.map_con h4 {
  font-size:14px;
  font-weight:normal;
  color:#323333;
  margin:10px 0 20px;
}


/*+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+-----+// company paper
--+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+*/

section.paper {
  border-bottom:1px solid #ccc;
}
section.paper div.paper_title {
  border-bottom:1px solid #ccc;
  padding:0 0 20px;
}
section.paper h4 {
  font-size:20px;
  font-weight:bold;
  margin:20px 0 20px;
  color:#323333;
  line-height:1.5;
}
section.paper h5 {
  font-size:19px;
  font-weight:normal;
  margin:20px 0;
}
section.paper h6 {
  width:90px;
  background:#fff;
  position:relative;
  left:0;
  right:0;
  margin:40px auto;
  text-align:center;
}
section.paper div.h6_line {
  border-bottom:1px dashed #ccc;
  width:100%;
  margin-top:-47px;
  position:relative;
  z-index:-1;
}
section.paper p {
  line-height:1.8;
}
section.paper p.below {
  margin-top:20px;
}
section.paper ol {
  padding-left:40px;
}
section.paper li {
  list-style-type:decimal;
  line-height:1.8;
}
button.btn_paper {
  margin:40px auto;
  color:#fff;
  font-size:19px;
  width:200px;
  padding:10px 20px;
  text-align:center;
  background: -webkit-linear-gradient(left,#61b963,#2b78bc 50%,#602c88);
  background:         linear-gradient(to left,#61b963,#2b78bc 50%,#602c88);
}

button.btn_paper:hover {
  opacity:0.7;
}

/*+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+-----+// company develop
--+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+*/

section.head_develop {
  width:100%;
  background:#f2f2f2;
  padding:45px 0;
  margin-top:70px;
}

section.head_develop h2 {
  margin-bottom:0;
}

section.develop dl {
  display:flex;
  flex-wrap:wrap;
}
section.develop dt {
  width:190px;
  padding:20px 40px;
  border-bottom:1px solid #ccc;
  font-weight:bold;
  font-size:14px;
}
section.develop dd {
  width:calc(100% - 190px);
  padding:20px 40px;
  border-bottom:1px solid #ccc;
  font-size:14px;
  line-height:1.5;
}

section.develop div.develop_fig {
  margin:70px 0;
  text-align:center;
}
section.develop div.develop_fig img {
  max-width:100%;
}

/*+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+-----+// recruit
--+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+*/

section.recruit h4 {
  padding:0 40px;
}
section.recruit dl {
  display:flex;
  flex-wrap:wrap;
  margin-top:50px;
}
section.recruit dt {
  width:170px;
  padding:20px 40px;
  border-bottom:1px solid #ccc;
  font-weight:bold;
  font-size:14px;
  line-height:1.5;
}
section.recruit dd {
  width:calc(100% - 170px);
  padding:20px 40px;
  border-bottom:1px solid #ccc;
  font-size:14px;
  line-height:1.5;
}

section.recruit_info dl {
  display:flex;
  flex-wrap:wrap;
  margin-top:0;
}
section.recruit_info dt {
  width:210px;
}
section.recruit_info dd {
  width:calc(100% - 210px);
}


/*+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
+-----+// service
--+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+*/

section.head_service {
  width:100%;
  background:#f2f2f2;
  padding:45px 0;
  margin-top:70px;
}

section.head_service h2 {
  margin-bottom:0;
}
section.head_service h2 img {
  width:175px;
  height:39px;
}

section.service_con {
  padding:50px 0;
}

section.service_con div.sec_wrap {
  border-bottom:1px solid #ccc;
  padding-bottom:30px;
}

section.service_con h3 {
  width:100%;
  color:#602c88;
  font-size:33px;
  font-weight:bold;
  padding:0 0 30px 50px;
  border-bottom:1px solid #ccc;
  position:relative;
  margin-top:70px;
}
section.service_con h3:before {
  left:0;
  top:15px;
  content:"";
  position:absolute;
  width:26px;
  height:7px;
  border-radius:15px;
  background: -webkit-linear-gradient(left,#61b963,#2b78bc 50%,#602c88);
  background:         linear-gradient(to left,#61b963,#2b78bc 50%,#602c88);
}

section.service_con h4 {
  font-size:20px;
  font-weight:bold;
  margin:40px 0 30px;
  line-height:1.5;
}
section.service_con p {
  line-height:2;
}

section.service_con div.service_wrap {
  padding:0 60px;
}

section.service_con ul {
  margin:10px 0;
  padding-left:20px;
}
section.service_con ul li {
  list-style-type:disc;
  margin-bottom:10px;
  line-height:1.5;
}

section.service_con div.service_pdf {
  margin:40px 0 10px;
}
section.service_con div.service_pdf a {
  display:flex;
  align-items:center;
  color:#602c88;
}
section.service_con div.service_pdf img {
  width:20px;
  height:25px;
  margin-right:10px;
}

button.btn_inquiry {
  width:356px;
  border:2px solid #602c88;
  border-radius:50px;
  padding:20px 0;
  text-align:center;
  font-size:18px;
  font-weight:bold;
  color:#602c88;
  position:relative;
  margin:50px auto 30px;
  background:#fff;
}
button.btn_inquiry:after {
  position:absolute;
  content:"→";
  right:20px;
  top:22px;
}

button.btn_inquiry:hover {
  opacity:0.7;
}
