@charset 'utf-8';
/**
 * Common CSS
 *
 * @copyright   Copyright (c) Yoshika
 * @author      Yoshika (@rnsk)
 * @link        http://rnsk.net/
 */

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    font-size: 100%;
    height: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    overflow-x: hidden;
}

body {
    height: 100%;
}

/*---- General ----*/
.clear { clear: both; }
.clearer { clear: both; display: block; margin: 0; padding: 0; height: 0; line-height: 1px; font-size: 1px; }

.mt20 { margin-top: 20px; }
.mb20 { margin-bottom: 20px; }
.mt10 { margin-top: 10px; }
.mb10 { margin-bottom: 10px; }
.ml10 { margin-left: 10px; }
.mr10 { margin-right: 10px; }
.mt5 { margin-top: 5px; }
.mb5 { margin-bottom: 5px; }
.ml5 { margin-left: 5px; }
.mr5 { margin-right: 5px; }
.pa10 { padding: 10px; }
.pa20 { padding: 20px; }

.last { margin-bottom: 0; }
.break-word { word-wrap: break-word; }

.img-centered { margin: 0 auto; }

.box-centered {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    -webkit-transform: translate(-50%, -50%);/* Safari用 */
    transform: translate(-50%, -50%);
}

.icon-spin {
    -webkit-animation: icon-spin 2s linear infinite;
    animation: icon-spin 2s linear infinite;
}

@-webkit-keyframes icon-spin {
    0% { -webkit-transform: rotateZ(-0deg); }
    100% { -webkit-transform: rotateZ(360deg); }
}
@keyframes icon-spin {
    0% { transform: rotateZ(-0deg); }
    100% { transform: rotateZ(360deg); }
}

/*---- Table ----*/
th a.asc:after { content: ' ⇣'; }
th a.desc:after { content: ' ⇡'; }
td.actions { text-align: right; white-space: nowrap; }

/*---- Bootstrap ----*/
.row-xs {
    margin-right: -5px;
    margin-left: -5px;
}

.row-xs:after {
    clear: both;
}

.row-xs:after, .row-xs:before {
    display: table;
    content: " ";
}

.row-xs .col-xs-1, .row-xs .col-xs-10, .row-xs .col-xs-11, .row-xs .col-xs-12,
.row-xs .col-xs-2, .row-xs .col-xs-3, .row-xs .col-xs-4, .row-xs .col-xs-5, .row-xs .col-xs-6,
.row-xs .col-xs-7, .row-xs .col-xs-8, .row-xs .col-xs-9 {
    position: relative;
    min-height: 1px;
    padding-right: 5px;
    padding-left: 5px;
}

/*---- Bootstrap2 Form input size ----*/
.input-mini { width: 60px; }
.input-small { width: 90px; }
.input-medium { width: 150px; }
.input-large { width: 210px; }
.input-xlarge { width: 270px; }
.input-xxlarge { width: 530px; }
.input-auto { width: auto; max-width: 100%; }

/*---- Watermark ----*/
.watermark {
    position: relative;
}

.watermark img {
    max-width: 100%;
}

.watermark p {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    color: #fff;
    pointer-events: none;
    font-size: calc(300% + 0.5vw);
}

/*---- step ----*/
.related {
    counter-reset: step;
}

.step {
    padding: 0;
    margin-top: 4em;
    margin-left: 2em;
}

.step h4 {
    position: relative;
    margin: 0;
}

.step h4:before {
    content: counter(step);
    counter-increment: step;
    position: absolute;
    z-index: 2;
    left: -1.5em;
    top: -1.5em;
    background: #f5f5f5;
    height: 2.3em;
    width: 2.3em;
    border: .1em solid #ccc;
    text-align: center;
    font: italic bold 1.5em/2em Georgia, Serif;
    border-radius: 2.3em;
    transition: all .2s ease-out;
    margin: 0;
    padding: 0;
}

.step .media-view {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f5f5f5;
}

.step .media-view img {
    max-width: 100%;
    max-height: 25vmin;
}
