@charset "utf-8";

.inner {
    max-width: 860px;
    margin: 0 auto;
}

/*
------------------------------------------------------------
セクション
------------------------------------------------------------
*/

.sec {
    padding: 1px 0;
}

.sec:before,
.sec:after {
    content: '';
    display: block;
}

.sec:before {
    margin-bottom: 90px;
}

.sec:after {
    margin-top: 110px;
}

.sec--first:before {
    margin-bottom: 0;
}

.sec.sterilization-spray:before {
    margin-bottom: 57px;
}

.sec.sterilization-spray:after {
    margin-top: 0;
}

.sec.jyokin-video {
    padding-bottom: 0;
}

.sec--bg {
    background: #e5f9f5;
}

.sec__ttl {
    text-align: center;
    margin: 0 auto 50px;
    line-height: 1.4;
    font-size: 34px;
    font-weight: 400;
    color: #47bcb2;
}

.sec__ttl__txt {
    display: inline-block;
    vertical-align: top;
    background: url(../svg/line_dot.svg) left bottom repeat-x;
    background-size: 12px 6px;
    padding: .25em 0 calc( 6px + 6px );
}

.sec__ttl__img {
    
}

.box {
    border: 4px solid #47bcb2;
    border-radius: 10px;
    text-align: center;
    padding: 0 50px 34px;
}

.box + .box {
    margin: 35px 0 0;
}

.box__ttl,
.box__ttl--box {
    display: inline-block;
    line-height: 1.4;
    font-weight: bold;
}

.box__ttl {
    font-size: 24px;
    font-weight: 500;
    color: #47bcb2;
    margin: 28px auto 31px;
}

.box__ttl--box {
    margin: 40px auto 30px;
    padding: 6px 46px;
    background: #47bcb2;
    color: #fff;
    min-width: 8em;
    border-radius: 10em;
    font-size: 28px;
    font-weight: 400;
}

.box__ttl__img {
    display: block;
    margin: 0 auto;
}

.box-block + .box-block {
    margin: 3% 0 0;
}

.box-contents {
    text-align: left;
}

/* ---------- 手洗いはなんで必要 ---------- */

.why-hand-wash__text {
    margin-top: 0;
    text-align: center;
}

.reduce-dirt {
    margin: 75px 0 0;
}

.reduce-dirt__contents {
    display: flex;
}

.reduce-dirt__pic {
    /* width: calc( 200 / 750 * 100% ); */
    flex: 1 0 auto;
    margin-right: 60px;
}

/* ---------- 正しい手洗いの手順 ---------- */

.hand-washing-steps__list-wrapper {
    overflow: hidden;
    margin: 72px 0 0;
}

.hand-washing-steps__list {
    list-style: none;
    margin: -48px -15px 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    counter-reset: my-counter;
}

.hand-washing-steps__item {
    width: 33.33%;
    text-align: center;
    box-sizing: border-box;
    margin: 48px 0 0;
    padding: 0 15px;
    position: relative;
    counter-increment: my-counter;
}

.hand-washing-steps__item:before {
    
}

.hand-washing-steps__item-pic {
    width: calc( 240 / 266.67 * 100% );/* 266.66 = ((860 + 30) / 3) - 15 * 2 */
    margin: 0 auto 12px;
    border-radius: 100%;
    background: #fff;
    position: relative;
}

.hand-washing-steps__item-pic:before {
    content: '';
    display: block;
    padding: 100% 0 0;
}

.hand-washing-steps__item-pic:after {
    content: counter(my-counter);
    display: block;
    font-family: 'Roboto', sans-serif;
    font-size: 28px;
    font-weight: 500;
    line-height: 1;
    background: #bdf0e4;
    color: #47bcb2;
    width: 56px;
    height: 56px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
    position: absolute;
    top: 9px;
    left: 2px;
    z-index: 2;
}

.hand-washing-steps__item-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: calc( 227 / 240 * 100% );
    height: auto;
}

.hand-washing-steps__item-text {
    margin: 0;
    line-height: 1.8;
    font-size: 15px;
}

/* ---------- 除菌スプレー ---------- */

.sterilization-spray__ttl-balloon {
    display: block;
    background: #47bcb2;
    color: #fff;
    font-size: 23px;
    font-weight: 500;
    width: calc( 270 / 23 * 1em );
    margin: 0 auto 34px;
    text-align: center;
    line-height: 1.1;
    box-sizing: border-box;
    padding: calc( 14 / 23 * 1em ) 0px;
    border-radius: 10em;
    position: relative;
}

.sterilization-spray__ttl-balloon:before {
    position: absolute;
    top: 98%;
    left: 50%;
    transform: translate(-50%,0);
    content: '';
    display: block;
    border-style: solid;
    border-color: #47bcb2 transparent transparent transparent;
    border-width: 14px 8px 0 8px;
}

.sterilization-spray__ttl-text {
    display: block;
    text-align: center;
    line-height: 1.4;
    font-size: 36px;
    font-weight: 500;
    letter-spacing: 1px;
}

.sterilization-spray__ttl-strong {
    display: inline-block;
    color: #47bcb2;
    font-weight: 500;
    background: url(../svg/line_dot.svg) left bottom repeat-x;
    background-size: 12px 6px;
    padding: 0 0 calc( 12px + 6px );
}

.sterilization-spray-feature__list-wrapper {
    margin: 70px 0 80px;
}

.sterilization-spray-feature__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-between;
}

.sterilization-spray-feature__item {
    width: calc( 33.33% - (40px / 3));
    max-width: 302px;
    text-align: center;
    box-sizing: border-box;
}

.sterilization-spray-feature__item + .sterilization-spray-feature__item {
    margin-left: 20px;
}

.sterilization-spray-feature__item-pic {
    border-radius: 100%;
    box-sizing: content-box;
    border: 1px solid #47bcb2;
    overflow: hidden;
    margin: 0 0 22px;
}

.sterilization-spray-feature__item-img {
    display: block;
    height: auto;
}

.sterilization-spray-feature__item-text {
    margin: 0;
    font-size: 26px;
    font-weight: 500;
    line-height: 1;
    color: #47bcb2;
}

.alcohol__text,
.hocl__text {
    margin: 0;
}

.sterilization-spray__pruducts {
    position: relative;
    width: 100vw;
    left: 50%;
    margin-left: -50vw;
    margin-top: 110px;
    padding: 0;
    background: #47bcb2;
}

.sterilization-spray__list-wrapper {
    padding: calc( 80 / 980 * 100% ) 0 calc( 110 / 980 * 100% );
}

.sterilization-spray__list {
    position: relative;
    z-index: 2;
    list-style: none;
    margin: 0 auto;
    padding: 0;
    display: flex;
    justify-content: space-between;
    width: 650px;
    max-width: 100%;
}

.sterilization-spray__list--soap {
    justify-content: center;
}

.sterilization-spray__item,
.sterilization-spray__link {
    display: flex;
    text-align: center;
}

.sterilization-spray__list--soap {
    
}

.sterilization-spray__list--soap .sterilization-spray__item +  .sterilization-spray__item {
    margin-left:80px;
}

.main a.sterilization-spray__link,
.main a.sterilization-spray__link:hover,
.main a.sterilization-spray__link:focus,
.main a.sterilization-spray__link:link,
.main a.sterilization-spray__link:visited,
.main a.sterilization-spray__link:active {
    color: #fff;
    text-decoration: none;
}


.sterilization-spray__info {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

.sterilization-spray__info-item--pic,
.sterilization-spray__info-item--disc,
.sterilization-spray__info-item--name,
.sterilization-spray__info-item--button {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sterilization-spray__info-item--pic {
    order: 1;
    margin: 0;
}

.sterilization-spray__list--splay .sterilization-spray__info-item--pic {
    margin: 0 0 26px;
    height: 274px;
    display: flex;
    align-items: flex-end;
}

.sterilization-spray__list--soap .sterilization-spray__info-item--pic {
    margin: 0 0 13px;
}

.sterilization-spray__info-item--disc {
    order: 2;
    line-height: 1.4;
    font-size: 12px;
    border: 1px solid #fff;
    padding: .6em .8em;
}

.sterilization-spray__info-item--name {
    order: 3;
    font-size: 19px;
    font-weight: 500;
    line-height: 1.4;
    margin: 23px 0;
    flex: 1 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sterilization-spray__info-item--button {
    order: 4;
}

.sterilization-spray__button {
    font-size: 14px;
    font-weight: 500;
    background: #fff;
    color: #47bcb2;
    padding: .4em 1.6em;
    box-shadow: none;
}

.sterilization-spray__button:hover {
    transform: translate(0,0);
}

.sterilization-spray__link:hover .sterilization-spray__button,
.sterilization-spray__link:focus .sterilization-spray__button {
    background-color: #f25142;
    color: #fff;
}

.sterilization-spray__list--soap__ttl {
    color: #fff;
    text-align: center;
    font-size: 28px;
    margin: 2.4em 0;
}

/* ---------- ビデオ ---------- */

.jyokin-video__ttl .sec__ttl__txt {
    padding-bottom: calc( 10px + 6px );
}

.jyokin-video__player {
    position: relative;
}

.jyokin-video__player:before {
    content: '';
    display: block;
    padding: 56.25% 0 0;
}

.jyokin-video__player iframe {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}


@media print,only screen and (max-width: 1199.98px) {

    

}

@media print,only screen and (max-width: 1069.98px) {

    

}

@media print,only screen and (max-width: 1019.98px) {

    

}

@media print,only screen and (max-width: 991.98px) {

    .sec.sec:before {
        margin-bottom: calc( 100 * .72 / 768 * 100vw );
    }

    .sec.sec--first {
        padding-top: 0;
    }

    .sec.sec--first:before {
        margin-bottom: 0;
        margin-top: calc( 100 * .72 / 768 * 100vw );
    }

    .sec:after {
        margin-top: calc( 120 * .72 / 768 * 100vw );
    }

    .sec__ttl {
        margin: 0 auto calc( 80 * .72 / 768 * 100vw );
    }

    .box {
        padding: 0 5vw 6vw;
    }

}

@media print, only screen and (max-width: 767.98px) {

    .main {
        font-size: 1.4rem;
        line-height: 1.8;
    }

    .page-contents {
        margin-top: 0;
    }

    .sec--first {
        padding-top: 0;
    }

    .sec--first:before {
        
    }

    .sec--last:after {
        margin-top: 0;
    }

    .sec__ttl {
        margin: 0 auto 6vw;
        font-size: 24px;
    }

    .sec__ttl__txt {
        background-size: 6px 3px;
        padding: 0 0 calc( 6px + 3px );
    }

    .box {
        margin: 8vw auto 4vw;
        border-width: 3px;
    }

    .box + .box {
        margin: 0;
    }

    .box__ttl {
        margin: 4vw auto 4vw;
        font-size: 19px;
        letter-spacing: 2px;
    }

    .box__ttl--box {
        margin: 5vw auto 2vw;
        padding: .55em 2em;
        font-size: 16px;
    }

    .reduce-dirt__contents {
        display: block;
    }

    .reduce-dirt__pic {
        text-align: center;
        margin: 4vw 0;
        padding: 0 8vw;
    }

    .reduce-dirt__text {
        margin: 0;
    }

    .hand-washing-steps__list-wrapper {
        margin: 8vw auto 8vw;
    }

    .hand-washing-steps__list {
        margin: -6vw -2vw 0;
    }

    .hand-washing-steps__item {
        width: 50%;
        padding: 0 2vw;
        margin: 6vw 0 0;
    }

    .hand-washing-steps__item-pic {
        margin: 0 auto 3vw;
    }

    .hand-washing-steps__item-pic:after {
        font-size: 21px;
        width: 2em;
        height: 2em;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        margin: -35% 0 0 -35%;
    }

    .hand-washing-steps__item-text {
        font-size: 1.2rem;
    }

    .hand-washing-steps__item-text br {
        display: none;
    }

    .sterilization-spray__ttl-balloon {
        width: 10em;
        font-size: 18px;
        margin: 0 auto 1.2em;
    }

    .sterilization-spray__ttl-balloon:before {
        border-width: .6em .3em 0 .3em;
    }

    .sterilization-spray__ttl-text {
        font-size: 30px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .sterilization-spray__ttl-strong {
        display: block;
        background-size: 6px 3px;
        padding: 0 0 calc( 3px + 3px );
        margin: .2em 0 .4em;
    }

    .sterilization-spray-feature__list-wrapper {
        margin: 6vw 0;
    }

    .sterilization-spray-feature__list {
        margin: 0 -2vw;
    }

    .sterilization-spray-feature__item {
        padding: 0;
    }

    .sterilization-spray-feature__item-pic {
        margin: 0 0 3vw;
    }

    .sterilization-spray-feature__item-text {
        font-size: 12px;
    }

    .sterilization-spray__list {
        flex-wrap: wrap;
        justify-content: center;
        width: 410px;
        max-width: 100%;
        margin: -10vw auto 0;
    }

    .sterilization-spray__item {
        margin: 10vw 20px 0;
    }

    .jyokin-video__ttl .sec__ttl__txt {
        padding: 0 0 calc( 6px + 3px );
    }

}

@media print, only screen and (max-width: 575.98px) {

    .main {
        font-size: 13px;
    }

    .sec__ttl {
        font-size: 16px;
    }

    .box {
        border-width: 2px;
    }

    .box__ttl {
        margin: 6vw auto 5vw;
        font-size: 15px;
        letter-spacing: 2px;
    }

    .box__ttl--box {
        font-size: 14px;
    }

    .hand-washing-steps__item-pic:after {
        font-size: 14px;
    }

    .sterilization-spray__ttl-balloon {
        font-size: 13px;
    }

    .sterilization-spray__ttl-text {
        font-size: 18px;
    }

    .sterilization-spray__ttl-strong {
        background-size: 6px 3px;
        padding: 0 0 calc( 3px + 3px );
    }

}

@media print,only screen and (max-width: 479.98px) {

    .sterilization-spray__list {
        margin-left: -5px;
        margin-right: -5px;
        max-width: calc( 100% + 10px );
    }

    .sterilization-spray__item {
        margin-left: 5px;
        margin-right: 5px;
    }

    .sterilization-spray__info-item--pic {
        margin: 0;
    }

    .sterilization-spray__info-item--disc {
        font-size: 8px;
    }

    .sterilization-spray__info-item--name {
        font-size: 16px;
        margin: .8em 0 1em;
    }

    .sterilization-spray__button {
        font-size: 12px;
    }

}

