﻿@font-face {
font-family: "genjyu_b";
  src: url("./Dup/img/genjyu_b.ttf") format("ttf"),url("./Dup/img/genjyu_b.eot") format("eot"),url("./Dup/img/genjyu_b.woff") format("woff"),url("./Dup/img/genjyu_b.woff2") format("woff2");
}
.font1,#page_title p,.qa_type5 .box_txt1 .faq_no,footer .tel_bt a{font-family: "genjyu_b","sans-serif";font-weight: normal;}

/*--------------------------------
疑似要素にオブジェクト
--------------------------------*/
#custom .custom_wrap,#intro .intro_wrap,#intro .banner a,#contents .con_wrap,#contents2 .con_wrap,#contents3 .con_wrap,#top_cms .cms_title{position: relative;}
/*リピートなし*/
.obj1,.obj2,.obj3,.obj4,.obj5,.obj6,.obj7,
#custom .custom_wrap:before,#intro .intro_wrap:before,#intro .banner a:before,#contents .con_wrap:before,#contents2 .con_wrap:before,#contents3 .con_wrap:before,
#top_cms .cms_title:before{
content: "";
display: block;
background-size: cover;
background-repeat: no-repeat;
position: absolute;
}


/*main_img*/
.obj1{
background-image: url(./Dup/img/obj1.png);
background-size: 100%;
width: 45vw;
height: 14vw;
top: -3vw;
left: 11vw;
z-index: 1;
}
.obj2{
background-image: url(./Dup/img/obj2.png);
background-size: 100%;
width: 14vw;
height: 38vw;
top: -8vw;
right: -5vw;
z-index: 1;
}
.obj3{
background-image: url(./Dup/img/obj3.png);
background-size: 100%;
width: 36vw;
height: 10vw;
bottom: 0;
right: 0;
z-index: 1;
}
.obj4{
background-image: url(./Dup/img/obj4.png);
background-size: 100%;
width: 15vw;
height: 22vw;
bottom: 0;
left: 0;
z-index: 1;
}
.obj5{
background-image: url(./Dup/img/obj5.png);
background-size: 100%;
width: 17vw;
height: 17vw;
bottom: 1vw;
left: 5vw;
z-index: 1;
}
.obj6{
background-image: url(./Dup/img/obj9.png);
background-size: 100%;
width: 13vw;
height: 13vw;
top: 1vw;
left: 30vw;
z-index: 1;
}
.obj7{
background-image: url(./Dup/img/obj10.png);
background-size: 100%;
width: 17vw;
height: 17vw;
bottom: 1vw;
right: 2vw;
}

/**/
#custom .custom_wrap:before{
background-image: url(./Dup/img/frame1.png);
background-size: 100%;
width: 1000px;
height: 100%;
top:50%;
left: -5vw;
-ms-transform: translate(0,-50%);
-webkit-transform: translate(0,-50%);
transform: translate(0,-50%);
z-index: 1;
}
#intro .intro_wrap:before{
background-image: url(./Dup/img/obj11.png);
width: 120px;
height: 155px;
top: -110px;
left: 50%;
-ms-transform: translate(-50%,0);
-webkit-transform: translate(-50%,0);
transform: translate(-50%,0);
}
#intro .banner a:before{
background-image: url(./Dup/img/obj12.png);
width: 100px;
height: 100px;
bottom: 0;
right: -80px;
}

#contents .con_wrap:before{
background-image: url(./Dup/img/obj6.png);
background-color: transparent;
width: 300px;
height: 200px;
bottom: auto;
top:0;
left: 50%;
-ms-transform: translate(-50%,0);
-webkit-transform: translate(-50%,0);
transform: translate(-50%,0);
}
#contents2 .con_wrap:before{
background-image: url(./Dup/img/obj7.png);
background-color: transparent;
width: 300px;
height: 200px;
bottom: auto;
top:0;
left: 50%;
-ms-transform: translate(-50%,0);
-webkit-transform: translate(-50%,0);
transform: translate(-50%,0);
}
#contents3 .con_wrap:before{
background-image: url(./Dup/img/obj8.png);
background-color: transparent;
width: 70px;
height: 85px;
bottom: auto;
top:0;
left: 50%;
-ms-transform: translate(-50%,0);
-webkit-transform: translate(-50%,0);
transform: translate(-50%,0);
}

#top_cms .cms_title:before{
background-color: #f5d796;
width: 70px;
height: 3px;
top:0;
left: 50%;
-ms-transform: translate(-50%,0);
-webkit-transform: translate(-50%,0);
transform: translate(-50%,0);
}
/*--------------------------------
全体
--------------------------------*/
header .nav_bg{border-radius: 50px;}
header .nav_bg.trans{border-radius: 0;}

/* 角丸 */
.more a,#intro .intro_wrap,#contents .con_box1,#contents2 .con_img,#contents2 .con_box2,.rectangle_img,.square_img,.normal_img img,
#page08 .tel_wrap{border-radius: 30px;}
.v_type3 .cate_box{border-radius: 10px;}
.v_type3 .box_img figure{border-radius: 50%;}

.more a:before,.more a:after{display: none;}

.fix_banner{
width: 200px;
position: fixed;
bottom: 20px;
right: 20px;
z-index: 8;
}
.fix_banner2{
width: 110px;
position: fixed;
top: 110px;
right: 10px;
z-index: 8;
}

footer .tel_bt a{color: #ff9b3c;}
/*--------------------------------
TOP
--------------------------------*/
#video{
height: 100vh;
width: 80%;
margin-left: auto;
}
#video video{
width: auto!important;
height: 100%;
}
/* タブレット用 */
@media  screen and (max-width: 768px){
#video{ height: 40vh; }
}


.catch{
width: 100%;
max-width: 500px;
position: absolute;
top: 20%;
left: 3%;
z-index: 1;
}

#contents .con_wrap,
#contents2 .con_wrap{padding-top: 250px;}
#contents3 .con_wrap{padding-top: 100px;}
#contents3 .con_box{padding: 10px;}

/* contents anim */
#contents .fadein_up {
    opacity: 0;
    -webkit-transform: translateY(50px);
    -ms-transform: translateY(50px);
    transform: translateY(50px);
    transition: transform 1.5s ease,opacity 2s ease;
}
#contents .fadein_up.scrollin {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}
#contents .fadein_up2 {
    opacity: 0;
    -webkit-transform: translateY(50px);
    -ms-transform: translateY(50px);
    transform: translateY(50px);
    transition: transform 2s ease,opacity 2s ease;
}
#contents .fadein_up2.scrollin {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}
/* contents */
#contents .txt_wrap .con_box {
    width: calc(20% - 16px);
    margin-right: 20px;
    box-sizing: border-box;
}
#contents .txt_wrap .con_box:last-of-type {
    margin-right: 0;
}
#contents .fadeIn_box .con_box {
    opacity: 0;
}
#contents .con_img {
    border-radius: 30px;
}
#contents .con_title h3:before {
    content: "";
    display: block;
    width: 70px;
    height: 2px;
    position: absolute;
    bottom: -25px;
	left: 50%;
    -webkit-transform: translate(-50%,0);
    transform: translate(-50%,0);
	background-color: #3e3e3e;
}
#contents .con_txt{
	font-size: 13px;
}
@media screen and (max-width: 768px){
#contents .txt_wrap .con_box {
    width: calc(33% - 12px);
}
}
@media screen and (max-width: 667px){
#contents .txt_wrap .con_box {
    width: 80%;
    margin-right: 0;
    margin-bottom: 30px;
}
#contents .con_title h3:before {
    bottom: -15px;
}
}


#top_cms .cms_title{border-top: none;}
#top_cms .cms_title span{display: none;}

/* 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}
}
/*--------------------------------
下層
--------------------------------*/
#wrap{background-color: #fcfcf8;}

/* お客様の声 */
.v_type3 .cate_box{border: 1px solid #cfcbab;}
.v_type3 .box_title1{color: #ff9b3c;}

/* よくある質問 */
.qa_type5 .faq_no {
    width: 50px;
    height: 50px;
    line-height: 50px;
    border-radius: 50%;
    top: -10px;
    left: 0;
	-webkit-background-clip: padding-box; 
	-moz-background-clip: padding; 
	background-clip: padding-box;
}
.qa_type5 .box_title1, .qa_type5 .box_txt1 {padding-left: 70px;line-height: 1.7;}


@media  screen and (max-width: 1500px){

#custom .custom_wrap{background-position: 25vw center;}
.catch{width: 35vw;}

}
@media  screen and (max-width: 1400px){
#custom .custom_wrap:before{left: -10vw;}
}
@media  screen and (max-width: 1280px){

.obj1{
width: 40vw;
height: 13vw;
top: -3vw;
left: 7vw;
}
.obj2{
width: 11vw;
height: 30vw;
top: -4vw;
right: 0;
}

#video{width: 85%;}
#custom .custom_wrap:before{left: -20vw;}

#intro.trans .intro_left{
padding-left: 50px;
padding-right: 50px;
}

#contents .con_wrap{padding-top: 155px;}
#contents .con_wrap:before{
width: 200px;
height: 145px;
}

#contents2 .con_wrap{padding-top: 155px;}
#contents2 .con_wrap:before{
width: 200px;
height: 145px;
}

#contents3 .con_wrap:before{
width: 50px;
height: 60px;
top: 35px;
}

}

@media  screen and (max-width: 1000px){
#custom .custom_wrap:before{left: -35vw;}
}

/*タブレット用（768px以下）*/
@media  screen and (max-width: 768px){

.fix_banner,.fix_banner2{
width: 70px;
top: auto;
bottom: 60px;
right: 0;
}
#contents1 .con_img,#contents2 .con_img{border-radius: 0;}

#custom{height: 40vh!important;}
#custom .custom_wrap:before{
width: 410px;
height: 100%;
left: -10vw;
}

.catch{
top: 15%;
left: 2%;
}
.catch img {max-width: 250px;}

.obj1,.obj2,.obj3,.obj4{display: none;}

#contents .con_wrap:before{
width: 170px;
height: 125px;
top: 50px;
z-index: 1;
}
#contents2 .con_wrap:before{
width: 170px;
height: 125px;
top: 50px;
z-index: 1;
}
#contents3 .con_box{
width: 33%;
box-sizing: border-box;
}

}

/*スマホ用（667px以下）*/
@media  screen and (max-width: 667px){

.fix_banner,.fix_banner2{
width: 50px;
bottom: 60px;
}
.obj6{
width: 16vw;
height: 16vw;
top: 1vw;
left: 25vw;
}
.obj5{
width: 22vw;
height: 22vw;
bottom: -10vw;
left: 3vw;
}

#custom .custom_wrap:before{
width: 40vh;
height: 100%;
left: -20vw;
}

.catch{
width: 48vw;
top: 25%;
left: 0;
}
.catch img{max-width: 150px;}

#intro .intro_wrap:before{
width: 100px;
height: 130px;
}
#intro .banner a:before{
width: 80px;
height: 80px;
bottom: -25px;
right: -30px;
}

#contents .con_wrap:before{
width: 150px;
height: 100px;
top: 70px;
}
#contents2 .con_wrap:before{
width: 150px;
height: 100px;
top: 70px;
}

#contents3 .con_box{width: 75%;}

}

/*IE*/
@media all and (-ms-high-contrast: none) {}




/*--------------------------------
自動リンク
--------------------------------*/
/* color */
.linkStyle{color: #ff9b3c; text-decoration: underline;}
.txt_color_nomal .linkStyle{color: #ff9b3c;}
.txt_white .linkStyle{color: white;}
.txt_red .linkStyle{color: red;}
.bg_color1 .linkStyle{color: #fff;}
.bg_color2 .linkStyle{color: #ff9b3c;}
.bg_color3 .linkStyle{color: #fff;}
.bg_color4 .linkStyle{color: #dcb45f;}

/*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: #FF9B3C;} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: #EEECDA;} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: #dcb45f;} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: #FFF4E4;} /* アクセントカラー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: #FF9B3C;} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: #EEECDA;} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: #F5D796;} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: #FFF4E4;} /* アクセントカラー2 */
.bg_color5,.hvr_bg_color5:hover{background-color: #f9f8f2;} 
.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: #FF9B3C;}
.border_color2,.hvr_border_color2:hover{border-color: #EEECDA;}
.border_color3,.hvr_border_color3:hover{border-color: #F5D796;}
.border_color4,.hvr_border_color4:hover{border-color: #FFF4E4;}