﻿
#loading_logo {
    width: 30%;
}
h1,h2,h3,h4,h5,h6,.t_cms_txt2,.t_cms_txt5,.t_cms_txt8,.nav1,.nav2,.top_nav li a,.cms_title,.page_title_box,.cate_list li a
{font-family: 'Montserrat','Kosugi Maru', sans-serif;
font-weight: bold;}
body {
    font-size: 16px;
    font-weight: bold;
}
/*video------------------------------------------------------------------------------------*/
.all_page{z-index: 6}
/* ---------- IE ---------- */
.video{width: 100%;}
/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
.main_img_wrap{height: auto}
.main_wrap{margin-top: 50vh;}
}
/* ---------- スマホ ---------- */
@media screen and (max-width: 667px){
.main_wrap{margin-top: 30vh;}
#video{height: 30vh;}
}
/*video------------------------------------------------------------------------------------*/
/*anime------------------------------------------------------------------------------------*/
.demo_item{
width: 300px;
    height: 153px;
    /*border-radius: 10px;*/
    background-image: url(dup/img/demo.png);
    background-size: 100% 100%;
    background-position: 0 0;
    background-repeat: no-repeat;
    display: block;
    position: relative;
    

}
.demo_item.anime{
    animation-name: upDown;
    animation-iteration-count: infinite;
    animation-duration: 0.1s;
    animation-direction: alternate;
    animation-timing-function: steps(2);
    transition-duration: .3s;
    transition-property: transform;
}


.demo_stage{
    position: relative;
    width: 100%;
    top: 0px;
    display: block;

}


.demo_wrap{
	display: block;
    position: absolute;
    bottom: 0%;
    animation-fill-mode: forwards;
    animation-timing-function: linear;
    animation-duration: 15s;
    animation-iteration-count: 1;
}

.demo_wrap[data-order="left"] {
    animation-name: GoLeft;
}
.demo_wrap[data-order="right"] {
    animation-name: GoRight;
}

[data-order="right"] > .demo_item {
    transform: rotateY(180deg);
}


@keyframes GoLeft {
    0% {
        right: 0%;
    }
    100% {
        right: 85%;
    }
}
@keyframes GoRight {
    0% {
        right: 85%;
    }
    100% {
        right: 0%;
    }
}
/*anime------------------------------------------------------------------------------------*/

/*top--------------------------------------------------------------------------------------------*/
 img {
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
.bg_color4 {
    background-color: #fff;
    background-image: radial-gradient(#bcffbc 10%, transparent 20%), radial-gradient(#bcffbc 10%, transparent 20%);
    background-size: 18px 18px;
    background-position: 0 0, 8px 8px;
}

.txt_wrap {
    background: #ffffff;
    padding: 30px 20px;
    /*margin: 0px;*/
    margin: 50px;
    border: solid 4px #f2ab4e;
    border-radius: 30px;
}
#contents .box figure:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 95%;
    height: 0%;
    z-index: -1;
    border: 155px solid;
    opacity: 0.15;
    opacity: 0;
}
.contents01::before {
    content: '';
    background-image: url(dup/img/contents01.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    top: -3%;
    left: 45%;
    z-index: 2;
    max-width: 250px;
    max-height: 100%;
    background-size: contain;
    /* transform: rotate(
348deg
); */
}
.contents01::after {
    content: '';
    background-image: url(dup/img/01.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    top: 19%;
    right: 0%;
    max-width: 50%;
    max-height: 100%;
    background-size: contain;
    z-index: 2;
}
p.opacity05 {
    display: none;
}

p.t_cms_txt4, p.t_cms_txt7, p.t_cms_txt10{
    padding: 3% 8%;
}
#contents .box h3 {
    display: block;
    position: relative;
    padding: 5px 3%;
    margin-bottom: 0px;
    text-align: center;
    font-size: 24px; 
}
#contents .box h3:before {
    display: none;}
    
#contents .box .txt_wrap {
    width: 45%;
}
.box01::before {
    content: '';
    background-image: url(dup/img/contents01_a.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    top: 15%;
    left: -1%;
    z-index: 2;
    max-width: 157px;
    max-height: 9%;
    background-size: contain;
    transform: rotate(
351deg
);
}
#contents .box figure {
    width: 40%;
    position: relative;
    z-index: 1;
}
#contents .box h3 span {
    color: #22ab89;
}


.content02 .txt_wrap {
    margin: 50px 0;

}
.content02::after {
    content: '';
    background-image: url(dup/img/02.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    top: 58%;
    left: -1%;
    max-width: 50%;
    max-height: 6%;
    background-size: contain;
    z-index: 2;
    transform: rotate(
12deg
);
}

.content02::before {
    content: '';
    background-image: url(dup/img/contents02.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    top: 39%;
    right: 0%;
    z-index: 2;
    max-width: 272px;
    max-height: 146px;
    background-size: contain;
}






.contents03::after {
     content: ''; 
    background-image: url(dup/img/03.png);
    bottom: -1%;
    position: absolute;
    width: 100%;
    height: 7%;
    background-repeat: no-repeat;
    right: 0%;
    max-width: 50%;
    max-height: 100%;
    background-size: contain;
    z-index: 2;
}

.box03::before {
content: '';
    background-image: url(dup/img/contents03.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    bottom: 15%;
    left: -1%;
    z-index: 2;
    max-width: 203px;
    max-height: 9%;
    background-size: contain;
    transform: rotate( 
351deg
 );
}

.dec {
    width: 50px;
}
#dec1, #dec3, #dec5, #dec7 {
    margin-left: 49.5%;
    margin-top: -19px;
    margin-bottom: 4px;
}
.box01 {
    margin-bottom: 80px;
}

/*color--------------------------------------------------------------------------------*/
body, .txt_color_nomal {
    color: #0b4737;
}
.hvr_txt_color1:hover {
    color: #f2ab4e;
}
.bg_color1 {
    background-color: #22ab89;
}
.bg_color2 {
    background-color: #ebffeb;
}
.bg_color3 {
    background-color: #f2ab4e;
}
.line.bg_color1 {
    background: #ebffeb;
}
.txt_color3 {
    color: #f2ab4e;
}
.hvr_border_color3:hover {
    border-color: #bcffbc;
}
.txt_color1 {
    color: #f2ab4e;
}
.hvr_bg_color3:hover {
    background-color: #bcffbc;
}
.top_cms_box:before,.top_cms_box .more_box .more:after,.top_cms_box .more_box .more:before{
        background-color: #0b4737;
}
footer {
    background-color: #ebffeb;}
footer p {
    color: #3b524c !important;
}
div#loading {background: #bcffbc;}
.t_cms_img2 .img-container:before {
    background: #f2ab4e;
}

/*top--------------------------------------------------------------------------------------------*/
/*logo---------------------------*/
#loading_logo { max-width: 300px;}
.menu .logo {
    max-width: 270px;
    width: 100% !important;}
.menu {padding: 20px 0;}
.is-fixed .logo { max-width: 200px !important;}
.is-fixed {padding: 10px 0 !important;}


/*logo---------------------------*/

.hvr_bg_color1:hover {background-color: #22ab89;}
.border_color1 {border-color: #22ab89;}
.img-container:before {background: #22ab89;
    width: 101%;}
#title_img span {
    height: 300px;
    width: 100%;
    background-position: top 76% left 50%!important;}
.page_title_box p {
    text-shadow: #fff 1px 1px 0, #fff -1px -1px 0,/*右下、左上*/ #fff -1px 1px 0, #fff 1px -1px 0,/*右上、左下*/ #fff 0px 1px 0, #fff 0-1px 0,/*右、左*/ black -1px 0 0, #fff 1px 0 0;
}

.txt_color4{
    color: #22ab89;
}
.txt_color2 {
    color: #f2ab4e;
}
.border_color3 {
    border-color: #f2ab4e;
}
section#cms_6-a .box_wrap {
    background: #ffffff;
}
#tel_CONTACT a:hover{
    color: #0b4737;
}
.border_color2 {
    border-color: #22ab89;
}
section#page7 p {
    color: #0b4737;
}


footer .svg_box {
    z-index: -1 !important;
}
div#nav_menu span {
    background-color: #22ab89 !important;
}

/*linkStyle*/
a.linkStyle {
    color: #22ab89 !important;
    transition: 0.5s;
}
a.linkStyle:hover {
    color: #0b4737 !important;
}


.main_img::before {
    content: '';
    background-image: url(dup/img/catchcopy.png);
    position: absolute;
    height: 37%;
    width: 100%;
    max-width: 700px;
    opacity: 1.3;
    display: block;
    z-index: 3;
    left: 5%;
    top: 15%;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: bottom;
}

@media screen and (max-width: 1700px){
    .main_img::before {
    content: '';
    background-image: url(dup/img/catchcopy.png);
    position: absolute;
    height: 37%;
    width: 100%;
    max-width: 700px;
    opacity: 1.3;
    display: block;
    z-index: 3;
    left: 5%;
    top: 30%;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: bottom;
}
}
/*IE*/
@media all and (-ms-high-contrast: none){
h1,h2,h3,h4,h5,h6,.t_cms_txt2,.t_cms_txt5,.t_cms_txt8,.nav1,.nav2,.cms_title,.page_title_box,.cate_list li a
{font-family: 'Montserrat','Kosugi Maru', sans-serif;
font-weight: bold;
transform: rotate(0.08deg) !important;
}
.top_nav ul li a span{transform: rotate(0.05deg) !important;
}

svg#contents {
    width: 50px !important;
}

.box01 .svg_box,.box02 .svg_box{
    width: 100px;
    height: 100px;
    position: relative;
    margin: 0 auto;
}
.dec{
    width: 50px;
    height: 50px;
}

#dec1, #dec3, #dec5, #dec7 {
    margin-left: 49.5%;
    margin-top: -22px;
    margin-bottom: 4px;
}


#cms_2-a .cate .cate_title {
    padding-top: 10px !important;
}

#cms_6-a .cate .cate_title {
    padding-top: 10px !important;
}


}
/*タブレット*/
@media screen and (max-width: 768px){
    
.main_img::before {
    content: '';
    background-image: url(dup/img/catchcopy.png);
    position: absolute;
    height: 36%;
    width: 100%;
    max-width: 400px;
    opacity: 1.3;
    display: block;
    z-index: 3;
    left: 3%;
    top: 30%;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: bottom;
}

    .cate_list li a {
    display: block;
    padding: 10px;
    overflow: hidden;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#contents .box .txt_wrap {
    width: 100%;
}
.box01::before {
    content: '';
    background-image: url(dup/img/contents01_a.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    top: 13%;
    left: -1%;
    z-index: 2;
    max-width: 123px;
    max-height: 9%;
    background-size: contain;
    transform: rotate( 
351deg
 );
}
.contents01::before {
    content: '';
    background-image: url(dup/img/contents01.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    top: -1.5%;
    left: 71%;
    z-index: 2;
    max-width: 190px;
    max-height: 100%;
    background-size: contain;

}

/*.box01 .img-container_img,.box02.img-container_img,.box03 .img-container_img {*/
/*    opacity: 0;*/
/*    position: relative;*/
/*    transition: all .5s .3s ease;*/
/*    z-index: 0;*/
/*    width: 70%;*/
/*    max-height: 500px !important;*/
/*    height: auto !important;*/
/*    max-height: 100%;*/
/*}*/
/*#contents .box figure {*/
/*    width: 100%;*/
/*    position: relative;*/
/*    z-index: 1;*/
/*}*/

.page_title_box .img-container_img {
    opacity: 0;
    position: relative;
    transition: all .5s .3s ease;
    z-index: 0;
    width: 70%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -0%);
    transform: translate(-50%, -0%);
    max-height: 500px !important;
    height: auto !important;
    max-height: 100%;
}
.contents01::after {
    content: '';
    background-image: url(dup/img/01.png);
    position: absolute;
    width: 127%;
    height: 100%;
    background-repeat: no-repeat;
    top: -3%;
    left: -14%;
    max-width: 127%;
    max-height: 9%;
    background-size: contain;
    z-index: 1;
    transform: rotate(
1deg
);
}
.demo_item {
    width: 200px;
    height: 102px;
    /*border-radius: 10px;*/
    background-image: url(dup/img/demo.png);
    background-size: 100% 100%;
    background-position: 0 0;
    background-repeat: no-repeat;
    display: block;
    position: relative;
}

@keyframes GoLeft {
    0% {
        right: 10%;
    }
    100% {
        right: 70%;
    }
}
@keyframes GoRight {
    0% {
        right: 70%;
    }
    100% {
        right: 10%;
    }
}

div#dec4 {
    margin-bottom: 50px;
}
#contents .box figure {
    width: 70%;
    position: relative;
    z-index: 1;
}
.box01 .img-container_img,.box02 .img-container_img,.box03 .img-container_img {
    opacity: 0;
    position: relative;
    transition: all .5s .3s ease;
    z-index: 0;
    width: 100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -0%);
    transform: translate(-50%, -0%);
    max-height: 500px !important;
    height: auto !important;
    max-height: 100%;
}

.box01 {margin-bottom: 70px;}

.content02::before {
    content: '';
    background-image: url(dup/img/contents02.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    top: 35%;
    right: 0%;
    z-index: 2;
    max-width: 240px;
    max-height: 146px;
    background-size: contain;
}

.content02::after {
    content: '';
    background-image: url(dup/img/02.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: repeat-y;
    top: 45%;
    left: 0%;
    max-width: 300px;
    max-height: 139px;
    background-size: cover;
    z-index: 1;
    transform: rotate( 
6deg
 );
}

.box03::before {
    content: '';
    background-image: url(dup/img/contents03.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    bottom: 18%;
    left: 0%;
    z-index: 2;
    max-width: 175px;
    max-height: 9%;
    background-size: contain;
    transform: rotate( 
351deg
 );
}


.contents03::after {
    content: '';
    background-image: url(dup/img/03.png);
    bottom: -4%;
    position: absolute;
    width: 127%;
    height: 6%;
    background-repeat: no-repeat;
    left: -18%;
    max-width: 127%;
    max-height: 100%;
    background-size: contain;
    z-index: 2;
    transform: rotate(
1deg
);
}

#loading_logo {
    max-width: 270px;
}

header .logo{
    width: 15%;
}



#title_img span {
    height: 300px !important;
    width: 100%;
    background-position: top 50% left 50%!important;
}
/*.img-container_img {*/
/*    opacity: 0;*/
/*    position: relative;*/
/*    transition: all .5s .3s ease;*/
/*    z-index: 0;*/
/*    width: 70%;*/
/*    top: 50%;*/
/*    left: 50%;*/
/*    -webkit-transform: translate(-50%, -50%);*/
/*    transform: translate(-50%, -50%);*/
/*    height: auto !important;*/
/*    max-height: 100%;*/
/*}*/


footer .grid_6 {
    padding: 0 !important;
}

}
/*スマホ*/
@media screen and (max-width: 667px){
    
.main_img::before {
    display: none !important;
    content: '';
    background-image: url(dup/img/catchcopy.png);
    position: absolute;
    height: 37%;
    width: 100%;
    max-width: 150px;
    opacity: 1.3;
    /*display: block;*/
    z-index: 3;
    left: 3%;
    top: 31%;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: bottom;
}

.demo_item {
    width: 100px;
    height: 51px;}
    

.button_container span {
    height: 2px;}

header .logo {
    width: 20%;
    position: relative;
}

#loading_logo {
    max-width: 330px;
}

.contents01::after {
    content: '';
    background-image: url(dup/img/01.png);
    position: absolute;
    width: 127%;
    height: 100%;
    background-repeat: no-repeat;
    top: -1%;
    left: -14%;
    max-width: 127%;
    max-height: 2%;
    background-size: contain;
    z-index: 1;
    transform: rotate( 
1deg
 );
}

.txt_wrap {
    background: #ffffff;
    padding: 30px 10px !important;
    /* margin: 0px; */
    margin: 30px 5px;
    border: solid 4px #f2ab4e;
    border-radius: 30px;
}
#contents .box h3 {
    display: block;
    position: relative;
    padding: 5px 0%;
    margin-bottom: 0px;
    text-align: center;
    font-size: 20px;
}
p.t_cms_txt4, p.t_cms_txt7, p.t_cms_txt10 {
    padding: 3% 2%;
}
.contents01::before {
    content: '';
    background-image: url(dup/img/contents01.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    top: 20.5%;
    right: -2.5%;
    left: auto;
    z-index: 2;
    max-width: 147px;
    max-height: 5%;
    background-size: contain;
}
.box01::before {
    display: none;
}
#contents .box figure {
    width: 90%;
    position: relative;
    z-index: 1;
}
.box01 {
    margin-bottom: 50px;
}
.dec {
    width: 40px;
}
#dec1, #dec3, #dec5, #dec7 {
    margin-left: 39.5%;
    margin-top: -19px;
    margin-bottom: 4px;
}
#dec2, #dec4, #dec6, #dec8 {
    margin-left: 45%;
}
div#dec4 {
    margin-bottom: 40px;
}

.content02::before {
    content: '';
    background-image: url(dup/img/contents02.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    top: 36.5%;
    right: -2%;
    z-index: 2;
    max-width: 140px;
    max-height: 80px;
    background-size: contain;
}
.content02::after {
    content: '';
    background-image: url(dup/img/02.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: repeat-y;
    top: 42.4%;
    left: -1%;
    max-width: 219px;
    max-height: 101px;
    background-size: cover;
    z-index: 1;
    transform: rotate( 
6deg
 );
}
.content02 {
    margin-bottom: 10px;
}
.box03::before {
    content: '';
    background-image: url(dup/img/contents03.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    bottom: 22.5%;
    left: -1%;
    z-index: 2;
    max-width: 129px;
    max-height: 5%;
    background-size: contain;
    transform: rotate( 
351deg
 );
}

.contents03::after {
    content: '';
    background-image: url(dup/img/03.png);
    bottom: -1%;
    position: absolute;
    width: 127%;
    height: 6%;
    background-repeat: no-repeat;
    left: -18%;
    max-width: 127%;
    max-height: 2%;
    background-size: contain;
    z-index: 2;
    transform: rotate( 
1deg
 );
}
#loading_logo {
    width: 40%;
}

.page_title_box p {
    text-shadow: none;
}

.pager li {
    margin-right: 0px !important;
    margin-left: 0px !important;
}



section#cms_6-a .box_wrap {
    background: #ffffff;
    padding: 20px 11px;
}

footer .grid_6 {
    padding: 0;
}
}






@media screen and (max-width: 411px){
    .content02::before {
    content: '';
    background-image: url(dup/img/contents02.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    top: 37.5%;
    right: -2%;
    z-index: 2;
    max-width: 140px;
    max-height: 80px;
    background-size: contain;
}
.content02::after {
    content: '';
    background-image: url(dup/img/02.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: repeat-y;
    top: 44.4%;
    left: -1%;
    max-width: 219px;
    max-height: 101px;
    background-size: cover;
    z-index: 1;
    transform: rotate( 
6deg
 );
}
}

@media screen and (max-width: 375px){
    .content02::before {
    content: '';
    background-image: url(dup/img/contents02.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    top: 36.5%;
    right: -2%;
    z-index: 2;
    max-width: 140px;
    max-height: 80px;
    background-size: contain;
}
.content02::after {
    content: '';
    background-image: url(dup/img/02.png);
    position: absolute;
    width: 100%;
    height: 100%;
    background-repeat: repeat-y;
    top: 42.4%;
    left: -1%;
    max-width: 219px;
    max-height: 101px;
    background-size: cover;
    z-index: 1;
    transform: rotate( 
6deg
 );
}


}





/*2021_0922*/
#title_img span {
    height: 300px;
    width: 100%;
    background-position: top 50% left 50%!important;
}

/*2021_1004*/
#mail_CONTACT a:hover {
    color: #0b4737;
}




/*2021_1029*/


.main_img::before {
    content: '';
    background-image: url(dup/img/catchcopy.png);
    position: absolute;
    height: 100%;
    width: 100%;
    max-width: 700px;
    opacity: 1.3;
    display: block;
    z-index: 3;
    left: 5%;
    top: -36%;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: bottom;
}

@media screen and (max-width: 1700px){
    .main_img::before {
    content: '';
    background-image: url(dup/img/catchcopy.png);
    position: absolute;
    height: 100%;
    width: 100%;
    max-width: 700px;
    opacity: 1.3;
    display: block;
    z-index: 3;
    left: 5%;
    top: -38%;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: bottom;
}
}


/*タブレット*/
@media screen and (max-width: 768px){
.main_img::before {
    content: '';
    background-image: url(dup/img/catchcopy.png);
    position: absolute;
    height: 100%;
    width: 100%;
    max-width: 400px;
    opacity: 1.3;
    display: block;
    z-index: 3;
    left: 3%;
    top: -34%;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: bottom;
}
}




/*スマホ*/
@media screen and (max-width: 667px){
.demo_wrap {z-index: 5;}
.demo_stage {top: -15px;}


.main_img::before {
    content: none;}
}


