﻿
@font-face {
font-family: "gennei";
  src: url("./Dup/img/gennei.ttf") format("ttf"),url("./Dup/img/gennei.eot") format("eot"),url("./Dup/img/gennei.woff") format("woff"),url("./Dup/img/gennei.woff2") format("woff2");
}
.font1{font-family: "M PLUS 1", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;}
    .font2{font-family: "gennei", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
}
/*--------------------------------
疑似要素にオブジェクト
--------------------------------*/
footer,#main_img,#intro .intro_txt,#intro .intro_txt h2,
.cate_title,#page08 .tel_contact > p,#page08 .tel_txt span.font_16,#page10 ul li a{position: relative;}
/*リピートなし*/
#main_img:before,#main_img:after,#intro .intro_txt:before,#intro .intro_txt:after,#intro .intro_txt h2:before,
#top_contents1 h3::after, #top_contents2_h h3::after,
.cate_title:before,#page08 .tel_contact > p:before,#page08 .tel_txt span.font_16:before{
content: "";
display: block;
background-size: cover;
background-repeat: no-repeat;
position: absolute;
}
/*リピートあり*/
footer:before,#page10 ul li a:before{
content: "";
display: block;
position: absolute;
}

footer:before{
background-image: url(./Dup/img/border.jpg);
background-size: 100px;
width: 100%;
height: 3px;
top: 0;
left: 0;
}

/*
#main_img:before{
background-image: url(./Dup/img/obj2.png);
background-size: 100%;
width: 6vw;
height: 12vw;
top: -2vw;
left: 25vw;
animation: anime1 5s steps(1) 1s infinite;
}
#main_img:after{
background-image: url(./Dup/img/obj1.png);
background-size: 100%;
width: 12vw;
height: 16vw;
bottom: -2vw;
right: 21vw;
animation: anime1 5s steps(1) 1s reverse infinite;
}
@keyframes anime1{
    0% {
        transform: rotate(0deg);
    }
    25% {
        transform: rotate(10deg);
    }
    50% {
        transform: rotate(0deg);
    }
    75% {
        transform: rotate(-10deg);
    }
    100% {
        transform: rotate(0deg);
    }
}
*/

#intro .intro_txt:before{
background-image: url(./Dup/img/obj3.png);
background-size: 100%;
width: 11vw;
height: 10vw;
top: -8vw;
left: -15vw;
}
#intro .intro_txt:after{
background-image: url(./Dup/img/obj4.png);
background-size: 100%;
width: 10vw;
height: 10vw;
bottom: -1vw;
right: -16vw;
}

#page08 .tel_contact > p,
#page08 .tel_txt span.font_16{
padding-bottom: 10px;
margin-bottom: 10px;
}
#intro .intro_txt h2:before,#page08 .tel_contact > p:before,#page08 .tel_txt span.font_16:before{
background-image: url("./Dup/img/border.png");
width: 100px;
height: 5px;
bottom:0;
left: 50%;
-ms-transform: translate(-50%,0);
-webkit-transform: translate(-50%,0);
transform: translate(-50%,0);
}

/*
#top_contents1:before,
#top_contents2_h:before{
position: absolute;
content: "";
left: 0;
width: 100%;
height: 100px;
background-image: url("./Dup/img/txt1.png");
background-size: 1000px;
background-position-y: 0;
background-position-x: 0;
background-repeat: repeat-x;
}
#top_contents1:before{
top: -50px;
animation: loop 30s linear infinite;
}
#top_contents2_h:before{
bottom: -50px;
animation: loop 30s linear reverse infinite;
}
@keyframes loop {
	0% {background-position-x: 0;}
	100% {background-position-x: -1000px;}
}
*/

#top_contents1 h3::after, #top_contents2_h h3::after{
width: 200px;
height: 60px;
top: -10px;
left: -70px;
transform: rotate(-10deg);
}
#top_contents1 h3::after{background-image: url(./Dup/img/txt2.png);}
#top_contents2_h h3::after{background-image: url(./Dup/img/txt3.png);}

#page10 ul li a:before{
background-image: url(./Dup/img/border.png);
background-size: 100px;
width: 100%;
height: 5px;
bottom: 0;
left: 0;
}
#page10 ul li a{border-bottom: none;}

.cate_title{
border-bottom: none;
text-align: left;
padding-bottom: 15px;
}
.cate_title:before{
background-image: url("./Dup/img/border.png");
width: 100px;
height: 5px;
left: 0;
bottom: 0;
}

/*--------------------------------
全体
--------------------------------*/
#wrap{overflow: hidden;}
.font1 {
    font-weight: bold !important;
}
h1 img{max-width: 400px;}
.sc_nav .logo img{max-width: 300px;}

.slice_txt span{color: #0FC3AA;}
.slice_txt span:nth-of-type(4n-2){color: #FAA500;}
.slice_txt span:nth-of-type(4n-1){color: #FA2D55;}
.slice_txt span:nth-of-type(4n){color: #BE73F5;}
.slice_txt span:first-of-type{color: #0FC3AA;}

/* BORDER */
.slick-list,.con1_img,.con2_img1,.con2_img2{border: 1px solid #000;}

#map{display: none;}

footer{
background-image: url(./Dup/img/bg2.jpg);
background-size: 20%;
}
#footer_txt,footer #footer #footer_links li a.txt_color_nomal,#copyright{color: #fff;}
footer #footer #footer_links li::after{color: #fff;}

#top_contents1,#top_contents2_h{
background-image: url(./Dup/img/bg1.jpg);
background-size: 15%;
}

.fix_banner{
width: 70px;
position: fixed;
bottom: 90px;
right: 0;
z-index: 5;
}
/*--------------------------------
TOP
--------------------------------*/
#intro .intro_txt h2{transform: none;}

#top_contents1 .contents1_txt h3{text-shadow: none;}
#top_contents1 .con1_no{
    font-size: 80px;
    margin-left: -20%;
}
#top_contents1, #top_contents2_h{
    position: relative;
}
#top_contents1 h3, #top_contents2_h h3{
    position: relative;
    padding-top: 50px;
    padding-bottom: 20px;
    margin-bottom: 40px;
}
#top_contents1 h3::before, #top_contents2_h h3::before{
    position: absolute;
    content: "";
    background-image: url("./Dup/img/border.png");
    width: 100px;
    height: 5px;
    left: 0;
    bottom: 0;
}

#top_contents2_h .con2_no{
    font-size: 80px;
    margin-right: -20%;
}

/* TOP お知らせ */
.topcms_news_type2 .cate_box {
width: 46.33333%!important;
margin-right: 1.5%;
margin-left: 1.5%;
cursor: pointer;
border-bottom: 1px solid #ddd;
margin-bottom: 30px;
box-shadow: 0 6px 12px rgb(0 0 0 / 0);
/* padding: 20px; */
/* border-radius: 20px; */
/* background-color: #f5f5f5; */
}
.topcms_news_type2 .cate_box:hover {
transform: translateY(-5px);
}
.topcms_news_type2 .cate_box .box_item {
cursor: pointer;
}
.topcms_news_type2 .txt_height {
height: 5em
}
.topcms_news_type2 .box_img1 {
border-radius: 10px;
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.topcms_news_type2 .cate_box {width: 100%!important;}
.topcms_news_type2 .txt_height {height: 3em}
}

/* TOP 事業内容 */
.link_type1 .link_top .link_title {
font-size: 20px;
margin-bottom: 20px;
text-align: center;
margin-bottom: 30px;
color: #474521;
font-weight: normal;
}
.link_type1 .link_top .link_title{
font-size: 20px;
margin-bottom: 20px;
}
.link_type1 .link_top a{
padding-top: 80px;
padding-bottom: 60px;
}
.link_type1 .link_top a:hover{
background-color: #ededeb;
}
.link_type1 .link_top a:hover .link_img1{
transform: translate(-50%, -50%) scale(1.1,1.1);
opacity: 0.1;
}
@media screen and (max-width: 667px){
.link_type1 .link_top .link_title{
font-size: 15px;
}
}
/*--------------------------------
下層
--------------------------------*/
/* 実績 */
.g_type4 .slide_img figure{
	position: relative;
	overflow: hidden;
}
.g_type4 .slide_img figure img{
	position: relative;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.g_type4 .swiper-slide{
    opacity: 1!important;
}
.g_type4 .slide_img .thumbnail .swiper-wrapper {
    margin-left: 0!important;
    transform: none!important;
}
.swiper-button-next, .swiper-button-prev{
width: 50px!important;
height: 50px!important;
background-size: 50px 50px!important;
}
.g_type4 .swiper-button-prev{
	background-image: url("../dup/img/swiper_prev.png")!important;
}
.g_type4 .swiper-button-next{
	background-image: url("../dup/img/swiper_next.png")!important;
}

/* IE */
@media all and (-ms-high-contrast: none){
.g_type4 .slide_img .thumbnail .swiper-wrapper .swiper-slide {
    overflow: hidden;
    position: relative;
    height: 80px;
}
.g_type4 .slide_img .thumbnail .swiper-wrapper .swiper-slide img{
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}
}

@media  screen and (max-width: 1280px){

#intro .intro_txt:before{
top: -8vw;
left: -7vw;
}
#intro .intro_txt:after{
bottom: -5vw;
right: -8vw;
}

}

@media  screen and (max-width: 1000px){

#intro .intro_txt:before{
left: 0;
}
#intro .intro_txt:after{
right: 0;
}

}


/*タブレット用（768px以下）*/
@media  screen and (max-width: 768px){
#menu_wrap{background-color: rgba(255,255,255,0.98);}

#top_contents1:before,
#top_contents2_h:before{
height: 80px;
background-size: 800px;
}
#top_contents1 h3, #top_contents2_h h3{text-align: center;}
#top_contents1 h3::before, #top_contents2_h h3::before{
bottom:0;
left: 50%;
-ms-transform: translate(-50%,0);
-webkit-transform: translate(-50%,0);
transform: translate(-50%,0);
}
#top_contents1 h3::after, #top_contents2_h h3::after{
left: 50%;
-ms-transform: translate(-50%,0);
-webkit-transform: translate(-50%,0);
transform: translate(-50%,0);
}

#top_contents1:before{
top: -95px;
animation: loop_tb 30s linear infinite;
}
#top_contents2_h:before{
bottom: -35px;
animation: loop_tb 30s linear reverse infinite;
}


#top_contents1 .con1_img{
    height: 60vw;
    width: 90%!important;
    margin-top: -50px;
}
#top_contents1 .con1_no {
    font-size: 60px;
    margin-left: 0;
}
#top_contents1 .con1_wrap::before {
    right: auto;
    left: 5%;
}
#top_contents2_h .con2_img_wrap{
    height: 50vw;
    margin-top: -50px;
    padding-left: 25vw;
    padding-bottom: 15vw;
}
#top_contents2_h .con2_img_wrap .con2_img2{
    width: 40vw!important;
    height: 30vw!important;
}
#top_contents2_h .con2_img1{height: 300px!important;}

}

@keyframes loop_tb {
	0% {background-position-x: 0;}
	100% {background-position-x: -800px;}
}




/*スマホ用（667px以下）*/
@media  screen and (max-width: 667px){

.fix_banner {
width: 50px;
bottom: 60px;
}

#intro .intro_txt:before{
width: 20vw;
height: 18vw;
top: -20vw;
}
#intro .intro_txt:after{
width: 20vw;
height: 20vw;
bottom: -12vw;
}

#top_contents1:before,
#top_contents2_h:before{
height: 50px;
background-size: 500px;
}
#top_contents1:before{
top: -80px;
animation: loop_sp 30s linear infinite;
}
#top_contents2_h:before{
bottom: -25px;
animation: loop_sp 30s linear reverse infinite;
}


#top_contents2_h .con2_img_wrap {
height: 80vw;
margin-top: 0;
}
#top_contents2_h .con2_img1{height: 200px!important;}

}

@keyframes loop_sp {
	0% {background-position-x: 0;}
	100% {background-position-x: -500px;}
}


/*IE*/
@media all and (-ms-high-contrast: none) {}




/*--------------------------------
自動リンク
--------------------------------*/
/* color */
.linkStyle{color: #0FC3AA; text-decoration: underline;}
.txt_color_nomal .linkStyle{color: #0FC3AA;}
.txt_white .linkStyle{color: white;}
.txt_red .linkStyle{color: red;}

/*IEのみ*/
@media all and (-ms-high-contrast: none) {
.linkStyle{display: inline-block;}
}

/*--------------------------------
カラー
--------------------------------*/
body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: #333333;}
.txt_black,.hvr_txt_black:hover{color: black;}
.txt_white,.hvr_txt_white:hover{color: white;}
.txt_red,.hvr_txt_red:hover{color: red;}
.txt_color1,.hvr_txt_color1:hover{color: #0FC3AA;} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: #FAA500;} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: #FA2D55;} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: #BE73F5;} /* アクセントカラー2 */

/* background-color */
.bg_white,.hvr_bg_white:hover{background-color: white;} /* 白背景 */
.bg_black,.hvr_bg_black:hover{background-color: black;} /* 黒背景 */
.bg_color1,.hvr_bg_color1:hover{background-color: #0FC3AA;} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: #FAA500;} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: #FA2D55;} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: #BE73F5;} /* アクセントカラー2 */
.bg_color_clear,.hvr_bg_color_clear:hover{background-color: transparent!important;}

/* border-color */
.border_white,.hvr_border_white:hover{border-color: white;}
.border_black,.hvr_border_black:hover{border-color: black;}
.border_color1,.hvr_border_color1:hover{border-color: #0FC3AA;}
.border_color2,.hvr_border_color2:hover{border-color: #FAA500;}
.border_color3,.hvr_border_color3:hover{border-color: #FA2D55;}
.border_color4,.hvr_border_color4:hover{border-color: #BE73F5;}