﻿@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500&display=swap');

h1, h2, h3, h4, h5, h6,.add_contact a {
    font-family: 'Zen Maru Gothic','Zen Kaku Gothic New',"游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 500 !important;}

body {
    font-family: 'Zen Kaku Gothic New','Zen Maru Gothic',"游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}

/* color-----------------------------------------------------------------------*/
body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: #203002;}
.txt_color1,.hvr_txt_color1:hover{color: #67a200} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: #a1ce52} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: #4c7601} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: #f8ffec} /* アクセントカラー2 */
/* background-color */
.bg_black,.hvr_bg_black:hover{background-color: #203002} /* 黒背景 */
.bg_color1,.hvr_bg_color1:hover{background-color: #a1ce52} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: #67a200} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: #4c7601} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: #f8ffec} /* アクセントカラー2 */
.bg_color_clear,.hvr_bg_color_clear:hover{background-color: transparent!important}
/* border-color ※!important */
.border_color1,.hvr_border_color1:hover{border-color: #67a200}
.border_color2,.hvr_border_color2:hover{border-color: #a1ce52}
.border_color3,.hvr_border_color3:hover{border-color: #4c7601}
.border_color4,.hvr_border_color4:hover{border-color: #f8ffec}
/* color-----------------------------------------------------------------------*/
.more div::before {background: rgb(161 206 82 / 0.1);}
.stripe:after{
	background-image: linear-gradient( -45deg, transparent 25%, rgb(161 206 82 / 0.3) 25%, rgb(161 206 82 / 0.3) 50%, transparent 50%, transparent 75%, rgb(161 206 82 / 0.3) 75%, rgb(161 206 82 / 0.3) );}
.more div::after {border: 1px solid hwb(42deg 5% 55% / 30%);}
.button_container.active .top {background: rgba(255,255,255,0.90);}
.button_container.active .middle {background: rgba(255,255,255,0.90);}
.button_container.active .bottom {background: rgba(255,255,255,0.90);}
#bottom_info .more div::before,#footer .more div::before{background: rgba(255, 255, 255, 0.1);}
#bottom_info .more div::after,#footer .more div::after{border-color: rgba(255, 255, 255, 0.4);}
#footer_wrap > div:first-of-type{border-color: rgba(255,255,255,0.50);}
#bottom_info .stripe:after,
#page_title .stripe:after{
	background-image: linear-gradient( -45deg, transparent 25%, rgba(255,255,255,0.30) 25%, rgba(255,255,255,0.30) 50%, transparent 50%, transparent 75%, rgba(255,255,255,0.30) 75%, rgba(255,255,255,0.30) );}
#page7 .box{border-color: #ecf0e5;}

/*linkStyle*/
a.linkStyle {
    color: #67a200;
    transition: 0.5s;
    border-bottom: solid 1px;}
a.linkStyle:hover {
    color: #67a200;}
/* color-----------------------------------------------------------------------*/

/*-------------------------------------------------------
				ローディング画面
-------------------------------------------------------*/
/*#loading_line .line{background-color: #59595f;z-index:2;}*/
#loading{
	position: fixed;
	height: 100%;
	width: 100%;
	z-index: 999999;
	background-color: #fff;
    top:0;
    left:0;
}
/*#loading_line{*/
/*	position: absolute;*/
/*	top: 0;*/
/*	margin: auto;*/
/*	width: 100%;*/
/*	height: 100%;*/
/*}*/

#loading_logo{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 60%;
	max-width: 150px;
	z-index: 3;
}


/* ======================================================================================
　　svg anim
======================================================================================== */
.load_logo_wrap{width: 80%;max-width: 500px;z-index: 1;}

#svg_anim1{
    width: 100%;
     -webkit-animation: opatxt 2s 1;
    animation: opatxt 2s 1;
}

#svg_anim1 path{
fill:none;
stroke:#20D38E;
stroke-width:18;
stroke-linecap:round;
stroke-linejoin:round;
stroke-miterlimit:10;}
    
/*-------------------------------------------------------
				ローディング画面
-------------------------------------------------------*/

/*■■■■■■■■■■■■■■■■all■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
body {
  /* 方眼紙模様に必須のスタイル */
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
                    linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;

  /* 以下任意のスタイル */
  padding: 20px;
}

#nav_menu{display:block;}
.button_container {
    position: fixed;
    top: 5%;
    right: 47px;
    height: 40px;
    width: 40px;
}
.button_container span {
    background-color: #a1ce52;
    height: 2px;
}
.overlay.open {
    opacity: .95;
    visibility: visible;
    height: 100vh;
}
.overlay ul li a {
    font-size: calc(1rem + 2px);
}

.add_contact{
    border: 1px solid #fe9c05;
    background-color: #fff;
    padding: 10px 10px 10px 10px;
    top: 1.5%;
    right: 116px;
    position: fixed;
    z-index: 20;
}

.add_contact a{
    padding-left: 4px;
    color: #fe9c05;
}
.add_contact i{
    font-size: 1.5em;
    padding-right: 6px;
}

footer{background:#f8ffec !important;}
.footer_cms p{color:#4c7601;}

.sns_wrap li {
    width: 50px !important;
    height: 50px !important;}
.sns_links img {max-width: initial !important;}
.sns_links li{right: -10px;}
/*■■■■■■■■■■■■■■■■all■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*■■■■■■■■■■■■■■■■top■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
#main_img #slider:before{content:none;}

/*.item01{position:relative;}*/
/*.item01::before{content:'';*/
/*                  position: absolute;*/
/*                  width:100%;*/
/*                  height: 100%;*/
/*                  z-index: 2;*/
/*                  background:url(dup/img/item01.png);*/
/*                  background-size:contain;}*/

.item01::before {
    content: '';
    position: absolute;
    width: 108%;
    height: 108%;
    background: url(dup/img/main_img.png);
    z-index: 1;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    top: 50%;
    left: 50%;
    transform: translate(-49%, -50%);
}

#main_img {
    z-index: 0;
    position: relative;
    overflow: inherit !important;
}

.item01::after {
    content: '';
    position: absolute;
    width: 13vw;
    height: 42vh;
    background: url(dup/img/catch.png);
    z-index: 1;
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    right: 0%;
    transform: translate(-16%, -60%);
}

div#main_img::before {
    content: '';
    background: #fff;
    z-index: 1;
    position: absolute;
    width: 100%;
    height: 74%;
    background: rgb(255,255,255);
    background: linear-gradient(90deg, rgba(255,255,255,0) 75%, rgba(255,255,255,0.7) 90%);
}

#contents .box_wrap .box:nth-child(odd) .box_item::before {
    content: '';
    position: absolute;
    width: 17vw;
    height: 100%;
    z-index: 11;
    background: url(dup/img/item02.png);
    right: 0;
    bottom: 0;
    background-repeat: no-repeat;
}

#contents .box_wrap .box:nth-child(odd) .box_item::before {
    content: '';
    position: absolute;
    width: 10vw;
    height: 20vh;
    z-index: 11;
    background: url(dup/img/item02.png);
    right: 0;
    bottom: 0;
    background-repeat: no-repeat;
    background-size: contain;
    transform: translate(77%, 50%);
}

#contents .box_wrap .box:nth-child(even) .box_item::before {
    content: '';
    position: absolute;
    width: 12vw;
    height: 21vh;
    z-index: 11;
    background: url(dup/img/item03.png);
    left: 0;
    bottom: 0;
    background-repeat: no-repeat;
    background-size: contain;
    transform: translate(-83%, 32%);
}

div#menu_bt a {padding: 70px 0;}

#top_cms .more {background: #fff;}

img.catch_bnr.posi_abs {
    z-index: 2;
    bottom: -2%;
    left: -4%;
    width: 35vw;
}
/*マーカー*/
/* アニメーション前のスタイル */
.js-marker {
  display: inline;
  position: relative;
  background-image: linear-gradient(90deg, #ffe481, #ffe481); /* 単色の場合は同じ色、グラデーションさせる場合は別々の色 */
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0 30%; /* '30%'の部分にマーカーの太さを記入 */
  transition: all 1s ease-in-out; /* マーカーを引く速度を調整 */
  font-weight: bold; /* ついでに太字にしたい場合 */
}

/* アニメーション発火時 */
.js-marker.inview {
  background-size: 100% 30%; /* '30%'の部分は上で設定した太さに合わせる */
}
/*マーカー*/

/*■■■■■■■■■■■■■■■■top■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*■■■■■■■■■■■■■■■■sub■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/

/*-------- コード集---------------------------------------------------------------------------------*/    
.flow_type2 .cate_title {
    border-bottom: solid 3px #fff3d2;
    position: relative;
}
.flow_type2 .cate_title::after {
    content: '';
    display: block;
    background: #fe9c05;
    width: 30%;
    height: 3px;
    position: absolute;
    left: 0;
    bottom: -3px;
}
.flow_type2 .box_wrap {
	border: 3px solid #a1ce52;
}
.flow_type2 .cate_box {
	padding: 30px;
	width: 100%!important;
}
.flow_type2 .box_txt1 {
    background-color: #fbfff4;
    color:#67a200;
    text-align: center;
    font-size: 16px;
}
.flow_type2 .cate_box:not(:last-child) {
	border-bottom: 3px solid #a1ce52;
	position: relative;
}
.flow_type2 .cate_box:not(:last-child)::before,
.flow_type2 .cate_box:not(:last-child)::after {
	content: "";
	border: solid transparent;
	position: absolute;
	top: 100%;
	left: 17%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 2;
}
.flow_type2 .cate_box:not(:last-child)::before {
	border-width: 22px;
	border-top-color: #a1ce52;
}
.flow_type2 .cate_box:not(:last-child)::after {
	border-width: 18px;
	border-top-color: #fff;
}

.flow_type2{counter-reset: number 0;}

.flow_type2 .box_txt1::before {
    counter-increment: number 1;
    content: "Step." counter(number);
    background-color: #a1ce52;
    padding: 5px 10px;
    font-weight: 700;
    color: #ffffff;
    display: block;
    margin: 0px auto 10px;
    width: 50%;
}
/*-------- スマートフォン --------*/
@media screen and (max-width: 667px){
.flow_type2 .cate_box:first-child {
    padding: 20px 20px 30px 20px;
}
.flow_type2 .cate_box:not(:first-child) {
    padding: 40px 20px 20px 20px;
}
.flow_type2 .cate_box:not(:last-child)::before, .flow_type2 .cate_box:not(:last-child)::after {
    left: 50%;
}
.flow_type2 .cate_box:not(:last-child)::after {
    border-top-color: #ffffff;
}
}
/*-------- FireFox --------*/
@-moz-document url-prefix() {
.flow_type2 .cate_box:not(:last-child)::before, .flow_type2 .cate_box:not(:last-child)::after {top: 98% !important;}
}
/*-------- コード集---------------------------------------------------------------------------------*/    

.cate_list li {
    width: 30%;
    height: 100%;
    background: #fff;
    margin-right: 2%;}
.cate_box {background: #fff;}
div#cms_1-a {
    background: #fff;
    padding: 50px;}
ul.pager {padding-top: 30px;}
.cms_1-a .cate_box {padding: 20px;}
#page10 li a {background: #fff;}
#page10 li a:hover {background-color: rgb(210 225 182 / 10%) !important;}

div#header_wrap ul.border_color4 {border-color: #a1ce52;}
/*■■■■■■■■■■■■■■■■sub■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/


/*タブレット*/
@media screen and (max-width: 768px){
.add_contact {z-index: 95;}
.button_container {top: 52%;}
.load_logo_wrap {max-width: 300px;}
div#cms_1-a {
    background: #fff;
    padding: 50px;
    margin-bottom: 50px;}
    
/*#main_img {padding-top: 90px;}*/
#slider {max-height: 450px;}

.item01::before {
    width: 105%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-49%, -50%);}
    
.item01::after {
    width: 23vw;
    height: 29vh;
    top: 50%;
    right: 0%;
    transform: translate(-18%, -52%);}

#contents .box_wrap .box:nth-child(odd) .box_item::before {
    content: '';
    position: absolute;
    width: 20vw;
    height: 15vh;
    z-index: 11;
    transform: translate(5%, 79%);}
    
#contents .box_wrap .box:nth-of-type(even) {
    margin-right: 0;
    margin-top: 60px;
    z-index: -3;
    position: relative;}

#contents .box_wrap .box:nth-child(even) .box_item::before {
    content: '';
    position: absolute;    
    width: 21vw;
    height: 14vh;
    background: url(dup/img/item03.png);
    left: auto;
    right: 0;
    bottom: 0;
    transform: translate(3%, 77%);
    background-size:contain;
    background-repeat: no-repeat;
}

/*div#wrap {overflow: hidden;}*/

.con4 {
    z-index: -7;
    position: relative;}
    
.cate_list li {width: 100%;}
section#contents {
    position: relative;
    z-index: 0;}
    
img.catch_bnr.posi_abs {
    z-index: 2;
    bottom: -3%;
    left: -4%;
    width: 68vw;}
}


/*スマホ*/
@media screen and (max-width: 667px){
.add_contact a {
    padding-left: 4px;
    color: #ffffff;
    padding: 0;
    text-align: center;
    display: block;}

.add_contact {
    border: 0px solid #fe9c05;
    background-color: #fe9c05;
    padding: 10px 10px 10px 10px;
    top: auto;
    bottom: 0;
    right: 54px;
    position: fixed;
    z-index: 20;
    width: calc(100% - 74px);
    border-radius: 0px 5px 0px 0px;}

.item01::before {transform: translate(-50%, -50%);}

.item01::after {
    width: 29vw;
    height: 28vh;
    transform: translate(-15%, -50%);
}

div#main_img::before {
    content: '';
    background: #fff;
    z-index: 1;
    position: absolute;
    width: 100%;
    height: 74%;
    background: rgb(255,255,255);
    background: linear-gradient(90deg, rgba(255,255,255,0.2) 65%, rgba(255,255,255,0.8) 80%);}
    
.button_container {
    top: 52%;
    right: 35px;}

.font_14 {font-size: 13px;}

#contents .box_wrap .box:nth-child(odd) .contents_title h3 {
    margin-left: 0;
    padding: 0 17px;}

#contents .box_wrap .box:nth-child(even) .contents_title h3 {
    margin-right: 0;
    padding: 0 17px;
    letter-spacing: 2.2px;}
    
#contents .box_wrap .box:nth-child(odd) .box_item::before {
    content: '';
    position: absolute;
    width: 31vw;
    height: 20vh;
    z-index: 11;
    transform: translate(12%, 91%);}
    
#contents .box_wrap .box:nth-child(even) .box_item::before {
    content: '';
    position: absolute;
    width: 32vw;
    height: 25vh;
    background: url(dup/img/item03.png);
    left: auto;
    right: 0;
    bottom: 0;
    transform: translate(7%, 90%);
    background-size: contain;
    background-repeat: no-repeat;}
    
div#menu_bt a {
    padding: 50px 0;
    font-weight: 500;}
    
#bottom_info_w{padding: 20px;}
p#copyright {margin-bottom: 50px;}
.load_logo_wrap {max-width: 200px;}

div#cms_1-a {padding: 15px;}

img.catch_bnr.posi_abs {
    z-index: 2;
    bottom: -3%;
    left: -6%;
    width: 75vw;
}
}