﻿
/*===========================================================*/
/* 個別 */
/*===========================================================*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500&family=Noto+Sans+JP:wght@500&display=swap');
body{
        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;
}
@font-face {
    font-family: 'irohamaru';
    font-style: Medium;
    font-weight: 900;
    src: url('../Dup/img/irohamaru.woff') format('woff'),
        url('../Dup/img/irohamaru.ttf')  format('ttf');
    font-display: swap;
}
.linkStyle{color: #333;border-bottom: 1px solid;}
p{line-height: 2;}
.font1,#contents1 h2,#contents2 h2,#contents3 h3,#top_cms h2,#page_title h2,.cate_title,#main_menu ul li a,.pc_box .contact_bt a, .pc_box .tel_bt a{font-family: 'irohamaru';}
.button:hover::after {
    box-shadow: inset 0 0 0 15em #457e45;
    border-color: #457e45;
}
.more a {
    border-radius: 50px;
}
.pc_box .contact_bt a,.pc_box .tel_bt a,#sp_nav .contact_bt a,#sp_nav .tel_bt a{
    background-color: rgba(255,255,255,0.7);
    color: #006400;
    border-radius: 50px;
    border-color: #006400;
}
.pc_box .contact_bt a:hover, .pc_box .tel_bt a:hover,#contents3 figure:hover,#contents2 figure:hover{transform: scale(1.03);}
header:before{
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 40px;
    max-width: 351px;
    width: 17vw;
    height: 11vw;
    background-image: url(Dup/img/dec6.png);
    background-size: contain;
    background-repeat: no-repeat;
}
#contents1,#contents2,#contents3 .grid_6{
    background-image: url(Dup/img/item1.png);
    background-repeat: no-repeat;
    background-position: center;
}
#contents2{background-position: center left;}
#contents3 .grid_6{background-position: left -100px bottom -70px;}
#contents1 h2 {
    padding-top: 100px;
    background-image: url(Dup/img/dec1.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100px;
    text-align: center;
}
#attach:before {
    content: "";
    display: block;
    position: absolute;
    top: -2px;
    left: 0;
    width: 100%;
    height: 100px;
    background-image: url(Dup/img/wave.png);
    background-repeat: no-repeat;
    background-size: cover;
}
#contents2 figure img{border-radius: 40% 60% 47% 53% / 50% 43% 57% 50%;}
#contents2 figure:before{
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 150px;
    height: 150px;
    background-image: url(Dup/img/dec2.png);
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1;
}
.dec3{
        bottom: 0;
    right: 0;
    max-width: 200px;
    width: 20%;
}
#contents3 figure,#contents2 figure {
    border-radius: 46% 53% 50% 38% / 54% 62% 39% 50%;
    transition: 0.5s;
}
.cms_title{
        background-image: url(Dup/img/dec4.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
    padding-left: 80px;
}
.cms_title::before{content: none;}
.txt01{    
    top: 20px;
    left: 0px;
    transform: rotate(-5deg);
    opacity: 0.3;
    max-width: 600px;
    width: 40%;
}
.dec5{
    bottom: -10px;
    right: 30px;
    max-width: 150px;
    z-index: 1;
    opacity: 0.7;
    transform: rotate(
20deg
);
}
#main_img h2 img{max-height: none;min-height: auto;}
.cms_3-a .cate{transition: 0.5s;}
.cms_3-a .cate:hover{    transform: scale(1.03);}
.v_type3 .cate_box .box_item{transition: 0.5s;}
.v_type3 .box_item:hover{transform: scale(1.03);}
.txt1{width: 80%;}
body{overflow: hidden;}
#main_img:before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255,255,255,0.3);
    z-index: 3;
}
#main_img h2{z-index: 4;}
.contact_bt,.tel_bt{position: relative;}
.contact_bt:before,.tel_bt:before{
    content: "";
    display: block;
    position: absolute;
    bottom: -20px;
    right: -25px;
    width: 77px;
    height: 62px;
    background-image: url(Dup/img/dec7.png);
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1;
}
.tel_bt:before{background-image: url(Dup/img/dec8.png);}
.pc_box .contact_bt a:hover, .pc_box .tel_bt a:hover{color: #fff;}
#contents3 .d_flex{justify-content: space-around;}
.link_box ul{justify-content: space-around;}
#fakeloader{    background-color: #89b970;}
/*#fakeloader{
        background-image: url(Dup/img/load_bg.png);
    background-repeat: repeat-x;
    background-position: bottom;
    background-color: #ffff;
}
.spinner7 > div{background-color: #457e45;}*/
/*===========================================================*/
/* 下層 */
/*===========================================================*/
#cms_5-a .cate .cate_title{    background-color: #8b6040;}
#page_title h2,#page_title p{text-shadow: none;}
.cms_3-a figure{border-radius: 40% 60% 47% 53% / 50% 43% 57% 50%;}
.cms_5-a .box_title1,.cms_5-a .a_box p,
#cms_5-a .box_title1,#cms_5-a .a_box p{
    background-color: #f5f5ff;
    border-radius: 20px;
    position: relative;
    padding: 15px;
    background-color: #457e45;
    color: #fff;
}
.cms_5-a .a_box p,#cms_5-a .a_box p{background-color: #916d53;}
.cms_5-a .box_title1:after,#cms_5-a .box_title1:after {
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    border-color: rgba(193, 255, 18, 0);
    border-top-width: 7px;
    border-bottom-width: 7px;
    border-left-width: 10px;
    border-right-width: 15px;
    margin-top: -10px;
    border-right-color: #457e45;
    right: 100%;
    top: 55%;
}
.cms_5-a .a_box p:after,#cms_5-a .a_box p:after{
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    border-color: rgba(193, 255, 18, 0);
    border-top-width: 7px;
    border-bottom-width: 7px;
    border-left-width: 15px;
    border-right-width: 10px;
    margin-top: -10px;
    border-left-color: #916d53;
    left: 100%;
    top: 55%;
}
.cms_5-a .q_box,.cms_5-a .a_box,
#cms_5-a .q_box,#cms_5-a .a_box{
    background-image: url(Dup/img/q_icon.png);
    background-repeat: no-repeat;
    background-position: top 50% left;
    background-size: 70px;
    padding: 20px 90px;
}
.cms_5-a .a_box,#cms_5-a .a_box{background-image: url(Dup/img/app.png);background-position: top 50% right;}
.button2:hover {
    box-shadow: 0 0 20px rgba(0,100,0,0.6) inset;
}


html.modalset{
	overflow: hidden;
}
.v_type3 .box_item{
    box-shadow: 0 5px 10px rgba(0,0,0,0.1);
    border: solid 2px #d1be8f;
    border-radius: 20px;
	cursor: pointer;
}
.v_type3 .box_item:hover{
    box-shadow: none;
    border: solid 2px #265e3e;
}
.v_type3 .box_title2, .v_type3 .box_txt1{
    border-top: 1px solid #edede6;
}
.v_type3 .modal .box_title2{
	border-top: none;
}
.v_type3 .modal{
	display: none;
	width: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 9999;
	line-height: 1.7;
}
.v_type3 .modal-wrap {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	text-align: center;
	padding: 20px;
	overflow: hidden;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	overflow: -moz-scrollbars-none;
}
.v_type3 .modal-wrap::-webkit-scrollbar {
	display: none;
}
.v_type3 .modal-wrap:after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 1px;
	height: 100%;
}
.v_type3 .modal-bg{
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(0,0,0,0.3);
	width: 100%;
	height: 100%;
}
.v_type3 .modal-box {
    width: 90%;
    max-width: 900px;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    padding: 10px;
    padding-bottom: 23px;
    background-color: #fff;
}
.v_type3 .modal-box .inner{
	max-height: 650px;
    overflow: auto;
	-ms-overflow-style: none;
}
.v_type3 .modal-box .inner::-webkit-scrollbar {
  width: 2px;
  height: 10px;
}
.v_type3 .modal-box .inner::-webkit-scrollbar-track {
  border-radius: 5px;
  box-shadow: 0 0 4px #aaa inset;
}
.v_type3 .modal-box .inner::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #333;
}
.v_type3 .modal-box .modal-close{
	cursor: pointer;
	position: absolute;
    top: 19px;
    right: 25px;
}
.v_type3 .modal_img{
    max-width: 600px;
}
.v_type3 .modal_title1{
	padding-top: 60px;
}
.v_type3 .modal_title1:before{
	content: "";
	display: block;
	background-color: #666; 
	width: 1px;
	height: 50px;
	position: absolute;
	top: 0;
	left: 2px;
}
.v_type3 .modal_title1 span{
	transform: rotate(90deg);
	display: block;
	line-height: 1;
}
/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
.v_type3 .modal-box .modal-close {
    top: 6px;
    right: 19px;
}
.v_type3 .modal-box .inner{
    max-height: 500px;
}
}

/*===========================================================*/



/*===========================================================*/
/* 1280 */
/*===========================================================*/
@media screen and (max-width: 1280px){
header:before{width: 18vw;height: 13vw;}
.txt01{    top: 0px;}
}




/*===========================================================*/
/* タブレット */
/*===========================================================*/
@media screen and (max-width: 768px){
header:before {
    width: 20vw;
    height: 7vw;
}
.txt01{top: 20px;}
.dec5{bottom: 15px;width: 15%;}
#attach {
    height: 250px;
}
#contents2{padding-top: 100px;}
#contents2 figure:before{
    bottom: -40px;
    left: -20px;
}


}



/*===========================================================*/
/* スマホ */
/*===========================================================*/
@media screen and (max-width: 667px){
#contents2 {
    background-position: center center;
}
.cms_5-a .q_box,#cms_5-a .q_box{padding-right: 0;}
.cms_5-a .a_box,#cms_5-a .a_box{padding-left: 0;}
.cms_title{padding-left: 60px;}
#contents1 h2{background-size: 90px;}
header:before {    height: 9vw;    left: 30px;}
#attach:before{
    top: -1px;
    background-size: contain;
}
.txt01 {
    top: 20px;
    width: 60%;
}
#contents2{padding-top: 70px;}
#main_img h2{width: 95%;}
.dec5 {
    bottom: 41px;
}



}


/*===========================================================*/
/* IE */
/*===========================================================*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none){
#page9 .box p a{padding: 3px 5px 3px!important;}
.cate_list li a{padding: 7px 0px 7px!important;}
#cms_2-a .cate .cate_title{padding-top: 10px!important;}
.pager li a{padding: 3px 0px 3px!important;}
#cms_5-a .cate .cate_title span:last-of-type{padding-top: 0!important;}
.pc_box .contact_bt a{padding: 12px 0 12px!important;}


}


/*===========================================================*/
/* Firefox */
/*===========================================================*/
@-moz-document url-prefix(){

}