﻿/*===========================================================*/
/* 個別 */
/*===========================================================*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500&family=Noto+Sans+JP:wght@500&display=swap');
body,.font_com{
        font-family: 'Montserrat',"Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;
        font-weight: 500;
}
.linkStyle{color: #333;border-bottom: 1px solid;}

#main_img{
    max-width: 100%;
    height: auto!important;
}
#logo{width: 200px;}
#head_logo {
    top: 0;
    left: 0;
    transform: none;
    height: 200px;
}
#head_logo img{width: 80%!important;}
#head_logo span{background-color: #2b8225;}
.open_bg{background-color: #f7f7f7;}
.con_open .intro_title{    color: #2b8225;}
.con_open .intro_txt {
        color: #333333;
}
.con_open .intro_sub_title{
        color: #2b8225!important;
        
}
#intro .intro_title{
    background-image: linear-gradient(to bottom, transparent 50%, #f7f7f7 50%);
    display: inline-block;
}
#intro .intro_img{border-radius: 0 10px 0 0;}
#top_contents .box_img{
    border-radius: 10px;
    box-sizing: border-box;
}
#top_contents .con_open .contents_no{color: #333333;}
#top_contents .con_open .contents_no span{background-color: #333333;}
footer{padding-bottom: 100px;}
.bnr{
    bottom: 30px;
    left: 30px;
    max-width: 150px;
    display: none;
    z-index: 3;
}
/*2024-04-12*/
.bnr{
    max-width: 180px;

}
.bnr a{transition: 0.3s;display: block;}
.bnr a:hover{transform: scale(1.03);}
.dec01{
        width: 100%;
    height: 100%;
    left: -50%;
    bottom: -100px;
    z-index: -1;
}
.top_banner a .banner_bg {background-position: top -100px center;}
.top_banner a:hover .banner_bg {
    transform: translate(-50%, -50%) scale(1.1);
    opacity: 0.2;
}
/*===========================================================*/
/* コード集 */
/*===========================================================*/

.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}
}

.v_type2 .demo_box {padding-top: 70px}
.v_type2 {counter-reset: number 0;}
.v_type2 .cate_box {padding: 50px 20px 30px;border-radius: 0 0 10px 10px;}
.v_type2 .cate_box:before {
    counter-increment: number 1;
    content: "0" counter(number);
    display: inline-block;
    position: absolute;
    top: -30px;
    left: -5px;
    z-index: 1;
    font-size: 50px;
    font-weight: 100;
    color: #2b8225;
    background-color: #fff;
    line-height: 1;
    padding: 0 25px 0 0;
}
@media screen and (max-width: 667px){
.v_type2 .cate_box{padding: 42px 25px 25px;}
.v_type2 .cate_box:before{top: -31px;font-size: 48px;}
}

.qa_type4 .cate_box{
	background-color: #e9ede9;
}
.qa_type4 .box_title1{
	cursor: pointer;
	letter-spacing: 0.5px;
	padding: 12px 36px 12px 50px;
	background-image: url(./Dup/img/faq_q.png);
	background-position: 10px 10px;
	background-repeat: no-repeat;
	background-size: 32px 32px;
}
.qa_type4 .box_title1:after{
	font-size: 20px;
	font-weight: bold;
	position: absolute;
	top: 5px;
	right: 10px;
	content: '\2b';
	display: inline-block;
	-webkit-transition: transform 0.4s;
	transition: transform 0.4s;
}
.qa_type4 .box_title1.open:after{
	-webkit-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
}
.qa_type4 .box_txt1 p{
	background-image: url(./Dup/img/faq_a.png);
	background-position: 6px 10px;
	background-repeat: no-repeat;
	background-size: 24px 24px;
	padding: 10px 10px 10px 40px;
}
.qa_type4 .box_title1:empty{
	height: 24px;
}
/*===========================================================*/
/* 下層 */
/*===========================================================*/
#cms_3-c .box_title1{
        background-color: #fff;
    width: 100%!important;
    border: none;
    color: #2b8225;
    font-size: calc(1rem + 4px);
    border-bottom: 1px solid;
}
#cms_3-c .cate_box{padding: 5%;}
.cate_list a{background-color: #ededed;}
#page_title{
    padding: 100px 0;
    color: #fff;
    position: relative;
    background-image: url(Dup/img/page_img.jpg);
    background-size: cover;
    background-position: center center;
    text-shadow: 1px 3px 10px rgb(47 57 35 / 20%);
}


/*===========================================================*/
/* タブレット */
/*===========================================================*/
@media screen and (max-width: 768px){
#intro .intro_img {
    height: 60vw;
    top: auto;
    bottom: 0;
    border-radius: inherit;
    position: static;
}
#wrap{padding-top: 20px;}
.top_banner a .banner_bg {background-position: top center;}
}



/*===========================================================*/
/* スマホ */
/*===========================================================*/
@media screen and (max-width: 667px){
#intro .intro_txt_wrap{
    opacity: 1;
    transform: none;
}
#intro{padding-bottom: 50px;}
.bnr {
    bottom: 0;
    left: 0;
    max-width: 100px;
}
#intro .intro_title{background-image: none;}
#page_title{padding: 70px 0;position: relative;}
#page_title::before{
    content: "";
    position: absolute;
   background-color: rgb(43 130 37 / 15%);
   width: 100%;
   height: 100%;
   top: 0;
   left: 0;
}
#page_title h2,#page_title p{position: relative;}
}


/*===========================================================*/
/* IE */
/*===========================================================*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none){



}


/*===========================================================*/
/* Firefox */
/*===========================================================*/
@-moz-document url-prefix(){

}