@charset "UTF-8";

.icon {
    position: relative;
    display: inline-block;
}

.icon::before,
.icon::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

.sample4-1::before{
    left: 4px;
    box-sizing: border-box;
    width: 4px;
    height: 4px;
    border: 4px solid transparent;
    border-left: 4px solid #3D3D3D;
}

.square-number-1::before{
    width: 12px;
    height: 12px;
    -webkit-border-radius: 25%;
    border-radius: 25%;
    background: #3D3D3D;
}
.square-number-1::after{
    content: '1';
    left: 3px;
    top: 4px;
    color: #FFF;
    font-size: 10px;
}

.square-number-1::before{
    width: 12px;
    height: 12px;
    -webkit-border-radius: 25%;
    border-radius: 25%;
    background: #3D3D3D;
}
.square-number-1::after{
    content: '1';
    left: 3px;
    top: 4px;
    color: #FFF;
    font-size: 10px;
}

.square-number-2::before{
    width: 12px;
    height: 12px;
    -webkit-border-radius: 25%;
    border-radius: 25%;
    background: #3D3D3D;
}
.square-number-2::after{
    content: '2';
    left: 3px;
    top: 4px;
    color: #FFF;
    font-size: 10px;
}

.square-number-3::before{
    width: 12px;
    height: 12px;
    -webkit-border-radius: 25%;
    border-radius: 25%;
    background: #3D3D3D;
}
.square-number-3::after{
    content: '3';
    left: 3px;
    top: 4px;
    color: #FFF;
    font-size: 10px;
}

.square-number-4::before{
    width: 12px;
    height: 12px;
    -webkit-border-radius: 25%;
    border-radius: 25%;
    background: #3D3D3D;
}
.square-number-4::after{
    content: '4';
    left: 3px;
    top: 4px;
    color: #FFF;
    font-size: 10px;
}

.square-number-5::before{
    width: 12px;
    height: 12px;
    -webkit-border-radius: 25%;
    border-radius: 25%;
    background: #3D3D3D;
}
.square-number-5::after{
    content: '5';
    left: 3px;
    top: 4px;
    color: #FFF;
    font-size: 10px;
}

.square-number-6::before{
    width: 12px;
    height: 12px;
    -webkit-border-radius: 25%;
    border-radius: 25%;
    background: #3D3D3D;
}
.square-number-6::after{
    content: '6';
    left: 3px;
    top: 4px;
    color: #FFF;
    font-size: 10px;
}

.square-number-7::before{
    width: 12px;
    height: 12px;
    -webkit-border-radius: 25%;
    border-radius: 25%;
    background: #3D3D3D;
}
.square-number-7::after{
    content: '7';
    left: 3px;
    top: 4px;
    color: #FFF;
    font-size: 10px;
}

.square-number-8::before{
    width: 12px;
    height: 12px;
    -webkit-border-radius: 25%;
    border-radius: 25%;
    background: #3D3D3D;
}
.square-number-8::after{
    content: '8';
    left: 3px;
    top: 4px;
    color: #FFF;
    font-size: 10px;
}

.square-number-9::before{
    width: 12px;
    height: 12px;
    -webkit-border-radius: 25%;
    border-radius: 25%;
    background: #3D3D3D;
}
.square-number-9::after{
    content: '9';
    left: 3px;
    top: 4px;
    color: #FFF;
    font-size: 10px;
}

.square-number-10::before{
    width: 15px;
    height: 15px;
    -webkit-border-radius: 25%;
    border-radius: 25%;
    background: #3D3D3D;
}
.square-number-10::after{
    content: '10';
    left: 2px;
    top: 6px;
    color: #FFF;
    font-size: 9px;
    letter-spacing : -0.05em;
}

.arrow-down {
    width: 200px;
}
.arrow-down::before {
    content: "";
    display: block;
    margin: 0 auto;
    width: 120px;
    height: 50px;
    background: #666;
}
.arrow-down::after {
    content: "";
    display:block;
    border-top: 100px solid #666;
    border-left: 100px solid transparent;
    border-right: 100px solid transparent;
    transform-origin: left top;
    transform: scaleY(.5);
}

.triangle-right::before {
    content: '';
    width: 0;
    height: 0;
    border: solid 4px transparent;
    border-left: solid 6px #00479D;
    position: absolute;
    top: -18px;
    left: -12px;
}
::-webkit-full-page-media, _:future, :root .triangle-right::before {
    top: -30px; /* -12px */
}

.triangle-down::before {
    content: '';
    width: 0;
    height: 0;
    border: solid 4px transparent;
    border-top: solid 6px #00479D;
    position: absolute;
    top: -18px;
    left: -12px;
}
::-webkit-full-page-media, _:future, :root .triangle-down::before {
    top: -30px; /* -12px */
}


.scroll-arrow-area {
    margin-left: -32px;
    text-align: center;
}
.scroll-arrow-top::before{
    width: 30px;
    height: 30px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #4c4c4c;
    opacity: 0.5;
}
.scroll-arrow-top::after{
    top: 6px;
    left: 9px;
    width: 12px;
    height: 12px;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
@-moz-document url-prefix() {
    .scroll-arrow-top::after {
        top: 4px;
    }
}

.scroll-arrow-bottom::before{
    width: 30px;
    height: 30px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #4c4c4c;
    opacity: 0.5;
}
.scroll-arrow-bottom::after{
    bottom: 6px;
    left: 9px;
    width: 12px;
    height: 12px;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
@-moz-document url-prefix() {
    .scroll-arrow-bottom::before {
        margin-top: -32px;
    }
    .scroll-arrow-bottom::after {
        margin-top: -26px;
    }
}
