﻿:root {
    --color1: #0e422b;
    --color3: #fcb503;
    --color4: #e3e3e3;
    --color5: #ffffff;
    --line-color: #fcb503;
    --animation-duration: 3s;
        --linkStyle: #fcb503;
}

#logo .logo {
    width: 85px;
}

#logo .logo img {
    width: 130% !important;
}

#video{
    width: 75% !important;
    border-radius: 0 100px 100px 0;
}

header{
        background-color: transparent;
}

#intro_bg{
    background-color: white;
}

.txt_color3, .hvr_txt_color3:hover {
    color: var(--color1);
}

/*--svg ani start--*/

.omamori{
    position: absolute;
    z-index: 1;
    right: 0;
    top: -5%;
}

.omamori svg {
    width: 40vw;
    height: 100%;
    display: block;
    min-width: 500px;
}

.sen01{
    position: absolute;
    z-index: 0;
    width: 102%;
    left: -1%;
}

.sen01 svg{
    width: 100%;
    height: 100%;
    display: block;
}

.cls-1 {
    fill: none;
    stroke: var(--line-color);
    stroke-width: 10px;
    stroke-linecap: round;
    stroke-linejoin: round;
    
    /* アニメーションの設定 */
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    animation: drawLine var(--animation-duration) ease-in-out forwards;
    animation-delay: 1.8s;
}

.add{
    /* アニメーションの設定 */
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    animation: drawLine 6s ease-in-out forwards;
}

.cls-2{
    fill: none;
    stroke: var(--line-color);
    stroke-width: 10px;
    stroke-linecap: round;
    stroke-linejoin: round;
    
    /* アニメーションの設定 */
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
}

@keyframes drawLine {
    from {
        stroke-dashoffset: 1;
    }
    to {
        stroke-dashoffset: 0;
    }
}

/*--svg ani end--*/

#main_img .main_logo {
    opacity: 0;
}

#video .video{
    object-fit: cover;
    width: auto !important;
    height: 110% !important;
}

#intro_bg > img{
        max-width: 500px;
    display: block;
    margin: auto;
    margin-bottom: -2%;
}

.btns{
    padding: 5% 0;
    gap: 30px;
}

.btns a{
    max-width: 220px;
    display: block;
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.3s;
}

.btns .links.fade{
    opacity: 1;
    transform: none;
    transition: all 0.3s;
}

.btns .links:last-child{
    transition-delay: 250ms;
}

a.links p{
    text-align: center;
    background-color: var(--color1);
    border-radius: 20px;
    padding: 7px 0;
    color: white;
    margin-top: 10px;
}

header, #wrap{
    min-width: 1280px;
}

.con_title > div{
    color: var(--color1);
    font-weight: bold;
}

#contents .con_box .con_img {
    border-radius: 20px;
}

#contents .con_box {
    background-color: transparent;
}

#page_title #filter_white {
    background-color: transparent !important;
}

#page_title #filter_white h2 span{
    color: var(--color1);
}

#main_img:before{
        content: "";
    display: block;
    width: 31%;
    height: 100%;
    position: absolute;
    bottom: 17%;
    right: 2%;
    background-image: url(/files/img/font.png);
    background-position: bottom right;
    background-repeat: no-repeat;
    /* -webkit-transform: translate(-50%, -50%); */
    /* transform: translate(-50%, -50%); */
    background-size: 100%;
    pointer-events: none;
    z-index: 1;

}

#contents .con_item1, #contents .con_item2{
    display: none;
}

#tel_txt .title {
    color: var(--color1) !important;
}

.service, .mono{
    padding: 10px;
    background-color: #f9f4e6;
}

.service p, .mono p{
    padding: 5px;
    text-align: center;
    font-size: 19px;
    letter-spacing: 0.1em;
    margin: 10px 0;
}

.line_btn{
        display: block;
    padding: 2px;
    width: 35% !important;
}

.banner_box{
    gap: 15px;
}

.tel_box{
    display: none;
}

#foot_banner .foot_icon{
    display: none;
}



#foot_banner a {
        padding: 21px 50px 21px 50px;
            width: 48%;
}

.tel{
    display: none;
}

.shadow {
    box-shadow: none;
}

#info .info_box > div{
    max-width: 1350px;
}

.gree{
    background-color: #06c655;
    margin-bottom: 5px;
}

#foot_banner {
    width: 560px;
    display: flex;
    gap: 5px;
}

/*--20260219 add start--*/

#footer ul.sns_links{
    align-items: center;
    gap: 20px;
}

/*--20260219 add end--*/

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){

header, #wrap{
    min-width: 100%;
}


#video .video {
    object-fit: cover;
    width: 105% !important;
    height: auto;
    transform: scale(1.05);
}

#header_menu{
    display: none;
}

#header .menu_bt{
        display: block !important;
    margin-left: 60%;
    transform: translateX(40%) translateY(50%);
}

#header button{
    display: block;
}

header #logo{
    width: 20% !important;
}

    #intro {
        margin-top: -2px;
    }

.btns a {
    max-width: 140px;
}

.omamori svg {
    min-width: 360px;
}

.svg_wrap{
    display: none;
}

#intro_sp {
        height: 300px;
        background-size: 100% auto;
        background-attachment: scroll;
        background-position: top center;
    }

}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){

#video {
    width: 97% !important;
    border-radius: 0 100px 100px 0;
}

#video .video {
    object-fit: cover;
    width: 105% !important;
    height: auto;
    transform: scale(1.05);
}

.btns {
    gap: 10px;
}

.btns a {
    max-width: 150px;
}

.sen01 {
        bottom: -8%;
}

.omamori {
    right: -2%;
    top: -11%;
}

    .omamori svg {
        min-width: 200px;
    }

    #header .menu_bt {
        transform: none;
    }

#top_cms {
    padding-top: 80px;
}
#logo .logo img {
    width: 110% !important;
}

.line_btn{
    width: 100% !important;
}

#intro > img{
    background-color: white;
    display: block;
    padding: 20px 2.5% 15px;
    box-sizing: border-box;
    margin: -2px 0;
}

#main_img:before{
    display: none;
}

.top_cms_box .cms_5-c.cms_wrap{
        width: 95% !important;
    margin: auto;
}

#intro_sp {
        height: 200px;
    }

#foot_banner a {
    padding: 18px 18px 18px 18px;
}

#foot_banner {
    width: 240px;
    display: block;
}

#foot_banner a {;
    width: 100%;
}

}