﻿/* ----------------------------------
 CMS・下層ページ 
----------------------------------*/
.cms_1-g .date{max-width: 120px;}

.cate_title{font-weight: 700;}
.box_title1{font-weight: 700;}
.cate_img1 img,.box_img1,.box_img1 img{border-radius: 15px;}

#cms_2-a .box_img{width: 49%!important;border-radius: 15px;}


/* ----------　page10.html ---------- */
.page10 .content_wrap .more:first-child{
	width: 95%!important;
}
.page10 .content_wrap .more{
	width: 45%!important;
}


/* タブレット */
@media screen and (max-width: 768px){
    .page10 .content_wrap .more{margin: 0 2%;width: 95%!important;}
    
}
/* スマホ */
@media screen and (max-width: 667px){
    #cms_2-a .box_img{width: 100%!important;}
    #tel_contact{padding: 0px;}
}

/* ----------------------------------
 メインイメージ 
-----------------------------------*/
.main_img_wrap .logo{
    position: absolute;
    width: 300px;
    z-index: 2;
}
.catch {
    z-index: 3;
    position: absolute;
    top: 50%;
    left: 30px;
    transform: translate(0%, -50%);/* X横 Y縦 始点が要素の中心になる */
    width: 50%;
    
    transition: all 0.8s;
}
.catch.start{
    opacity: 0;
    transform: translate(0%, -60%);
}


/* タブレット */
@media screen and (max-width: 768px){
    .main_img_wrap .logo{display: none;}
}
/* スマホ */
@media screen and (max-width: 667px){}

/*----------------------------------
 トップページ 
-------------------------------------*/

#question{background-color: #fb412b;}

#catch .box{
    margin-right: auto;
    margin-left: 5%;
}

#contents .box:nth-child(even) figure{margin-left: 50%;}
#contents .box:nth-child(odd) .box_item{margin-left: 50%;}
.contents_wrap .box_img1{
    width: 50%!important;
    transform: translateY(10%);
    position: relative;
    z-index: 1;
}
.contents_wrap .box_item{width: 50%!important;}

#question:before{
	background-image: url('./Dup/img/bg1.png');
	background-size: 400px;
	background-position: top 0 left 0;
	background-repeat: repeat;
	animation: bgloop 20s linear infinite;
}
@keyframes bgloop {
	0% {background-position: top 0 left 0;}
	100% {background-position: top -400px left 400px;}
}

#top_cms{
    background-color: #d8331f;
}
.top_cms_wrap{padding-bottom: 100px;}
.top_cms_box{
    background-color: #fff;
    padding: 40px 30px;
    border-radius: 20px;
    border: none;
}
.top_cms_box:last-child{
    margin-bottom: 0px;
}
#contents .title {font-size: 40px;}
#contents .box .box_item{
    border-radius: 20px;
}
#contents .box .box_item:before{
    border-radius: 8px;
}


#contents{position: relative;}
#contents::before {
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	width: 75px;
	height: 100%;
	background-image: url("../dup/img/dec01.png");
	background-size: 100% auto;
	background-position-y: 0;
	background-position-x: 0;
	background-repeat: repeat-y;
	animation: loop1 25s linear infinite both;
}
@keyframes loop1 {
	0% {background-position-y: 0;}
	100% {background-position-y: -2000px;}
}
#contents::after {
	   position: absolute;
    content: "";
    right: 0;
    top: 0;
    width: 75px;
    height: 100%;
    background-image: url(../dup/img/dec02.png);
    background-size: 100% auto;
    background-position-y: 0;
    background-position-x: 0;
    background-repeat: repeat-y;
    animation: loop2 25s linear infinite both;
}
@keyframes loop2 {
	0% {background-position-y: -2000px;}
	100% {background-position-y: 0px;}
}
/* タブレット */
@media screen and (max-width: 768px){
    #catch{background-position: center right;}
    
    #contents .title {font-size: 32px;}
    #contents .box .box_item{
        width: 90%!important;
        margin-top: 0px;
    }
    .contents_wrap .box_img1{width: 90%!important;}
    #contents .box:nth-child(even) figure{
        margin: 0 auto;
    }
    #contents .box:nth-child(odd) .box_item{
        margin: 0 auto;
    }
}
/* スマホ */
@media screen and (max-width: 667px){
    #question .title span{font-size: 21px;letter-spacing: 0.05em;}
    #contents .title {font-size: 28px;position: relative;z-index: 2;}
    
    #catch{background-position: bottom center;}
    
    #contents::before{animation: loop1 35s linear infinite both;}
    #contents::after{animation: loop2 35s linear infinite both;}
    #contents .box .box_item{width: 100%!important;margin: 0;}
    .contents_wrap .box_img1{width: 100%!important;}
}

/*----------------------------------
 全体 
------------------------------------*/
.fa-external-link-alt:before{}
header.clone-nav{z-index: 6;}
header{background-color: #212121!important;}

.cms{background-color: #d8331f;}

#page_title{
    background-size: 60%;
    background-position: top center;
    background-attachment: initial;
    height: 290px;
}

#page_title .title{
    padding: 20px 0 23px;
    background-color: #f3d000;
}

.content_wrap{
    background-color: #fff;
    padding: 50px 5%;
    border-radius: 20px;
}

.cate_list li a{
    font-weight: 700;
    border-radius: 7px;
}
.cate_list li a:hover{
    transform: translateY(-5px);
}

.linkStyle{
	color: #d8331f;
	text-decoration: underline;
	transition: all 0.5s;
}
.linkStyle:hover{
	color: #d8331f;
	opacity: 0.7;
	text-decoration: none;
}

.footer_tel.bg_color3{
    background-color: #d8331f;
}
.top_loader.bg_color1{background-color: #c73417;}
.marker{background: linear-gradient(transparent 60%, #f3d000 60%);}
.txt_color1,.hvr_txt_color1:hover{color: #222;} 
.txt_color2,.hvr_txt_color2:hover{color: #f3d000;} 
.txt_color3,.hvr_txt_color3:hover{color: #f3d000;} 
.txt_color4,.hvr_txt_color4:hover{color: #d8331f;} 
/*.txt_color5,.hvr_txt_color5:hover{color: #f2ede7;}*/ 

.bg_color1,.hvr_bg_color1:hover{background-color: #222;}
.bg_color2,.hvr_bg_color2:hover{background-color: #f3d000;}
.bg_color3,.hvr_bg_color3:hover{background-color: #f3d000;} 
.bg_color4,.hvr_bg_color4:hover{background-color: #d8331f;} 
/*.bg_color5,.hvr_bg_color5:hover{background-color: #f2ede7;}*/ 

.border_color1,.hvr_border_color1:hover{border-color: #222;}
.border_color2,.hvr_border_color2:hover{border-color: #f3d000;}
.border_color3,.hvr_border_color3:hover{border-color: #f3d000;}
.border_color4,.hvr_border_color4:hover{border-color: #d8331f;}
/*.border_color5,.hvr_border_color5:hover{border-color: #f2ede7;}*/

@media screen and (max-width: 1700px){#page_title{height: 260px;}}
@media screen and (max-width: 1490px){#page_title{height: 240px;background-size: 63%;}}
@media screen and (max-width: 1250px){#page_title{height: 240px;background-size: 70%;}}
@media screen and (max-width: 1140px){#page_title{height: 220px;background-size: 73%;}}
/* タブレット */
@media screen and (max-width: 768px){
    #page_title{background-size: 70%;height: 210px;}
}
/* スマホ */
@media screen and (max-width: 667px){
    .loader_txt{width: 100%!important;}
    #page_title{background-size: 100%;height: 131px;}
}


/*----------------------------------
 テンプレート 
------------------------------------*/

#question .txt .check{position: absolute;left: 0;}
#question .txt{padding-left: 43px;width: 42%;margin-right: 3%;}
/* タブレット */
@media screen and (max-width: 768px){
    #question .txt{width: 40%;margin-right: 3%;display: block;height: 73px;}
}

/* スマホ */
@media screen and (max-width: 667px){
    #question .txt{width: 100%;margin-right: 0%;height: 59px;}
}

/* ---------- loopSlider ---------- */
#topcms_gallery_type1{
    padding: 5px 0px;
    background-color: #222;
}
#topcms_gallery_type1 .loopSliderWrap{
    top: 0;
    left: 0;
    height: 450px;
}
#topcms_gallery_type1 .loopSlider {
    margin: 0 auto;
    height: 450px;
    text-align: left;
    position: relative;
    overflow: hidden;
}
#topcms_gallery_type1 .loopSlider .ul {
    height:450px;
    float: left;
    overflow: hidden;
}
#topcms_gallery_type1 .loopSlider .ul .li {
    width: 450px;
    height: 450px;
    float: left;
    display: inline;
    overflow: hidden;
	position: relative;
	box-sizing: border-box;
	padding: 0;
}
#topcms_gallery_type1 .loopSlider .ul .li img{
    border-radius: 0;
}
#topcms_gallery_type1 .loopSliderWrap:after {
    content: "";
    display: none;
    clear: none;
}

/*リンクボタン*/
#topcms_gallery_type1 .btn{z-index: 3;}
#topcms_gallery_type1 .btn a::before {
    content: '';
    position: absolute;
    bottom: 55px;
    right: 27%;
    width: 42%;
    height: 1px;
    background: #FFF;
    transition: all .3s;
}
#topcms_gallery_type1 .btn a::after {
    content: '';
    position: absolute;
    bottom: 60px;
    right: 27%;
    width: 15px;
    height: 1px;
    background: #FFF;
    transform: rotate(35deg);
    transition: all .3s;
}
#topcms_gallery_type1 .btn a:hover::before {
    right: 16%;
    background: #222;
}
#topcms_gallery_type1 .btn a:hover::after {
    right: 15%;
    background: #222;
}
#topcms_gallery_type1 .btn {
    display: block;
}
#topcms_gallery_type1 .btn a {
    background: #222;
    color: #FFF;
    width: 200px;
    height: 200px;
    display: flex;
    align-content: center;
    justify-content: center;
    border-radius: 50%;
    flex-wrap: wrap;
    transition: all 0.4s;
}
#topcms_gallery_type1 .btn a:hover {
    background: #FFF;
    color: #222;
}
#topcms_gallery_type1 .btn a span, .btn a strong {
    text-align: center;
}
@media(max-width: 768px) {
#topcms_gallery_type1,#topcms_gallery_type1 .loopSliderWrap,#topcms_gallery_type1 .loopSlider,#topcms_gallery_type1 .loopSlider ul,#topcms_gallery_type1 .loopSlider .ul .li{
	height: 280px;
}
#topcms_gallery_type1 .loopSlider .ul .li{
    width: 280px;
}
#topcms_gallery_type1 {
    padding-bottom: 0;
    padding-top: 0;
}
}
@media(max-width: 667px) {
#topcms_gallery_type1,.loopSliderWrap,.loopSlider,.loopSlider .ul,.loopSlider .ul .li{
	height: 179px!important;
}
#topcms_gallery_type1 .loopSlider .ul .li{
    width: 179px;
}
#topcms_gallery_type1 .btn a::after {
    bottom: 35px;
    right: 27%;
}
#topcms_gallery_type1 .btn a::before {
    bottom: 30px;
    right: 27%;
}
#topcms_gallery_type1 .btn a {
    width: 140px;
    height: 140px;
    line-height: 1.7;
}
}


.link_type1 .link_top .link_title {
    font-size: 20px;
    margin-bottom: 20px;
    text-align: center;
    padding-top: 50px!important;
    margin-bottom: 30px;
    color: #474521;
    font-weight: normal;
    background-image: url("../dup/img/link_type1_icon.png");
    background-size: 50px;
    background-position: top center;
    background-repeat: no-repeat;
}
.link_type1 .link_top .link_title{
    font-size: 20px;
    margin-bottom: 20px;
}
.link_type1 .link_top a{
	padding-top: 40px;
	padding-bottom: 40px;
	border: 2px solid #3c3c3c;
    border-radius: 6px;
}
.link_type1 .link_top a:hover{
    background-color: #fff;
}
.link_type1 .link_top a:hover .link_img1{
    transform: translate(-50%, -50%) scale(1.1,1.1);
    opacity: 0.5;
}
@media screen and (max-width: 667px){
.link_type1 .link_top .link_title{
    font-size: 15px;
}
}

/* fix_bnr -----------------------------*/
#fix_bnr{
	bottom: 7px;
	left: 0px;
	z-index: 4;
	width: 220px;
}
#copyright.top{
	padding-bottom: 230px;
}
@media screen and (max-width: 667px){
#fix_bnr {bottom: 7px;width: 43%;}
#copyright.top{padding-bottom: 170px!important;}
}


/*-qa_type3------------------------*/
.qa_type3 .cate_box .box_title1{
	min-height: 1.5em;
	padding: 15px 15px;
	background-color: #e9e9e9;
	color: #333;
	font-weight: 600;
    font-size: 20px;
    line-height: 2;
    letter-spacing: 0.03em;
}
.qa_type3 .box_q{
	background-image: url(./Dup/img/icon_q.png);
	background-repeat: no-repeat;
	background-position: top 2px left;
	background-size: 60px;
	padding: 0 0px 0px 90px;
}

.qa_type3 .box_q{
	padding: 0 0 0 90px
}
.qa_type3 .box_q .box_title1::before{
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    border-color: rgba(0, 0, 0, 0);
    border-top-width: 7px;
    border-bottom-width: 7px;
    border-left-width: 10px;
    border-right-width: 15px;
    margin-top: -10px;
    border-right-color: #e9e9e9;
    right: 100%;
    top: 34px;
}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
.qa_type3 .box_q{
	padding-right: 0
}

.qa_type3 .con_no{
    top: 13px;
}
}