﻿/*--------link_font--------*/
@font-face {
    font-family: 'ZenMaruGothic';
    font-style: normal;
    font-weight: 400;
    src: url('./Dup/img/ZenMaruGothic_r.woff') format('woff'),
        url('./Dup/img/ZenMaruGothic_r.eot')  format('eot');
    font-display: swap;
}
@font-face {
    font-family: 'ZenMaruGothic';
    font-style: normal;
    font-weight: 700;
    src: url('./Dup/img/ZenMaruGothic_b.woff') format('woff'),
        url('../Dup/img/ZenMaruGothic_b.eot')  format('eot');
    font-display: swap;
}
body {
    font-family: "ZenMaruGothic", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;
}

.linkStyle{color: #333333; text-decoration: underline;}


/*--------all_page--------*/
.add_shadow1{box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;}
.width_55per{width: 55%!important;}
#loader {height: 105vh;}
#main_nav.bg_color3 { background-color: #b8ddb6;}

@media screen and (min-width: 769px){
#header{margin-top: 5px;margin-bottom: 10px;}
#header h1{width: 20%!important;}
#header h1 img{max-width:180px;}
.sc_nav .logo{    width: 13.5%!important;}
#loader > div figure {width: 35%;}
}

#main_img{
    position:relative;
    overflow: hidden;
}
#main_img::after{
    content: "";
    position: absolute;
    display: inline-block;
    background: url(./Dup/img/main_cover.png) no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    z-index: 3;
    width: 100%;
    height: 100%;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}

#intro_title h2{
    position: relative;
    line-height: 0.8;
}
#intro_title h2:before{
    content: "";
    position: absolute;
    display: inline-block;
    background: url(./Dup/img/item_01.png) no-repeat;
    background-size: contain;
    z-index: -1;
    opacity: 0.8;
    width: 4em;
    height: 4em;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
#intro_txt{padding-top:70px;}
#contents1{position:relative;}
#contents1:before{
    content: "";
    width: 100%;
    height: calc(90% - 90px);
    background-image: url(./Dup/img/back_01.png);
    background-size: 55%;
    background-color: #fff6f5;
    /* opacity: 0.8; */
    position: absolute;
    top: 60px;
    left: 50%;
    z-index: -1;
    transform: translateX(-50%);
}
#contents1:after{
    content: "";
    width: 100%;
    height: 263px;
    background-image: url(./Dup/img/item_02.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    /*bottom: calc(100% - 709px);*/
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
@media screen and (min-width: 769px) and (max-width: 1000px){
#contents1:after {
        transform: translate(-50%,-5%);
}
}

#contents1 .con1_txt{
    margin-left: auto;
    padding: 50px 40px 50px 0px;
    width: 47%!important;
}
#contents2{overflow: hidden;position:relative;}
#contents2:before {
    content: "";
    width: 24%;
    height: 46%;
    background-image: url(./Dup/img/item_06.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 0px;
    left: -50px;
    z-index: -5;
    opacity: 0.7;
}
#contents2:after {
    content: "";
    width: 21%;
    height: 23%;
    background-image: url(./Dup/img/item_08.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0px;
    left: 0px;
    z-index: -5;
    opacity: 0.7;
}
#contents2 .con2_inner:before {
    content: "";
    width: 17%;
    height: 59%;
    background-image: url(./Dup/img/item_07.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -50px;
    z-index: -5;
    opacity: 0.7;
}
#contents2 h3{
    font-size: 1.7em;
    line-height: 1.3;
}



#top_cms .bg_color2{
    position:relative;
    background:none;
}
#top_cms .bg_color2:before{
    content: "";
    width: 100%;
    height: calc(100% - 157px);
    background: #f5f9f3;
    position: absolute;
    top: 157px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
#top_cms .bg_color_add.bg_color2:before {
    content: "";
    width: 100%;
    height: calc(100% - 157px);
    background: rgba(204, 204, 204, .25)!important;
    position: absolute;
    top: 157px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
#top_cms .top_cms_box:nth-of-type(1):after{
    content: "";
    width: 19em;
    height: 11em;
    background-image: url(./Dup/img/item_09.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: -15px;
    right: 50px;
    z-index: -2;
}
#top_cms .top_cms_box:nth-of-type(3):after{
    content: "";
    width: 19em;
    height: 11em;
    background-image: url(./Dup/img/item_10.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: -15px;
    right: 50px;
    z-index: -2;
}
#footer.bg_color1 {
    background-color: #fff6f5;
    background-image: url(./Dup/img/back_01.png);
    background-size: 55%;
}
footer #footer .tel a,footer #footer .mail a {
    color:#ffffff;
    font-size: 1.5em;
}
footer #footer .tel a.bg_color2,footer #footer .mail a.bg_color2 {
    background-color: #9bdf96;
    box-shadow: rgba(17, 17, 26, 0.05) 0px 4px 16px, rgba(17, 17, 26, 0.05) 0px 8px 32px;
}
#footer.txt_white,#footer .txt_white {
    color: #5e5e5e;
}
footer #footer .mail a {
    border-radius: 50px;
    transition: ease 0.3s;
}
footer h2 a.width_400-max{max-width: 250px;}

#nav_wrap .sns_links ul li a img,#footer .sns_links ul li a img{height: 74%!important;}


.sc_anime2.active{
	animation-name: fadein;
	animation-duration: 1s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}

@keyframes fadein {
	0% {opacity:0;transform: translateY(50px);}
	100% {opacity:1;transform: translateY(0px);}
}
@keyframes fadein2 {
	0% {opacity:0;transform: translateY(150px);}
	100% {opacity:1;transform: translateY(0px);}
}



/*--------subpage--------*/
#page_title{
    background-image: repeating-linear-gradient(-45deg, rgba(255,255,255,0.7), rgba(255,255,255,0.7) 7px, transparent 0, transparent 14px);
    background-color: #ecf5eb;
}
#page_title h2 {
    color: #6fc769;
    text-shadow: none;
}
#page_title p.txt_color2 {
    color: #aec0cb;
}
.cate_list{padding: 0px 10px 30px;}

#page08 .tel_box{
    position: relative;
    overflow: hidden;
    padding: 20px 20px 15px 20px;
}
#page08 .tel_box > a:before{
    content:"";
    position: absolute;
    width:100vw;
    height:100vh;
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    left:50%;
    top:50%;
}
@media screen and (max-width: 1200px){
    #page08 .tel_box p{
        display: block;
        padding-right: 0px;
        margin-right: 0px;
        border-right: none;
        
    }
}

@media screen and (max-width: 667px){
#page08 .tel_box a{
    font-size: 5.3vw;
    letter-spacing: 2px;    
}
}

#page10 .sitemap_wrap li a {
    font-size: 0.95em;
    letter-spacing: 1px;
}
/*--------mobile_tb--------*/
@media screen and (max-width: 768px){
#header h1{    width: 18%!important;}

#intro_title {
    line-height: 1.5;
    padding: 35px 0 15px;
}
#contents1:before {
    background-size: contain;
}

#contents2:before {
    width: 31%;
    height: 21%;
    left: -22px;
}
#contents2 .con2_inner:before {
    width: 28%;
    height: 37%;
    top: 43%;
}
#contents2_title {
    margin-bottom: 80px;
}
#contents2 > div:before {
    width: 100%;
    height: calc(100% - 7%);
    top: 9%;
}
#contents2:after {
    width: 24%;
    height: 15%;
    bottom: 100px;
}
footer h2 a.width_400-max {
    max-width: 220px;
}
#top_cms .top_cms_box:nth-of-type(1):after {
    width: 16em;
    height: 10em;
    top: 11px;
    right: 29px;
}
#top_cms .top_cms_box:nth-of-type(3):after {
    width: 16em;
    height: 10em;
    top: 11px;
    right: 29px;
}
#footer.bg_color1 {
    background-size: cover;
}

}

/*--------mobile_sp--------*/
@media screen and (max-width: 667px){
    .width_55per {
    width: 95%!important;
}
    #loader {height: 100vh;}
    #loader .load_left p,#loader .load_right p {
    letter-spacing: 2px;}
    #wrap {
    padding-top: 100px;
}
header.sc_nav .nav_bt {
    top: 45%;
    right: 15px;
}
#header h1 {
    width: 30%!important;
    padding-top: 10px;
    padding-left: 10px;
}
#main_img {
    margin-bottom: 0;
}
#intro_title h2 {
    font-size: 5.2vw;
}
#intro_txt {
    padding-top: 10px;
    width: 95%!important;
}
#contents2:before {
    width: 50%;
    height: 14%;
    left: -11px;
    top: 45px;
}
#contents1 figure{margin-bottom: 170px;}
#contents1 .con1_txt {
    margin-left: auto;
    padding: 10px 20px 20px 20px;
    width: 100%!important;
}
#contents1:before {
    height: calc(100% - 90px);
    background-size: 190%;
    top: 40px;
}
#contents2 .con2_inner:before {
    width: 39%;
    height: 21%;
    top: 39%;
    right: -17px;
}
#contents2:after {
    width: 43%;
    height: 10%;
    bottom: 600px;
}
#contents2_title {
    font-size: 7.5vw;
    line-height: 1.3;
    letter-spacing: 2px;
}
#contents2 h3 {
    font-size: 6vw;
    padding-left: 10px;
}
#contents2 .add_btn {
    width: 88%;
}

#page08_link a figure {
    display: none;
}
#top_cms .top_cms_box:nth-of-type(1):after {
    width: 11em;
    height: 6.5em;
    top: 24px;
    right: 11px;
}
#top_cms .top_cms_box:nth-of-type(3):after {
    width: 11em;
    height: 6.5em;
    top: 24px;
    right: 11px;
}
footer h2 a.width_300-max_tb{max-width: 200px;}
footer #footer .tel, footer #footer .mail{width: 96%;}
footer #footer .tel a, footer #footer .mail a {
    font-size: 4.5vw;
    padding: 18px 32px;
    width: 82%;
    text-align: center;
    letter-spacing: 2px;
}
#footer.bg_color1 {
    background-size: 200%;
}
#top_cms .bg_color2:before {
    height: calc(100% - 125px);
    top: 125px;
    width: 100%;
}
#top_cms .bg_color_add:before {
    height: calc(100% - 125px);
    top: 125px;
    width: 103%;
}
#page_title h2 {
    letter-spacing: 1px;
    font-size: 5.5vw;
}
}


/*--------------------------------------------
IE
--------------------------------------------*/
@media all and (-ms-high-contrast:none){
body{overflow:hidden;}
.cms_1-a figure img{width:100%!important;height:auto!important;}
}

