@charset "UTF-8"; 
@import url("../css/custom.css");
/***********************************************
アニメーション
***********************************************/
.fadeIn_bottom {
    transform: translate3d(0, 50px, 0);
    transition: .8s ease-in-out;
    opacity: 0;
}

.fadeIn_bottom.move {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

.mask_left_ttl,.mask_left::before{
     clip-path: inset(0 100% 0 0 );
     display: block;
}

.mask_left_ttl.move,.mask_left.move::before{
    animation: mask_leftIn 1s cubic-bezier(0.5, 0, 0.4, 1) forwards;
}

.mask_left.delay01::before{
    animation-delay: .4s;
}

.fadeIn_bottom.delay01{
    transition-delay: .6s;
}

@keyframes mask_leftIn {
  to {
     clip-path: inset(0);
  }
}

/*Animate.css用*/
.fadeIn{
	opacity: 0;
}
.fadeIn.move{
	opacity: 1;
    animation: fadeIn .3s both;
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.blur {
    -webkit-filter: blur(2em);
    filter: blur(2em);
    -webkit-transition: all 0.8s ease-in-out;
    transition: all 0.8s ease-in-out;
}

.blur.move {
    -webkit-filter: blur(0);
    filter: blur(0);
}

/* 初期状態（ぼやけたまま非表示） */
.blurFade {
    opacity: 0;
    filter: blur(10px);
    transform: translateY(20px); /* 少し下から上がる */
    transition: opacity 1s ease-out, filter 1s ease-out, transform 1s ease-out;
}

/* スクロールでクラスが追加されたとき */
.blurFade.show {
    opacity: 1;
    filter: blur(0px);
    transform: translateY(0);
}

.blurFade_txt {
    transition-delay: 0.4s;  /* 0.4秒遅らせて表示 */
}

/***********************************************
汎用ボタン
***********************************************/
p.complete_btn a{
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    background: var(--theme_m_color);
    display: table;
    min-width: 450px;
    letter-spacing: .1em;
    padding: 25px 46px 27px;
    border-radius: 60px;
    position: relative;
    border: 2px solid var(--theme_m_color);
    margin: 0 auto;
}

p.complete_btn a:hover {
	background: #fff;
	color:  var(--theme_m_color);
}


p.cmn_shop_btn a {
    width: 80vw;
    height: 16vw;
    background: #f15a24;
    border-radius: 8vw;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 500;
    letter-spacing: .1em;
    font-size: 4.2666666666vw;
    margin: 0 auto;
}

p.cmn_shop_btn a .montserrat {
    font-size: 5.600000000vw;
    line-height: 1;
    margin-top: 1vw;
}


/***********************************************
汎用パーツ
***********************************************/
ul.cmn_post_list {
    border-top: 1px solid #000;
}

ul.cmn_post_list li {
    border-bottom: 1px solid #000;
    display: flex;
    padding: 50px 0 55px;
    gap: 30px;
    align-items: flex-start;
}

ul.cmn_post_list .area_a {
    width: 240px;
    align-items: center;
    gap: 12px;
    justify-content: center;
    padding: 0 10px;
}

ul.cmn_post_list .area_a p.date {
}

ul.cmn_post_list .area_a p.cat {
    font-size: 12px;
    background: #a5a5a5;
    color: #fff;
    text-align: center;
    padding: 0px 11px;
}

ul.cmn_post_list .area_b {
    width: 50%;
    flex-grow: 1;
}

ul.cmn_post_list .area_b h3.ttl {
}

ul.cmn_post_list .area_b h3.ttl a {
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 18px;
    line-height: 1.75;
    font-weight: 400;
}


.cmn_dl_wrap {
}

.cmn_dl_wrap dl.dl_list {
}

.cmn_dl_wrap dl.dl_list dt , .cmn_dl_wrap dl.dl_list dd {
    padding: 24px 0;
    display: flex;
    align-items: center;
}

.cmn_dl_wrap dl.dl_list dt {
    width: 240px;
    border-top: 1px solid;
    font-weight: 500;
    position: relative;
    border-color: var(--theme_m_color);
    color: var(--theme_m_color);
    padding-left: 5px;
    padding-right: 20px;
}

.cmn_dl_wrap dl.dl_list:last-of-type dt {
    border-bottom: 1px solid var(--theme_m_color);
}

.cmn_dl_wrap dl.dl_list dd {
    border-top: 1px solid #cccccc;
    width: calc(100% - 240px);
    padding-left: 20px;
    padding-right: 20px;
}

.cmn_dl_wrap dl.dl_list:last-of-type dd {
    border-bottom: 1px solid #cccccc;
}

@media (max-width: 750px) {
    ul.cmn_post_list {
    }

    ul.cmn_post_list li {
        padding: 8vw 0 10vw;
        gap: 6vw;
    }

    ul.cmn_post_list .area_a {
        width: 100%;
        justify-content: flex-start;
        padding: 0;
    }

    ul.cmn_post_list .area_a p.date {
        font-size: 3.7333333333vw;
    }

    ul.cmn_post_list .area_a p.cat {
        font-size: 3.2vw;
        padding: 0 1vw;
    }
    
    ul.cmn_post_list .area_b {
    }

    ul.cmn_post_list .area_b h3.ttl {
    }

    ul.cmn_post_list .area_b h3.ttl a {
        font-size: 3.7333333333vw;
        -webkit-line-clamp: 3;
    }


    .cmn_dl_wrap dl.dl_list dt {
        width: 100%;
        font-size: 4.533333333vw;
        display: block;
        padding: 0;
        padding-top: 20px;
        margin-bottom: 10px;
        position: relative;
    }

    .cmn_dl_wrap dl.dl_list:last-of-type dt {
        border-bottom: none;
    }

    .cmn_dl_wrap dl.dl_list dd {
        width: 100%;
        display: block;
        border-top: none;
        padding: 0;
        padding-bottom: 25px;
        line-height: 1.75; 
        font-size: 4.533333333vw;
    }

    .cmn_dl_wrap dl.dl_list:last-of-type dd {
        border-color: var(--theme_m_color);

    }
}

.cmn_col3_list{
    margin: 0 -10px -20px;
}

.cmn_col3_list li{
    width: calc(33.3333% - 20px);
    margin: 0 10px 20px;
}

.cmn_col3_list li:hover{
	cursor: pointer;
}

.cmn_col3_list li .area_a{
    margin-bottom: 10px;
}

.cmn_col3_list li .area_a p.img{
    
}

.cmn_col3_list li .area_b {
    
}

.cmn_col3_list li .area_b h3.ttl{
    
}

.cmn_col3_list li .area_b p.txt{
    
}

@media (max-width: 750px) {
.cmn_col3_list{
    margin: 0 0 -20px;
}

.cmn_col3_list li{
    width: 100%;
    margin: 0 0 20px;
}

.cmn_col3_list li .area_a{
    margin-bottom: 10px;
}

.cmn_col3_list li .area_a p.img{
    
}

.cmn_col3_list li .area_b {
    
}

.cmn_col3_list li .area_b h3.ttl{
    
}

.cmn_col3_list li .area_b p.txt{
    
}	
}

/***********************************************
汎用パーツ
***********************************************/
.cmn_col2_list{
    margin: 0 -10px -20px;
}

.cmn_col2_list li{
    width: calc(50% - 20px);
    margin: 0 10px 20px;
}

.cmn_col2_list li:hover{
	cursor: pointer;
}

.cmn_col2_list li .area_a{
    margin-bottom: 10px;
}

.cmn_col2_list li .area_a p.img{
    
}

.cmn_col2_list li .area_b {
    
}

.cmn_col2_list li .area_b h3.ttl{
    
}

.cmn_col2_list li .area_b p.txt{
    
}

@media (max-width: 750px) {
.cmn_col2_list{
    margin: 0 0 -20px;
}

.cmn_col2_list li{
    width: 100%;
    margin: 0 0 20px;
}

.cmn_col2_list li .area_a{
    margin-bottom: 10px;
}

.cmn_col2_list li .area_a p.img{
    
}

.cmn_col2_list li .area_b {
    
}

.cmn_col2_list li .area_b h3.ttl{
    
}

.cmn_col2_list li .area_b p.txt{
    
}	
}

ol.cmn_num00_list{

}

ol.cmn_num00_list li{
    
}

ol.cmn_num00_list li::before{
    content: counter(ol_cnt, decimal-leading-zero);
}

/**********************************
スマホ固定
**********************************/
.sp_fixed_bottom {
    opacity: 0;
    visibility: hidden;
    width: 100%;
    bottom: 3vw;
    left: 0;
    z-index: 1500;
    position: fixed;
    transition: .2s ease-in;
}

.sp_fixed_bottom.active {
    opacity: 1;
    visibility: visible;
}

.sp_fixed_bottom p.btn {
}


/************************************
FOOTER
************************************/
footer {
    color: #fff;
    position: relative;
    padding-top: 137px;
    background: transparent;
}

footer .bg_inner::before {
    position: absolute;
    content: "";
    background: url("../images/common/pet.svg") no-repeat 50% / contain;
    width: 600px;
    height: 144px;
    top: 0;
    right: 36px;
}

footer .bg_inner {
    background: #1f1f1f;
    padding-bottom: 80px;
}

footer .f_inner {
    max-width: 830px;
    margin: 0 auto;
    padding: 80px 0 70px;
}

footer .btn_area {
    gap: 30px;
    margin-bottom: 80px;
}

footer .btn_area p.btn {
    flex: 1;
}

footer .btn_area p.btn a {
    min-height: 120px;
    position: relative;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

footer .btn_area p.btn a::after {
    position: absolute;
    content: "";
    content: '';
    width: 12px;
    height: 12px;
    border-top: solid 2px #1f1f1f;
    border-right: solid 2px #1f1f1f;
    right: 34px;
    top: 50%;
    transform: rotate(45deg) translateY(-50%);
}

footer .btn_area p.btn a span {
    display: block;
    text-align: center;
}

footer .btn_area p.btn a .en {
    font-size: 36px;
    font-weight: 600;
    line-height: 1.2;
}

footer .btn_area p.btn a .ja {
    font-size: 16px;
    letter-spacing: .04em;
    font-weight: 500;
}

footer .btn_area p.btn.contact {
}

footer .btn_area p.btn.contact a {
}

footer .btn_area p.btn.contact a .en {
}

footer .btn_area p.btn.contact a .ja {
}

footer .btn_area p.btn.shop {
}

footer .btn_area p.btn.shop a {
}

footer .btn_area p.btn.shop a .en {
}

footer .btn_area p.btn.shop a .ja {
}

footer p.logo {
    text-align: center;
    margin-bottom: 70px;
}

footer p.logo a {
}

footer p.logo a img {
}

footer p.logo a .en {
    font-size: 16px;
    display: block;
    color: #fff;
    margin-top: 15px;
}

footer ul.f_nav_list {
    justify-content: center;
    gap: 43px;
}

footer ul.f_nav_list li {
}

footer ul.f_nav_list li a {
    font-size: 18px;
    letter-spacing: .08em;
    position: relative;
    color: #fff;
    padding-left: 25px;
}

footer ul.f_nav_list li a::before {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    left: 10px;
    top: 50%;
    transform: rotate(45deg) translateY(-50%);
}

footer .f_bottom {
    max-width: 1260px;
    margin: 0 auto;
    justify-content: space-between;
}

footer .f_bottom p.privacy {
    font-size: 14px;
}

footer .f_bottom .box {
}

footer .f_bottom .box ul.sns_list {
    justify-content: flex-end;
    gap: 10px;
    margin-bottom: 40px;
}

footer .f_bottom .box ul.sns_list li {
}

footer .f_bottom .box ul.sns_list li a {
    width: 50px;
    height: 50px;
    border-radius: 100%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

footer .f_bottom .box ul.sns_list li a img {
}

footer .f_bottom .box p.copy_rigth {
    font-size: 16px;
}

@media (max-width: 750px) {
    footer {
        padding-top: 18vw;
    }

    footer .bg_inner::before {
        width: 80vw;
        height: 19.0666666666vw;
        right: 4vw;
    }

    footer .bg_inner {
        padding-bottom: 26vw;
    }

    footer .f_inner {
        padding: 14vw 0 0;
    }

    footer .btn_area {
        gap: 5vw;
        width: 80vw;
        margin: 0 auto 13vw;
    }

    footer .btn_area p.btn {
        flex: auto;
    }

    footer .btn_area p.btn a {
        min-height: auto;
        height: 24vw;
    }

    footer .btn_area p.btn a::after {
        width: 3vw;
        height: 3vw;
        right: 6vw;
    }

    footer .btn_area p.btn a span {
    }

    footer .btn_area p.btn a .en {
        font-size: 7.1999999999vw;
    }

    footer .btn_area p.btn a .ja {
        font-size: 3.2vw;
    }

    footer .btn_area p.btn.contact {
    }

    footer .btn_area p.btn.contact a {
    }

    footer .btn_area p.btn.contact a .en {
    }

    footer .btn_area p.btn.contact a .ja {
    }

    footer .btn_area p.btn.shop {
    }

    footer .btn_area p.btn.shop a {
    }

    footer .btn_area p.btn.shop a .en {
    }

    footer .btn_area p.btn.shop a .ja {
    }

    footer p.logo {
        margin-bottom: 10vw;
    }

    footer p.logo a {
    }

    footer p.logo a img {
        width: 68vw;
    }

    footer p.logo a .en {
        font-size: 3.2vw;
    }

    footer ul.f_nav_list {
        width: 82.3999999999vw;
        gap: 2vw 5vw;
        justify-content: center;
        margin: 0 auto 10vw;
    }

    footer ul.f_nav_list li {
    }

    footer ul.f_nav_list li a {
        font-size: 3.733333333333vw;
        padding-left: 4vw;
    }

    footer ul.f_nav_list li a::before {
        left: 0;
    }

    footer .f_bottom {
        width: 86.6666666666vw;
    }

    footer .f_bottom p.privacy {
        font-size: 3.2vw;
        margin-bottom: 8vw;
    }

    footer .f_bottom .box {
        width: 100%;
    }

    footer .f_bottom .box ul.sns_list {
        justify-content: center;
        gap: 5vw;
        margin-bottom: 8vw;
    }

    footer .f_bottom .box ul.sns_list li {
    }

    footer .f_bottom .box ul.sns_list li a {
    }

    footer .f_bottom .box ul.sns_list li a img {
    }

    footer .f_bottom .box ul.sns_list li.insta a img {
        width: 6.93333333333vw;
    }

    footer .f_bottom .box ul.sns_list li.line a img {
        width: 8vw;
    }

    footer .f_bottom .box p.copy_rigth {
        font-size: 3.46666666666vw;
        text-align: center;
    }
}

