@charset "UTF-8";
/* warranty */
.warranty{
    letter-spacing: 0.05rem;
    & section{
        scroll-margin-top: 80px;
    }
	& h3 {
		font-weight:bold;
		font-size: var(--font-xl);
		margin-bottom:1.2rem;
	}
    & p{
        margin: 1rem auto;
    }
}
.warranty__point{
    counter-reset: point;
    margin-top: 1.5rem;
    & li {
        background: var(--color-bg-sub);
        padding: 3.5rem 1.2rem 1.2rem;
        margin-bottom: 1.5rem;
        position:relative;
    }
    & li::before{
        content: "POINT";
        color:var(--color-main-500);
        font-weight:bold;
        font-size: 1.2rem;
        display:block;
        position: absolute;
        left:1.2rem;
        top:1rem;
    }
   & li::after {
        counter-increment: point;
        content: counter(point);
        position: absolute;
        left: 6rem;
        top: 0.7rem;
        font-size: 1.5rem;
        font-weight: bold;
        color: var(--color-main-500);
    }
    & aside{
        font-size: var(--font-s);
    }
    & span{
        color: var(--color-attention);
        font-weight: bold;
    }
}
.warranty__content{
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: stretch;
    border-top: 1px solid var(--color-gray-300);
    & dt,
    & dd {
        padding: 1.5rem 0;
        border-bottom: 1px solid var(--color-gray-300);
        align-items: center;
    }
    & dt{
        color: var(--color-main-500);
        font-size: var(--font-m);
        display: flex;
        align-items: center;
        padding-right:1rem;
    }
    & dd aside{
        font-size: var(--font-s);
        line-height:1.4;
    }
}
.warranty__list{
    & li {
        position: relative;
        padding-left: 1.4rem;
        margin-bottom: 1rem;
    }
    & li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 1rem;
        width: 0.5rem;
        height: 0.5rem;
        background: var(--color-gray-600);
        border-radius: 50%;
    }
}
.warranty__step{
    & li > p:first-child{
        margin:0 auto;
    }
    & li > p:last-child{
        margin:0;
        padding:0.5rem 0.5rem 0 0.5rem;
        line-height:1.3;
    }
}
.warranty__conditions{
    font-size: var(--font-l);
    font-weight: bold;
    margin-bottom: 0.8rem;
    & > span{
        border-bottom: 2px solid var(--color-main);
        padding: 0 0.2rem 0 0;
        display: inline-flex;
        align-items: center;
        line-height:1.3;
    }
    & > span::before{
        font-family: 'Material Symbols Outlined';
        content: '\e5ca';
        font-variation-settings: 'FILL' 1, 'wght' 500;
        font-size: 2rem;
        color: var(--color-main);
        margin-right:0.5rem;
    }
    & span span{
        color: var(--color-main);
    }
}
.warranty__count{
	list-style: none;
    counter-reset: item;
    margin-bottom: 2rem;
    & li {
        counter-increment: item;
        padding-left: 2rem;
        position: relative;
    }
    & li::before {
        content: counter(item)". ";
        position: absolute;
        left: 0;
    }
}
.warranty__attention{
    & h4{
        font-weight: bold;
        font-size: var(--font-l);
        margin-top: 2rem;
    }
    & p span{
        font-weight: bold;
        color: var(--color-attention);
    }
    & p:nth-child(3n){
        font-weight: bold;
    }
    & label {
        display: flex;
        align-items: center;
        cursor: pointer;
        margin: 1.5rem auto;
        font-weight: bold;
    }
    & label input{
        display: none;
    }
    & label span {
        width: 2rem;
        height: 2rem;
        border: 1px solid var(--color-gray-400);
        border-radius: 4px;
        margin-right: 0.8rem;
        position: relative;
    }
    & label span::after{
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 0.8rem;
        height: 1.4rem;
        border: solid  var(--color-main);
        border-width: 0 3px 3px 0;
        transform: translate(-50%, -60%) rotate(45deg);
        opacity: 0;
        transition: opacity 0.4s ease;
    }
    & label input:checked + span::after {
        opacity: 1;
    }
    & label + a {
        display: block;
        background: var(--color-main);
        padding:1.5rem 0;
        color: var(--color-text-inverse);
        text-align: center;
        text-decoration: none;
        border-radius: 8px;
        margin: 1rem auto;
        transition: background-color 0.4s ease;
    }
    & label + a span{
        vertical-align: middle;
        margin-right: 0.5rem;
        font-weight: normal;
        font-variation-settings: 'FILL' 1, 'wght' 500;
        font-size: 3rem;
    }
    & label + a.is-disabled {
        pointer-events: none;
        background: var(--color-gray-300);
    }
}
.warranty__pdf{
    font-size: var(--font-s);
    letter-spacing: 0;
    & a{
        color: var(--color-text-primary);
        font-weight: normal;
        margin:0 0.2rem;
    }
}