/*
Theme Name:cure child
Theme URI:
Description:WordPressテーマ「cure」の自作子テーマです。
Template:cure_tcd082
Author:mc
Author URI:https://design-plus1.com/tcd-w/
Version:1.3.2
*/


/* ▼ここから追加 */


/****************************************
 reCAPTCHA設定
*****************************************/
.grecaptcha-badge { visibility: hidden; }
.grecaptcha-badge { bottom: 150px!important; }

/****************************************
固定ページ　大きなタイトル設定
*****************************************/
.tcd-pb-row.row1 .tcd-pb-col.col1 .tcd-pb-widget.widget1 .pb_catchcopy { color: #333333; font-size: 40px; text-align: center;  }
@media only screen and (max-width: 767px) {
  .tcd-pb-row.row1 .tcd-pb-col.col1 .tcd-pb-widget.widget1 .pb_catchcopy { font-size: 30px; text-align: center;  }
}

/****************************************
タブで分ける設定　トップページ
*****************************************/

.tab-txt {
font-family: 'Noto Sans JP', sans-serif !important;
font-size: 22px !important;
    color: #F45809;
    font-weight: 600;
}

.tab-txt2 {
font-family: 'Noto Sans JP', sans-serif !important;
font-size: 18px !important;
    color: #1F9846;
    font-weight: 600;
}

.tab_content ul {
  list-style: none;
}

#item1,
#item2,
#item3{
display:none;
}
/*タブコンテンツ全体の要素*/
.tab_content{
  width: 100%;
  margin: 0 auto;
}
/*タブ部分の基本設定*/
.tab_list{
  display: flex;
  justify-content: space-between;
  margin: 0 !important;
  padding: 0 !important;
list-style: none !important;
}

.tab_item{
  width: calc(33.333% - 2px);
  background-color: #ddd;
  position: relative;
  bottom: -1px;
  margin: 0 !important;
  padding: 0 !important;
list-style: none !important;
}

.tab_item label{
  padding: 8px 0;
  display: block;
  cursor: pointer;
  text-align: center;
}
/*チェックが入ったときのタブ部分の指定*/
#item1:checked ~ .tab_list .tab_item1,
#item2:checked ~ .tab_list .tab_item2,
#item3:checked ~ .tab_list .tab_item3{
  background-color: #fff;
  border: solid 1px #000;
  border-bottom-color: #fff;
  z-index: 2;
}
#item1:checked ~ .tab_list .tab_item1 label,
#item2:checked ~ .tab_list .tab_item2 label,
#item3:checked ~ .tab_list .tab_item3 label{
  cursor: auto;
}

/*コンテンツ部分の基本設定*/
.content_wrap{
  width: 100%;
  margin: 0;
  padding: 0;
}
.content_tab{
  position: relative;
  z-index: 1;
  padding: 20px 10px;
  display: none;
  background-color: #fff;
  border: solid 1px #000;
  margin: 0;
}

/*チェックが入ったときのコンテンツ部分の指定*/
#item1:checked ~ .content_wrap .content1,
#item2:checked ~ .content_wrap .content2,
#item3:checked ~ .content_wrap .content3{
  display: block;
}

/****************************************
メインメニューのサブメニューの背景色変更
*****************************************/
#global_menu ul ul a { color:#ffffff; background:#187436 !important; }
#global_menu ul ul a:hover { background:#ffa700 !important; }

#mobile_menu a:hover, #drawer_menu .close_button:hover, #mobile_menu .child_menu_button:hover, .mobile #lang_button a:hover { color:#ffffff; background:#187436 !important; }
#mobile_menu li li a:hover { color:#ffffff; }
.megamenu_service_list { background:#187436 !important; }

.megamenu_blog_list { background:#187436 !important; }

/****************************************
PCとスマホで画像サイズ切り替え
*****************************************/
#pc-img {
display: block;
text-align: center;
}

#mobile-img {
display: block;
width: 100%;
text-align: center;
}

/* 幅799px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 799px){
/* トップページ設定-------*/
#pc-img {
display: none;
    }
#mobile-img {
display: block;
width: 100%;
text-align: center;
}
/* スマホ表示での改行削除-------*/
.kotei-all01 br {
display: none !important;
}
/* スマホ表示での画像横幅100％-------*/
.sp-img1 img { width: 100%; height: auto; }
}

/****************************************
 PCサイズで非表示設定
*****************************************/
@media (min-width: 800px) {
    #mobile-img {
        display: none;
    }
}
/****************************************
 ここまで追加
*****************************************/

.space01 {margin-bottom: 10rem; }

.design1_content4.num1 .top_headline {border-color:#187436 !important; }
.design1_content2.num0 .top_headline {border-color:#187436 !important; }
.service_content .top_headline {border-color:#187436 !important; }

#cb_content_3-2 {margin-top:15rem; !important; }

.post_content .btn_defo2 a { color:#fff; }
.post_content .btn_defo2{
    text-align: center;
    position: relative;
margin-top:20px; !important;
}

.post_content .btn_defo2 a{
    color: #ffffff !important;
    border-radius: 30px;
    background-color: #187436;
    transition: 0.3s;
    display: inline-block;
    min-width: 280px;
    height: 60px;
    line-height: 60px;
    padding: 0 20px;
    font-size: 16px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.post_content .btn_defo2 a:hover{
    background-color: #FFA700 !important;
    color: #fff !important;
}

.link_button a {
    border-radius: 30px;
}

.table-design1 table, td, th {
border-bottom: 1px solid #666 !important;
border-top: 0px !important;
border-right: 0px !important;
border-left: 0px !important;
}
.table-design1 table {
border-collapse: collapse !important;
}

.star {
color: #ffb300 !important;
font-size: 1.5rem;
font-weight: 200;
font-family: fot-matisse-pron, sans-serif;
font-style: normal;
}

.star2 {
font-size: 1.5rem;
font-weight: 200;
font-family: fot-matisse-pron, sans-serif;
font-style: normal;
}

/* ▲ここまで追加 */



.page_navi{
	margin-bottom:3rem;
}
/* ヘッダー */


#header_slider {
  width:100%; height:900px; overflow:hidden; position:relative; background:#fff;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; box-sizing:border-box;
}
#header_slider .item { opacity:0; width:100%; height:900px; position:relative; overflow: hidden; }
#header_slider .image { width:100%; height:100%; position:absolute; top:0px; left:0px; z-index:1; }
#header_slider .caption {
  width:100%; z-index:3; padding:0 20px; text-align:center;
  position:absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; box-sizing:border-box;
}
#header_slider .catch { line-height:1.3; -ms-word-wrap: break-word; word-wrap: break-word; position:relative; font-weight:500; }
#header_slider .overlay { width:100%; height:100%; position:absolute; top:0px; left:0px; z-index:2; }


/* 動画 */
#header_slider .video_wrap.type1 { position:absolute; top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
#header_slider .video_wrap.type2 { position:absolute; top:0px; left:50%; -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); }
#header_slider .video_inner { padding-top:56.25%; position:relative; width:100%; }
#header_slider .slide-media { height:100% !important; position:absolute; left:0; top:0; width:100% !important; }
#video_poster { width:100%; height:100%; position:absolute; z-index:1; }


/* 縦書き */
#header_slider .catch {
  position:absolute; z-index:100; font-weight:500; line-height:1.5; padding:0 50px; width:calc(100% - 100px); text-align:center;
  left:50%; top:50%; -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);
}
#header_slider .catch.type2 { writing-mode:vertical-rl; display:inline-block; text-align:left; padding:0; width:auto; }


/* キャプションのアニメーション */
#header_slider .catch span { opacity:0; display:block; position:relative; }
#header_slider .item.animate .catch span:nth-child(1) {
  -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 1s;
  animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 1s;
}
#header_slider .item.animate .catch span:nth-child(2) {
  -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 1.4s;
  animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 1.4s;
}
#header_slider .item.animate .catch span:nth-child(3) {
  -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 1.8s;
  animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 1.8s;
}
#header_slider .item.animate .catch span:nth-child(4) {
  -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 2.2s;
  animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 2.2s;
}
#header_slider .item.animate .catch span:nth-child(5) {
  -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 2.6s;
  animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 2.6s;
}

#header_slider .item.first_animate .catch span:nth-child(1) {
  -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
  animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
}
#header_slider .item.first_animate .catch span:nth-child(2) {
  -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
  animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
}
#header_slider .item.first_animate .catch span:nth-child(3) {
  -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.6s;
  animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.6s;
}
#header_slider .item.first_animate .catch span:nth-child(4) {
  -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 5.0s;
  animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 5.0s;
}
#header_slider .item.first_animate .catch span:nth-child(5) {
  -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 5.4s;
  animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 5.4s;
}


/* 背景画像のアニメーション */
#header_slider .item.animation_type1.animate .image {
  -webkit-animation: zoomIn 30s; animation: zoomIn 30s;
}
#header_slider .item.animation_type2.animate .image {
  -webkit-animation: zoomOut 30s; animation: zoomOut 30s;
}
#header_slider .item.animation_type3.animate .image {
  width:-webkit-calc(100% + 200px); height:-webkit-calc(100% + 200px); width:calc(100% + 200px); height:calc(100% + 200px);
  -webkit-animation: bg_image_move_right 30s; animation: bg_image_move_right 30s;
}
#header_slider .item.animation_type4.animate .image {
  width:-webkit-calc(100% + 200px); height:-webkit-calc(100% + 200px); width:calc(100% + 200px); height:calc(100% + 200px);
  -webkit-animation: bg_image_move_left 30s; animation: bg_image_move_left 30s;
}
#header_slider .item.animation_type5.animate .image {
  width:-webkit-calc(100% + 200px); height:-webkit-calc(100% + 200px); width:calc(100% + 200px); height:calc(100% + 200px);
  -webkit-animation: bg_image_move_up 30s; animation: bg_image_move_up 30s;
}
#header_slider .item.animation_type6.animate .image {
  width:-webkit-calc(100% + 200px); height:-webkit-calc(100% + 200px); width:calc(100% + 200px); height:calc(100% + 200px);
  -webkit-animation: bg_image_move_down 30s; animation: bg_image_move_down 30s;
}
/* 右に移動 */
@-webkit-keyframes bg_image_move_right {
  0% { transform: translate3d(-200px,0,0); }
  100% { transform: translate3d(0px,0,0); }
}
@keyframes bg_image_move_right {
  0% { transform: translate3d(-200px,0,0); }
  100% { transform: translate3d(0px,0,0); }
}
/* 左に移動 */
@-webkit-keyframes bg_image_move_left {
  0% { transform: translate3d(0px,0,0); }
  100% { transform: translate3d(-200px,0,0); }
}
@keyframes bg_image_move_left {
  0% { transform: translate3d(0px,0,0); }
  100% { transform: translate3d(-200px,0,0); }
}
/* 上に移動 */
@-webkit-keyframes bg_image_move_up {
  0% { transform: translate3d(0,0,0); }
  100% { transform: translate3d(0,-200px,0); }
}
@keyframes bg_image_move_up {
  0% { transform: translate3d(0,0,0); }
  100% { transform: translate3d(0,-200px,0); }
}
/* 下に移動 */
@-webkit-keyframes bg_image_move_down {
  0% { transform: translate3d(0,-200px,0); }
  100% { transform: translate3d(0,0,0); }
}
@keyframes bg_image_move_down {
  0% { transform: translate3d(0,-200px,0); }
  100% { transform: translate3d(0,0,0); }
}

body.home #header_logo .pc_logo_image.type1 {
    width: 300px;
    height: auto;
    margin-top: 50px;
}

#menu-item-65{
    background-color: #187436;
    width: 140px;
    height: 3em;
    top: 30px;
    border-radius: 20px;
    margin-left: 2.5em;
    transition: 0.3s;
}

#menu-item-65 a{
    padding: 5px!important;
    bottom: 30px;
    transition: 0.3s;
}

#menu-item-65:hover{
    background-color: #FFA700;
}

#global_menu {
font-family: 'Noto Sans JP', sans-serif !important;
font-size: 20px !important;
}

#global_menu > ul #menu-item-65 a{
    color: #fff!important;
}

body.home #global_menu > ul #menu-item-65 a:hover{
    color: #fff!important;
}

/* フッター */
#footer_logo img {
    width: 230px;
    height: auto;
}

#footer_contact .link_button a {
    border-radius: 30px;
}

#footer_banner{
    display: none;
}

/* 共通 */
.defo_inner{
    width: 1100px;
    margin: 0 auto;
    position: relative;
}

.defo_title{
    width: 100%;
    text-align: center;
}

.defo_title .defo_title_sub{
    font-size: 1.1rem;
    color: #ffa700;
    display: inline-block;
    margin: 0 0 16px 0;
    font-family: toppan-bunkyu-midashi-go-std, sans-serif;
    font-style: normal;
    font-weight: 900;
}

.defo_title .defo_title_main{
    font-family: font-family: "M PLUS Rounded 1c";;
    font-size: 2rem;
    color: #262626;
    font-weight: 600;
    margin: 0 0 40px 0;
    font-family: fot-matisse-pron, sans-serif;
    font-style: normal;
    font-weight: 500;
}

.btn_defo{
    text-align: center;
    position: relative;
}

.btn_defo a{
    color: #ffffff;
    border-radius: 30px;
    background-color: #187436;
    transition: 0.3s;
    display: inline-block;
    min-width: 280px;
    height: 60px;
    line-height: 60px;
    padding: 0 20px;
    font-size: 16px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.btn_defo a:hover{
    background-color: #FFA700;
    color: #fff;
}

.btn_defo_2{
    text-align: center;
    position: relative;
}

.btn_defo_2 a{
    color: #187436;
    border-radius: 30px;
    background-color: #fff;
    transition: 0.3s;
    display: inline-block;
    min-width: 180px;
    height: 50px;
    line-height: 50px;
    padding: 0 14px;
    font-size: 16px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 2px solid #187436;
}

.btn_defo_2 a:hover{
    background-color: #187436;
    color: #fff;
}

.container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-around;
    justify-content: space-around;
}

.moji_color1 {
    color: #187436;
}

img {
    max-width: 100%;
}

/* トップページーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
#home_sec1 {
    margin: 4rem 0 7rem;
}

#home_sec1 .container {
    margin-bottom: 4rem;
}

#home_sec1 .container .item{
    width: 30%;
}

#home_sec1 .container .item .hs1_t1{
    font-family: toppan-bunkyu-midashi-min-st, serif;
    font-style: normal;
    font-weight: 900;
    font-size: 1.2rem;
    text-align: center;
    margin: 1rem 0;
    color: #187436;
}

#home_sec1 .container .item .hs1_t2 {
    line-height: 1.8;
    margin-bottom: 1rem;
}

.home_sec2-2{
    margin-top: 100px;
}

#home_sec2{
    background-color: #f5f5f5;
	width: 100vw;
	position: relative;
    left: 50%;
    transform: translateX(-50%);
	height: 500px;
    margin-top: 0px;
	margin-bottom: 30px;
	background-image:url(images/ha_hs2_bg.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

#home_sec2 .defo_title .defo_title_sub {
    color: #187436;
}

#home_sec2 .defo_title .defo_title_main {
    color: #187436;
}

#home_sec2 .works_list_inner{
	width: 80%;
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 40px;
}

#home_sec2 .works_container{
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center;
}

#home_sec2 .works_container .type-works{
	width: 30%;
	background: #fff;
	border: 1px solid #f5f5f5;
	box-shadow: 8px 8px #187436;
    padding: 8px;
    min-width: 300px;
}

#home_sec2 .ba_content{
    border: 1px solid #dddddd;
}

#home_sec2 .b_a_img_top_con{
	position: relative;
	height: 16vw;
    max-height: 250px;
}

#home_sec2 .before_img_top{
	position: absolute;
	z-index: 1;
	width: 40%;
    bottom: 0;
    right: 0;
    border: 3px solid #ffa700;
	height: 6vw;
    max-height: 90px;
}

#home_sec2 .after_img_top{
	position: absolute;
	height: calc(100%);
	width:100%;
}

#home_sec2 .works_after_onimg{
	position: absolute;
    top: 5px;
    left: 5px;
    z-index: 2;
    color: #fff;
    background-color: #187436;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    font-weight: 800;
    font-size: 1.1rem;
    text-align: center;
}

#home_sec2 .works_after_onimg span{
	line-height:4;
}

#home_sec2 .works_before_onimg{
	position: absolute;
    bottom: 34%;
    right: 20%;
    z-index: 2;
    color: #fff;
    font-weight: 800;
    font-size: 1.1rem;
	text-shadow:0 0 3px #FFA700,0 0 3px #FFA700,0 0 3px #FFA700,0 0 3px #FFA700,0 0 3px #FFA700,0 0 3px #FFA700,0 0 3px #FFA700,0 0 3px #FFA700,0 0 3px #FFA700,0 0 3px #FFA700;
}

#home_sec2 .b_a_img_bottom_con{
    padding: 1rem;
}

#home_sec2 .works_place1{
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 0.8rem;
    color: #505050;
}

#home_sec2 .works_title1{
    font-size: 1.4rem;
    color: #187436;
    margin: 0 0 12px 0;
    font-family: toppan-bunkyu-midashi-go-std, sans-serif;
    font-style: normal;
    font-weight: 900;
    text-align: center;
}

#home_sec2 table tr{
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    font-size: 1rem;
    color: #262626;
    border-bottom: 1px solid #ddd;
    padding: 5px;
}

#home_sec2 table th,td{
    padding: 15px 5px;
    font-weight: 400;
}

#home_sec2 .ba_bottom_con_btn{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-around;
    justify-content: space-around;
}

#home_sec2 .cat_type_works{
	font-size: 1.2rem;
    width: 50%;
    margin: 1.5rem auto 1rem;
    text-align: center;
}

#home_sec2 .cat_type_works a{
    color: #fff;
    border-radius: 30px;
    background-color: #d6d6d6;
    transition: all 0.3s ease 0s;
    display: inline-block;
    min-width: 100px;
    height: 2.5rem;
    line-height: 2.5rem;
    padding: 0px 10px;
    font-size: 16px;
    box-sizing: border-box;
    width: 90%;
    font-weight: 600;
}

#home_sec2 .ba_btn_defo{
    font-size: 1.2rem;
    width: 50%;
    margin: 1.5rem auto 1rem;
    text-align: center;
}

#home_sec2 .ba_btn_defo a{
	color: #fff;
    border-radius: 30px;
    background-color: #187436;
    transition: all 0.3s ease 0s;
    display: inline-block;
    min-width: 100px;
    height: 2.5rem;
    line-height: 2.5rem;
    padding: 0px 10px;
    font-size: 16px;
    box-sizing: border-box;
    width: 90%;
    min-width: 120px;
}

#home_sec2 .ba_btn_defo a:hover{
    background-color: #FFA700;
}

#home_sec2 .btn_defo{
    margin: 4rem auto 0;
}

#home_sec2 .ba_top_link:hover{
    opacity: 0.85;
}

#cb_content_4{
    padding: 380px 0 100px;
}

#cb_content_4 .link_button a{
    border-radius: 30px;
}

#home_sec4{
	width: 100vw;
	position: relative;
    left: 50%;
    transform: translateX(-50%);
	height: 420px;
    margin-top: 0px;
	background-image:url(images/ha_hs4_bg.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
    padding-bottom: 2rem;
    margin-bottom: 5rem;
}

#home_sec4 .defo_inner{
    padding: 3rem 0;
}

#home_sec4 .defo_title_sub{
    color:#fff;
}

#home_sec4 .defo_title_main{
    color:#fff;
    font-size: 1.6rem;
}

#home_sec4 .home_s4_t1{
    color:#fff;
    font-family: toppan-bunkyu-midashi-min-st, serif;
    font-style: normal;
    font-weight: 900;
    font-size: 2rem;
    text-align: center;
    margin-bottom: 2rem;
}

#home_sec4 .home_s4_t2{
    color: #fff;
    width: 80%;
    margin: 3rem auto 3rem;
    line-height: 2;
    text-align: center;
}

#home_sec4 .btn_defo a {
    color: #187436;
    background-color: #fff;
}

#home_sec4 .btn_defo a:hover {
    color: #fff;
    background-color: #187436;
}


#home_sec5{
    margin-bottom: 6rem;
}

#home_sec5 .access_list_inner{
	width: 80%;
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 40px;
}

#home_sec5 .access_container{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center;
    box-shadow: 8px 8px #187436;
}

#home_sec5 .access_container .home_s5_item1{
    width: 50%;
    border: 1px solid #ddd;
    box-sizing: border-box;
    border-right: none;
    padding: 2.5rem;
    position: relative;
}

#home_sec5 .hs5_item1_bg{
    font-family: brush-script-std, sans-serif;
    color: #187436;
    font-style: normal;
    font-weight: 400;
    font-size: 8em;
    position: absolute;
    top: 30%;
    left: 0%;
    transform: rotate(6deg);
    z-index: -1;
    opacity: 0.1;

}

#home_sec5 .s5_item1_t1{
    font-family: "M PLUS Rounded 1c";
    font-style: normal;
    font-weight: 900;
    font-size: 2rem;
    text-align: center;
    margin-bottom: 2rem;
}

#home_sec5 .s5_item1_t2{
    font-size: 1.1rem;
    line-height: 1.8;
    width: 80%;
    margin: 0 auto 1.5rem;
}

#home_sec5 .s5_item1_t3{
    font-size: 1.1rem;
    line-height: 1.8;
    width: 80%;
    margin: 0 auto 1.5rem;
}

#home_sec5 .s5_item1_t4{
    font-size: 1.1rem;
    line-height: 1.8;
    width: 80%;
    margin: 0 auto 2.5rem;
}

#home_sec5 .s5_item1_t1 span{
    font-size: 1rem;
}

#home_sec5 .access_container .home_s5_item2{
    width: 50%;
}

#home_sec5 .access_container .home_s5_item2 iframe{
    height: 100%;
}

/* トップページここまでーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
/* 業務内容ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
#about_sec1 .about_lay1{
    position: relative;
    width: 110%;
    left: 50%;
    transform: translateX(-50%);
    padding-bottom: 6rem;
    margin-bottom: 8em;
    margin-top: 4rem;
}

#about_sec1 .about_lay1 .a_lay1_img{
    position: absolute;
    top: 0;
    left:0;
    box-shadow: 8px 8px #FFEB00;
    width: 45%;
    z-index: 0;
    background-color: #FFEB00;
}

#about_sec1 .about_lay1 .a_lay1_img img{
    width: 100%;
}

#about_sec1 .about_lay1 .a_lay1_bg{
    position: absolute;
    bottom: 0;
    right: 0;
    background-color: #f5f5f5;
    width: 75%;
    height: calc(100% - 3em);
    z-index: -2;
    box-shadow: 8px 8px #187436;
}

#about_sec1 .about_lay1 .a_lay1_content{
    width: 50%;
    margin-left: 50%;
}

#about_sec1 .about_lay1 .a_lay1_t1{
    font-size: 1.5rem;
    font-family: toppan-bunkyu-midashi-min-st, serif;
    font-style: normal;
    font-weight: 900;
    font-size: 2rem;
    text-align: center;
    margin-bottom: 5rem;
}

#about_sec1 .about_lay1 .a_lay1_t2{
    text-align: center;
    font-size: 1.2rem;
    width: 80%;
    line-height: 1.6;
    margin: 0 auto 3rem;
}

#about_sec1 .about_lay1 .a_lay1_content ul{
    position: relative;
    padding-left: 3em;
    margin-bottom: 2rem;
}

#about_sec1 .about_lay1 .a_lay1_content ul li{
    position: relative;
    line-height: 1.8;
}

#about_sec1 .about_lay1 .a_lay1_content ul li:before{
    content: "";
    width: 1em;
    height: 1em;
    border-radius: 50%;
    background-color: #000;
    position: absolute;
    left: -1.5em;
    top: 0.25rem;
}

#about_sec2 {
    margin-bottom: 7rem;
}

#about_sec2 .t1{
    font-family: toppan-bunkyu-midashi-go-std, sans-serif;
    font-style: normal;
    font-weight: 900;
    font-size: 1.6rem;
    color: #187436;
    margin: 1.5rem 0 2.5rem;
    text-align: center;
}

#about_sec2 .container {
    margin-bottom: 2rem;
}

#about_sec2 .container .t2 {
    text-align: center;
    font-size: 1.1rem;
    margin-top: 0.3rem;
}

#about_sec2 .t3 {
    width: 85%;
    margin: 0 auto;
    line-height: 1.8;
}

#about_sec3 {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}

#about_sec3 .defo_title .defo_title_main {
    font-family: toppan-bunkyu-midashi-go-std, sans-serif;
    font-style: normal;
    font-weight: 900;
    font-size: 1.6rem;
}

#about_sec3 .defo_title .defo_title_main span {
    font-size: 1.9rem;
    color: #187436;
}

#about_sec3 .step_con1{
    position: relative;
    width: 100%;
    height: 450px;
    margin-bottom: 2rem;
}

#about_sec3 .step_con1 .step_bg{
    position: absolute;
    background-color: #f5f5f5;
    width: 80%;
    height: 400px;
    bottom: 0;
    left: 0;
    z-index: -1;
}

#about_sec3 .step_con1 .step_container{
    position: absolute;
    width: 80%;
    top: 38px;
    right: 100px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-around;
    justify-content: space-around;
}

#about_sec3 .step_con1 .step_container .item1{
    width: 60%;
    padding-top: 4rem;
}

#about_sec3 .step_con1 .step_container .item1 .step_num{
    position: absolute;
    top: -1rem;
    left: 0;
    font-family: "Hiragino Kaku Gothic StdN","Hiragino Kaku Gothic ProN", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    font-style: normal;
    font-weight: 900;
    font-size: 3.8rem;
    color: #C0C0C0;
    opacity: 0.8;
}

#about_sec3 .title_box {
    text-align: center;
}

#about_sec3 .step_t1{
    font-size: 1.3rem;
    color: #187436;
    background-color: #fff;
    border: 2px solid #187436;
    border-radius: 20px;
    margin-bottom: 2.5rem;
    display: inline-block;
    padding: 15px 35px;
}

#about_sec3 .step_con1 .step_container .item1 .step_disc{
    font-size: 1.0rem;
    margin-bottom: 1.5rem;
    line-height: 1.8;
}

#about_sec3 .step_con1 .step_container .item2{
    width: 40%;
    padding: 4rem 3rem;
}

#about_sec3 .step_con1 .step_container .item2 img{
    width: 100%;
}


#about_sec3 .step_con2{
    position: relative;
    width: 100%;
    height: 450px;
    margin-bottom: 2rem;
}

#about_sec3 .step_con2 .step_bg{
    position: absolute;
    background-color: #f5f5f5;
    width: 80%;
    height: 400px;
    bottom: 0;
    right: 0;
    z-index: -1;
}

#about_sec3 .step_con2 .step_container{
    position: absolute;
    width: 80%;
    top: 38px;
    left: 100px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-around;
    justify-content: space-around;
}

#about_sec3 .step_con2 .step_container .item1{
    width: 60%;
    padding-top: 5rem;
}

#about_sec3 .step_con2 .step_container .item1 .step_num{
    position: absolute;
    top: -1rem;
    right: 0;
    font-family: "Hiragino Kaku Gothic StdN","Hiragino Kaku Gothic ProN", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    font-style: normal;
    font-weight: 900;
    font-size: 3.8rem;
    color: #C0C0C0;
    opacity: 0.8;
}

#about_sec3 .step_con2 .step_container .item1 .step_t1{
    font-size: 1.3rem;
    margin-bottom: 3.5rem;
    margin-left: 2rem;
}

#about_sec3 .step_con2 .step_container .item1 .step_disc{
    font-size: 1rem;
    margin-bottom: 1.5rem;
    line-height: 1.8;
    margin-left: 2rem;
}

#about_sec3 .step_con2 .step_container .item2{
    width: 40%;
    padding: 4rem 3rem;
}

#about_sec3 .step_con2 .step_container .item2 img{
    width: 100%;
}


/* Googleクチコミ--------------------------- */
#company_sec2-2{
    margin-top:-25rem;
}

#company_sec2-2 table{
    width: 75%;
    margin: 0 auto 5rem;
}

#company_sec2-2 table th{
    background-color: #f5f5f5;
    border: 1px solid #dddddd;
    border-right: none;
    padding: 18px;
    text-align: left;
    width: 35%;
    font-weight: 400;
}

#company_sec2-2 table td{
    border: 1px solid #dddddd;
    border-left: none;
    padding: 18px;
    text-align: left;
    width: 65%;
    line-height: 1.8;
}

#company_sec2-2 table .a_s2_th{
    background-color: #187436;
    color: #fff;
    font-weight: 600;
    text-align: center;
    line-height: 1.8;
}


/* 会社概要ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
#company_page .company_s1_disc{
    width: 75%;
    max-width: 900px;
    margin: 0 auto 4rem;
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    line-height: 1.8;
    color: #262626;
}

#company_sec2{
    margin-top:5rem;
}

#company_sec2 table{
    width: 75%;
    margin: 0 auto 5rem;
}

#company_sec2 table th{
    background-color: #f5f5f5;
    border: 1px solid #dddddd;
    border-right: none;
    padding: 18px;
    text-align: left;
    width: 35%;
    font-weight: 400;
}

#company_sec2 table td{
    border: 1px solid #dddddd;
    border-left: none;
    padding: 18px;
    text-align: left;
    width: 65%;
    line-height: 1.8;
}

#company_sec2 table .a_s2_th{
    background-color: #187436;
    color: #fff;
    font-weight: 600;
    text-align: center;
    line-height: 1.8;
}

#company_sec4{
    margin-bottom: 4rem;
}

#company_sec4 .access_list_inner{
	width: 80%;
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 40px;
}

#company_sec4 .access_container{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center;
    box-shadow: 8px 8px #187436;
}

#company_sec4 .access_container .item1{
    width: 50%;
    border: 1px solid #ddd;
    box-sizing: border-box;
    border-right: none;
    padding: 5rem 2rem 2rem;
    position: relative;
}

#company_sec4 .item1_bg{
    font-family: brush-script-std, sans-serif;
    color: #187436;
    font-style: normal;
    font-weight: 400;
    font-size: 6em;
    position: absolute;
    top: 30%;
    left: 0%;
    transform: rotate(6deg);
    z-index: -1;
    opacity: 0.1;
}

#company_sec4 .item1_t1{
    font-family: "M PLUS Rounded 1c";
    font-style: normal;
    font-weight: 900;
    font-size: 2rem;
    text-align: center;
    margin-bottom: 2rem;
}

#company_sec4 .item1_t2{
    font-size: 1.1rem;
    line-height: 1.8;
    width: 70%;
    margin: 0 auto 1.2rem;
    padding-left: 2rem;
}

#company_sec4 .item1_t3{
    font-size: 1.1rem;
    line-height: 1.8;
    width: 70%;
    margin: 0 auto 1.2rem;
    padding-left: 2rem;
}

#company_sec4 .item1_t4{
    font-size: 1.1rem;
    line-height: 1.8;
    width: 70%;
    margin: 0 auto 0rem;
    padding-left: 2rem;
}

#company_sec4 .item1_t5{
    font-size: 1.1rem;
    line-height: 1.8;
    width: 70%;
    margin: 0 auto 1.5rem;
    padding-left: 2rem;
}

#company_sec4 .item1_t1 span{
    font-size: 1rem;
}

#company_sec4 .btn_defo {
    margin: 3rem auto;
}

#company_sec4 .access_container .item2{
    width: 50%;
}

#company_sec4 .access_container .item2 iframe{
    height: 100%;
}

/* 施工実績アーカイブーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

#works_archive .defo_inner {
    padding: 3.5rem 0 5rem;
}

#works_archive .works_container{
	display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    flex-wrap: wrap;
}

#works_archive .works_container:before {
    content: "";
    display: block;
    width: 30%;
    height: 0;
    order: 1;
}

#works_archive .works_container::after {
    content: "";
    display: block;
    width: 30%;
    height: 0;  
}

#works_archive .works_container .type-works{
	width: 30%;
	background: #fff;
	border: 1px solid #f5f5f5;
	box-shadow: 8px 8px #187436;
    padding: 8px;
    margin-bottom: 3rem;
}

#works_archive .ba_content{
    border: 1px solid #dddddd;
}

#works_archive .b_a_img_top_con{
	position: relative;
	height: 16vw;
    max-height: 250px;
}

#works_archive .before_img_top{
	position: absolute;
	z-index: 1;
	width: 40%;
    bottom: 0;
    right: 0;
    border: 3px solid #ffa700;
	height: 6vw;
    max-height: 90px;
}

#works_archive .after_img_top{
	position: absolute;
	height: calc(100%);
	width:100%;
}

#works_archive .works_after_onimg{
	position: absolute;
    top: 5px;
    left: 5px;
    z-index: 2;
    color: #fff;
    background-color:#187436;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    font-weight: 800;
    font-size: 1.1rem;
    text-align: center;
}

#works_archive .works_after_onimg span{
	line-height:4;
}

#works_archive .works_before_onimg{
	position: absolute;
    bottom: 34%;
    right: 20%;
    z-index: 2;
    color: #fff;
    font-weight: 800;
    font-size: 1.1rem;
	text-shadow:0 0 3px #FFA700,0 0 3px #FFA700,0 0 3px #FFA700,0 0 3px #FFA700,0 0 3px #FFA700,0 0 3px #FFA700,0 0 3px #FFA700,0 0 3px #FFA700,0 0 3px #FFA700;
}

#works_archive .b_a_img_bottom_con{
    padding: 1rem;
}

#works_archive .works_place1{
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 0.8rem;
    color: #505050;
}

#works_archive .works_title1{
    font-size: 1.4rem;
    color: #187436;
    margin: 0 0 12px 0;
    font-family: toppan-bunkyu-midashi-go-std, sans-serif;
    font-style: normal;
    font-weight: 900;
    text-align: center;
}

#works_archive table tr{
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    font-size: 1rem;
    color: #262626;
    border-bottom: 1px solid #ddd;
    padding: 5px;
}

#works_archive table th,td{
    padding: 15px 5px;
    font-weight: 400;
}

#works_archive .ba_bottom_con_btn{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-around;
    justify-content: space-around;
}

#works_archive .cat_type_works{
	font-size: 1.2rem;
    width: 50%;
    margin: 1.5rem auto 1rem;
    text-align: center;
    height: 3rem;
}

#works_archive .cat_type_works a{
    color: #fff;
    border-radius: 30px;
    background-color: #ffa700;
    transition: all 0.3s ease 0s;
    display: inline-block;
    min-width: 120px;
    height: 3rem;
    line-height: 3rem;
    padding: 0px 20px;
    font-size: 16px;
    box-sizing: border-box;
    width: 90%;
    font-weight: 600;
}

#works_archive .ba_btn_defo{
    font-size: 1.2rem;
    width: 50%;
    margin: 1.5rem auto 1rem;
    text-align: center;
    height: 3rem;
}

#works_archive .ba_btn_defo a{
	color: #fff;
    border-radius: 30px;
    background-color: #187436;
    transition: all 0.3s ease 0s;
    display: inline-block;
    min-width: 120px;
    height: 3rem;
    line-height: 3rem;
    padding: 0px 20px;
    font-size: 16px;
    box-sizing: border-box;
    width: 90%;
}

#works_archive .ba_btn_defo a:hover{
    background-color: #FFA700;
}

#works_archive .btn_defo{
    margin: 4rem auto 0;
}

#works_archive .ba_top_link:hover{
    opacity: 0.85;
}

#works_archive .page_job{
	text-align: center;
	font-size: 1rem;
}

/* 施工実績アーカイブここまでーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
/* 施工実績シングルページーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */
#works_single_container{
	width: 100%;
   margin: 2rem auto;
}

#works_single_container .works_single_con_item{
	width: 100%;
	height:auto;
	margin-bottom: 2.5rem;
}

#works_single_container .b_a_img_top_con{
	position: relative;
	height: 30vw;
    max-height: 450px;
}

#works_single_container .before_img_top{
	position: absolute;
	z-index: 1;
	width: 40%;
    bottom: 0px;
    right: 0;
    border: 3px solid #ffa700;
	height: 12vw;
    max-height: 180px;
}


#works_single_container .after_img_top{
	position: absolute;
	height: calc(100% - 0px);
	width:100%;
}


#works_single_container .works_after_onimg{
	position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    color: #fff;
    background-color: #187436;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    font-weight: 800;
    font-size: 1.1rem;
    text-align: center;
}

#works_single_container .works_after_onimg span{
	line-height:4.5;
}

#works_single_container .works_before_onimg{
	position: absolute;
    bottom: 39%;
    right: 28%;
    z-index: 2;
    color: #fff;
    font-weight: 800;
    font-size: 1.2rem;
	text-shadow:0 0 3px #ffa700,0 0 3px #ffa700,0 0 3px #ffa700,0 0 3px #ffa700,0 0 3px #ffa700,0 0 3px #ffa700,0 0 3px #ffa700,0 0 3px #ffa700,0 0 3px #ffa700;
}

#ba_single_under{
	border: 1px solid #ddd;
    border-width: 0 1px 1px 1px;
    padding: 0.5rem 0.5rem 2rem;
}

#ba_single_under table{
  width: 95%;
  margin: 2rem auto;
}

#ba_single_under table th,td{
	padding: 20px 10px;
}

#ba_single_under table th{
  width: 25%;
  text-align:center;
  font-size: 1.1rem;
  font-weight: 400;
  border-bottom: 1px solid #ddd;
}

#ba_single_under table td{
  width: 75%;
  font-size: 1rem;
  line-height: 1.8;
  font-weight: 400;
  border-bottom: 1px solid #ddd;
}

/*media Queries PC小サイズ（1051px～1251px）のみで適応したいCSS -施工シングルページ調整
---------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 1051px) and (max-width: 1251px) {
    #works_single_container .b_a_img_top_con {
        height: 36vw;
        max-height: 500px;
    }

    #works_single_container .before_img_top {
        height: 16vw;
        max-height: 180px;
    }

    #works_single_container .works_before_onimg {
        bottom: 43%;
        right: 27%;
    }

    #works_single_container {
        max-width: 580px;
    }
}

/*media Queries PC小サイズ（951px～1050px）のみで適応したいCSS -施工シングルページ調整
---------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 951px) and (max-width: 1050px) {
    #works_single_container .b_a_img_top_con {
        height: 50vw;
        max-height: 500px;
    }

    #works_single_container .before_img_top {
        height: 22vw;
        max-height: 220px;
    }

    #works_single_container .works_before_onimg {
        bottom: 43%;
        right: 30%;
    }

    #works_single_container {
        max-width: 750px;
    }
}


/* 施工実績シングルページここまでーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー */

/*media Queries スマートフォンとタブレットサイズ（1251px以下）で適応したいCSS - スマホ・タブレット
---------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 1251px) {
    /* 共通 */
    .defo_inner {
        width: 90%;
    }

    /* ヘッダー */
#header_slider { height:750px; padding:0px; margin:0; }
#header_slider .item { height:750px; }

@media screen and (max-width:950px) {
  #header_slider .item.first_animate .catch span:nth-child(1) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.1s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.1s;
  }
  #header_slider .item.first_animate .catch span:nth-child(2) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.5s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.5s;
  }
  #header_slider .item.first_animate .catch span:nth-child(3) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
  }
  #header_slider .item.first_animate .catch span:nth-child(4) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
  }
  #header_slider .item.first_animate .catch span:nth-child(5) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.7s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.7s;
  }
}
@media screen and (max-width:750px) {
  #header_slider .item.first_animate .catch span:nth-child(1) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 2.7s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 2.7s;
  }
  #header_slider .item.first_animate .catch span:nth-child(2) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.1s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.1s;
  }
  #header_slider .item.first_animate .catch span:nth-child(3) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.5s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.5s;
  }
  #header_slider .item.first_animate .catch span:nth-child(4) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
  }
  #header_slider .item.first_animate .catch span:nth-child(5) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
  }
}

    /* トップページ */
    #home_sec1 .home_s1_disc {
        width: 70%;
    }

    #home_sec2 .works_list_inner {
        width: 90%;
        max-width: 1100px;
    }

    #home_sec2 .works_container .type-works {
        min-width: 280px;
    }

    #home_sec2 .b_a_img_top_con {
        height: 20vw;
        max-height: 220px;
    }

    #home_sec2 .before_img_top {
        height: 8vw;
        max-height: 80px;
    }

    #home_sec2 .works_before_onimg {
        bottom: 36%;
        right: 18%;
        font-size: 1rem;
    }

    #home_sec2 .works_after_onimg {
        width: 60px;
        height: 60px;
        font-size: 1rem;
    }

    #home_sec2 .works_after_onimg span {
        line-height: 3.8;
    }

    #home_sec5 .s5_item1_t2 {
        width: 90%;
    }

    #home_sec5 .s5_item1_t3 {
        width: 90%;
    }

    #home_sec5 .s5_item1_t4 {
        width: 90%;
    }

    /* 業務内容 */
    #about_sec3 .step_con1 .step_container {
        width: 90%;
        right: 0px;
    }

    #about_sec3 .step_con2 .step_container {
        width: 90%;
        left: 0px;
    }

    /* 施工実績アーカイブページ */
    #works_archive .works_title1 {
        font-size: 1.2rem;
    }

    #works_archive .b_a_img_bottom_con {
        padding: 1rem 0.5rem;
    }

    #works_archive table th, td {
        padding: 15px 2px;
    }

    #works_archive table tr {
        font-size: 0.9rem;
    }

    #works_archive .works_after_onimg {
        width: 60px;
        height: 60px;
        font-size: 1rem;
    }

    #works_archive .works_after_onimg span {
        line-height: 3.8;
    }

    #works_archive .cat_type_works a {
        min-width: 110px;
        height: 2.5rem;
        line-height: 2.5rem;
        padding: 0px 10px;
        font-size: 0.9rem;
        width: 90%;
    }

    #works_archive .ba_btn_defo a{
        min-width: 110px;
        height: 2.5rem;
        line-height: 2.5rem;
        padding: 0px 10px;
        font-size: 0.9rem;
        width: 90%;
    }

/* 会社概要 */
    #company_page .company_s1_disc {
        width: 85%;
        max-width: 800px;
    }

    #company_sec2 table {
        width: 85%;
    }

    #company_sec4 .access_container .item1 {
        padding: 2rem 0.5rem 1rem;
    }

    #company_sec4 .item1_t2 {
        width: 90%;
    }

    #company_sec4 .item1_t3 {
        width: 90%;
    }

    #company_sec4 .item1_t4 {
        width: 90%;
    }

    #company_sec4 .item1_t5 {
        width: 90%;
    }

	/*-- ここまで --*/
}


/*media Queries スマートフォンとタブレットサイズ（950px以下）で適応したいCSS - スマホ・タブレット
---------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 950px) {
    /* 共通 */
    .defo_title .defo_title_main {
        font-size: 1.7rem;
    }
    /* ヘッダー */
#header_slider { height:750px; padding:0px; margin:0; }
#header_slider .item { height:750px; }

@media screen and (max-width:950px) {
  #header_slider .item.first_animate .catch span:nth-child(1) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.1s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.1s;
  }
  #header_slider .item.first_animate .catch span:nth-child(2) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.5s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.5s;
  }
  #header_slider .item.first_animate .catch span:nth-child(3) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
  }
  #header_slider .item.first_animate .catch span:nth-child(4) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
  }
  #header_slider .item.first_animate .catch span:nth-child(5) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.7s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.7s;
  }
}
@media screen and (max-width:750px) {
  #header_slider .item.first_animate .catch span:nth-child(1) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 2.7s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 2.7s;
  }
  #header_slider .item.first_animate .catch span:nth-child(2) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.1s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.1s;
  }
  #header_slider .item.first_animate .catch span:nth-child(3) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.5s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.5s;
  }
  #header_slider .item.first_animate .catch span:nth-child(4) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
  }
  #header_slider .item.first_animate .catch span:nth-child(5) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
  }
}


     /* トップページ */

    #home_sec1 .container {
        width: 100%;
    }

    #home_sec1 .container .item {
        width: 24%;
    }

    #home_sec1 .container .item .hs1_t1 {
        font-size: 1rem;
    }

    .btn_defo_2 a {
        min-width: 150px;
    }

    #home_sec2 .works_list_inner {
        width: 90%;
        max-width: 900px;
    }

    #home_sec2 .works_container .type-works {
        min-width: 220px;
    }

    #home_sec2 .b_a_img_top_con {
        height: 20vw;
        max-height: 220px;
    }

    #home_sec2 .before_img_top {
        height: 8vw;
        max-height: 80px;
    }

    #home_sec2 .works_before_onimg {
        bottom: 36%;
        right: 15%;
        font-size: 0.9rem;
    }

    #home_sec2 .works_after_onimg {
        width: 50px;
        height: 50px;
        font-size: 0.85rem;
    }

    #home_sec2 .works_after_onimg span {
        line-height: 3.6;
    }

    #home_sec2 .b_a_img_bottom_con {
        padding: 1rem 0.5rem;
    }

    #home_sec2 .works_title1 {
        font-size: 1.1rem;
    }

    #home_sec2 table th, td {
        font-size: 0.9rem;
    }

    #home_sec2 .cat_type_works a {
        min-width: 90px;     
        width: 95%;
    }

    #home_sec2 .ba_btn_defo a {
        font-size: 0.9rem;
        width: 95%;
        min-width: 100px;
    }

    #home_sec4 .home_s4_t2 {
        width: 70%;
        margin: 2rem auto 3rem;
    }

    #home_sec5 .access_container .home_s5_item1 {
        padding: 2rem 0.5rem;
    }

    #home_sec5 .s5_item1_t1 {
        font-size: 1.5rem;
        margin-bottom: 1.5rem;
    }

    #home_sec5 .s5_item1_t2 {
        width: 90%;
    }

    #home_sec5 .s5_item1_t3 {
        width: 90%;
    }

    #home_sec5 .s5_item1_t4 {
        width: 90%;
    }

    /* サービス */
    #about_page .about_s1_disc {
        width: 85%;
    }

    #about_sec1 .about_lay1 .a_lay1_content {
        width: 55%;
        margin-left: 45%;
    }

    #about_sec1 .about_lay1 .a_lay1_t1 {
        font-size: 1.8rem;
    }

    #about_sec1 .about_lay1 .a_lay1_t2 {
        font-size: 1rem;
        width: 90%;
    }

    #about_sec3 .step_con1 .step_container {
        width: 95%;
        right: 0px;
    }

    #about_sec3 .step_con1 .step_container .item1 {
        padding-top: 3rem;
    }

    #about_sec3 .step_con1 .step_container .item2 {
        padding: 4rem 1.5rem;
    }

    #about_sec3 .step_con2 .step_container {
        width: 95%;
        right: 0px;
    }

    #about_sec3 .step_con2 .step_container .item1 {
        padding-top: 3rem;
    }

    #about_sec3 .step_con2 .step_container .item2 {
        padding: 4rem 1.5rem;
    }

    /* 施工実績アーカイブページ */
    #works_archive .defo_inner {
        width: 95%;
    }

    #works_archive .b_a_img_top_con {
        height: 21vw;
        max-height: 190px;
    }

    #works_archive .before_img_top {
        height: 8vw;
        max-height: 90px;
    }

    #works_archive .works_title1 {
        font-size: 1.2rem;
    }

    #works_archive .b_a_img_bottom_con {
        padding: 1rem 0.5rem;
    }

    #works_archive table th, td {
        padding: 15px 2px;
    }

    #works_archive table tr {
        font-size: 0.9rem;
    }

    #works_archive .works_before_onimg {
        bottom: 36%;
        right: 13%;
        font-size: 0.9rem;
    }

    #works_archive .works_after_onimg {
        width: 50px;
        height: 50px;
        font-size: 0.8rem;
    }

    #works_archive .works_after_onimg span {
        line-height: 3.8;
    }

    #works_archive .cat_type_works a {
        min-width: 100px;
        height: 2.5rem;
        line-height: 2.5rem;
        padding: 0px 10px;
        font-size: 0.9rem;
        width: 95%;
    }

    #works_archive .ba_btn_defo a{
        min-width: 100px;
        height: 2.5rem;
        line-height: 2.5rem;
        padding: 0px 10px;
        font-size: 0.9rem;
        width: 95%;
    }

    /* 施工事例シングルページ */
    #works_single_container .b_a_img_top_con {
        height: 50vw;
        max-height: 450px;
    }

    #works_single_container .before_img_top {
        height: 22vw;
        max-height: 210px;
    }

    #works_single_container .works_before_onimg {
        bottom: 42%;
    }

/* 会社概要 */

    #company_sec4 .item1_t1 {
        font-size: 1.5rem;
    }


	/*-- ここまで --*/
}

/*media Queries スマートフォンとタブレットサイズ（750px以下）で適応したいCSS - スマホ・タブレット
---------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 750px) {
    /* 共通 */

    .btn_defo a {
        min-width: 240px;
    }
    
    .defo_title .defo_title_main {
        font-size: 1.6rem;
    }

    /* ヘッダー */
#header_slider { height:750px; padding:0px; margin:0; }
#header_slider .item { height:750px; }

@media screen and (max-width:950px) {
  #header_slider .item.first_animate .catch span:nth-child(1) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.1s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.1s;
  }
  #header_slider .item.first_animate .catch span:nth-child(2) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.5s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.5s;
  }
  #header_slider .item.first_animate .catch span:nth-child(3) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
  }
  #header_slider .item.first_animate .catch span:nth-child(4) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
  }
  #header_slider .item.first_animate .catch span:nth-child(5) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.7s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.7s;
  }
}
@media screen and (max-width:750px) {
  #header_slider .item.first_animate .catch span:nth-child(1) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 2.7s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 2.7s;
  }
  #header_slider .item.first_animate .catch span:nth-child(2) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.1s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.1s;
  }
  #header_slider .item.first_animate .catch span:nth-child(3) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.5s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.5s;
  }
  #header_slider .item.first_animate .catch span:nth-child(4) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
  }
  #header_slider .item.first_animate .catch span:nth-child(5) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
  }
}


    /* トップページ */

    #home_sec1 .container {
        flex-wrap: wrap;
    }

    #home_sec1 .container .item {
        width: 40%;
        margin-bottom: 2rem;
    }

    #home_sec1 .container .item .hs1_t1 {
        font-size: 1.3rem;
    }

    #home_sec1 .container .item .hs1_t2 {
        height: 90px;
    }
    
    #home_sec2 .works_container .type-works {
        width: 50%;
        min-width: 270px;
    }
    
    #home_sec2 .works_container .type-works:nth-child(3){
        display: none;
    }
    
    #home_sec2 .b_a_img_top_con {
        height: 30vw;
        max-height: 200px;
    }
    
    #home_sec2 .before_img_top {
        height: 11vw;
        max-height: 80px;
    }
    
    #home_sec2 .works_before_onimg {
        bottom: 36%;
        right: 15%;
    }
    
    #home_sec2 .b_a_img_bottom_con {
        padding: 1rem 0.3rem;
    }
    
    #home_sec2 .works_title1 {
        font-size: 1.3rem;
    }
    
    #home_sec2 table tr {
        padding: 2px;
    }
    
    #home_sec2 table th, td {
        padding: 15px 2px;
    }

    #cb_content_4 {
        padding: 300px 0 100px;
    }
    
    #home_sec5 .access_container {
        flex-direction: column;
    }
    
    #home_sec5 .access_container .home_s5_item1 {
        padding: 2.5rem 1rem;
        width: 100%;
    }
    
    #home_sec5 .access_container .home_s5_item2 {
        width: 100%;
        height: 400px;
    }
    
    #home_sec5 .access_list_inner {
        width: 90%;
    }

    #home_sec5 .s5_item1_t2 {
        width: 60%;
    }

    #home_sec5 .s5_item1_t3 {
        width: 60%;
    }

    #home_sec5 .s5_item1_t4 {
        width: 60%;
    }
    
    #home_sec4 .home_s4_t1 {
        font-size: 1.6rem;
    }
    #home_sec4 .home_s4_t2 {
        width: 85%;
        margin: 2rem auto 2rem;
    }
    
    #cb_content_4 .cb_catch {
        font-size: 1.6rem;
    }
    
    /* 業務内容 */
    
    #about_sec1 .about_lay1 {
        width: 100%;
    }
    
    #about_sec1 .about_lay1 .a_lay1_content {
        width: 70%;
        margin-left: 35%;
        padding-top: 5rem;
    }
    
    #about_sec1 .about_lay1 .a_lay1_t1 {
        font-size: 1.5rem;
        margin-bottom: 4rem;
    }
    
    #about_sec1 .about_lay1 .a_lay1_t2 {
        font-size: 1rem;
        width: 70%;
        margin: 0 auto 2rem;
        padding-left: 1.5rem;
    }
    
    #about_sec1 .about_lay2 {
        width: 100%;
    }
    
    #about_sec1 .about_lay2 .a_lay2_t1 {
        font-size: 1.5rem;
        line-height: 1.5;
    }
    
    #about_sec3 .step_con1 {
        width: 100%;
        height: 700px;
    }

    #about_sec3 .step_con1 .step_bg {
        width: 100%;
        height: 550px;
        bottom: 150px;
    }

    #about_sec3 .step_con1 .step_container {
        width: 80%;
        flex-direction: column;
        right: unset;
        left: 50%;
        transform: translateX(-50%);
    }

    #about_sec3 .step_con1 .step_container .item1 {
        width: 100%;
    }

    #about_sec3 .step_con1 .step_container .item2 {
        width: 80%;
        padding: 0rem;
        text-align: center;
        margin: 0 auto;
    }

    #about_sec3 .step_con2 .step_container {
        width: 80%;
        flex-direction: column-reverse;
        left: 50%;
        transform: translateX(-50%);
    }
    
    #about_sec3 .step_con2 .step_container .item2 {
        width: 80%;
        padding: 0rem;
        text-align: center;
        margin: 0 auto;
    }

    #about_sec3 .step_con2 {
        width: 100%;
        height: 700px;
    }

    #about_sec3 .step_con2 .step_container .item1 {
        width: 100%;
    }

    #about_sec3 .step_con2 .step_bg {
        height: 550px;
        bottom: 150px;
        width: 100%;
    }

    #about_sec3 .step_con2 .step_container .item1 .step_disc {
        margin-left: 0rem;
    }

    #about_sec3 {
        margin-bottom: 0rem;
    }

    /* 会社概要 */
    #company_sec2 table {
        width: 85%;
    }

    #company_sec4 .access_container {
        flex-direction: column;
    }
    
    #company_sec4 .access_container .item1 {
        padding: 2.5rem 1rem;
        width: 100%;
    }
    
    #company_sec4 .access_container .item2 {
        width: 100%;
        height: 400px;
    }
    
    #company_sec4 .access_list_inner {
        width: 90%;
    }

    #company_sec4 .item1_t2 {
        width: 60%;
    }

    #company_sec4 .item1_t3 {
        width: 60%;
    }

    #company_sec4 .item1_t4 {
        width: 60%;
    }

    #company_sec4 .item1_t5 {
        width: 60%;
    }

    /* 業務実績アーカイブページ */
    
    #works_archive .works_container {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-around;
        justify-content: space-around;
        flex-wrap: wrap;
    }
    
    #works_archive .works_container .type-works {
        width: 45%;
        max-width: 320px;
    }
    
    #works_archive .b_a_img_top_con {
        height: 27vw;
        max-height: 210px;
    }
    
    #works_archive .before_img_top {
        height: 11vw;
        max-height: 80px;
    }
    
    #works_archive .works_before_onimg {
        bottom: 37%;
        right: 18%;
    }
    
    #works_archive .works_container::after {
        content: "";
        display: block;
        width: 45%;
        height: 0;
    }
    /* 施工実績シングルページ */
    
    #works_single_container {
        max-width: 600px;
    }
    
    #works_single_container .b_a_img_top_con {
        height: 60vw;
    }
    
    #works_single_container .before_img_top {
        height: 22vw;
        max-height: 180px;
    }
    
    #works_single_container .works_before_onimg {
        bottom: 41%;
        right: 26%;
    }
    
    #works_archive .works_title1 {
        font-size: 1.2rem;
    }
    
    #works_archive .b_a_img_bottom_con {
        padding: 1rem 0.2rem;
    }
    
    #works_archive table th, td {
        padding: 15px 2px;
        font-weight: 400;
        font-size: 0.9rem;
    }
    
    #works_archive .cat_type_works a {
        padding: 0px 10px;
    }
    
    #works_archive .ba_btn_defo a {
        min-width: 110px;
        padding: 0px 10px;
    }


	/*-- ここまで --*/
}



/*media Queries タブレット（600px）以上で適応したいCSS -タブレット・PC
---------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 600px) {
    .br_sp{
        display: none;
    }


	/*-- ここまで --*/
}

/*media Queries スマホサイズ（599px）以下で適応したいCSS - スマホのみ
---------------------------------------------------------------------------------------------------*/
@media print, screen and (max-width: 599px) {
        .br_pc{
            display: none;
        }
    
        /* ヘッダー */
#header_slider { height:750px; padding:0px; margin:0; }
#header_slider .item { height:750px; }

@media screen and (max-width:950px) {
  #header_slider .item.first_animate .catch span:nth-child(1) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.1s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.1s;
  }
  #header_slider .item.first_animate .catch span:nth-child(2) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.5s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.5s;
  }
  #header_slider .item.first_animate .catch span:nth-child(3) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
  }
  #header_slider .item.first_animate .catch span:nth-child(4) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
  }
  #header_slider .item.first_animate .catch span:nth-child(5) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.7s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.7s;
  }
}
@media screen and (max-width:750px) {
  #header_slider .item.first_animate .catch span:nth-child(1) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 2.7s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 2.7s;
  }
  #header_slider .item.first_animate .catch span:nth-child(2) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.1s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.1s;
  }
  #header_slider .item.first_animate .catch span:nth-child(3) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.5s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.5s;
  }
  #header_slider .item.first_animate .catch span:nth-child(4) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 3.9s;
  }
  #header_slider .item.first_animate .catch span:nth-child(5) {
    -webkit-animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
    animation: text_animation 1.5s cubic-bezier(0.22, 1, 0.36, 1) forwards 4.3s;
  }
}

    #index_box_content {
        width: 100%;
        display: none;
    }
    
    #header_logo .mobile_logo_image.type1 {
        width: 120px;
        height: auto;
        top: -1rem;
        left: 0rem;
    }
    
    /* フッター */
    #footer_logo .mobile_logo_image {
        width: 150px;
        height: auto;
    }
    
    .footer_info {
        padding: 0 25px!important;
    }

    /* 共通 */
    .btn_defo a {
        min-width: 240px;
    }
    
    .defo_title .defo_title_main {
        font-size: 1.4rem;
    }
    
    /* トップページ */ 

    #home_sec1 {
        margin: 3rem 0 4rem;
    }

    #home_sec1 .container .item {
        width: 80%;
        margin-bottom: 2rem;
    }

    #home_sec1 .container {
        margin-bottom: 1rem;
    }
    
    #home_sec2 {
        height: 900px;
        margin-bottom: 380px;
    }
    
    #home_sec2 .works_list_inner {
        width: 90%;
    }
    
    #home_sec2 .works_container {
        flex-direction: column;
    }
    
    #home_sec2 .works_container .type-works {
        width: 100%;
        max-width: 270px;
        margin: 0 auto 1rem;
        min-width: 200px;
    }
    
    #home_sec2 .works_container .type-works:nth-child(3){
        display: none;
    }
    
    #home_sec2 .b_a_img_top_con {
        height: 47vw;
        max-height: 190px;
    }
    
    #home_sec2 .before_img_top {
        height: 20vw;
        max-height: 75px;
    }
    
    #home_sec2 .works_after_onimg {
        width: 60px;
        height: 60px;
        font-size: 0.95rem;
    }
    
    #home_sec2 .works_before_onimg {
        bottom: 40%;
        right: 18%;
        font-size: 0.95rem;
    }
    
    #home_sec2 .b_a_img_bottom_con {
        padding: 1rem 0.3rem;
    }
    
    #home_sec2 .works_title1 {
        font-size: 1.2rem;
    }
    
    #home_sec2 table tr {
        padding: 2px;
    }
    
    #home_sec2 table th, td {
        padding: 15px 2px;
    }
    
    #home_sec2 .cat_type_works {
        height: 3rem;
    }
    
    #home_sec2 .cat_type_works a {
        padding: 0px 10px;
    }
    
    #home_sec3 .access_container {
        flex-direction: column;
    }
    
    #home_sec3 .s3_item1_t1 {
        font-size: 1.7rem;
    }
    
    #home_sec3 .s3_item1_t2 {
        font-size: 1rem;
    }
    
    #home_sec3 .s3_item1_t3 {
        font-size: 1rem;
    }
    
    #home_sec3 .s3_item1_t4 {
        font-size: 1rem;
    }
    
    #home_sec3 .access_container .home_s3_item1 {
        padding: 2.5rem 1rem;
        width: 100%;
    }
    
    #home_sec3 .access_container .home_s3_item2 {
        width: 100%;
        height: 400px;
    }
    
    #home_sec3 .access_list_inner {
        width: 90%;
    }
    
    #home_sec4 {
        height: 480px;
    }
    
    #cb_content_4 {
        padding: 4rem 0;
    }
    
    #cb_content_4::before {
        width: 200px;
        height: 200px;
    }
    
    #cb_content_4::after {
        width: 130px;
        height: 130px;
    }
    
    #home_sec4 .home_s4_t1 {
        font-size: 1.3rem;
        line-height: 1.5;
    }
    
    #home_sec4 .home_s4_t2 {
        width: 100%;
    }
    
    #cb_content_4 .cb_catch {
        font-size: 1.6rem;
    }
    
    #home_sec5 .access_container {
        flex-direction: column;
    }
    
    #home_sec5 .access_container .home_s5_item1 {
        padding: 2.5rem 1rem;
        width: 100%;
    }
    
    #home_sec5 .access_container .home_s5_item2 {
        width: 100%;
        height: 400px;
    }
    
    #home_sec5 .access_list_inner {
        width: 90%;
    }
    
    #home_sec5 .s5_item1_t2 {
        width: 90%;
        max-width: 320px;
    }
    
    #home_sec5 .s5_item1_t3 {
        width: 90%;
        max-width: 320px;
    }
    
    #home_sec5 .s5_item1_t4 {
        width: 90%;
        max-width: 320px;
    }

    #home_sec5 .hs5_item1_bg {
        font-size: 5em;
    }
    
    /* 業務内容 */
    
    #about_sec1 {
        margin-top: 0rem;
    }
    
    #about_sec1 .about_lay1 {
        width: 100%;
        margin-top: 2rem;
    }
    
    #about_sec1 .about_lay1 .a_lay1_content {
        width: 90%;
        margin-left: 5%;
        padding-top: 16rem;
    }
    
    #about_sec1 .about_lay1 .a_lay1_bg {
        width: 100%;
    }
    
    #about_sec1 .about_lay1 table{
        margin-left: 1rem;
    }
    
    #about_sec1 .about_lay1 .a_lay1_img {
        top: 0rem;
        left: -0.5rem;
        width: 85%;
        max-width: 300px;
    }
    
    #about_sec1 .about_lay1 .a_lay1_t1 {
        font-size: 1.35rem;
        margin-bottom: 2rem;
        margin-left: -1rem;
    }
    
    #about_sec1 .about_lay1 .a_lay1_t2 {
        margin-bottom: 2rem;
        text-align: left;
        font-size: 1rem;
        width: 100%;
        padding-left: 0rem;
    }

    #about_sec2 .defo_title_main {
        line-height: 1.5;
        font-size: 1.3rem;
        margin-bottom: 1rem;
    }

    #about_sec2 .t1 {
        line-height: 1.5;
    }

    #about_sec2 .container {
        flex-wrap: wrap;
        justify-content: center;
    }

    #about_sec2 .container .item {
        width: 33%;
        margin-bottom: 1rem;
    }

    #about_sec2 .t3 {
        width: 100%;
    }

    #about_sec3 .defo_title .defo_title_main {
        font-size: 1.3rem;
    }

    #about_sec3 .defo_title .defo_title_main span {
        font-size: 1.6rem;
    }
    
    #about_sec3 .step_con1 .step_container .item1 .step_disc {
        font-size: 1rem;
    }

    #about_sec3 .step_con1 .step_container {
        width: 90%;
    }

    #about_sec3 .step_con1 .step_bg {
        height: 515px;
    }

    #about_sec3 .step_con2 .step_bg {
        height: 515px;
    }

    #about_sec3 .step_con1 .step_container .item1 .step_num {
        top: -2rem;
    }

    #about_sec3 .step_con2 .step_container .item1 .step_num {
        top: -2rem;
    }
    
    #about_sec3 .step_con2 .step_container {
        width: 90%;
    }

    #about_sec3 .step_con1 .step_container .item1 .step_t1 {
        margin-bottom: 2rem;
    }

    #about_sec3 .step_con2 .step_container .item1 .step_t1 {
        margin-bottom: 2rem;
        margin-left: 0rem;
    }
    /* 会社概要 */
    
    #company_sec2 table {
        width: 100%;
    }
    
    #company_sec2 table th {
        line-height: 1.8;
    }
    
    #company_sec4 .access_container {
        flex-direction: column;
    }
    
    #company_sec4 .access_container .item1 {
        padding: 2.5rem 1rem;
        width: 100%;
    }
    
    #company_sec4 .access_container .item2 {
        width: 100%;
        height: 400px;
    }
    
    #company_sec4 .access_list_inner {
        width: 90%;
    }
    
    #company_sec4 .item1_t1 {
        font-size: 1.8rem;
    }
    
    #company_sec4 .item1_t2 {
        width: 90%;
        max-width: 320px;
    }
    
    #company_sec4 .item1_t3 {
        width: 90%;
        max-width: 320px;
    }
    
    #company_sec4 .item1_t4 {
        width: 90%;
        max-width: 320px;
    }
    
    #company_sec4 .item1_t5 {
        width: 90%;
        max-width: 320px;
    }

    /* 施工実績アーカイブ */
    
    #works_archive .works_container {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-around;
        justify-content: space-around;
        flex-wrap: wrap;
    }
    
    #works_archive .works_container .type-works {
        width: 80%;
        max-width: 320px;
    }
    
    #works_archive .works_after_onimg {
        width: 55px;
        height: 55px;
        font-size: 0.9rem;
    }
    
    #works_archive .b_a_img_top_con {
        height: 50vw;
        max-height: 210px;
    }
    
    #works_archive .before_img_top {
        height: 20vw;
        max-height: 85px;
    }
    
    #works_archive .works_before_onimg {
        bottom: 38%;
        right: 19%;
        font-size: 0.9rem;
    }
    
    #works_archive .works_container::after {
        content: "";
        display: block;
        width: 45%;
        height: 0;
    }
    /* 施工実績シングルページ */
    
    #works_single_container {
        max-width: 400px;
    }
    
    #works_single_container .b_a_img_top_con {
        height: 58vw;
        max-height: 280px;
    }
    
    #works_single_container .before_img_top {
        height: 25vw;
        max-height: 120px;
    }
    
    #works_single_container .works_before_onimg {
        bottom: 41%;
        right: 21%;
        font-size: 1rem;
    }
    
    #works_single_container .works_after_onimg {
        width: 65px;
        height: 65px;
        font-size: 1rem;
    }
    
    #works_single_container .works_after_onimg span {
        line-height: 4.1;
    }
    
    #ba_single_under table th {
        width: 30%;
        font-size: 1rem;
        font-weight: 400;
        font-weight: 600;
    }
    
    #ba_single_under table td {
        width: 70%;
    }
    
    #works_archive .works_title1 {
        font-size: 1.2rem;
    }
    
    #works_archive .b_a_img_bottom_con {
        padding: 1rem 0.2rem;
    }
    
    #works_archive table th, td {
        padding: 15px 2px;
        font-weight: 400;
        font-size: 0.9rem;
    }
    
    #works_archive .cat_type_works a {
        padding: 0px 10px;
    }
    
    #works_archive .ba_btn_defo a {
        min-width: 110px;
        padding: 0px 10px;
    }

	
	/*-- ここまで --*/
}


	
/*media Queries タブレットサイズ（600px～959px）のみで適応したいCSS -タブレットのみ
---------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 600px) and (max-width: 959px) {


	/*-- ここまで --*/
}	
	
/*media Queries タブレット（600px）以上で適応したいCSS -タブレット・PC
---------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 600px) {


	/*-- ここまで --*/
}

/*media Queries PCサイズ（960px）以上で適応したいCSS - PCのみ
---------------------------------------------------------------------------------------------------*/
@media print, screen and (min-width: 960px) {


	/*-- ここまで --*/
}

/*media Queries スマホサイズ（599px）以下で適応したいCSS - スマホのみ
---------------------------------------------------------------------------------------------------*/
@media print, screen and (max-width: 599px) {
#company_sec2-2{
    margin-top:5rem;
}
	
	/*-- ここまで --*/
}
