body.stop-scrolling {
    height: 100%;
    overflow: hidden; }

.sweet-overlay {
    background-color: black;
    /* IE8 */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
    /* IE8 */
    background-color: rgba(0, 0, 0, 0.4);
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: none;
    z-index: 10000; }

.sweet-alert {
    background-color: white;
    font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    width: 478px;
    padding: 17px;
    border-radius: 5px;
    text-align: center;
    position: fixed;
    left: 50%;
    top: 50%;
    margin-left: -256px;
    margin-top: -200px;
    overflow: hidden;
    display: none;
    z-index: 99999; }
@media all and (max-width: 540px) {
    .sweet-alert {
        width: auto;
        margin-left: 0;
        margin-right: 0;
        left: 15px;
        right: 15px; } }
.sweet-alert h2 {
    color: #575757;
    font-size: 30px;
    text-align: center;
    font-weight: 600;
    text-transform: none;
    position: relative;
    margin: 25px 0;
    padding: 0;
    line-height: 40px;
    display: block; }
.sweet-alert p {
    color: #797979;
    font-size: 16px;
    text-align: center;
    font-weight: 300;
    position: relative;
    text-align: inherit;
    float: none;
    margin: 0;
    padding: 0;
    line-height: normal; }
.sweet-alert fieldset {
    border: none;
    position: relative; }
.sweet-alert .sa-error-container {
    background-color: #f1f1f1;
    margin-left: -17px;
    margin-right: -17px;
    overflow: hidden;
    padding: 0 10px;
    max-height: 0;
    webkit-transition: padding 0.15s, max-height 0.15s;
    transition: padding 0.15s, max-height 0.15s; }
.sweet-alert .sa-error-container.show {
    padding: 10px 0;
    max-height: 100px;
    webkit-transition: padding 0.2s, max-height 0.2s;
    transition: padding 0.25s, max-height 0.25s; }
.sweet-alert .sa-error-container .icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #ea7d7d;
    color: white;
    line-height: 24px;
    text-align: center;
    margin-right: 3px; }
.sweet-alert .sa-error-container p {
    display: inline-block; }
.sweet-alert .sa-input-error {
    position: absolute;
    top: 29px;
    right: 26px;
    width: 20px;
    height: 20px;
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transition: all 0.1s;
    transition: all 0.1s; }
.sweet-alert .sa-input-error::before, .sweet-alert .sa-input-error::after {
    content: "";
    width: 20px;
    height: 6px;
    background-color: #f06e57;
    border-radius: 3px;
    position: absolute;
    top: 50%;
    margin-top: -4px;
    left: 50%;
    margin-left: -9px; }
.sweet-alert .sa-input-error::before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }
.sweet-alert .sa-input-error::after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }
.sweet-alert .sa-input-error.show {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); }
.sweet-alert input {
    width: 100%;
    box-sizing: border-box;
    border-radius: 3px;
    border: 1px solid #d7d7d7;
    height: 43px;
    margin-top: 10px;
    margin-bottom: 17px;
    font-size: 18px;
    box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.06);
    padding: 0 12px;
    display: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s; }
.sweet-alert input:focus {
    outline: none;
    box-shadow: 0px 0px 3px #c4e6f5;
    border: 1px solid #b4dbed; }
.sweet-alert input:focus::-moz-placeholder {
    transition: opacity 0.3s 0.03s ease;
    opacity: 0.5; }
.sweet-alert input:focus:-ms-input-placeholder {
    transition: opacity 0.3s 0.03s ease;
    opacity: 0.5; }
.sweet-alert input:focus::-webkit-input-placeholder {
    transition: opacity 0.3s 0.03s ease;
    opacity: 0.5; }
.sweet-alert input::-moz-placeholder {
    color: #bdbdbd; }
.sweet-alert input:-ms-input-placeholder {
    color: #bdbdbd; }
.sweet-alert input::-webkit-input-placeholder {
    color: #bdbdbd; }
.sweet-alert.show-input input {
    display: block; }
.sweet-alert button {
    background-color: #AEDEF4;
    color: white;
    border: none;
    box-shadow: none;
    font-size: 17px;
    font-weight: 500;
    -webkit-border-radius: 4px;
    border-radius: 5px;
    padding: 10px 32px;
    margin: 26px 5px 0 5px;
    cursor: pointer; }
.sweet-alert button:focus {
    outline: none;
    box-shadow: 0 0 2px rgba(128, 179, 235, 0.5), inset 0 0 0 1px rgba(0, 0, 0, 0.05); }
.sweet-alert button:hover {
    background-color: #a1d9f2; }
.sweet-alert button:active {
    background-color: #81ccee; }
.sweet-alert button.cancel {
    background-color: #D0D0D0; }
.sweet-alert button.cancel:hover {
    background-color: #c8c8c8; }
.sweet-alert button.cancel:active {
    background-color: #b6b6b6; }
.sweet-alert button.cancel:focus {
    box-shadow: rgba(197, 205, 211, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.0470588) 0px 0px 0px 1px inset !important; }
.sweet-alert button::-moz-focus-inner {
    border: 0; }
.sweet-alert[data-has-cancel-button=false] button {
    box-shadow: none !important; }
.sweet-alert[data-has-confirm-button=false][data-has-cancel-button=false] {
    padding-bottom: 40px; }
.sweet-alert .sa-icon {
    width: 80px;
    height: 80px;
    border: 4px solid gray;
    -webkit-border-radius: 40px;
    border-radius: 40px;
    border-radius: 50%;
    margin: 20px auto;
    padding: 0;
    position: relative;
    box-sizing: content-box; }
.sweet-alert .sa-icon.sa-error {
    border-color: #F27474; }
.sweet-alert .sa-icon.sa-error .sa-x-mark {
    position: relative;
    display: block; }
.sweet-alert .sa-icon.sa-error .sa-line {
    position: absolute;
    height: 5px;
    width: 47px;
    background-color: #F27474;
    display: block;
    top: 37px;
    border-radius: 2px; }
.sweet-alert .sa-icon.sa-error .sa-line.sa-left {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    left: 17px; }
.sweet-alert .sa-icon.sa-error .sa-line.sa-right {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    right: 16px; }
.sweet-alert .sa-icon.sa-warning {
    border-color: #F8BB86; }
.sweet-alert .sa-icon.sa-warning .sa-body {
    position: absolute;
    width: 5px;
    height: 47px;
    left: 50%;
    top: 10px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    margin-left: -2px;
    background-color: #F8BB86; }
.sweet-alert .sa-icon.sa-warning .sa-dot {
    position: absolute;
    width: 7px;
    height: 7px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    margin-left: -3px;
    left: 50%;
    bottom: 10px;
    background-color: #F8BB86; }
.sweet-alert .sa-icon.sa-info {
    border-color: #C9DAE1; }
.sweet-alert .sa-icon.sa-info::before {
    content: "";
    position: absolute;
    width: 5px;
    height: 29px;
    left: 50%;
    bottom: 17px;
    border-radius: 2px;
    margin-left: -2px;
    background-color: #C9DAE1; }
.sweet-alert .sa-icon.sa-info::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    margin-left: -3px;
    top: 19px;
    background-color: #C9DAE1; }
.sweet-alert .sa-icon.sa-success {
    border-color: #A5DC86; }
.sweet-alert .sa-icon.sa-success::before, .sweet-alert .sa-icon.sa-success::after {
    content: '';
    -webkit-border-radius: 40px;
    border-radius: 40px;
    border-radius: 50%;
    position: absolute;
    width: 60px;
    height: 120px;
    background: white;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }
.sweet-alert .sa-icon.sa-success::before {
    -webkit-border-radius: 120px 0 0 120px;
    border-radius: 120px 0 0 120px;
    top: -7px;
    left: -33px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: 60px 60px;
    transform-origin: 60px 60px; }
.sweet-alert .sa-icon.sa-success::after {
    -webkit-border-radius: 0 120px 120px 0;
    border-radius: 0 120px 120px 0;
    top: -11px;
    left: 30px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: 0px 60px;
    transform-origin: 0px 60px; }
.sweet-alert .sa-icon.sa-success .sa-placeholder {
    width: 80px;
    height: 80px;
    border: 4px solid rgba(165, 220, 134, 0.2);
    -webkit-border-radius: 40px;
    border-radius: 40px;
    border-radius: 50%;
    box-sizing: content-box;
    position: absolute;
    left: -4px;
    top: -4px;
    z-index: 2; }
.sweet-alert .sa-icon.sa-success .sa-fix {
    width: 5px;
    height: 90px;
    background-color: white;
    position: absolute;
    left: 28px;
    top: 8px;
    z-index: 1;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }
.sweet-alert .sa-icon.sa-success .sa-line {
    height: 5px;
    background-color: #A5DC86;
    display: block;
    border-radius: 2px;
    position: absolute;
    z-index: 2; }
.sweet-alert .sa-icon.sa-success .sa-line.sa-tip {
    width: 25px;
    left: 14px;
    top: 46px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }
.sweet-alert .sa-icon.sa-success .sa-line.sa-long {
    width: 47px;
    right: 8px;
    top: 38px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }
.sweet-alert .sa-icon.sa-custom {
    background-size: contain;
    border-radius: 0;
    border: none;
    background-position: center center;
    background-repeat: no-repeat; }

/*
 * Animations
 */
@-webkit-keyframes showSweetAlert {
    0% {
        transform: scale(0.7);
        -webkit-transform: scale(0.7); }
    45% {
        transform: scale(1.05);
        -webkit-transform: scale(1.05); }
    80% {
        transform: scale(0.95);
        -webkit-transform: scale(0.95); }
    100% {
        transform: scale(1);
        -webkit-transform: scale(1); } }

@keyframes showSweetAlert {
    0% {
        transform: scale(0.7);
        -webkit-transform: scale(0.7); }
    45% {
        transform: scale(1.05);
        -webkit-transform: scale(1.05); }
    80% {
        transform: scale(0.95);
        -webkit-transform: scale(0.95); }
    100% {
        transform: scale(1);
        -webkit-transform: scale(1); } }

@-webkit-keyframes hideSweetAlert {
    0% {
        transform: scale(1);
        -webkit-transform: scale(1); }
    100% {
        transform: scale(0.5);
        -webkit-transform: scale(0.5); } }

@keyframes hideSweetAlert {
    0% {
        transform: scale(1);
        -webkit-transform: scale(1); }
    100% {
        transform: scale(0.5);
        -webkit-transform: scale(0.5); } }

@-webkit-keyframes slideFromTop {
    0% {
        top: 0%; }
    100% {
        top: 50%; } }

@keyframes slideFromTop {
    0% {
        top: 0%; }
    100% {
        top: 50%; } }

@-webkit-keyframes slideToTop {
    0% {
        top: 50%; }
    100% {
        top: 0%; } }

@keyframes slideToTop {
    0% {
        top: 50%; }
    100% {
        top: 0%; } }

@-webkit-keyframes slideFromBottom {
    0% {
        top: 70%; }
    100% {
        top: 50%; } }

@keyframes slideFromBottom {
    0% {
        top: 70%; }
    100% {
        top: 50%; } }

@-webkit-keyframes slideToBottom {
    0% {
        top: 50%; }
    100% {
        top: 70%; } }

@keyframes slideToBottom {
    0% {
        top: 50%; }
    100% {
        top: 70%; } }

.showSweetAlert[data-animation=pop] {
    -webkit-animation: showSweetAlert 0.3s;
    animation: showSweetAlert 0.3s; }

.showSweetAlert[data-animation=none] {
    -webkit-animation: none;
    animation: none; }

.showSweetAlert[data-animation=slide-from-top] {
    -webkit-animation: slideFromTop 0.3s;
    animation: slideFromTop 0.3s; }

.showSweetAlert[data-animation=slide-from-bottom] {
    -webkit-animation: slideFromBottom 0.3s;
    animation: slideFromBottom 0.3s; }

.hideSweetAlert[data-animation=pop] {
    -webkit-animation: hideSweetAlert 0.2s;
    animation: hideSweetAlert 0.2s; }

.hideSweetAlert[data-animation=none] {
    -webkit-animation: none;
    animation: none; }

.hideSweetAlert[data-animation=slide-from-top] {
    -webkit-animation: slideToTop 0.4s;
    animation: slideToTop 0.4s; }

.hideSweetAlert[data-animation=slide-from-bottom] {
    -webkit-animation: slideToBottom 0.3s;
    animation: slideToBottom 0.3s; }

@-webkit-keyframes animateSuccessTip {
    0% {
        width: 0;
        left: 1px;
        top: 19px; }
    54% {
        width: 0;
        left: 1px;
        top: 19px; }
    70% {
        width: 50px;
        left: -8px;
        top: 37px; }
    84% {
        width: 17px;
        left: 21px;
        top: 48px; }
    100% {
        width: 25px;
        left: 14px;
        top: 45px; } }

@keyframes animateSuccessTip {
    0% {
        width: 0;
        left: 1px;
        top: 19px; }
    54% {
        width: 0;
        left: 1px;
        top: 19px; }
    70% {
        width: 50px;
        left: -8px;
        top: 37px; }
    84% {
        width: 17px;
        left: 21px;
        top: 48px; }
    100% {
        width: 25px;
        left: 14px;
        top: 45px; } }

@-webkit-keyframes animateSuccessLong {
    0% {
        width: 0;
        right: 46px;
        top: 54px; }
    65% {
        width: 0;
        right: 46px;
        top: 54px; }
    84% {
        width: 55px;
        right: 0px;
        top: 35px; }
    100% {
        width: 47px;
        right: 8px;
        top: 38px; } }

@keyframes animateSuccessLong {
    0% {
        width: 0;
        right: 46px;
        top: 54px; }
    65% {
        width: 0;
        right: 46px;
        top: 54px; }
    84% {
        width: 55px;
        right: 0px;
        top: 35px; }
    100% {
        width: 47px;
        right: 8px;
        top: 38px; } }

@-webkit-keyframes rotatePlaceholder {
    0% {
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg); }
    5% {
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg); }
    12% {
        transform: rotate(-405deg);
        -webkit-transform: rotate(-405deg); }
    100% {
        transform: rotate(-405deg);
        -webkit-transform: rotate(-405deg); } }

@keyframes rotatePlaceholder {
    0% {
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg); }
    5% {
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg); }
    12% {
        transform: rotate(-405deg);
        -webkit-transform: rotate(-405deg); }
    100% {
        transform: rotate(-405deg);
        -webkit-transform: rotate(-405deg); } }

.animateSuccessTip {
    -webkit-animation: animateSuccessTip 0.75s;
    animation: animateSuccessTip 0.75s; }

.animateSuccessLong {
    -webkit-animation: animateSuccessLong 0.75s;
    animation: animateSuccessLong 0.75s; }

.sa-icon.sa-success.animate::after {
    -webkit-animation: rotatePlaceholder 4.25s ease-in;
    animation: rotatePlaceholder 4.25s ease-in; }

@-webkit-keyframes animateErrorIcon {
    0% {
        transform: rotateX(100deg);
        -webkit-transform: rotateX(100deg);
        opacity: 0; }
    100% {
        transform: rotateX(0deg);
        -webkit-transform: rotateX(0deg);
        opacity: 1; } }

@keyframes animateErrorIcon {
    0% {
        transform: rotateX(100deg);
        -webkit-transform: rotateX(100deg);
        opacity: 0; }
    100% {
        transform: rotateX(0deg);
        -webkit-transform: rotateX(0deg);
        opacity: 1; } }

.animateErrorIcon {
    -webkit-animation: animateErrorIcon 0.5s;
    animation: animateErrorIcon 0.5s; }

@-webkit-keyframes animateXMark {
    0% {
        transform: scale(0.4);
        -webkit-transform: scale(0.4);
        margin-top: 26px;
        opacity: 0; }
    50% {
        transform: scale(0.4);
        -webkit-transform: scale(0.4);
        margin-top: 26px;
        opacity: 0; }
    80% {
        transform: scale(1.15);
        -webkit-transform: scale(1.15);
        margin-top: -6px; }
    100% {
        transform: scale(1);
        -webkit-transform: scale(1);
        margin-top: 0;
        opacity: 1; } }

@keyframes animateXMark {
    0% {
        transform: scale(0.4);
        -webkit-transform: scale(0.4);
        margin-top: 26px;
        opacity: 0; }
    50% {
        transform: scale(0.4);
        -webkit-transform: scale(0.4);
        margin-top: 26px;
        opacity: 0; }
    80% {
        transform: scale(1.15);
        -webkit-transform: scale(1.15);
        margin-top: -6px; }
    100% {
        transform: scale(1);
        -webkit-transform: scale(1);
        margin-top: 0;
        opacity: 1; } }

.animateXMark {
    -webkit-animation: animateXMark 0.5s;
    animation: animateXMark 0.5s; }

@-webkit-keyframes pulseWarning {
    0% {
        border-color: #F8D486; }
    100% {
        border-color: #F8BB86; } }

@keyframes pulseWarning {
    0% {
        border-color: #F8D486; }
    100% {
        border-color: #F8BB86; } }

.pulseWarning {
    -webkit-animation: pulseWarning 0.75s infinite alternate;
    animation: pulseWarning 0.75s infinite alternate; }

@-webkit-keyframes pulseWarningIns {
    0% {
        background-color: #F8D486; }
    100% {
        background-color: #F8BB86; } }

@keyframes pulseWarningIns {
    0% {
        background-color: #F8D486; }
    100% {
        background-color: #F8BB86; } }

.pulseWarningIns {
    -webkit-animation: pulseWarningIns 0.75s infinite alternate;
    animation: pulseWarningIns 0.75s infinite alternate; }

/* Internet Explorer 9 has some special quirks that are fixed here */
/* The icons are not animated. */
/* This file is automatically merged into sweet-alert.min.js through Gulp */
/* Error icon */
.sweet-alert .sa-icon.sa-error .sa-line.sa-left {
    -ms-transform: rotate(45deg) \9; }

.sweet-alert .sa-icon.sa-error .sa-line.sa-right {
    -ms-transform: rotate(-45deg) \9; }

/* Success icon */
.sweet-alert .sa-icon.sa-success {
    border-color: transparent\9; }

.sweet-alert .sa-icon.sa-success .sa-line.sa-tip {
    -ms-transform: rotate(45deg) \9; }

.sweet-alert .sa-icon.sa-success .sa-line.sa-long {
    -ms-transform: rotate(-45deg) \9; }
/**
 * ウィジェット
 */
.rws-search{
    position: relative;
    min-height: 400px;
    background: #fff;
}


.rws-search__form{
    padding: 10px;
    background: #f1f1f1;
    border: 1px solid #e0e0e0;
    margin-bottom: 20px;
    position: relative;
    min-height: 70px;
}

.rws-search__thumbnail img{
    transition: all ease-in .2s;
}
.rws-search__thumbnail img:hover{
    opacity: 0.7;
}

.rws-search .rws-search__form input[type="text"]{
    width: 70%;
    border: 2px solid #ccc;
    font-size: 16px;
    line-height: 2em;
    padding-left: 16px;
    position: absolute;
    width: 98%;
    left: 0;
    margin-left: 10px;
    margin-right: 10px;
    transition: all linear .3s;
}
.rws-search__more,
.rws-search__description{
    padding-left: 10px;
    padding-right: 10px;
}
.rws-search .rws-search__form input[type="text"]:active{
    box-shadow: 0 1px 20px 9px rgba(0,0,0,0.12);
    outline: none;
    outline: 2px solid #ccc;
}
.rws-search .rws-search__form input[type="text"]:focus{
    box-shadow: 0 1px 20px 9px rgba(0,0,0,0.12);
    outline: none;
    outline: 2px solid #ccc;

}
.rws-search__submit{
    width: 30%;
    position: relative;
    z-index: 10000;
    position: absolute;
    right: 10px;
    display: inline-block;
    line-height: 2.7em;
    font-size: 16px;
    border: none;
    border-top: 1px solid #B11919;
    border-right: 1px solid #B11919;
    border-bottom: 2px solid #B11919;
    background-color: #D12E2E;
    color: #FFF;
    border-radius: 0px 2px 2px 0px;
    margin-left: -1px;
    box-shadow: inset 0 1px 2px 2px rgba(255,255,255,0.1);
    transition: all ease-in .2s;
}
.rws-search__submit:hover{
    cursor: pointer;
    box-shadow: 0 1px 20px 9px rgba(0,0,0,0.12);
    outline: none;
}
.rws-search__submit:active{
    cursor: pointer;
    box-shadow: 0 1px 20px 9px rgba(0,0,0,0.12);
    outline: none;
}
.rws-search__submit:focus{
    cursor: pointer;
    box-shadow: 0 1px 20px 9px rgba(0,0,0,0.12);
    outline: none;
}
.rws-search__item{
    margin-bottom: 30px;
    margin-top: 30px;
}
.rws-search .grid-lg-4{
    display: inline-block;
    float: none;
    vertical-align: top;
}


/**
 * ウィジェット : サイドバー
 */

.l-sidebar .rws-search .grid-lg-4 {
    width: 100%;
    display: block;
}
.l-sidebar input[type="text"].rws-search__input {
    width: 91.7%;
}

/**
 * ウィジェット : メイン
 */

#main input[type="text"].rws-search__input{
    width: 97.3%;
}
/**
 * ローダー
 */
.spinner1 {
    width: 40px;
    height: 40px;
    position: relative;
}


.double-bounce1, .double-bounce2 {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #fff;
    opacity: 0.6;
    position: absolute;
    top: 0;
    left: 0;

    -webkit-animation: bounce 2.0s infinite ease-in-out;
    animation: bounce 2.0s infinite ease-in-out;
}

.double-bounce2 {
    -webkit-animation-delay: -1.0s;
    animation-delay: -1.0s;
}

@-webkit-keyframes bounce {
    0%, 100% { -webkit-transform: scale(0.0) }
    50% { -webkit-transform: scale(1.0) }
}

@keyframes bounce {
    0%, 100% {
        transform: scale(0.0);
        -webkit-transform: scale(0.0);
    } 50% {
          transform: scale(1.0);
          -webkit-transform: scale(1.0);
      }
}

.spinner2 {
    width: 40px;
    height: 40px;
    position: relative;
}


.container1 > div, .container2 > div, .container3 > div {
    width: 6px;
    height: 6px;
    background-color: #666;

    border-radius: 100%;
    position: absolute;
    -webkit-animation: bouncedelay 1.2s infinite ease-in-out;
    animation: bouncedelay 1.2s infinite ease-in-out;
    /* Prevent first frame from flickering when animation starts */
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.spinner2 .spinner-container {
    position: absolute;
    width: 100%;
    height: 100%;
}

.container2 {
    -webkit-transform: rotateZ(45deg);
    transform: rotateZ(45deg);
}

.container3 {
    -webkit-transform: rotateZ(90deg);
    transform: rotateZ(90deg);
}

.circle1 { top: 0; left: 0; }
.circle2 { top: 0; right: 0; }
.circle3 { right: 0; bottom: 0; }
.circle4 { left: 0; bottom: 0; }

.container2 .circle1 {
    -webkit-animation-delay: -1.1s;
    animation-delay: -1.1s;
}

.container3 .circle1 {
    -webkit-animation-delay: -1.0s;
    animation-delay: -1.0s;
}

.container1 .circle2 {
    -webkit-animation-delay: -0.9s;
    animation-delay: -0.9s;
}

.container2 .circle2 {
    -webkit-animation-delay: -0.8s;
    animation-delay: -0.8s;
}

.container3 .circle2 {
    -webkit-animation-delay: -0.7s;
    animation-delay: -0.7s;
}

.container1 .circle3 {
    -webkit-animation-delay: -0.6s;
    animation-delay: -0.6s;
}

.container2 .circle3 {
    -webkit-animation-delay: -0.5s;
    animation-delay: -0.5s;
}

.container3 .circle3 {
    -webkit-animation-delay: -0.4s;
    animation-delay: -0.4s;
}

.container1 .circle4 {
    -webkit-animation-delay: -0.3s;
    animation-delay: -0.3s;
}

.container2 .circle4 {
    -webkit-animation-delay: -0.2s;
    animation-delay: -0.2s;
}

.container3 .circle4 {
    -webkit-animation-delay: -0.1s;
    animation-delay: -0.1s;
}

@-webkit-keyframes bouncedelay {
    0%, 80%, 100% { -webkit-transform: scale(0.0) }
    40% { -webkit-transform: scale(1.0) }
}

@keyframes bouncedelay {
    0%, 80%, 100% {
        transform: scale(0.0);
        -webkit-transform: scale(0.0);
    } 40% {
          transform: scale(1.0);
          -webkit-transform: scale(1.0);
      }
}

.spinner3 {
    width: 40px;
    height: 40px;
    position: relative;
    -webkit-animation: rotate 2.0s infinite linear;
    animation: rotate 2.0s infinite linear;
}

.dot1, .dot2 {
    width: 60%;
    height: 60%;
    display: inline-block;
    position: absolute;
    top: 0;
    background-color: #fff;
    border-radius: 100%;

    -webkit-animation: bounce 2.0s infinite ease-in-out;
    animation: bounce 2.0s infinite ease-in-out;
}

.dot2 {
    top: auto;
    bottom: 0px;
    -webkit-animation-delay: -1.0s;
    animation-delay: -1.0s;
}

@-webkit-keyframes rotate { 100% { -webkit-transform: rotate(360deg) }}
@keyframes rotate { 100% { transform: rotate(360deg); -webkit-transform: rotate(360deg) }}

@-webkit-keyframes bounce {
    0%, 100% { -webkit-transform: scale(0.0) }
    50% { -webkit-transform: scale(1.0) }
}

@keyframes bounce {
    0%, 100% {
        transform: scale(0.0);
        -webkit-transform: scale(0.0);
    } 50% {
          transform: scale(1.0);
          -webkit-transform: scale(1.0);
      }
}

.spinner4 {
    width: 30px;
    height: 30px;
    background-color: #fff;
    -webkit-animation: rotateplane 1.2s infinite ease-in-out;
    animation: rotateplane 1.2s infinite ease-in-out;
}

@-webkit-keyframes rotateplane {
    0% { -webkit-transform: perspective(120px) }
    50% { -webkit-transform: perspective(120px) rotateY(180deg) }
    100% { -webkit-transform: perspective(120px) rotateY(180deg)  rotateX(180deg) }
}

@keyframes rotateplane {
    0% {
        transform: perspective(120px) rotateX(0deg) rotateY(0deg);
        -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)
    } 50% {
          transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
          -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)
      } 100% {
            transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
            -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
        }
}

.spinner5 {
    width: 32px;
    height: 32px;
    position: relative;
}

.cube1, .cube2 {
    background-color: #fff;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 0;
    left: 0;

    -webkit-animation: cubemove 1.8s infinite ease-in-out;
    animation: cubemove 1.8s infinite ease-in-out;
}

.cube2 {
    -webkit-animation-delay: -0.9s;
    animation-delay: -0.9s;
}

@-webkit-keyframes cubemove {
    25% { -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5) }
    50% { -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg) }
    75% { -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5) }
    100% { -webkit-transform: rotate(-360deg) }
}

@keyframes cubemove {
    25% {
        transform: translateX(42px) rotate(-90deg) scale(0.5);
        -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);
    } 50% {
          transform: translateX(42px) translateY(42px) rotate(-179deg);
          -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg);
      } 50.1% {
            transform: translateX(42px) translateY(42px) rotate(-180deg);
            -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);
        } 75% {
              transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
              -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
          } 100% {
                transform: rotate(-360deg);
                -webkit-transform: rotate(-360deg);
            }
}

.spinner6 {
    width: 50px;
    height: 30px;
    text-align: center;
}

.spinner6 > div {
    background-color: #fff;
    height: 100%;
    width: 6px;
    margin-left:2px;
    display: inline-block;

    -webkit-animation: stretchdelay 1.2s infinite ease-in-out;
    animation: stretchdelay 1.2s infinite ease-in-out;
}

.spinner6 .rect2 {
    -webkit-animation-delay: -1.1s;
    animation-delay: -1.1s;
}

.spinner6 .rect3 {
    -webkit-animation-delay: -1.0s;
    animation-delay: -1.0s;
}

.spinner6 .rect4 {
    -webkit-animation-delay: -0.9s;
    animation-delay: -0.9s;
}

.spinner6 .rect5 {
    -webkit-animation-delay: -0.8s;
    animation-delay: -0.8s;
}

@-webkit-keyframes stretchdelay {
    0%, 40%, 100% { -webkit-transform: scaleY(0.4) }
    20% { -webkit-transform: scaleY(1.0) }
}

@keyframes stretchdelay {
    0%, 40%, 100% {
        transform: scaleY(0.4);
        -webkit-transform: scaleY(0.4);
    }  20% {
           transform: scaleY(1.0);
           -webkit-transform: scaleY(1.0);
       }
}
.spinner7 {
    width: 90px;
    height: 30px;
    text-align: center;
}

.spinner7 > div {
    background-color: #fff;
    height: 15px;
    width: 15px;
    margin-left:3px;
    border-radius: 50%;
    display: inline-block;

    -webkit-animation: stretchdelay 0.7s infinite ease-in-out;
    animation: stretchdelay 0.7s infinite ease-in-out;
}

.spinner7 .circ2 {
    -webkit-animation-delay: -0.6s;
    animation-delay: -0.6s;
}

.spinner7 .circ3 {
    -webkit-animation-delay: -0.5s;
    animation-delay: -0.5s;
}

.spinner7 .circ4 {
    -webkit-animation-delay: -0.4s;
    animation-delay: -0.4s;
}

.spinner7 .circ5 {
    -webkit-animation-delay: -0.3s;
    animation-delay: -0.3s;
}

@-webkit-keyframes stretchdelay {
    0%, 40%, 100% { -webkit-transform: translateY(-10px) }
    20% { -webkit-transform: translateY(-20px) }
}

@keyframes stretchdelay {
    0%, 40%, 100% {
        transform: translateY(-10px);
        -webkit-transform: translateY(-10px);
    } 20% {
          transform: translateY(-20px);
          -webkit-transform: translateY(-20px);
      }
}


/**
 * オートコンプリート
 */
.autocomplete-suggestions { border: 1px solid #999; background: #FFF; overflow: auto; }
.autocomplete-suggestion { padding: 4px 5px; white-space: nowrap; overflow: hidden; }
.autocomplete-suggestion:nth-child(2n){ background: #fafafa }
.autocomplete-selected { background: #F0F0F0; }
.autocomplete-suggestions strong { font-weight: normal; color: #3399FF; }
.autocomplete-group { padding: 2px 5px; }
.autocomplete-group strong { display: block; border-bottom: 1px solid #000; }
.rws-search__results{
    overflow: hidden;
    padding: 20px;
}
/**
 * アニメーション
 */
.rws-search__animated {
    -webkit-animation-duration: .7s;
    animation-duration: .7s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
@-webkit-keyframes bounceIn {
    0%, 20%, 40%, 60%, 80%, 100% {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
        animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    }

    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3);
    }

    40% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }

    60% {
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9);
    }


    100% {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes bounceIn {
    0%, 20%, 40%, 60%, 80%, 100% {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
        animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    }

    0% {
        opacity: 0;
        -webkit-transform: scale3d(.3, .3, .3);
        transform: scale3d(.3, .3, .3);
    }

    40% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }

    60% {
        -webkit-transform: scale3d(.9, .9, .9);
        transform: scale3d(.9, .9, .9);
    }

    100% {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.rws-search__bounceIn {
    -webkit-animation-name: bounceIn;
    animation-name: bounceIn;
}

@media (max-width: 640px){
    .rws-search {
        min-height: 0px;
    }
    .rws-search__form{
        margin-bottom: 10px;
    }
    .rws-search__description,
    .rws-search__more{
        display: none;
    }
    .rws-search__results{
        padding: 10px;
        margin-bottom: 0;
    }
    .rws-search__item{
        margin-top: 15px;
        margin-bottom: 15px;
    }
    .rws-search__meta{
        padding-left: 16px;
        margin-bottom: 10px;
    }
    .rws-search input[type="text"].rws-search__input,
    #main input[type="text"].rws-search__input {
        width: 94.6%;
    }
    .rws-search .grid-lg-4{
        width: 47%;
    }
}
