@charset "utf-8";

/* 202607 カード製造ページ改修 */


:root {
    --card-blue: #37a0da;
    --card-gradation: linear-gradient(140deg, #EF7FAE 0%, #4FB3E8 100%);
    --card-pink: #EB6D8E;
    --card-orange: #FBAA2D;
    --card-green: #8FC31F;
}


/* -----------------------------------------------------------
    アンカーリンクのずれ調整
-------------------------------------------------------------- */

.anchor {
	display: block;
	padding-top: 78px;
	margin-top: -78px;
}

@media screen and (max-width: 768px){
	
	.anchor {
		padding-top: 27px;
		margin-top: -27px;
	}
}


/* -----------------------------------------------------------
   feature-area
-------------------------------------------------------------- */
.feature-area {
    padding: 0 0 80px;
}

.feature-area .feature-box {
    margin-top: 30px;
}
.works-common .cmn-worksttl-ja {
    margin: 30px 0 0!important;
}
.works-common .cmn-worksttl-ja.gradation {
    background: var(--card-gradation);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.feature-area .feature-flex {
    display: flex;
    justify-content: flex-end;
    flex-direction: row-reverse;
    gap: 15px;
    margin-top: 30px;
}
.feature-area .feature-flex img {
    width: 580px;
    object-fit: cover;
    object-position: center;
    margin: 0 0 0;
}
.feature-area .feature-flex .basic-txt {
    font-size: 1.8rem;
    line-height: 2.2;
    padding-top: 30px;
}

@media screen and (max-width: 768px) {
    .feature-area {
        padding: 0 0 40px;
    }

    .feature-area .feature-box {
        margin-top: 20px;
    }
    .works-common .cmn-worksttl-ja {
        margin: 20px 0 0!important;
    }

    .feature-area .feature-flex {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        gap: 10px;
        margin-top: 20px;
    }
    .feature-area .feature-flex img {
        width: 100%;
        object-fit: cover;
        object-position: center;
        margin: 0 0 0;
    }
    .feature-area .feature-flex .basic-txt {
        font-size: 1.6rem;
        line-height: 2;
        padding-top: 0;
    }

}


/* -----------------------------------------------------------
   feature-detail-area
-------------------------------------------------------------- */
.feature-detail-area {
    background: var(--beige);
    padding: 10px 0 80px;
    margin: 0 0 0;
}
.feature-detail-area h3.cmn-ttl-ja {
    margin: 80px 0 -10px 0;
    padding: 0 0 0;
    font-weight: bold;
    font-size: 4rem;
    letter-spacing: .07em;
    line-height: 1.5;
}
.feature-detail-area h3.cmn-ttl-ja::before {
    border-radius: 3px;
    content: '';
    display: block;
    height: calc(100% - 5px);
    left: 0;
    position: absolute;
    top: 2px;
    width: 4px;
}

/* gradation */
.feature-detail-area h3.cmn-ttl-ja.gradation {
    background: var(--card-gradation);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
/* gradation */

.feature-detail-area p.sub-ttl {
    font-weight: bold;
    font-size: 2.8rem;
    letter-spacing: .07em;
    line-height: 1.5;
    padding-top: 30px;
    color: var(--card-blue);
}

.feature-detail-area .basic-txt {
    font-size: 1.6rem;
    line-height: 2;
    padding-top: 20px;
}

/* feature-detail-box */
.feature-detail-area .feature-detail-box {
    background: var(--card-blue);
    border-radius: 10px;
    padding: 50px 40px;
    margin-top: 30px;
}

.feature-detail-area .feature-detail-box .feature-detail-ttl-box {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
}
.feature-detail-area .feature-detail-box .feature-detail-ttl-box .title {
    font-size: 2.8rem;
    font-weight: bold;
    letter-spacing: .05em;
    line-height: 1.4;
    color: #fff;
}

/* feature-detail-list */
.feature-detail-area .feature-detail-box .feature-detail-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}
.feature-detail-area .feature-detail-box .feature-detail-list li.feature-detail-item {
    width: calc( ( 100% - 20px ) / 2 );

    background: #fff;
    border-radius: 10px;
    padding: 30px 30px;
}

.feature-detail-area .feature-detail-box .feature-detail-list li.feature-detail-item .tag {
    font-size: 2.2rem;
    font-weight: bold;
    letter-spacing: .05em;
    padding: 0 0 10px;
    line-height: 1.5;
    text-align: center;
    color: var(--card-blue);
}

.feature-detail-area .feature-detail-box .feature-detail-list li.feature-detail-item img {
    width: 100%;
    object-fit: cover;
    object-position: center;
}

.feature-detail-area .feature-detail-box .feature-detail-list li.feature-detail-item .case-txt-box ul {
    padding: 10px 10px;
    margin: 10px 0 0;
    background: #fbf9f5;
    border-radius: 5px;
}

.feature-detail-area .feature-detail-box .feature-detail-list li.feature-detail-item .case-txt-box ul li {
    padding: 0 0 0 18px;
    background: url(../img/icon-check.svg) no-repeat left top 12px / 10px auto;
    line-height: 2;
    font-size: 1.5rem;
}

/* 箱カラー印刷 */
.feature-detail-area .feature-detail-box .feature-detail-list li.feature-detail-item .include-txt {
    position: relative;
}
.feature-detail-area .feature-detail-box .feature-detail-list li.feature-detail-item .include-txt .box-color {
    display: inline-block;
    position: absolute;
    top: -10px;
    left: -10px;

    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    padding: 5px 10px;
    color: #fff;
    background-color: var(--card-pink);
}

/* price-banner */
.price-banner {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    margin-top: 30px;
    gap: 30px;
}
.price-banner .price-box {
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
}
.price-banner .price-label {
    font-size: 2.5rem;
    font-weight: bold;
    padding-right: 8px;
}
.price-banner .price-value {
    font-size: 2rem;
    font-weight: bold;
}
.price-banner .price-value .txt-l {
    font-size: 2.9rem;
    font-weight: bold;
    margin-left: 8px;
}
.price-banner .price-value .tax {
    font-size: 1.5rem;
}
.price-banner .price-note {
    padding-left: 5px;
    font-size: 1.7rem;
    color: #333;
}
.price-banner .spec-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-left: solid 3px #fff;
    padding-left: 10px;
}
.price-banner .spec-txt {
    font-size: 1.7rem;
    color: #fff;
    line-height: 1.6;
}

/* オリジナルカードのみ ※.col3 */
.feature-detail-area .feature-detail-box .feature-detail-list.col3 li.feature-detail-item {
    width: calc((100% - 40px) / 3);
}
.price-banner.style02 {
    border-top: 1px dashed #ccc;
    margin-top: 10px;
    padding-top: 10px;
    gap: 10px;
}
.price-banner.style02 .price-box {
    color: #333;
}
.price-banner.style02 .price-label {
    font-size: 2rem;
    padding-right: 5px;
    color: var(--card-blue);
}
.price-banner.style02 .price-value {
    font-size: 1.8rem;
    color: var(--card-blue);
}
.price-banner.style02 .price-value .txt-l {
    font-size: 2.4rem;
    margin-left: 5px;
}
.price-banner.style02 .price-value .tax {
    font-size: 1.5rem;
}
.price-banner.style02 .price-note {
    padding-left: 5px;
    font-size: 1.6rem;
    color: #333;
}
.price-banner.style02 .spec-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-left: solid 2px var(--card-blue);
    padding-left: 10px;
}
.price-banner.style02 .spec-txt {
    font-size: 1.3rem;
    color: #333;
    line-height: 1.6;
}


@media screen and (max-width: 768px) {
    .feature-detail-area {
        padding: 40px 0 40px;
        margin: 0px 0 0;
    }
    .feature-detail-area h3.cmn-ttl-ja {
        font-size: 2.6rem;
        margin: 0px 0 10px 0;
        padding: 0 0;
        text-align: center;
    }
    .feature-detail-area h3.cmn-ttl-ja::before {
        left: 0;
    }

    .feature-detail-area p.sub-ttl {
        font-size: 2.2rem;
        padding-top: 10px;
    }
    .feature-detail-area .basic-txt {
        font-size: 1.6rem;
        line-height: 2;
        padding-top: 0;
    }

    /* feature-detail-box */
    .feature-detail-area .feature-detail-box {
        padding: 25px 20px;
        margin-top: 20px;
    }

    .feature-detail-area .feature-detail-box .feature-detail-ttl-box {
        display: flex;
        justify-content: center;
        margin-bottom: 20px;
    }
    .feature-detail-area .feature-detail-box .feature-detail-ttl-box .title {
        font-size: 2.2rem;
    }

    /* feature-detail-list */
    .feature-detail-area .feature-detail-box .feature-detail-list {
        gap: 10px;
    }
    .feature-detail-area .feature-detail-box .feature-detail-list li.feature-detail-item {
        width: 100%;
        padding: 25px 20px;
    }

    .feature-detail-area .feature-detail-box .feature-detail-list li.feature-detail-item .tag {
        font-size: 1.8rem;
    }

    /* 箱カラー印刷 */
    .feature-detail-area .feature-detail-box .feature-detail-list li.feature-detail-item .include-txt {
        position: relative;
    }
    .feature-detail-area .feature-detail-box .feature-detail-list li.feature-detail-item .include-txt .box-color {
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;

        font-size: 1.4rem;
        padding: 3px 6px;
    }

    /* price-banner */
    .price-banner {
       display: block;
       margin-top: 20px;
    }
    .price-banner .price-box {
        color: #fff;
    }
    .price-banner .price-label {
        font-size: 2rem;
        padding-right: 8px;
    }
    .price-banner .price-value {
        font-size: 1.8rem;
    }
    .price-banner .price-value .txt-l {
        font-size: 2.5rem;
        margin-left: 8px;
    }
    .price-banner .price-value .tax {
        font-size: 1.5rem;
    }
    .price-banner .price-note {
        padding-left: 0;
        font-size: 1.6rem;
    }
    .price-banner .spec-box {
        border-left: solid 2px #fff;
        padding-left: 10px;
        margin-top: 10px;
    }
    .price-banner .spec-txt {
        font-size: 1.5rem;
        line-height: 1.6;
    }

    /* オリジナルカードのみ ※.col3 */
    .feature-detail-area .feature-detail-box .feature-detail-list.col3 li.feature-detail-item {
        width: 100%;
    }
    .price-banner.style02 .price-label {
        font-size: 1.8rem;
    }
    .price-banner.style02 .price-value {
        font-size: 1.6rem;
    }
    .price-banner.style02 .price-value .txt-l {
        font-size: 2.2rem;
    }
    .price-banner.style02 .price-value .tax {
        font-size: 1.5rem;
    }
    .price-banner.style02 .price-note {
        font-size: 1.5rem;
    }

}


/* -----------------------------------------------------------
   feature-detail-area ※detail02
-------------------------------------------------------------- */
/* ここから3つの強み箇所 */
.circle-feature{
    max-width: 1200px;
    margin: 0 0 0;
    padding: 80px 0 30px;
}
.circle-feature__list{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.circle-feature__item{
    position: relative;
}

.circle-feature__item img {
    width: 100%;
    object-fit: cover;
    object-position: center;
}
.circle-feature__item:not(:first-child){
    margin-left: -25px;
}
.circle-feature__item:nth-child(2){ z-index:2; }
.circle-feature__item:nth-child(1){ z-index:1; }
.circle-feature__item:nth-child(3){ z-index:1; }
.circle-feature__link{
    display: block;
    width: 300px;
    height: 300px;
    transition: .3s;
}
.circle-feature__link:hover{
    margin-top: -10px;
}

/* ここから横並びの場合 */
.feature-detail-area.detail02 .flex-box {
    display: flex;
    justify-content: space-between; 
    position: relative;
    margin: 30px 0 50px;
}
.circle-feature{
    max-width: 800px;
    margin: 0 0 0;
    padding: 0 0 0;
}
.circle-feature__list {
    width: 100%;
    height: auto;
    margin: 0 0;
    display: block;
}
.circle-feature__item {
    position: absolute;
    margin-left: 0!important;
}
.circle-feature__item:nth-child(1) {
    top: 0;
    right: 80px;
    z-index: 2;
}
.circle-feature__item:nth-child(2) {
    top: 150px;
    right: 190px;
    z-index: 1;
}
.circle-feature__item:nth-child(3) {
    top: 150px;
    right: -30px;
    z-index: 1;
}
.circle-feature__link{
    display: block;
    width: 220px;
    height: 220px;
    transition: .3s;
}
/* ここまで横並びの場合 */
/* ここまで3つの強み箇所 */

.feature-detail-area.detail02 {
    background-color: #fff;
}
/* .feature-detail-area.detail02 h3.cmn-ttl-ja {
    color: var(--card-pink);
}
.feature-detail-area.detail02 h3.cmn-ttl-ja::before {
    background: var(--card-pink);
} */

.feature-detail-area.detail02 .feature-strength {
    margin-top: 50px;
}
.feature-detail-area.detail02 .feature-strength.strength02 {
    margin: 80px 0;
}

.feature-detail-area.detail02 .feature-strength .strength-ttl {
    width: 650px;
	display: flex;
	align-items: center;
	gap: 10px;

    font-weight: bold;
    font-size: 3.2rem;
    letter-spacing: .07em;
    line-height: 1.5;
}
.feature-detail-area.detail02 .feature-strength .strength-ttl span.circle-num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: var(--card-orange);
	color: #fff;
	border-radius: 50%;
	font-weight: bold;
	font-size: 2.2rem;
	flex-shrink: 0;
}

.feature-detail-area.detail02 .feature-strength .strength-sub {
    font-weight: bold;
    font-size: 2.8rem;
    letter-spacing: .07em;
    line-height: 1.5;
    color: var(--card-orange);
    padding-top: 20px;
}

.feature-detail-area.detail02 .feature-strength .strength-sub,
.feature-detail-area.detail02 .feature-strength .basic-txt {
    display: inline-block;
}

/* feature-detail-box */
.feature-detail-area.detail02 .feature-detail-box {
    background: var(--card-orange);
    padding: 30px 40px 50px;
}
.feature-detail-area.detail02 .feature-detail-box .feature-detail-ttl-box {
    margin-bottom: 20px;
    justify-content: flex-start;
}
.feature-detail-area.detail02 .feature-detail-box .feature-detail-ttl-box .title {
    width: 280px;
}
.feature-detail-area.detail02 .feature-detail-box .feature-detail-ttl-box .basic-txt {
    width: calc( 100% - 300px );
}

.feature-detail-area.detail02 .feature-detail-box .feature-detail-list li.feature-detail-item .tag {
    color: var(--card-orange);
}
.feature-detail-area.detail02 .feature-detail-box .feature-detail-list li.feature-detail-item .case-txt-box ul li {
    background: none;
    position: relative;
}
.feature-detail-area.detail02 .feature-detail-box .feature-detail-list li.feature-detail-item .case-txt-box ul li::before {
    background: var(--card-orange);
    content: "";
    top: 15px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    height: 8px;
    position: absolute;
    left: 0;
    width: 8px;
    border-radius: 50px;
}

/* ピロー包装のみ ※.col4 */
.feature-detail-area.detail02 .feature-detail-box .feature-detail-list.col4 li.feature-detail-item {
    width: calc((100% - 60px) / 4);
}
.feature-detail-area.detail02 .feature-detail-box .feature-detail-list.col4 li.feature-detail-item .tag {
    height: 65px;
}
.feature-detail-area.detail02 .feature-detail-box .feature-detail-list.col4 li.feature-detail-item .tag span.txt-s {
    font-size: 1.6rem;
}

/* onetop-box */
.feature-detail-area .onetop-box {
    margin-top: 50px;
}
.feature-detail-area .onetop-box .photo {
    margin-top: 30px;
}
.feature-detail-area .onetop-box .photo img {
    width: 100%;
    object-fit: cover;
    object-position: center;
}

/* 色分け */
.feature-detail-area.detail02 .strength02 .feature-detail-box {
    background: var(--card-pink);
}
.feature-detail-area.detail02 .feature-strength.strength02 .strength-ttl span.circle-num {
	background: var(--card-pink);
}
.feature-detail-area.detail02 .feature-strength.strength02 .strength-sub {
    color: var(--card-pink);
}
.feature-detail-area.detail02 .strength02 .feature-detail-box .feature-detail-list li.feature-detail-item .tag {
    color: var(--card-pink);
}

.feature-detail-area.detail02 .strength03 .feature-detail-box {
    background: var(--card-green);
}
.feature-detail-area.detail02 .feature-strength.strength03 .strength-ttl span.circle-num {
	background: var(--card-green);
}
.feature-detail-area.detail02 .feature-strength.strength03 .strength-sub {
    color: var(--card-green);
}


@media screen and (max-width: 768px) {

    /* ここから3つの強み箇所 */
    .feature-detail-area.detail02 .flex-box {
        display: block;
        margin: 0 0 0;
    }
    .circle-feature {
        max-width: 100%;
        padding: 0 0 0;
    }
    .circle-feature__list {
        position: relative;
        width: 250px;
        height: 260px;
        margin: 0 auto;
        display: block;
    }
    .circle-feature__item {
        position: absolute;
        margin-left: 0!important;
    }
    /* 1番目：上部中央 */
    .circle-feature__item:nth-child(1) {
        top: 0;
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        z-index: 2;
    }
    /* 2番目：左下 */
    .circle-feature__item:nth-child(2) {
        top: 110px;
        left: -25px;
        z-index: 1;
    }
    /* 3番目：右下 */
    .circle-feature__item:nth-child(3) {
        top: 110px;
        right: -25px;
        z-index: 1;
    }
    .circle-feature__link {
        width: 150px;
        height: 150px;
    }
    .circle-feature__link:hover {
        margin-top: 0;
    }
    /* ここまで3つの強み箇所 */

    .feature-detail-area.detail02 .feature-strength {
        margin-top: 20px;
    }
    .feature-detail-area.detail02 .feature-strength.strength02 {
        margin: 40px 0;
    }

    .feature-detail-area.detail02 .feature-strength .strength-ttl {
        width: 100%;
        align-items: flex-start;
        font-size: 2rem;
    }
    .feature-detail-area.detail02 .feature-strength .strength-ttl span.circle-num {
        width: 33px;
        height: 33px;
        font-size: 1.8rem;
    }

    .feature-detail-area.detail02 .feature-strength .strength-sub {
        font-size: 2.2rem;
        padding: 20px 0 10px;
    }

    /* feature-detail-box */
    .feature-detail-area.detail02 .feature-detail-box {
        padding: 25px 20px;
    }
    .feature-detail-area.detail02 .feature-detail-box .feature-detail-ttl-box {
        margin-bottom: 20px;
        display: block;
    }
    .feature-detail-area.detail02 .feature-detail-box .feature-detail-ttl-box .title {
        width: 100%;
        padding-bottom: 10px;
    }
    .feature-detail-area.detail02 .feature-detail-box .feature-detail-ttl-box .basic-txt {
        width: 100%;
    }

    /* ピロー包装のみ ※.col4 */
    .feature-detail-area.detail02 .feature-detail-box .feature-detail-list.col4 li.feature-detail-item {
        width: calc((100% - 10px) / 2);
        padding: 10px 10px;
    }
    .feature-detail-area.detail02 .feature-detail-box .feature-detail-list.col4 li.feature-detail-item .tag {
        height: auto;
    }
    .feature-detail-area.detail02 .feature-detail-box .feature-detail-list.col4 li.feature-detail-item .tag span.txt-s {
        font-size: 1.3rem;
    }

    /* onetop-box */
    .feature-detail-area .onetop-box {
        margin-top: 20px;
    }

   .feature-detail-area .onetop-box .photo-scroll {
        width: 100%;
        overflow-x: scroll;
    }
    .feature-detail-area .onetop-box .photo-scroll .photo {
        margin-top: 0;
        padding: 0 0 20px 0;
        width: 760px;
        white-space: nowrap;
    }
    .feature-detail-area .onetop-box .photo img {
        width: auto;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
    }

}


/* -----------------------------------------------------------
   feature-detail-area ※detail03
-------------------------------------------------------------- */
.feature-detail-area.detail03 .detail-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.feature-detail-area.detail03 .detail-flex.rev {
    flex-direction: row-reverse;
}
.feature-detail-area.detail03 .detail-flex img {
    width: 265px;
    object-fit: cover;
    object-position: center;
}
.feature-detail-area.detail03 .detail-flex .txt-box {
    width: calc( 100% - 265px );
}
.feature-detail-area.detail03 .detail-flex .txt-box .basic-txt {
    font-size: 1.8rem;
    line-height: 2;
}

@media screen and (max-width: 768px) {
    .feature-detail-area.detail03 .detail-flex,
    .feature-detail-area.detail03 .detail-flex.rev {
        display: block;

        margin-top: 20px;
        padding: 20px;
        background-color: #fff;

        border: solid 2px var(--card-blue);
        border-radius: 10px;

        /* floatさせた子要素の高さを親に反映させる */
        overflow: hidden;
    }
    .feature-detail-area.detail03 .detail-flex img {
        width: 130px;
        height: 130px;
        object-fit: contain;
        object-position: center;

        float: left;
        margin: 0 10px 10px 0;
    }
    .feature-detail-area.detail03 .detail-flex.rev img {
        float: right;
        margin: 0 0 10px 10px;
    }

    .feature-detail-area.detail03 .detail-flex .txt-box {
        width: 100%;
    }
    .feature-detail-area.detail03 .detail-flex .txt-box .basic-txt {
        font-size: 1.6rem;
        line-height: 2;
    }

}



/* -----------------------------------------------------------
    外部リンクエリア
-------------------------------------------------------------- */
.sns-contact{
    position: relative;
	margin: 0 auto 0;
    padding: 100px 0 80px;    
	background-color: #F6F6F6;
    border-radius: 100px 100px 0 0;
}

.sns-contact .inner {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: space-between;
	flex-direction: column;
	gap: 80px;
}

.sns-contact .img a{
	display: block;
	position: relative;
	top: 0;
    transition: all 0.3s ease;
}
.sns-contact .img a:hover{
	top: -10px;
}
.sns-contact .img{
	width: 550px;
}
.sns-contact .img img{
	width: 100%;
}

.sns-contact .bnr-link {
    display: flex;
    justify-content: center;
    gap: 30px;
}
.sns-contact .bnr-link a {
    width: 550px;
}
.sns-contact .bnr-link img {
    width: 100%;
    object-fit: cover;
    object-position: center;
    margin: 0 0 0;
}

.sns-contact .sns-btn-wrap {
    position: relative;
}
.sns-contact .sns-btn-wrap .sns-btn-contain {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 50px;
}

.sns-contact .sns-btn-wrap .title{
    text-align: center;
}

.sns-contact .sns-btn-wrap .sns-ttl {
    font-size: 2.4rem;
	letter-spacing: .5rem;
	margin: 0 auto 20px;
    font-weight: bold;
    position: relative;
    display: inline-block;
    padding: 0px 50px;
	color: #231815;
}

.sns-contact .sns-btn-wrap .sns-ttl::before, .sns-contact .sns-btn-wrap .sns-ttl::after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 20px;
    height: 2px;
    background-color:#231815;
    -webkit-transform: rotate(60deg);
    transform: rotate(60deg);
}

.sns-contact .sns-btn-wrap .sns-ttl::before {
    left: 0;
}

.sns-contact .sns-btn-wrap .sns-ttl::after {
    right: 0;
    -webkit-transform: rotate(-60deg);
    transform: rotate(-60deg);
}

.sns-contact .sns-btn-wrap .btn-list {
    display: flex;
    justify-content: center;
    list-style: none;
    align-items: center;
    width: 100%;
    gap: 20px;
	
}

.sns-contact .btn-list .sns, 
.sns-contact .btn-list .inastagram,
.sns-contact .btn-list .online {
    width: auto;
    height: 100%;
    line-height: 1.3;
    margin: 0 0px 0 0;
    transition: 0.3s;
}

.sns-contact .btn-list .sns a, 
.sns-contact .btn-list .inastagram a,
.sns-contact .btn-list .online a {
    color: #fff;
    font-size:1.8rem;
    width: 320px;
    height: 80px;
    position: relative;
	background-color: var(--card-blue);    
	display: flex;
    align-items: center;
    font-weight: 500;
    justify-content: center;
    padding-right: 10px;
	border-radius: 5px;
}
.sns-contact .sns a:before {
	position: absolute;
    content: "";
    width: 0;
    height: 100%;
    top: 0;
    left: 0;
    background: #2990c9;
    border-radius: 5px;
    transition: all 0.3s ease;
}

/* インスタグラム導線 */
.sns-contact .inastagram a:before {
	position: absolute;
    content: "";
    width: 0;
    height: 100%;
    top: 0;
    left: 0;
    background: #e36082;
    border-radius: 5px;
    transition: all 0.3s ease;
}
.sns-contact .btn-list .inastagram a{
	background-color: var(--card-pink);
}

/* ECサイト導線 */
.sns-contact .btn-list .online a {
    color: #231815;
    font-size:1.7rem;
    width: 350px;
    height: 80px;
    position: relative;
	background-color: var(--card-blue);    
	display: flex;
    align-items: center;
    font-weight: bold;
    justify-content: center;
    padding-right: 10px;
	border-radius: 5px;
}
.sns-contact .online a:before {
	position: absolute;
    content: "";
    width: 0;
    height: 100%;
    top: 0;
    left: 0;
    background-color: var(--yellow);
    border-radius: 5px;
    transition: all 0.3s ease;
}
.sns-contact .btn-list .online a{
	background: #FBCA4D;
}
.sns-contact .btn-list .online a span{
	font-size:1.5rem;
}

.sns-contact .sns a:hover:before,
.sns-contact .inastagram a:hover:before,
.sns-contact .btn-list .online a:hover:before {
	right: 0;
    width: 100%;
}

.sns-contact a img {
    width: 40px;
	margin-right: 10px;
	z-index: 1;
}

.sns-contact a div{
	font-family: 'Poppins', sans-serif;
	z-index: 1;
}

@media screen and (max-width: 768px){
	
	.sns-contact{
		padding: 50px 0 30px;
		border-radius: 30px 30px 0 0;
		margin: 0 auto 0;
	}

	.sns-contact .inner {
		display: block;
	}
	.sns-contact .img{
		width: 100%;
	}

    .sns-contact .bnr-link {
        flex-direction: column;
        gap: 20px;
    }
    .sns-contact .bnr-link a {
        width: 100%;
    }

	.sns-contact .sns-btn-wrap {
		position: relative;
	}
	.sns-contact .sns-btn-wrap .sns-btn-contain {
		display: block;
	}

	.sns-contact .sns-btn-wrap .title{
		text-align: center;
	}

	.sns-contact .sns-btn-wrap .sns-ttl {
        display: inline-block;

		font-size: 2.0rem;
		letter-spacing: .2rem;
        font-weight: bold;

		margin: 30px auto 10px;
        padding: 0px 25px 0px 30px;

		position: relative;
		
		
	}

	.sns-contact .sns-btn-wrap .btn-list {
		display: block;
	}

	/* インスタグラム導線 */
	.sns-contact .btn-list .sns, .sns-contact .btn-list .inastagram {
		margin: 0 0px 10px 0;
	}
	.sns-contact .btn-list .sns a, .sns-contact .btn-list .inastagram a {
		color: #fff;
		font-size:1.8rem;
		width: 100%;
		height: 80px;
	}

	/* ECサイト導線 */
	.sns-contact .btn-list .sns, .sns-contact .btn-list .online {
		margin: 0 0px 10px 0;
	}
	.sns-contact .btn-list .sns a, .sns-contact .btn-list .online a {
		font-size:1.8rem;
		width: 100%;
		height: 80px;
	}

	.sns-contact a img {
		margin: 0 8px 0 0;
	}
	
}


/* -----------------------------------------------------------
    サービスご利用の流れ
-------------------------------------------------------------- */
.cmn-service-flow .service-flow-area {
    margin-top: 0!important;
}