﻿@font-face {
font-family: "genjyu_m";
  src: url("./Dup/img/genjyu_m.ttf") format("ttf"),url("./Dup/img/genjyu_m.eot") format("eot"),url("./Dup/img/genjyu_m.woff") format("woff"),url("./Dup/img/genjyu_m.woff2") format("woff2");
}
@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{font-family: "genjyu_m","sans-serif";font-weight: normal;}
.font2,.page_title h2{font-family: "genjyu_b","sans-serif";font-weight: normal;}
/*--------------------------------
疑似要素にオブジェクト
--------------------------------*/
.catch,#contents .contents_box .contents_txt .box,#contents .check li,.page_title{position: relative;}
/*リピートなし*/
.catch:before,.catch:after,#contents .contents_box .contents_txt .box:before,#contents .contents_box .contents_txt .box:after,#contents .check li:before,
.page_title:before{
content: "";
display: block;
background-size: cover;
background-repeat: no-repeat;
position: absolute;
}

.catch:before,.catch:after{
width: 450px;
height: 765px;
top:48%;
-ms-transform: translate(0,-50%);
-webkit-transform: translate(0,-50%);
transform: translate(0,-50%);
}
.catch:before{background-image: url(./Dup/img/book.png);left: -5%;}
.catch:after{background-image: url(./Dup/img/book2.png);right: -5%;}

#contents .contents_box .contents_txt .box:before{
width: 100px;
height: 100px;
top: -50px;
left: 40px;
}

#contents .contents_box.box1 .contents_txt .box:before{background-image: url(./Dup/img/num1.png);}
#contents .contents_box.box2 .contents_txt .box:before{background-image: url(./Dup/img/num2.png);}
#contents .contents_box.box3 .contents_txt .box:before{background-image: url(./Dup/img/num3.png);}


#contents .contents_box.box1 .contents_txt .box:after{
background-image: url(./Dup/img/obj1.png);
background-size: 100%;
width: 19vw;
height: 16vw;
bottom: -7vw;
left: -2vw;
z-index: 1;
}
#contents .contents_box.box2 .contents_txt .box:after{
background-image: url(./Dup/img/obj3.png);
background-size: 100%;
width: 13vw;
height: 11vw;
bottom: -3vw;
right: 2vw;
z-index: 1;
}
#contents .contents_box.box3 .contents_txt .box:after{
background-image: url(./Dup/img/obj2.png);
background-size: 100%;
width: 18vw;
height: 9vw;
bottom: -2vw;
left: 0;
z-index: 1;
}

#contents .check li:before{
background-image: url(./Dup/img/check.png);
width: 20px;
height: 20px;
top: 6px;
left: 0;
}

/* 下層 */
.page_title:before{
background-image: url(./Dup/img/obj4.png);
width: 450px;
height: 300px;
top: 3vw;
right: 3vw;
}
/*--------------------------------
全体
--------------------------------*/
body{overflow: hidden;}
#wrap.bg_color4{background-color: #fdf5d9;}

/*body,a{cursor: none}*/
.cursor{
width: 8px;
height: 8px;
position: fixed;
top: 0;
left: 0;
pointer-events: none;
z-index: 100;
transition: 0.3s;
transition-property: opacity,background,width,height,transform;
}
.cursor::before{
content: " ";
display: block;
width: 60px;
height: 60px;
position: relative;
top: -22px;
left: -18px;
opacity: 1;
transition: 0.3s;
background-image: url("./dup/img/cursor.png");
background-size: contain;
background-repeat: no-repeat;
}
.cursor.is-active,.cursor.is-active2,.cursor.is-active3,.cursor.is-active4,.cursor.is-active5{
opacity: 1;
background-color: transparent;
transform: scale(1.8);
}
.cursor::after{
content: " ";
display: block;
background-size: cover;
width: 100px;
height: 100px;
opacity: 0;
transition: 0.3s;
position: relative;
top: -100px;
left: -37px;
}
.cursor.is-active::after{
background-image: url("./dup/img/cursor_hover.png");
opacity: 1;
-webkit-animation: rotate 30s linear infinite;
animation: rotate 30s linear infinite;
}
.cursor.is-active2::after{
background-image: url("./dup/img/cursor_hover2.png");
opacity: 1;
-webkit-animation: rotate 30s linear infinite;
animation: rotate 30s linear infinite;
}
.cursor.is-active3:after{
background-image: url("./dup/img/cursor_hover3.png");
opacity: 1;
-webkit-animation: rotate 30s linear infinite;
animation: rotate 30s linear infinite;
}
.cursor.is-active4:after{
background-image: url("./dup/img/cursor_hover4.png");
opacity: 1;
-webkit-animation: rotate 30s linear infinite;
animation: rotate 30s linear infinite;
}
.cursor.is-active5:after{
background-image: url("./dup/img/cursor_hover5.png");
opacity: 1;
-webkit-animation: rotate 30s linear infinite;
animation: rotate 30s linear infinite;
}
@keyframes rotate {
    from {transform: rotate(0deg);}
    to {transform: rotate(360deg);}
}

.catch .txt_slice span{
background: linear-gradient(transparent 60%, #F5D75F 0%);
display: inline;
/*横に余白をつけたり、下にずらしたりするときは以下のpaddingを調整してください*/
padding: 0 2px;
}
.marker,#contents .txt_slice span{
background: linear-gradient(transparent 60%, #ffdcb8 0%);
display: inline;
/*横に余白をつけたり、下にずらしたりするときは以下のpaddingを調整してください*/
padding: 0 2px;
}


main.bg_white{background-color: #f9f9f9;}
#menu_wrap{background-color: rgba(255,255,255,0.95);}

#info{background-color: #fff;margin-top: 200px;}
#info .info_img{margin-top: -150px;}

.fix_banner{
width: 90px;
position: fixed;
right: -10px;
z-index: 5;
}
/*--------------------------------
TOP
--------------------------------*/
#main_img{
border: solid 30px #FFA046;
padding: 50px!important;
}
/*#main_img .catch{margin-left: 0;}*/
#main_img .catch h2{text-shadow: none;line-height: 2;}

#contents{position: relative;}
#contents::before {
position: absolute;
content: "";
left: 0;
top: -250px;
width: 100%;
height: 100px;
background-image: url("./dup/img/txt1.png");
background-size: 800px;
background-position-y: 0;
background-position-x: 0;
background-repeat: repeat-x;
animation: loop 30s linear infinite;
}
@keyframes loop {
	0% {background-position-x: 0;}
	100% {background-position-x: -800px;}
}

#contents .contents_box .contents_txt{
background-color: #fff!important;
border: 1px solid #000;
width: 40%!important;
}
#contents .contents_box .contents_txt .contents_point{display: none;}
#contents .contents_box .contents_txt .box{padding: 50px;}
#contents .contents_box .contents_img{width: 60%!important;}
#contents .contents_box .con_banner{width: 20vw;}
#contents .contents_box:nth-of-type(odd) .con_banner{margin-left: auto;margin-right: 0;}
#contents .contents_box:nth-of-type(even) .con_banner{margin-left: 0;}
#contents .check{background-color: #fdf7df;}
#contents .check li{padding-left: 30px;}
.contents_link a{border: 1px solid #000;}


/*#top_cms1{background-color: #FFA046;}*/

/* 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_cms_wrap{border-radius: 30px;}
.top_cms_box .top_cms_title h3::after,.page_title h2::after{display: none;}
/*--------------------------------
下層
--------------------------------*/
.page_title h2{font-size: 40px;}

/* お知らせ */
.page2 #main_wrap{padding: 100px 5%;}
.news_list li a:hover i{color: #5fc8b9;}

/* よくある質問 */
.qa_type3 .con_no{
	left: 20px;
	top: 15px
}
.qa_type3 .cate_box .box_title1, .qa_type3 .cate_box .box_txt1{
	min-height: 1.5em
}
.qa_type3 .box_q{
	background-image: url(./Dup/img/icon_q.png);
	background-repeat: no-repeat;
	background-position: top 2px left;
	background-size: 60px
}
.qa_type3 .box_a{
	background-image: url(./Dup/img/icon_a.png);
	background-repeat: no-repeat;
	background-position: top 2px right;
	background-size: 60px
}
.qa_type3 .box_q, .qa_type3 .box_a{
	padding: 0 90px
}
.qa_type3 .box_q .box_title1::before, .qa_type3 .box_a .box_txt1::before{
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    border-color: rgba(0, 0, 0, 0);
}
.qa_type3 .box_q .box_title1::before{
    border-top-width: 7px;
    border-bottom-width: 7px;
    border-left-width: 10px;
    border-right-width: 15px;
    margin-top: -10px;
    border-right-color: #ffa046;
    right: 100%;
    top: 34px;
}
.qa_type3 .cate_box .box_txt1{background-color: #edede6;}
.qa_type3 .box_a .box_txt1::before{
    border-top-width: 7px;
    border-bottom-width: 7px;
    border-left-width: 15px;
    border-right-width: 10px;
    margin-top: -10px;
    border-left-color: #edede6;
    left: 100%;
    top: 35px;
}
/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
.qa_type3 .box_q{
	padding-right: 0
}
.qa_type3 .box_a{
	padding-left: 0
}
.qa_type3 .con_no{
    top: 13px;
}
}


/* お客様の声 */
.v_type3 .cate_box{border: 1px solid #000;border-radius: 10px;}
.v_type3 .cate_box figure{border-radius: 5px;}

@media  screen and (max-width: 1400px){

#main_img .grid_11{width: 100%!important;}
.catch:before{left: -12%;}
.catch:after{right: -12%;}

#contents .contents_box.box1 .contents_txt .box:after{
width: 20vw;
height: 16vw;
bottom: -10vw;
left: -2vw;
}
#contents .contents_box.box2 .contents_txt .box:after{
width: 16vw;
height: 13vw;
}
#contents .contents_box.box3 .contents_txt .box:after{
width: 20vw;
height: 10vw;
bottom: -6vw;
}

}

@media  screen and (max-width: 1280px){

.catch:before{left: -20%;}
.catch:after{right: -20%;}

#contents .contents_box:nth-of-type(2) .contents_txt .box{
padding: 50px;
padding-bottom: 150px;
}
#contents .contents_box .contents_txt .box{padding-bottom: 150px;}

.page_title:before{
width: 400px;
height: 267px;
right: -8vw;
}

}

@media  screen and (max-width: 1100px){

.catch:before{left: -30%;}
.catch:after{right: -30%;}

}

@media  screen and (max-width: 1000px){

#main_img .grid_8,#main_img .catch{width: 100%!important;}
#main_img .catch{text-align: center;}

#contents .contents_box .contents_txt{width: 70%!important;border-radius: 30px;order: 2;}
#contents .contents_box:nth-of-type(2) .contents_txt{border-radius: 30px;}
#contents .contents_box .contents_img{width: 80%!important;order: 1;transform: translate(0);margin-bottom: 50px;}
#contents .contents_box:nth-of-type(2) .contents_img{transform: translate(0);}
#contents .contents_box .contents_txt .box:before{
left: 50%;
-ms-transform: translate(-50%,0);
-webkit-transform: translate(-50%,0);
transform: translate(-50%,0);
}
#contents .contents_box.box1 .contents_txt .box:after{
width: 27vw;
height: 22vw;
bottom: -9vw;
left: -4vw;
}
#contents .contents_box.box2 .contents_txt .box:after{
width: 22vw;
height: 18vw;
bottom: -6vw;
left: 1vw;
}
#contents .contents_box.box3 .contents_txt .box:after{
width: 28vw;
height: 14vw;
bottom: -2vw;
}

#contents .contents_box .contents_txt h2{text-align: center;}

}

@media  screen and (max-width: 950px){

.catch:before{left: -38%;}
.catch:after{right: -38%;}

}

/*タブレット用（768px以下）*/
@media  screen and (max-width: 768px){

.cursor,.follower{display: none;}
.fix_banner{right: -20px;}

.catch:before, .catch:after{
width: 360px;
height: 600px;
}
.catch:before{left: -40%;}
.catch:after{right: -40%;}

#contents .contents_box .contents_txt{width: 80%!important;}
#contents .contents_box .contents_img{width: 90%!important;}

#contents .contents_box.box1 .contents_txt .box:after{
width: 36vw;
height: 29vw;
}
#contents .contents_box.box2 .contents_txt .box:after{
width: 25vw;
height: 21vw;
}
#contents .contents_box.box3 .contents_txt .box:after{
width: 32vw;
height: 16vw;
}
#contents .contents_box .con_banner{
width: 100%;
max-width: 400px;
}
#contents .contents_box:nth-of-type(odd) .con_banner,
#contents .contents_box:nth-of-type(even) .con_banner{
margin-left: auto;
margin-right: auto;
}

.page_title{margin-top: 50px;margin-bottom: 50px;}
.page_title:before{
width: 300px;
height: 210px;
right: -8vw;
}

.news_list p{margin-top: -42px;}
.news_list p span{background-color: #f9f9f9;}

}

/*スマホ用（667px以下）*/
@media  screen and (max-width: 667px){

.fix_banner{width: 75px;right: -15px;}

#main_img{border: solid 15px #FFA046;padding: 0!important;}

.catch:before, .catch:after{display: none;}

#contents::before{top: -135px;height: 63px;background-size: 500px;animation: loop2 30s linear infinite;}
#contents .contents_box .contents_txt{width: 90%!important;}
#contents .contents_box .contents_img{width: 90%!important;}
#contents .contents_box .contents_txt .box,
#contents .contents_box:nth-of-type(2) .contents_txt .box{padding: 20px;padding-top: 50px;padding-bottom: 100px;}
#contents .contents_box .contents_txt .box:before{width: 70px;height: 70px;top: -40px;}

#contents .contents_box.box1 .contents_txt .box:after{
width: 56vw;
height: 45vw;
bottom: -21vw;
}
#contents .contents_box.box2 .contents_txt .box:after{
width: 48vw;
height: 39vw;
bottom: -13vw;
}
#contents .contents_box.box3 .contents_txt .box:after{
width: 55vw;
height: 28vw;
bottom: -7vw;
}

#contents .check li{text-align: left;padding-left: 15px;}
#contents .check li:before{
width: 17px;
height: 17px;
left: -8px;
}

.page_title h2{font-size: 20px;}
.page_title:before{
width: 200px;
height: 135px;
right: -40px;
top: 60px;
}

.news_list p{margin-top: -32px;}

}


@keyframes loop2{
	0% {background-position-x: 0;}
	100% {background-position-x: -500px;}
}


/*IE*/
@media all and (-ms-high-contrast: none) {}




/*--------------------------------
自動リンク
--------------------------------*/
/* color */
.linkStyle{color: #ffa046; text-decoration: underline;}
.txt_color_nomal .linkStyle{color: #ffa046;}
.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: #FFA046;} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: #F5D75F;} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: #96DCC3;} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: #DCF0FF;} /* アクセントカラー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: #FFA046;} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: #F5D75F;} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: #96DCC3;} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: #DCF0FF;} /* アクセントカラー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: #FFA046;}
.border_color2,.hvr_border_color2:hover{border-color: #F5D75F;}
.border_color3,.hvr_border_color3:hover{border-color: #96DCC3;}
.border_color4,.hvr_border_color4:hover{border-color: #DCF0FF;}