@charset "UTF-8";
/***********************************

共通

***********************************/
* {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

*:focus {
  outline: none;
}

html {
  font-size: 62.5%;
}

body {
  width: 100%;
  max-width: 100%;
  font-family: "Helvetica Neue", Arial,
 "Hiragino Kaku Gothic ProN",
 "Hiragino Sans",
 Meiryo,
 sans-serif;
  letter-spacing: 0.05em;
  font-size: 1.6em;
  font-weight: bold;
  color: #333333;
}

body.body_fixed {
  height: 100%;
  overflow: hidden;
}

/*
body:before {
　display: none;
  width: 100%;
  height: 100vh;
  background: #fff;
  background-image: repeating-linear-gradient(to bottom, transparent 20px, rgba(0, 0, 0, 0.015) 21px, rgba(0, 0, 0, 0.015) 21px, transparent 22px, transparent 41px, rgba(0, 0, 0, 0.015) 42px, rgba(0, 0, 0, 0.015) 42px, transparent 43px, transparent 62px, rgba(0, 0, 0, 0.015) 63px, rgba(0, 0, 0, 0.015) 63px, transparent 64px, transparent 83px, rgba(0, 0, 0, 0.015) 84px, rgba(0, 0, 0, 0.015) 84px, transparent 85px, transparent 104px, rgba(0, 0, 0, 0.015) 105px, rgba(0, 0, 0, 0.015) 105px), repeating-linear-gradient(to right, transparent 20px, rgba(0, 0, 0, 0.015) 21px, rgba(0, 0, 0, 0.015) 21px, transparent 22px, transparent 41px, rgba(0, 0, 0, 0.015) 42px, rgba(0, 0, 0, 0.015) 42px, transparent 43px, transparent 62px, rgba(0, 0, 0, 0.015) 63px, rgba(0, 0, 0, 0.015) 63px, transparent 64px, transparent 83px, rgba(0, 0, 0, 0.015) 84px, rgba(0, 0, 0, 0.015) 84px, transparent 85px, transparent 104px, rgba(0, 0, 0, 0.015) 105px, rgba(0, 0, 0, 0.015) 105px);
  position: fixed;
  content: "";
  top: 0;
  left: 0;
  z-index: -1;
}
*/

img {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.wrap {
  overflow-x: hidden;
}

@media (max-width: 559px) {
  .sp_none {
    display: none;
  }
}

@media (min-width: 960px) {
  .pc_none {
    display: none;
  }
}

#loader {
  position: fixed;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 9999;
}

#loader img {
  width: 100px;
  height: 100px;
}

header .inner,
.contents .inner,
.banner_contents .inner,
footer .inner,
.footer_article_inner,
.sns_box .inner,
.copyright .inner,
.single_contents_inner {
  width: 100%;
  max-width: 1500px;
}

.contents,
.banner_contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/***********************************

ヘッダー

***********************************/
@media (max-width: 959px) {
  #header_right {
    display: none;
  }
}

#header_top {
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: all .25s;
  transition: all .25s;
}

#header_top .inner #header_right .contact_box h3 a {
  background: #fff;
  color: #333333;
}

#header_top .inner #header_right .contact_box h3 a:hover {
  background: #7AE28E;
}

#header_top.change_color {
  background: #fff;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
}

#header_top.change_color .inner #header_right .contact_box h3 a {
  background: #333333;
  color: #fff;
}

#header_top.change_color .inner #header_right .contact_box h3 a:hover {
  background: #7AE28E;
}

#header_top.change_color .inner .menu button span {
  background: #42ABE5;
}

#header_top .inner .menu button span.change_menu_color {
  background: #42ABE5;
}

#header_top .inner .menu button .line_top,
#header_top .inner .menu button .line_middle,
#header_top .inner .menu button .line_bottom {
  background: #fff;
}

header {
  width: 100%;
  background: #fff;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

header .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0.5em 1em;
  margin: 0 auto;
}

header .inner #header_left a img {
  width: 9em;
  opacity: 0.9;
}

header .inner .menu {
  width: 100%;
  text-align: right;
}

header .inner .menu button {
  width: 1.5em;
}

header .inner .menu button.menu_active .line_top {
  -webkit-transform: translateY(3px) rotate(45deg);
          transform: translateY(3px) rotate(45deg);
}

header .inner .menu button.menu_active .line_middle {
  display: none;
}

header .inner .menu button.menu_active .line_bottom {
  -webkit-transform: translateY(-3px) rotate(-45deg);
          transform: translateY(-3px) rotate(-45deg);
}

header .inner .menu button span {
  -webkit-transition: all .25s;
  transition: all .25s;
}

header .inner .menu button span:not(:last-of-type) {
  margin-bottom: 3px;
}

header .inner .menu button .line_top,
header .inner .menu button .line_middle,
header .inner .menu button .line_bottom {
  display: block;
  width: 100%;
  height: 3px;
  background: #42ABE5;
  border-radius: 5px;
  opacity: 0.9;
}

#sp_nav {
  width: 100%;
  height: 100%;
  border-bottom: 1px solid rgba(51, 51, 51, 0.1);
  background: #fff;
  font-size: 1.6rem;
  overflow: auto;
  position: fixed;
  left: 0;
  z-index: 90;
}

#sp_nav .menu {
  padding: 2em;
}

#sp_nav .menu li:not(:last-of-type) {
  padding-bottom: 1em;
  border-bottom: 1px solid rgba(51, 51, 51, 0.1);
  margin-bottom: 1em;
}

#sp_nav .menu li:last-of-type {
  padding-bottom: 2em;
  margin-bottom: 2em;
}

#sp_nav .menu li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#sp_nav .menu li i {
  color: #42ABE5;
}

@media (min-width: 560px) {
  header .inner {
    padding: 1em 6.5em;
  }
  header .inner #header_left a img {
    width: 11em;
  }
  header .inner .menu button {
    width: 2em;
  }
  header .inner .menu button.menu_active .line_top {
    -webkit-transform: translateY(4px) rotate(45deg);
            transform: translateY(4px) rotate(45deg);
  }
  header .inner .menu button.menu_active .line_bottom {
    -webkit-transform: translateY(-4px) rotate(-45deg);
            transform: translateY(-4px) rotate(-45deg);
  }
  header .inner .menu button span:not(:last-of-type) {
    margin-bottom: 4px;
  }
  header .inner .menu button .line_top,
  header .inner .menu button .line_middle,
  header .inner .menu button .line_bottom {
    height: 4px;
  }
  #sp_nav .menu {
    width: 60%;
    margin: 0 auto;
  }
}

@media (min-width: 960px) {
	header .inner {
		padding: 1em 7em;
	  }
  header .inner #header_left a {
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  header .inner #header_left a:hover {
    opacity: 0.7;
  }
  header .inner #header_left a img {
    width: 14em;
  }
  header .inner #header_right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    font-size: 1.2rem;
    opacity: 0.9;
  }
  header .inner #header_right nav {
    margin-bottom: -1.5em;
  }
  header .inner #header_right nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  header .inner #header_right nav ul li {
    padding-bottom: 0.25em;
    margin-right: 2.5em;
    position: relative;
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  header .inner #header_right nav ul li:hover {
    opacity: 0.7;
  }
  header .inner #header_right nav ul li:hover:after {
    width: 100%;
  }
  header .inner #header_right nav ul li:after {
    content: "";
    width: 0;
    height: 2px;
    background: #7AE28E;
    position: absolute;
    bottom: 0;
    left: 0;
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  header .inner #header_right nav ul li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  header .inner #header_right nav ul li a img {
    width: 1.5em;
    margin-bottom: 0.25em;
  }
  header .inner #header_right .contact_box h3 a {
    display: block;
    padding: 0.75em 2em;
    margin-bottom: 0.25em;
    background: #333333;
    text-align: center;
    color: #fff;
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  header .inner #header_right .contact_box h3 a:hover {
    background: #7AE28E;
  }
  header .inner #header_right .contact_box .number {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  header .inner #header_right .contact_box .number div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  header .inner #header_right .contact_box .number div a {
    display: inline-block;
    padding-bottom: 0.125em;
    border-bottom: 2px solid #333333;
    margin-bottom: 0.25em;
    font-size: 1.6rem;
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  header .inner #header_right .contact_box .number div a:hover {
    color: #7AE28E;
  }
  header .inner #header_right .contact_box .number .twitter_icon img {
    width: 2.4em;
    border-radius: 50px;
    -webkit-transition: all .25s;
    transition: all .25s;
    -webkit-box-shadow: 0 0 8px 1px #fff;
            box-shadow: 0 0 8px 1px #fff;
  }
  header .inner #header_right .contact_box .number .twitter_icon img:hover {
    opacity: 0.7;
  }
  header .inner .menu {
    display: none;
  }
  #sp_nav {
    display: none;
  }
}

@media (min-width: 1366px) {
	header .inner{
		padding: 1em 2em;
		max-width: 1340px;
		box-sizing: border-box;
	}
	header .inner #header_left a img {
		width: 17em;
	}
	header .inner #header_right {
		font-size: 1.6rem;
	}
	header .inner #header_right .contact_box .number div a {
		font-size: 2rem;
	}
}

/***********************************

バナーエリア

***********************************/
.banner_contents {
  margin-bottom: 0;
  background: rgba(51, 51, 51, 0.05);
}

.banner_contents .inner {
  padding: 1.5em 2em;
}

.banner_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.banner_box a {
  width: 100%;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
}

.banner_box a:not(:last-of-type) {
  margin-bottom: 1.5em;
}

.banner_box a img {
  width: 100%;
}

@media (min-width: 560px) {
  .banner_contents .inner {
    padding: 2em 8em;
  }
  .banner_box {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-pack: distribute;
        justify-content: space-between;
  }
  .banner_box a {
    width: 41.5%;
  }
  .banner_box a:not(:last-of-type) {
    margin-bottom: 0;
  }
}

@media (min-width: 960px) {
  .banner_contents .inner {
    padding: 2em 10em;
  }
  .banner_box a {
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  .banner_box a:hover {
    opacity: 0.7;
  }
}
@media (min-width: 1366px){
	.banner_contents .inner {
		padding: 2em;
	}
	.banner_box{
		margin: 0 auto;
		max-width: 1024px;
		justify-content: space-between;
	}
	.banner_box a {
    	width: 42%;
  }
}
/***********************************

フッター

***********************************/
footer {
  background: #333;
}

footer .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding: 1.5em 1em;
}

footer .inner a img {
  width: 9em;
}

footer .inner .footer_box {
  min-width: 0;
  line-height: 1.5;
  font-size: 1.2rem;
}

footer .inner .footer_box .footer_left {
  display: none;
}

footer .inner .footer_box .footer_right {
  margin-left: 16px;
  color: #fff;
}

footer .inner .footer_box .footer_right ul li:not(:last-of-type) {
  margin-bottom: 1em;
}

.footer_article {
  padding: 0 1em;
  background: #333333;
}

.footer_article .footer_article_inner {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  margin: 0 auto;
}

.sns_box,
.copyright {
  color: #fff;
}

.sns_box .inner,
.copyright .inner {
  text-align: center;
}

.sns_box .inner p,
.copyright .inner p {
  font-size: 1.2rem;
}

.sns_box .inner p {
  padding: 2em 1em 0;
}

.sns_box .inner p.twitter a {
  background: #00acee;
}

.sns_box .inner p a {
  padding: 0.5em 1em;
  border-radius: 5px;
  -webkit-transition: all .25s;
  transition: all .25s;
}

.sns_box .inner p a:hover {
  opacity: 0.8;
}

.copyright .inner p {
  padding: 2em 1em;
}

.copyright .inner p a {
  color: #42ABE5;
}

@media (min-width: 560px) {
  footer .inner {
    padding: 2em 6.5em;
  }
  footer .inner a img {
    width: 11em;
  }
  .footer_article {
    padding: 0 2em;
  }
  .sns_box .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .sns_box .inner p {
    padding: 2em 2em 0;
  }
  .copyright .inner p {
    padding: 2em;
  }
}

@media (min-width: 960px) {
  footer .inner {
    display: block;
    padding: 2em 7em;
    margin: 0 auto;
  }
  .footer_article{
	padding: 0 7em;
  }
  footer .inner > a img {
    width: 13em;
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  footer .inner > a img:hover {
    opacity: 0.7;
  }
  footer .inner .footer_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-left: 1em;
    margin-top: 2em;
  }
  footer .inner .footer_box .footer_left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 68%;
    color: #fff;
  }
  footer .inner .footer_box .footer_left ul {
    width: 100%;
    padding: 0 2em;
  }
  footer .inner .footer_box .footer_left ul:not(:last-of-type) {
    border-right: 1px solid rgba(255, 255, 255, 0.1);
  }
  footer .inner .footer_box .footer_left ul .footer_sub_list {
    margin: 1em 0 0 1em;
  }
  footer .inner .footer_box .footer_left ul li {
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  footer .inner .footer_box .footer_left ul li:hover {
    color: #7AE28E;
  }
  footer .inner .footer_box .footer_left ul li:not(:last-of-type) {
    margin-bottom: 1em;
  }
  footer .inner .footer_box .footer_right ul li span {
    padding-left: 1em;
  }
  .copyright .inner a {
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  .copyright .inner a:hover {
    color: #7AE28E;
  }
}

@media (min-width: 1366px) {
  footer .inner{
	  padding: 2em;
	  max-width: 1340px;
	  box-sizing: border-box;
	}
  .footer_article{
	  padding: 0 2em;
    }
	.footer_article .footer_article_inner {
	  max-width: 1276px;
	  margin: 0 auto;
	}
  footer .inner a img {
    width: 15em;
  }
  footer .inner .footer_box {
    font-size: 1.6rem;
  }
  footer .inner .footer_box .footer_left {
    width: 60%;
  }
  .sns_box .inner p,
  .copyright .inner p {
    font-size: 1.6rem;
  }
}

/***********************************

スマホタッチアニメーション

***********************************/
@media (max-width: 959px) {
  /********** トップページ **********/
  /***** スマホメニュー *****/
  #sp_nav .menu li:active {
    color: #7AE28E;
  }
  #sp_nav .menu li:active i {
    color: #7AE28E;
  }
  /***** ロゴ *****/
  #header_left a:active,
  footer .inner a:active {
    -webkit-transition: all .1s;
    transition: all .1s;
    opacity: 0.7;
  }
  /***** ボタンカラー変更 *****/
  .contents .inner .btn a:active {
    -webkit-transition: all .1s;
    transition: all .1s;
    background: #7AE28E;
  }
  /***** News *****/
  .news_box .list ul li:active {
    -webkit-transition: all .1s;
    transition: all .1s;
    opacity: 0.7;
  }
  .news_box .list ul li:active a .cat {
    -webkit-transition: all .1s;
    transition: all .1s;
    color: #7AE28E;
  }
  .news_box .list ul li:active a .arrow_icon i {
    -webkit-transition: all .1s;
    transition: all .1s;
    color: #7AE28E;
  }
  /***** 役員紹介 *****/
  .officer_box .list ul li:active {
    -webkit-transition: all .1s;
    transition: all .1s;
    -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.4);
            box-shadow: 0 5px 20px rgba(51, 51, 51, 0.4);
  }
  /***** 事業内容 *****/
  .biz_contents .list ul li:active {
    -webkit-transition: all .1s;
    transition: all .1s;
    -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.4);
            box-shadow: 0 5px 20px rgba(51, 51, 51, 0.4);
  }
  .biz_contents .list ul li:active a p i {
    -webkit-transition: all .1s;
    transition: all .1s;
    color: #7AE28E;
  }
  /***** バナー *****/
  .banner_box a:active {
    -webkit-transition: all .1s;
    transition: all .1s;
    -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.4);
            box-shadow: 0 5px 20px rgba(51, 51, 51, 0.4);
  }
  /***** SNSボタン *****/
  .sns_box .inner a:active {
    -webkit-transition: all .1s;
    transition: all .1s;
    opacity: 0.7;
  }
  /***** コピーライト *****/
  .copyright .inner a:active {
    -webkit-transition: all .1s;
    transition: all .1s;
    color: #7AE28E;
  }
  /********** 個別ページ **********/
  /***** パンくずリスト *****/
  .single_contents_inner .pankuzu ul li:active {
    -webkit-transition: all .1s;
    transition: all .1s;
    color: #7AE28E;
  }
  /***** 事業内容 *****/
  .single_biz_box .addres_contents .addres_box .info table tr td a:active {
    -webkit-transition: all .1s;
    transition: all .1s;
    color: #7AE28E;
  }
  /***** News *****/
  .single_news_box .list ul li #news_head:active .cat {
    -webkit-transition: all .1s;
    transition: all .1s;
    color: #7AE28E;
  }
  .single_news_box .list ul li #news_head:active .arrow_icon i {
    -webkit-transition: all .1s;
    transition: all .1s;
    color: #7AE28E;
  }
  /***** 採用情報 *****/
  .recruit_box .method_description .info .contact div a:active {
    -webkit-transition: all .1s;
    transition: all .1s;
    -webkit-box-shadow: 0 0 8px -1px #333333;
            box-shadow: 0 0 8px -1px #333333;
  }
  /***** ご相談・お問い合わせ *****/
  .contact_number a:active {
    -webkit-transition: all .1s;
    transition: all .1s;
    -webkit-box-shadow: 0 0 8px -1px #333333;
            box-shadow: 0 0 8px -1px #333333;
  }
  #form_body form .submit_box a:active {
    -webkit-transition: all .1s;
    transition: all .1s;
    border-color: #7AE28E;
    color: #7AE28E;
  }
  #form_body form .submit_box label:active {
    -webkit-transition: all .1s;
    transition: all .1s;
    opacity: 0.5;
  }
  #form_body form .submit_box #submit_button:active {
    -webkit-transition: all .1s;
    transition: all .1s;
    -webkit-box-shadow: 0 0 8px -1px #333333;
            box-shadow: 0 0 8px -1px #333333;
  }
  .thanks_box a:active {
    -webkit-transition: all .1s;
    transition: all .1s;
    -webkit-box-shadow: 0 0 8px -1px #333333;
            box-shadow: 0 0 8px -1px #333333;
  }
  /***** プライバシーポリシー *****/
  .privacy_box dl dd a:active {
    -webkit-transition: all .1s;
    transition: all .1s;
    color: #7AE28E;
  }
}

/***********************************

トップページ：共通

***********************************/
.contents {
	margin-bottom: 1em;
 /* margin-bottom: 3em;*/
	
}

.contents .inner {
  padding: 1.5em 1em 0;
}

.contents .inner .heading {
  line-height: 1;
  text-align: center;
}

.contents .inner .heading h2 {
  display: inline-block;
  border-bottom: 2px solid #42abe5;
  font-size: 2rem;
  position: relative;
}

.contents .inner .heading h2:first-letter {
  font-size: 2.5rem;
  color: #42ABE5;
}

.contents .inner .heading h3 {
  margin-top: 1em;
  font-size: 1.2rem;
}

.contents .inner .heading h3 i {
  color: #42ABE5;
}

.contents .btn {
  text-align: center;
}

.contents .btn a {
  display: inline-block;
  padding: 1em 4em;
  background: #42ABE5;
  font-size: 1.2rem;
  color: #fff;
  -webkit-box-shadow: 0 0 8px -3px #333333;
          box-shadow: 0 0 8px -3px #333333;
}

@media (min-width: 560px) {
  .contents .inner {
    padding: 2em 7em;
  }
  .contents .inner .heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    border-bottom: 3px solid rgba(66, 171, 229, 0.5);
  }
  .contents .inner .heading h2 {
    border-width: 3px;
    margin-bottom: -3px;
  }
  .contents .inner .heading h3 {
    margin: 0 0 0 2em;
  }
  .contents .btn {
    text-align: right;
  }
  .contents .btn a {
    padding: 1em 2em;
  }
}

@media (min-width: 960px) {
	.contents .inner{
		padding: 2em 8em;
		margin: 0 auto;
	  }
  .contents .inner .heading h2 {
    font-size: 3rem;
  }
  .contents .inner .heading h2:first-letter {
    font-size: 3.5rem;
  }
  .contents .inner .heading h3 {
    font-size: 1.6rem;
  }
  .contents .btn a {
    position: relative;
    z-index: 0;
  }
  .contents .btn a:after {
    content: "";
    width: 0;
    height: 100%;
    background: #7AE28E;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  .contents .btn a:hover:after {
    width: 100%;
  }
}

@media (min-width: 1366px) {
  .contents .inner {
	  padding: 2em 2em;
	  width: 1120px;
  }
  .contents .inner .heading h2 {
    font-size: 4rem;
  }
  .contents .inner .heading h2:first-letter {
    font-size: 4.5rem;
  }
  .contents .btn a {
    font-size: 1.6rem;
  }
}

/***********************************

トップページ：メインビジュアル

***********************************/
#main_top {
  width: 100%;
  height: 0;
  padding-top: calc( 1932 / 2421 * 100%);
  background-image: url("../../asset/img/main_sp2.jpg");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  text-align: center;
  position: relative;
}

#main_top .heading {
  width: 100%;
  padding: 4em 1em;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

#main_top .heading h1 {
  font-size: 2.5rem;
  color: rgba(51, 51, 51, 0.9);
  text-shadow: 0px 0px 13px rgba(255, 255, 255, 0.6);
}

@media (min-width: 560px) {
  #main_top {
    padding-top: calc( 1957 / 4445 * 100%);
    background-image: url("../../asset/img/main_2.jpg");
  }
  #main_top::after{
	padding-top: calc( 1957 / 4445 * 100%);
}		
  #main_top .heading h1 {
    margin-top: -1em;
  }
}

@media (min-width: 960px) {
  #main_top .heading h1 {
    font-size: 4rem;
  }
}

@media (min-width: 1366px) {
  #main_top .heading {
    padding: 4em 0;
  }
  #main_top .heading h1 {
    font-size: 6rem;
  }
}

/***********************************

トップページ：News

***********************************/
/***** Newsタグ（トップページ・個別ページ共通） *****/
.cat {
  width: 9em;
  padding: 0.25em 2em;
  border-width: 0.025em;
  border-style: solid;
  margin: 0 1em;
  border-radius: 50px;
  text-align: center;
  font-size: 1.15rem;
}

.cat.update, .cat.news, .cat.important {
  color: #42ABE5;
}

.cat.campaign {
  color: red;
}

.news_box {
	margin-bottom: 1em;
  /*margin-bottom: 3em;*/
}

.news_box .list {
  padding: 1.5em 1em;
}

.news_box .list ul li {
  margin-bottom: 2em;
  text-align: justify;
  line-height: 1.5;
  font-size: 1.2rem;
  position: relative;
}

.news_box .list ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.news_box .list ul li a .day {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0.5em;
}

.news_box .list ul li a .title {
  margin-left: 1em;
}

.news_box .list ul li a .arrow_icon {
  margin-left: auto;
}

.news_box .list ul li a .arrow_icon i {
  margin-left: 1em;
  color: #42ABE5;
}

@media (min-width: 560px) {
  .news_box {
    width: 100%;
	  margin: 0 auto;
    /*margin: 0 auto 3em;*/
  }
  .news_box .list {
    padding: 1em;
  }
  .news_box .list ul li {
    margin-bottom: 16px;
  }
}

@media (min-width: 960px) {
  .news_officer_contents .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .news_box {
    width: 100%;
    margin: 0 0em 0 0;
  }
  .news_box .list ul li {
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  .news_box .list ul li:hover {
    opacity: 0.6;
  }
  .news_box .list ul li:hover a .cat {
    color: #7AE28E;
  }
  .news_box .list ul li:hover a .arrow_icon i {
    -webkit-transition: all .25s;
    transition: all .25s;
    color: #7AE28E;
  }
}

@media (min-width: 1366px) {
  .news_box {
    margin-right: 0em;
  }
  .news_box .list {
    padding: 1.5em 1em;
  }
  .news_box .list ul li {
    margin-bottom: 1.5em;
    font-size: 1.6rem;
  }
}

/***********************************

トップページ：役員紹介

***********************************/
.officer_box {
	display: none;
  padding: 1em;
  background: #fff;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
}

.officer_box .officer_heading {
  text-align: center;
}

.officer_box .officer_heading h3 {
  display: inline-block;
  padding: 0.5em 1em;
  border-left: 0.5em solid #42ABE5;
  background: #fff;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
  font-size: 2rem;
}

.officer_box .officer_heading h4 {
  padding-top: 16px;
  font-size: 1.2rem;
}

.officer_box .list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 1.5em 0;
}

.officer_box .list ul li {
  width: 32%;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
  position: relative;
}

.officer_box .list ul li a img {
  width: 100%;
}

.officer_box .list ul li a .mask {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.5);
  font-size: 1.2rem;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: all .25s;
  transition: all .25s;
  opacity: 0;
}

@media (min-width: 560px) {
  .officer_box {
	  display: none;
    width: 80%;
    margin: 0 auto;
  }
  .officer_box .officer_heading {
    text-align: left;
  }
  .officer_box .officer_heading h3 {
    display: block;
  }
  .officer_box .officer_heading h4 {
    padding: 1em 1em 0;
  }
  .officer_box .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 12px;
  }
  .officer_box .list ul li {
    width: 25%;
  }
}

@media (min-width: 960px) {
  .officer_box {
	  display: none;
   /* -ms-flex-item-align: stretch;
        align-self: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;*/
    width: 35%;
  }
  .officer_box .list ul li {
    width: 32%;
  }
  .officer_box .list ul li:hover a .mask {
    opacity: 1;
  }
}

@media (min-width: 1366px) {
  .officer_box {
    padding: 2em;
	  display: none;
  }
  .officer_box .officer_heading h3 {
    font-size: 2.5rem;
  }
  .officer_box .officer_heading h4 {
    font-size: 1.6rem;
  }
  .officer_box .list {
    padding: 1.5em 1em 0;
  }
  .officer_box .list ul {
    margin-bottom: 1.5em;
  }
}

/***********************************

トップページ：事業内容

***********************************/
.biz_contents {
  background: rgba(66, 171, 229, 0.1);
  -webkit-clip-path: polygon(5% 0, 95% 0, 100% 10%, 100% 90%, 95% 100%, 5% 100%, 0 91%, 0 10%);
          clip-path: polygon(5% 0, 95% 0, 100% 10%, 100% 90%, 95% 100%, 5% 100%, 0 91%, 0 10%);
  position: relative;
}

.biz_contents .list {
  padding: 1.5em 1em;
}

.biz_contents .list ul {
  display: block;
	margin: 0 auto;
}

.biz_contents .list ul li {
  margin: 0 0 2em;
  width: 100%;
  -webkit-box-shadow: 0 0 8px -3px #333333;
          box-shadow: 0 0 8px -3px #333333;
  font-size: 1.2rem;
  position: relative;
}

.biz_contents .list ul li.preparation {
  pointer-events: none;
}

.biz_contents .list ul li.preparation:after {
  width: 90%;
  height: 90%;
  border: 2px solid #fff;
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.biz_contents .list ul li.preparation .mask {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.7);
  font-size: 1.2rem;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
}

.biz_contents .list ul li img {
  width: 100%;
}

.biz_contents .list ul li .name {
  padding: 1em 0;
  background: rgba(255, 255, 255, 0.9);
  text-align: center;
}

.biz_contents .list ul li .name i {
  color: #42ABE5;
}

.biz_contents .list ul li .mask {
  display: none;
}

@media (min-width: 560px) {
  .biz_contents .list ul {
	  display: -webkit-box;
	  display: -ms-flexbox;
	  display: flex;
	  -webkit-box-align: center;
		  -ms-flex-align: center;
			  align-items: center;
	  -webkit-box-pack: justify;
		  -ms-flex-pack: justify;
			  justify-content: space-between;
	  -ms-flex-wrap: wrap;
		  flex-wrap: wrap;
	}
  .biz_contents:before {
    content: "";
    width: 100%;
    height: 6em;
    background: linear-gradient(91.32393deg, #42abe5 36.15234%, #42abe4 36.15234%, #8ab7cf 94.74609%);
    -webkit-box-shadow: 0 0 8px -3px #333333;
            box-shadow: 0 0 8px -3px #333333;
    position: absolute;
    bottom: 4.8em;
    left: 0;
    z-index: -1;
  }
  .biz_contents .list {
    padding: 1em 1em 0 1em;
  }
  .biz_contents .list ul {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .biz_contents .list ul li {
    width: 31%;
    margin-bottom: 16px;
  }
}

@media (min-width: 960px) {
  .biz_contents .list ul li {
	 
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  .biz_contents .list {
    padding: 1em 2em 0 2em;
  }
  .biz_contents .list ul li:hover {
    -webkit-transform: translate(0, -0.5em);
            transform: translate(0, -0.5em);
  }
  .biz_contents .list ul li:hover i {
    -webkit-transition: all .25s;
    transition: all .25s;
    color: #7AE28E;
  }
}

@media (min-width: 1366px) {
  .biz_contents:before {
    bottom: 5.9em;
  }
  .biz_contents .list {
    padding: 1.5em 1em 0 1em;
  }
  .biz_contents .list ul li {
	   width: 31.5%;
    margin-bottom: 24px;
    font-size: 1.6rem;
  }
  .biz_contents .list ul li.preparation .mask {
    font-size: 2rem;
  }
}

/***********************************

個別ページ：共通

***********************************/
.preparation{
	display: none;
}

.single_contents {
  width: 100%;
}

.single_contents .single_contents_inner {
  padding: 1.5em 2em;
  margin: 0 auto;
}

.single_contents .single_contents_inner .pankuzu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.single_contents .single_contents_inner .pankuzu ul li {
  margin-right: 1em;
  font-size: 1.2rem;
}

.single_contents .single_contents_inner .pankuzu ul li i {
  color: #42ABE5;
}

.single_contents .single_contents_inner .single_heading {
  padding: 0.5em 1em;
  border-right: 3px solid #42ABE5;
  border-left: 3px solid #42ABE5;
  margin: 1.5em 0;
  background: rgba(66, 171, 229, 0.05);
  text-align: center;
}

.single_contents .single_contents_inner .single_heading h1 {
  display: inline-block;
  border-bottom: 3px solid #42ABE5;
  font-size: 2rem;
}

.single_contents .single_contents_inner .single_heading h1:first-letter {
  color: #42ABE5;
  font-size: 2.5rem;
}

.single_contents .single_contents_inner .single_heading h2 {
  margin-top: 8px;
  font-size: 1.2rem;
}

@media (min-width: 560px) {
  .single_contents .single_contents_inner .pankuzu{
		padding: 0 5em;
		margin: 0 auto;
	}
  .single_contents .single_contents_inner {
    padding: 2em;
  }
  .single_contents .single_contents_inner .single_heading {
    padding: 1em;
    margin: 2em 4.5em;
  }
}

@media (min-width: 960px) {
  .single_contents .single_contents_inner {
    padding: 3em 2em;
  }
  .single_contents .single_contents_inner .pankuzu{
	padding: 0 5em;
	}
  .single_contents .single_contents_inner .pankuzu ul li {
    font-size: 1.6rem;
  }
  .single_contents .single_contents_inner .pankuzu ul li:hover a {
    color: #7AE28E;
  }
  .single_contents .single_contents_inner .pankuzu ul li a {
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  .single_contents .single_contents_inner .single_heading {
    margin: 3em 5em;
  }
  .single_contents .single_contents_inner .single_heading h1 {
    font-size: 3rem;
  }
  .single_contents .single_contents_inner .single_heading h1:first-letter {
    font-size: 3.5rem;
  }
  .single_contents .single_contents_inner .single_heading h2 {
    margin-top: 1em;
    font-size: 1.6rem;
  }
}
@media (min-width: 1366px){
	.single_contents .single_contents_inner .pankuzu{
		max-width: 1340px;
		margin: 0 auto;
		padding: 0;
	}
	.single_contents .single_contents_inner .pankuzu ul{
		padding: 0 2em;
	}
	.single_contents .single_contents_inner .single_heading {
		max-width: 1276px;
    	margin: 3em auto;
  	}
}
/***********************************

個別ページ：会社概要

***********************************/
.about_box table {
  width: 100%;
  margin: 0 auto;
  background: #fff;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
}

.about_box table tr th, .about_box table tr td {
  display: block;
  padding: 1em;
  width: 100%;
  text-align: justify;
  line-height: 1.5;
  font-size: 1.2rem;
}

.about_box table tr th {
  border-bottom: 1px solid rgba(51, 51, 51, 0.1);
  color: #fff;
  background: rgba(66, 171, 229, 0.5);
}

@media (min-width: 560px) {
  .about_box table {
    width: 80%;
  }
}

@media (min-width: 960px) {
  .about_box table {
    width: 83.5%;
  }
  .about_box table tr:not(:last-of-type) {
    border-bottom: 1px solid rgba(51, 51, 51, 0.1);
  }
  .about_box table tr th, .about_box table tr td {
    display: table-cell;
    padding: 1.5em;
    vertical-align: middle;
    font-size: 1.6rem;
  }
  .about_box table tr th {
    width: 20%;
    border-right: 1px solid rgba(51, 51, 51, 0.1);
    border-bottom: none;
  }
  .about_box table tr td {
    width: 80%;
  }
}

@media (min-width: 1366px) {
  .about_box table {
    width: 80%;
  }
	.about_box table tr th, .about_box table tr td{
		padding: 2em;
	}
}

/***********************************

個別ページ：News

***********************************/
.single_news_box .list ul li {
  border-radius: 5px;
  background: #fff;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
  text-align: justify;
  line-height: 1.5;
  font-size: 1.2rem;
  position: relative;
}

.single_news_box .list ul li:not(:last-of-type) {
  margin-bottom: 2em;
}

.single_news_box .list ul li #news_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1em;
}

.single_news_box .list ul li #news_head .day {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0.5em;
}

.single_news_box .list ul li #news_head .title {
  margin-left: 1em;
}

.single_news_box .list ul li #news_head .arrow_icon {
  margin-left: auto;
  font-size: 2rem;
}

.single_news_box .list ul li #news_head .arrow_icon i {
  margin-left: 1em;
  color: #42ABE5;
  -webkit-transition: all .2s;
  transition: all .2s;
  -webkit-transform-origin: center;
          transform-origin: center;
}

.single_news_box .list ul li #news_head .arrow_icon i.icon_rotate {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.single_news_box .list ul li .content {
  padding: 0 1em 1em;
}

.single_news_box .list ul li .content .inner {
  padding: 1em;
  border-top: 1px solid rgba(51, 51, 51, 0.1);
}

.single_news_box .list ul li .content .inner img {
  max-width: 100%;
  height: auto;
}

.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 80%;
  margin: 2em auto 0;
  font-size: 1.2rem;
}

.pagination li {
  border: 2px solid transparent;
  background: rgba(66, 171, 229, 0.5);
  color: #fff;
}

.pagination li.current {
  border-color: rgba(66, 171, 229, 0.5);
  background: rgba(66, 171, 229, 0.05);
  color: #42ABE5;
}

.pagination li:not(:last-of-type) {
  margin-right: 1em;
}

.pagination li a {
  display: block;
  padding: 1em;
}

@media (min-width: 560px) {
  .single_news_box .list {
    width: 80%;
    margin: 0 auto;
  }
  .pagination {
    margin-top: 32px;
  }
}

@media (min-width: 960px) {
  .single_news_box .list ul li {
    font-size: 1.6rem;
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  .single_news_box .list ul li:hover {
    -webkit-box-shadow: 0 0 10px rgba(122, 226, 142, 0.5);
            box-shadow: 0 0 10px rgba(122, 226, 142, 0.5);
  }
  .single_news_box .list ul li:hover #news_head {
    cursor: pointer;
  }
  .single_news_box .list ul li:hover #news_head .cat {
    color: #7AE28E;
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  .single_news_box .list ul li:hover #news_head .arrow_icon i {
    color: #7AE28E;
  }
  .single_news_box .list ul li #news_head .arrow_icon {
    font-size: 2.4rem;
  }
  .pagination {
    margin-top: 3em;
    font-size: 1.6rem;
  }
  .pagination li {
    -webkit-transition: all .2s;
    transition: all .2s;
  }
  .pagination li.ellipsis {
    pointer-events: none;
  }
  .pagination li:hover {
    border-color: rgba(66, 171, 229, 0.5);
    background: rgba(66, 171, 229, 0.05);
    color: #42ABE5;
  }
}

/***********************************

個別ページ：事業内容

***********************************/
.single_biz_menu {
  margin-bottom: 1.5em;
}

.single_biz_menu ul {
  display: block;
}

.single_biz_menu ul li {
  margin: 0 auto 2px;
  width: 60%;
  padding: 1em;
  border: 2px solid transparent;
  background: rgba(66, 171, 229, 0.5);
  text-align: center;
  font-size: 1.2rem;
  color: #fff;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
}



.single_biz_menu ul li.open {
  border: 2px solid rgba(66, 171, 229, 0.5);
  background: rgba(66, 171, 229, 0.05);
  color: #42ABE5;
}

.single_biz_menu ul li.preparation {
  background: rgba(128, 128, 128, 0.5);
  pointer-events: none;
}

.construction_contents .inner .title,
.demolition_contents .inner .title,
.art_school_contents .inner .title {
  text-align: center;
}

.construction_contents .inner .title h3,
.demolition_contents .inner .title h3,
.art_school_contents .inner .title h3 {
  display: inline-block;
  padding: 0.5em 2.5em;
  margin: 0 auto 1.5em;
  background: #fff;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
  font-size: 1.6rem;
  position: relative;
}

.construction_contents .inner .title h3:before, .construction_contents .inner .title h3:after,
.demolition_contents .inner .title h3:before,
.demolition_contents .inner .title h3:after,
.art_school_contents .inner .title h3:before,
.art_school_contents .inner .title h3:after {
  position: absolute;
  content: "";
  top: 0;
  width: 0.5em;
  height: 100%;
}

.construction_contents .inner .title h3:before,
.demolition_contents .inner .title h3:before,
.art_school_contents .inner .title h3:before {
  border-top: 3px solid #42ABE5;
  border-bottom: 3px solid #42ABE5;
  border-left: 3px solid #42ABE5;
  left: 0;
}

.construction_contents .inner .title h3:after,
.demolition_contents .inner .title h3:after,
.art_school_contents .inner .title h3:after {
  border-top: 3px solid #42ABE5;
  border-right: 3px solid #42ABE5;
  border-bottom: 3px solid #42ABE5;
  right: 0;
}

.construction_contents .inner img,
.demolition_contents .inner img,
.art_school_contents .inner img {
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
}

.construction_contents .inner .info,
.demolition_contents .inner .info,
.art_school_contents .inner .info {
  width: calc(100% - 2em);
  margin: 0 auto;
  padding: 1em;
  background: #fff;
  text-align: justify;
  line-height: 1.5;
  font-size: 1.2rem;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
}

.construction_box,
.demolition_box {
  width: 100%;
}

.single_biz_box .construction_contents,
.single_biz_box .demolition_contents {
  min-width: 100%;
  padding: 1em;
}

.single_biz_box .construction_contents .inner .img_box,
.single_biz_box .demolition_contents .inner .img_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0 12px;
  margin: 0 auto;
}

.single_biz_box .construction_contents .inner .img_box .ing_box_inner,
.single_biz_box .demolition_contents .inner .img_box .ing_box_inner{
  width: 100%;
	height: auto;
}

.single_biz_box .construction_contents .inner .img_box img,
.single_biz_box .demolition_contents .inner .img_box img {
  width: 100%;
	height: auto;
}
.art_school_course{
	padding-top: 1em;
}
.single_biz_box .art_school_contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 3em;
}

.single_biz_box .art_school_contents:first-of-type .inner .title h3:before, .single_biz_box .art_school_contents:first-of-type .inner .title h3:after {
  border-color: #0fff63;
}

.single_biz_box .art_school_contents:last-of-type .inner .title h3:before, .single_biz_box .art_school_contents:last-of-type .inner .title h3:after {
  border-color: #ff00fa;
}

.single_biz_box .art_school_contents .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.single_biz_box .art_school_contents .inner .img_box {
  padding: 0 12px;
}

.single_biz_box .art_school_contents .inner .img_box img {
  width: 100%;
}

.single_biz_box .addres_contents {
  width: 100%;
}

.single_biz_box .addres_contents .addres_box .heading {
  text-align: center;
}

.single_biz_box .addres_contents .addres_box .heading h3 {
  display: inline-block;
  padding: 0.5em 2.5em;
  border-left: 0.5em solid rgba(122, 226, 142, 0.5);
  margin-bottom: 1em;
  background: #fff;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
  font-size: 1.6rem;
  position: relative;
  z-index: 1;
}

.single_biz_box .addres_contents .addres_box .info table {
  width: 100%;
  margin: 0 auto;
  background: #fff;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
}

.single_biz_box .addres_contents .addres_box .info table tr th, .single_biz_box .addres_contents .addres_box .info table tr td {
  display: block;
  padding: 1em;
  width: 100%;
  text-align: justify;
  vertical-align: middle;
  line-height: 1.5;
  font-size: 1.2rem;
}

.single_biz_box .addres_contents .addres_box .info table tr th {
  border-bottom: 1px solid rgba(51, 51, 51, 0.1);
  background: rgba(122, 226, 142, 0.5);
}

.single_biz_box .addres_contents .addres_box .info table tr td a {
  color: #42ABE5;
}

.single_biz_box .addres_contents .addres_box .info table tr rt {
  font-size: 1rem;
}

@media (min-width: 560px) {
  .single_biz_menu ul {
	  display: -webkit-box;
	  display: -ms-flexbox;
	  display: flex;
	  -ms-flex-wrap: wrap;
		  flex-wrap: wrap;
	  -webkit-box-align: center;
		  -ms-flex-align: center;
			  align-items: center;
	  -webkit-box-pack: center;
		  -ms-flex-pack: center;
			  justify-content: center;
	}
  .construction_contents .inner .info,
  .art_school_contents .inner .info {
    width: calc(100% - 4em);
    padding: 1em 2em;
/*	margin-top: -1em;*/
    position: relative;
    z-index: 1;
  }
  .demolition_contents .inner .info{
    width: calc(100% - 3em);
    padding: 1em 2em;
/*	margin-top: -1em;*/
    position: relative;
    z-index: 1;
  }
  .single_biz_menu {
    margin-bottom: 2em;
  }
  .single_biz_menu ul {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .single_biz_menu ul li {
    width: 25%;
    margin: 0;
  }
  
  .single_biz_menu ul li:not(:last-of-type) {
    margin-right: 2px;
  }
  .single_biz_box {
    padding: 0 2em;
  }
  .single_biz_box .construction_contents .inner .img_box,
  .single_biz_box .demolition_contents .inner .img_box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
	   padding: 0 24px;
  }
	.single_biz_box .construction_contents .inner .img_box .img_box_inner,
	.single_biz_box .demolition_contents .inner .img_box .img_box_inner{
		width: 49%;
		height: auto;
	}

  .single_biz_box .construction_contents .inner .img_box img,
  .single_biz_box .demolition_contents .inner .img_box img {
    width: 100%;
	  height: auto;
  }
  .single_biz_box .art_school_course {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
	padding: 1em 1em;
  }
  .single_biz_box .art_school_course .art_school_contents {
    margin-bottom: 4em;
  }
  .single_biz_box .art_school_course .art_school_contents:first-of-type {
    margin-right: 0em;
  }
  .single_biz_box .art_school_course .art_school_contents .inner .img_box {
    padding: 0 24px;
  }
  .single_biz_box .art_school_course .art_school_contents .inner .info {
    height: 100%;
  }
  .single_biz_box .addres_contents {
    width: 80%;
    margin: 0 auto;
  }
}

@media (min-width: 960px) {
  .single_biz_menu {
    margin-bottom: 3em;
  }
  .single_biz_menu ul li {
    font-size: 1.6rem;
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  .single_biz_menu ul li:hover {
    border: 2px solid rgba(66, 171, 229, 0.5);
    background: rgba(66, 171, 229, 0.05);
    color: #42ABE5;
    cursor: pointer;
  }
  .construction_contents .inner .title h3,
  .demolition_contents .inner .title h3,
  .art_school_contents .inner .title h3 {
    font-size: 2rem;
  }
  .construction_contents .inner .info,
  .demolition_contents .inner .info,
  .art_school_contents .inner .info {
    font-size: 1.6rem;
  }

  .single_biz_box .construction_contents .inner .img_box {
    padding: 0 32px;
  }
  .single_biz_box .art_school_course .art_school_contents .inner .img_box {
    padding: 0 32px;
  }
  .single_biz_box .art_school_course .art_school_contents:first-of-type {
    margin-right: 0em;
  }
  .single_biz_box .addres_contents {
    width: 100%;
  }
  .single_biz_box .addres_contents .addres_box .heading h3 {
    font-size: 2rem;
  }
  .single_biz_box .addres_contents .addres_box .info table {
	  width: 89%;
	}
  .single_biz_box .addres_contents .addres_box .info table tr:not(:last-of-type) {
    border-bottom: 1px solid rgba(51, 51, 51, 0.1);
  }
  .single_biz_box .addres_contents .addres_box .info table tr th, .single_biz_box .addres_contents .addres_box .info table tr td {
    display: table-cell;
    padding: 2em;
    font-size: 1.6rem;
  }
  .single_biz_box .addres_contents .addres_box .info table tr th {
    width: 20%;
    border-right: 1px solid rgba(51, 51, 51, 0.1);
    border-bottom: 0;
    background: rgba(122, 226, 142, 0.5);
  }
  .single_biz_box .addres_contents .addres_box .info table tr td {
    width: 80%;
  }
  .single_biz_box .addres_contents .addres_box .info table tr td a {
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  .single_biz_box .addres_contents .addres_box .info table tr td a:hover {
    color: #7AE28E;
  }
}

@media (min-width: 1366px) {
	.construction_contents .inner .info,
	  .demolition_contents .inner .info,
	  .art_school_contents .inner .info {
		width: 85.5%;
    }
	.single_biz_box .construction_contents .inner .img_box,
	.single_biz_box .demolition_contents .inner .img_box {
		width: 85.5%;
		padding: 0;
	}
	.art_school_contents .inner .info{
		width: calc(100% - 4em);
	}
  	.single_biz_box .addres_contents {
    	width: 83.5%;
  	}
	.single_biz_box .addres_contents .addres_box .info table {
	  width: 100%;
	}
	.single_biz_box .construction_contents .inner .img_box {
		width: 85.5%;
		box-sizing: border-box;
		margin: 0 auto;
    	padding: 0px;
  	}
	.art_school_course{
		width: 88%;
		max-width: 1340px;
		margin: 0 auto;
	}
	.single_biz_box .art_school_course{
		padding: 1em 0;
	}
}

/***********************************

個別ページ：施工実績

***********************************/
.single_result_box .heading h3 {
  margin: 2.5em 0 1.5em;
  text-align: center;
  font-size: 1.6rem;
}

.single_result_box .heading h3 i {
  color: #42ABE5;
}

.single_result_box .list {
  margin: 0 1.5em;
}

.single_result_box .list ul li {
  display: inline-block;
  width: 100%;
  border-top: 0.5em solid #42ABE5;
  background: #fff;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
  text-align: justify;
  font-size: 1.2rem;
}

.single_result_box .list ul li:not(:last-of-type) {
  margin-bottom: 2em;
}

.single_result_box .list ul li.preparation {
  pointer-events: none;
  position: relative;
}

.single_result_box .list ul li.preparation:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.25);
}

.single_result_box .list ul li a {
  display: block;
  width: 100%;
  padding: 1em;
  pointer-events: none;
}

.single_result_box .list ul li a h4 {
  display: inline-block;
  padding: 0.25em;
  border-width: 0 0 0.125em 0.25em;
  border-style: solid;
  border-color: #42ABE5;
}

.single_result_box .list ul li a .result_info {
  padding: 1em 0.5em 0;
}

.single_result_box .list ul li a .result_info .tag {
  display: inline-block;
  width: 100px;
  padding: 0.25em 1em;
  border-width: 0.025em;
  border-style: solid;
  margin: 1em 1em 1em 0;
  border-radius: 50px;
  text-align: center;
  font-size: 1rem;
}

.single_result_box .list ul li a .result_info .tag_lgs {
  color: #6464ff;
}

.single_result_box .list ul li a .result_info .tag_board {
  color: #ff6464;
}

.single_result_box .list ul li a .result_info p {
  padding-top: 1em;
  line-height: 1.5;
}

@media (min-width: 560px) {
  .single_result_box .list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .single_result_box .list ul li {
    width: 48%;
  }
  .single_result_box .list ul li:not(:last-of-type) {
    margin-bottom: 32px;
  }
  .single_result_box .list ul li:nth-last-of-type(2) {
    margin: 0;
  }
}

@media (min-width: 960px) {
  .single_result_box .heading h3 {
    font-size: 2rem;
  }
  .single_result_box .list ul li {
    font-size: 1.6rem;
  }
}

@media (min-width: 1366px) {
  .single_result_box .list {
    margin: 1.5em auto 0;
	width: 85.5%;
  }
  .single_result_box .list ul li {
    width: 31.5%;
  }
  .single_result_box .list ul li:nth-last-of-type(3) {
    margin: 0;
  }
}

/***********************************

個別ページ：採用情報

***********************************/
.recruit_box form {
  margin-bottom: 2em;
  text-align: center;
}

.recruit_box form .select_wrapper {
  display: inline-block;
}

.recruit_box form .select_wrapper select {
  display: block;
  padding: 1em;
  margin: 0 auto;
  background: rgba(66, 171, 229, 0.5);
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
  color: #fff;
  font-size: 1.2rem;
  cursor: pointer;
  position: relative;
}

.recruit_box .job_description {
  margin-bottom: 4em;
}

.recruit_box .title {
  margin-bottom: 1em;
  text-align: center;
}

.recruit_box .title h3 {
  display: inline-block;
  font-size: 1.6rem;
  position: relative;
}

.recruit_box .title h3:before, .recruit_box .title h3:after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  width: 1em;
  height: 2px;
  background: #42ABE5;
}

.recruit_box .title h3:before {
  left: -1.6em;
}

.recruit_box .title h3:after {
  right: -1.6em;
}

.recruit_box table {
  width: 100%;
  margin: 0 auto;
  box-shadow: 0 5px 20px rgb(51 51 51 / 10%);
}

.recruit_box table tr th, .recruit_box table tr td {
  display: block;
  padding: 1em;
  width: 100%;
  text-align: justify;
  line-height: 1.5;
  font-size: 1.2rem;
}

.recruit_box table tr th {
  border-bottom: 1px solid rgba(51, 51, 51, 0.1);
  background-color: rgba(66, 171, 229, 0.5);
  color: #ffffff;
}

.recruit_box table tr td .number_list {
  padding-left: 1.5em;
  list-style: decimal;
}

.recruit_box table tr td .sub_list {
  padding: 0.5em 0 0 1.5em;
  list-style: lower-alpha;
}

.recruit_box table tr td dl:not(:last-of-type) {
  padding-bottom: 1em;
  border-bottom: 1px solid rgba(51, 51, 51, 0.1);
  margin-bottom: 1em;
}

.recruit_box table tr td dl dt {
  margin-bottom: 0.5em;
}

.recruit_box table tr td dl dd p {
  padding-left: 1em;
}

.recruit_box .method_description p {
  text-align: justify;
  line-height: 1.5;
  font-size: 1.2rem;
}

.recruit_box .method_description .info {
  margin-top: 1em;
  text-align: center;
}

.recruit_box .method_description .info p {
  display: inline-block;
  padding: 0.125em 2em;
  border-bottom: 2px solid #42ABE5;
  margin-bottom: 1em;
  font-size: 1.6rem;
  position: relative;
}

.recruit_box .method_description .info p:after {
  position: absolute;
  content: "";
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.5em 0 0 0.5em;
  border-color: transparent transparent transparent #42ABE5;
}

.recruit_box .method_description .info .contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.recruit_box .method_description .info .contact div {
  width: 100%;
}

.recruit_box .method_description .info .contact div.tell {
  margin-bottom: 1em;
}

.recruit_box .method_description .info .contact div.tell a {
  background: #42abe5;
}

.recruit_box .method_description .info .contact div.mail a {
  background: #7ae28e;
}

.recruit_box .method_description .info .contact div a {
  display: inline-block;
  padding: 1em;
  font-size: 1.2rem;
  color: #fff;
  -webkit-box-shadow: 0 0 8px -3px #333333;
          box-shadow: 0 0 8px -3px #333333;
  width: 200px;
}

.recruit_box .method_description .info .contact img {
  width: 2rem;
}

@media (min-width: 560px) {
  .recruit_box form {
    margin-bottom: 2.5em;
  }
  .recruit_box form .select_wrapper select {
    padding: 1em 2em 1em 1em;
    margin: 0 auto;
  }
  .recruit_box .title {
    margin-bottom: 1.5em;
  }
  .recruit_box table {
    width: 80%;
  }
  .recruit_box .method_description {
    width: 80%;
    margin: 0 auto;
  }
  .recruit_box .method_description .msg {
    text-align: center;
  }
  .recruit_box .method_description .msg p {
    display: inline-block;
    text-align: left;
  }
  .recruit_box .method_description .info {
    margin-top: 1.5em;
  }
  .recruit_box .method_description .info p {
    margin-bottom: 1.5em;
  }
  .recruit_box .method_description .info .contact {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .recruit_box .method_description .info .contact div {
    width: 45%;
  }
  .recruit_box .method_description .info .contact div.tell {
    margin: 0 2em 0 0;
  }
  .recruit_box .method_description .info .contact div a {
    display: block;
	width: 100%;
	font-size: 1.6rem;
  }
}

@media (min-width: 960px) {
  .recruit_box form {
    margin-bottom: 4em;
  }
  .recruit_box form .select_wrapper select {
    margin: 0 auto;
    font-size: 1.6rem;
  }
  .recruit_box .job_description {
    margin-bottom: 5em;
  }
  .recruit_box .title {
    margin-bottom: 2.5em;
  }
  .recruit_box .title h3 {
    font-size: 2.4rem;
  }
  .recruit_box table {
    width: 83.5%;
  }
  .recruit_box table tr:first-of-type {
    border-top: 1px solid rgba(51, 51, 51, 0.1);
  }
  .recruit_box table tr th, .recruit_box table tr td {
    display: table-cell;
    padding: 2em;
    border-bottom: 1px solid rgba(51, 51, 51, 0.1);
    vertical-align: middle;
    font-size: 1.6rem;
  }
  .recruit_box table tr th {
    width: 20%;
    border-right: 1px solid rgba(51, 51, 51, 0.1);
  }
  .recruit_box table tr td {
    width: 80%;
  }
  .recruit_box .method_description p {
    font-size: 1.6rem;
  }
  .recruit_box .method_description .info p,
  .recruit_box .method_description .info .contact div a {
    font-size: 2rem;
  }
  .recruit_box .method_description .info .contact div a {
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  .recruit_box .method_description .info .contact div a:hover {
    -webkit-box-shadow: 0 0 8px -1px #333333;
            box-shadow: 0 0 8px -1px #333333;
  }
}

@media (min-width: 1366px) {
  .recruit_box table {
    width: 80%;
  }
  .recruit_box .method_description .info .contact div {
    width: 30%;
  }
}

/***********************************

個別ページ：役員紹介

***********************************/
.single_officer_box ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
}

.single_officer_box ul li:not(:last-of-type) {
  margin-bottom: 3em;
}

.single_officer_box ul li:nth-of-type(even) img {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.single_officer_box ul li:nth-of-type(even) .info {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.single_officer_box ul li img {
  width: 100%;
}

.single_officer_box ul li .info {
  width: 100%;
  padding: 1em;
  margin-top: -2em;
  background: #fff;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
  font-size: 1.2rem;
  position: relative;
  z-index: 2;
}

.single_officer_box ul li .info table {
  width: 100%;
}

.single_officer_box ul li .info table tr:first-of-type td p {
  display: inline-block;
  padding: 0 1em 0 0.5em;
  border-bottom: 2px solid #42ABE5;
  position: relative;
}

.single_officer_box ul li .info table tr:first-of-type td p:after {
  position: absolute;
  content: "";
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.5em 0 0 0.5em;
  border-color: transparent transparent transparent #42ABE5;
}

.single_officer_box ul li .info table tr:not(:last-of-type) th, .single_officer_box ul li .info table tr:not(:last-of-type) td {
  padding-bottom: 1em;
}

.single_officer_box ul li .info table tr th, .single_officer_box ul li .info table tr td {
  display: table-cell;
}

.single_officer_box ul li .info table tr th {
  width: 30%;
}

.single_officer_box ul li .info table tr td {
  width: 70%;
}

@media (min-width: 560px) {
  .single_officer_box ul li {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .single_officer_box ul li:not(:last-of-type) {
    margin-bottom: 4em;
  }
  .single_officer_box ul li:nth-of-type(even) img {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .single_officer_box ul li:nth-of-type(even) .info {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin: 0 -2em 0 0;
  }
  .single_officer_box ul li img {
    width: 40%;
  }
  .single_officer_box ul li .info {
    width: 60%;
    margin: 0 0 0 -2em;
  }
}

@media (min-width: 960px) {
  .single_officer_box ul li:not(:last-of-type) {
    margin-bottom: 6em;
  }
  .single_officer_box ul li .info {
    padding: 2em;
    font-size: 1.6rem;
  }
}

@media (min-width: 1366px) {
  .single_officer_box ul {
    width: 80%;
    margin: 0 auto;
  }
}

/***********************************

個別ページ：お問い合わせ

***********************************/
.contact_number {
  margin-bottom: 2em;
  text-align: center;
}

.contact_number a, .contact_number p {
  font-size: 1.6rem;
}

.contact_number a {
  display: inline-block;
  padding: 0.5em 1em;
  margin-bottom: 12px;
  background: #42ABE5;
  -webkit-box-shadow: 0 0 8px -3px #333333;
          box-shadow: 0 0 8px -3px #333333;
  color: #fff;
}

.form-width {
  width: 100%;
}

/*** contactform7 ***/
span.wpcf7-list-item {
  margin: 0 !important;
  vertical-align: middle;
}

span.wpcf7-list-item:not(:first-of-type) {
  margin-left: 1em !important;
}

.radio01 {
  display: inline-block;
  padding-bottom: 0.5em;
}

.wpcf7 form.sent .wpcf7-response-output {
  display: none !important;
}

#form_body form {
  width: 100%;
  padding: 1em;
  margin: 0 auto;
  background: #fff;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
  font-size: 1.2rem;
}

#form_body form table {
  width: 100%;
}

#form_body form table tr {
  border-bottom: 1px solid rgba(51, 51, 51, 0.1);
}

#form_body form table tr:not(:first-of-type) th {
  padding-top: 1em;
}

#form_body form table tr th, #form_body form table tr td {
  display: block;
  width: 100%;
}

#form_body form table tr th .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#form_body form table tr th .title span {
  display: block;
  padding: 0.25em;
  margin: 0 1em;
  border-radius: 5px;
  background: rgba(255, 0, 0, 0.5);
  color: #fff;
}

#form_body form table tr td {
  padding: 1em 0 1em 1em;
  line-height: 1.5;
}

#form_body form table tr td input,
#form_body form table tr td textarea {
  padding: 0.5em;
  border: 1px solid rgba(51, 51, 51, 0.1);
  background: #fff;
}

#form_body form table tr td input:focus,
#form_body form table tr td textarea:focus {
  border-color: rgba(66, 171, 229, 0.5);
}

#form_body form table tr td input::-webkit-input-placeholder,
#form_body form table tr td textarea::-webkit-input-placeholder {
  color: rgba(66, 171, 229, 0.3);
}

#form_body form table tr td input:-ms-input-placeholder,
#form_body form table tr td textarea:-ms-input-placeholder {
  color: rgba(66, 171, 229, 0.3);
}

#form_body form table tr td input::-ms-input-placeholder,
#form_body form table tr td textarea::-ms-input-placeholder {
  color: rgba(66, 171, 229, 0.3);
}

#form_body form table tr td input::placeholder,
#form_body form table tr td textarea::placeholder {
  color: rgba(66, 171, 229, 0.3);
}

#form_body form table tr td input[type="text"] {
  width: 60%;
}

#form_body form table tr td textarea {
  width: 100%;
}

#form_body form .submit_box {
  text-align: center;
}

#form_body form .submit_box .agree_text {
  margin: 1em 0;
  line-height: 1.5;
}

#form_body form .submit_box a {
  display: inline-block;
  border-bottom: 1px solid #42ABE5;
  margin-bottom: 1em;
  color: #42ABE5;
}

#form_body form .submit_box label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 1em;
}

#form_body form .submit_box label input {
  margin-right: 0.5em;
}

#form_body form .submit_box #submit_button {
  display: block;
  padding: 0.5em 2em;
  margin: 0 auto;
  background: #7AE28E;
  color: #fff;
  font-size: 1.6rem;
  -webkit-box-shadow: 0 0 8px -3px #333333;
          box-shadow: 0 0 8px -3px #333333;
}

#form_body form .submit_box #submit_button.agree_check {
  pointer-events: none;
  background: rgba(51, 51, 51, 0.25);
}

@media (min-width: 560px) {
  #form_body form {
    padding: 2em;
  }
  #form_body form .submit_box label {
    margin-bottom: 2em;
  }
}

@media (min-width: 960px) {
  input[type="radio"]:hover,
  input[type="checkbox"]:hover {
    cursor: pointer;
  }
  .contact_number {
    margin-bottom: 3em;
  }
  .contact_number a, .contact_number p {
    font-size: 2.4rem;
  }
  .contact_number a {
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  .contact_number a:hover {
    -webkit-box-shadow: 0 0 8px -1px #333333;
            box-shadow: 0 0 8px -1px #333333;
  }
  #form_body form {
    width: 80%;
    padding: 0 2em 2em;
    font-size: 1.6rem;
  }
  #form_body form table tr:not(:first-of-type) th {
    padding-top: 0;
  }
  #form_body form table tr th, #form_body form table tr td {
    display: table-cell;
  }
  #form_body form table tr th {
    width: 35%;
    vertical-align: middle;
  }
  #form_body form table tr th .title {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #form_body form table tr td {
    width: 65%;
    padding: 2em 0;
  }
  #form_body form .submit_box .agree_text {
    margin: 2em 0;
  }
  #form_body form .submit_box a {
    margin-bottom: 2em;
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  #form_body form .submit_box a:hover {
    border-color: #7AE28E;
    color: #7AE28E;
  }
  #form_body form .submit_box label {
    cursor: pointer;
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  #form_body form .submit_box label:hover {
    opacity: 0.5;
  }
  #form_body form .submit_box #submit_button {
    font-size: 2.4rem;
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  #form_body form .submit_box #submit_button:hover {
    -webkit-box-shadow: 0 0 8px -1px #333333;
            box-shadow: 0 0 8px -1px #333333;
  }
}

@media (min-width: 1366px) {
  #form_body form table tr th {
    width: 30%;
  }
  #form_body form table tr td {
    width: 70%;
  }
}

/***********************************

個別ページ：お問い合わせ（送信完了）

***********************************/
.thanks_box {
  padding: 1em;
  background: #fff;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
  text-align: center;
}

.thanks_box h5, .thanks_box a {
  font-size: 2rem;
}

.thanks_box h5 {
  padding: 1em 0;
  border-top: 1px solid rgba(51, 51, 51, 0.1);
  border-bottom: 1px solid rgba(51, 51, 51, 0.1);
}

.thanks_box h5 i {
  color: #42ABE5;
}

.thanks_box p {
  padding: 1em;
  text-align: justify;
  line-height: 1.5;
  font-size: 1.2rem;
}

.thanks_box a {
  display: inline-block;
  padding: 0.5em 1em;
  background: #42ABE5;
  -webkit-box-shadow: 0 0 8px -3px #333333;
          box-shadow: 0 0 8px -3px #333333;
  color: #fff;
}

@media (min-width: 560px) {
  .thanks_box {
    width: 60%;
    margin: 0 auto;
  }
}

@media (min-width: 960px) {
  .thanks_box h5, .thanks_box a {
    font-size: 2.4rem;
  }
  .thanks_box p {
    font-size: 1.6rem;
  }
  .thanks_box a {
    -webkit-transition: all .25s;
    transition: all .25s;
  }
  .thanks_box a:hover {
    -webkit-box-shadow: 0 0 8px -1px #333333;
            box-shadow: 0 0 8px -1px #333333;
  }
}

/***********************************

個別ページ：プライバシーポリシー

***********************************/
.privacy_box {
  font-size: 1.2rem;
}

.privacy_box p {
  padding: 0 1em;
  margin-bottom: 2em;
  text-align: justify;
  line-height: 1.5;
}

.privacy_box dl dt {
  display: inline-block;
  padding: 0.5em 1em;
  border-left: 0.5em solid #42ABE5;
  margin-bottom: 1em;
  background: #fff;
  -webkit-box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
          box-shadow: 0 5px 20px rgba(51, 51, 51, 0.1);
}

.privacy_box dl dd {
  padding: 0 1em;
  margin-bottom: 4em;
  text-align: justify;
  line-height: 1.5;
}

.privacy_box dl dd:last-of-type {
  margin-bottom: 0;
}

.privacy_box dl dd ul {
  padding: 1em 0 1em 1em;
  list-style: disc;
}

.privacy_box dl dd table th, .privacy_box dl dd table td {
  padding: 1em;
  border: 1px solid rgba(51, 51, 51, 0.1);
}

.privacy_box dl dd a {
  color: #42ABE5;
}

@media (min-width: 560px) {
  .privacy_box {
    width: 80%;
    margin: 0 auto;
  }
  .privacy_box p {
    margin-bottom: 32px;
  }
}

@media (min-width: 960px) {
  .privacy_box {
    font-size: 1.6rem;
  }
  .privacy_box p {
    margin-bottom: 3em;
  }
  .privacy_box dl dd a {
    -webkit-transition: color .25s;
    transition: color .25s;
  }
  .privacy_box dl dd a:hover {
    color: #7AE28E;
  }
}
/*# sourceMappingURL=style.css.map */