/* =============================================================================================== */
/* デフォルト設定(各種問題回避・ブラウザ毎の初期設定の影響回避)                                    */
/* =============================================================================================== */
body, header, footer, address, p, h1, h2, h3, h4, h5, h6, ul, li, a, div, img, form, select, dl, dt, dd, button, i {
    padding: 0;
    margin:  0;
    border: none;
    box-shadow: none;
    font-style: normal;
}
li {
    list-style:none;
}
a {
    display: inline-block;
    color: inherit;
    text-decoration: none;
}
img {
    backface-visibility: hidden;
    border: 0px;
    vertical-align: bottom;
}
h1,h2,h3,h4,h5,h6 {
    display: inline-block;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    font-weight: bold;
}
/* =============================================================================================== */
/* デフォルト設定(共通)                                                                            */
/* =============================================================================================== */
#wrapper {
    position:relative;
    height:100%
    z-index: 0;
}
body>#wrapper {
    height:auto;
    min-height:100%
}
/* =============================================================================================== */
/* デフォルト設定(汎用演出用)                                                                      */
/* =============================================================================================== */
/* Hover時:半透過 */
.hover,
.hover img,
.hover div {
    transition: 0.6s;
}
.hover:hover,
.hover:hover img,
.hover:hover div {
    opacity: 0.6;
}
/* Hover時:アンダーライン表示／非表示 */
.underlineN:hover {
    text-decoration: underline;
}
.underlineU {
    text-decoration: underline;
}
.underlineU:hover {
    text-decoration: none;
}
/* FadeIn */
.fadeIn {
    opacity: 0;
    transition: 1s;
}
.fadeIn.fromL {
    transform: translateX(-30px);
}
.fadeIn.fromR {
    transform: translateX(30px);
}
.fadeIn.fromT {
    transform: translateY(-30px);
}
.fadeIn.fromB {
    transform: translateY(30px);
}
.fadeIn.active {
    opacity: 1;
    transform: translateX(0px);
    transform: translateY(0px);
}
/* Botton Hover : Reverse */
.btn_effect {
    position: relative;
    z-index: 2;
    overflow: hidden;
}
.btn_effect:before {
    content: "";
    display: inline-block;
    width:  100%;
    height: 100%;
    background: #ffffff;
    transition: -webkit-transform .3s cubic-bezier(.215, .61, .355, 1);
    transition:         transform .3s cubic-bezier(.215, .61, .355, 1);
    transition:         transform .3s cubic-bezier(.215, .61, .355, 1), -webkit-transform .3s cubic-bezier(.215, .61, .355, 1);
    -webkit-transform: scale3d(0, 1, 1);
            transform: scale3d(0, 1, 1);
    -webkit-transform-origin: right;
        -ms-transform-origin: right;
            transform-origin: right;

    position: absolute;
    top:  0;
    left: 0;
    z-index: -1;
}
.btn_effect:hover:before {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
    -webkit-transform-origin: left;
        -ms-transform-origin: left;
            transform-origin: left;
}
/* =============================================================================================== */
/* デフォルト設定(サイト毎)                                                                        */
/* =============================================================================================== */
body {
    color:#000000;
    width:100%;
    height:100%;
    -webkit-text-size-adjust:100%;
    background:#ffffff;
    font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Yu Gothic Medium', '游ゴシック  Medium', meiryo, sans-serif;
    letter-spacing: normal;
    font-size: 16px;
    line-height: 1.8;
}
@media screen and (max-width: 640px) {
    body {
        font-size: 3vw;
    }
}
/* =============================================================================================== */
/* スマホ対応用                                                                                    */
/* =============================================================================================== */
.cd_sp_only {
    display: none !important;
}
@media (max-width: 768px) {
    .cd_pc_only  { display: none   !important; }
    div.cd_sp_only  { display: block  !important; }

    br.cd_sp_only,
    span.cd_sp_only,
    img.cd_sp_only {
        display: inline !important;
    }
}

