@import url('https://fonts.googleapis.com/css?family=Quicksand');

/* reset */
cite, pre {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
pre {
    /* Mozilla */
    white-space: -moz-pre-wrap;
    /* Opera 4-6 */
    white-space: -pre-wrap;
    /* Opera 7 */
    white-space: -o-pre-wrap;
    /* CSS3 */
    white-space: pre-wrap;
    /* IE 5.5+ */
    word-wrap: break-word;
}
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
body {
    color: #333;
    background-color: #fff;
    font-family: "YakuHanJPs", Helvetica, arial, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
}
img {
    user-select: none; /* CSS3 */
    -moz-user-select: none; /* Firefox */
    -webkit-user-select: none; /* Safari、Chromeなど */
    -ms-user-select: none; /* IE10かららしい */
}
h1 {
    margin: 0 0 30px 0;
    font-size: 20px;
}
h3 { font-weight:normal; }

p, ul, li, dt, dd, pre{
    letter-spacing: 1.1px;
    font-size: 14px;
}
ul {
    list-style : none;
}
hr{
    margin: 50px 0;
}

a {text-decoration: underline;}
a:link    { color: #77d }
a:visited { color: #559 }
a:hover   { color: #113 }
a:active  { color: #113 }
a .glyphicon {
    text-decoration: underline;
}
dl {
    margin: 10px 0;
}
dt {
    margin-top: 15px;
    font-size: 14px;
}
dd {
    font-size: 14px;
    margin: 5px 40px 15px 40px;
}
form { display:block; max-width:450px; }
input,
textarea { width:100%; padding:5px; border:1px solid #ccc; border-radius:5px; box-shadow:2px 2px 4px #eee; }
input.submit { cursor:pointer; width:auto; color:#fff; background:#999; padding:5px 20px; }
input.submit:hover { background:#333; }
.center {text-align: center;}


.container {
    max-width: 728px; /* 最大横幅 */
    width: 100%;
    margin: 0 auto;
}
.text-container h2 a{
    color:#000
}
.app_icon
{
    margin: 5px 0 0 0;
    width: 70px;
    height: 70px;
    border-style: solid;
    border-width: 1px;
    border-color: #eee;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
}
.app_title {
    margin-bottom: 5px;
    font-size: 15px;
}
.app_link {
    margin : 0;
    font-size: 13px;
}
.app_description {
    color: #555;
    margin : 10px 0px 40px 0px;
    font-size: 13px;
}

.font-small table{
    font-size:10px;
}

.mobile_vendor_dl_icon img{
    max-width: 180px;
    margin: 0 5px;
}

.big{
    font-size: larger;
}
.lightbox-images{
    margin: 0px;
}
.lightbox-images img{
    margin: 3px;
    border: 1px #ccc solid;
}

.twitter-timeline-wrap{
    clear: both;
    text-align: center;
    margin: 30px 0 50px 0;
}

.twitter-timeline-wrap > iframe {
    margin: auto;
}

#company-info h2.card-header{
    letter-spacing: 1.4px;
}
#company-info h3{
    letter-spacing: 1.1px;
}

/* site */

#site-head {
    margin: 80px auto 130px auto;
    text-align: center;
}

#site-head #site-head-title h1{
    margin: 150px 0px 25px 0;
}
#site-head #site-head-title h1 img{
    max-width: 220px;
}

#site-head #site-head-menu {
    margin-bottom: 100px;
}
#site-head #site-head-menu ul{
    padding: 0px;
    margin: 0px;
}
#site-head #site-head-menu ul li {
    font-size: 14px;
    display: inline;
    margin: 0 16px;
}
#site-head #site-head-menu ul li a {
    text-decoration: none;
}
#site-head #site-head-menu ul li i    { color: #555 }


#portfolio {
    text-align: center;
}

.portfolio-data {
    margin: 0px auto 150px auto;
    overflow: hidden;
}
.portfolio-data h2{
    color: #333;
    font-size: 19px;
    margin-bottom: 1px;
    letter-spacing: 1.4px;
}
.portfolio-data p{
    color: #999;
    font-size: 11px;
}
.portfolio-data a {
    text-decoration: none;
    display: inline-block;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    -ms-transition: 0.2s;
    transition: 0.2s;
}
.portfolio-data a:hover {
    -webkit-transform: scale(1.05,1.05);
    -moz-transform: scale(1.05,1.05);
    -o-transform: scale(1.05,1.05);
    -ms-transform: scale(1.05,1.05);
    transform: scale(1.05,1.05);
}

.portfolio-data img{
    max-width: 100%;
    width: 100%;
    height: auto;
}
#arrow {
    text-align:center;
    margin: 100px 0 0 0;
}
#arrow .fa {
    color: #333;
}
#copyright {
    text-align:center;
    margin: 150px 0 0 0;
}
#copyright p{
    color: #ccc;
    margin: 10px 0;
    letter-spacing: 1.3px;
}
#copyright p small{
    font-size: 14px;
}

#company-info {
}
#company-info section{
    margin-bottom: 50px;
}
#company-info #company-info-logo img{
    margin: 20px;
    padding: 15px;
    border: 3px #ccc double;
}
#company-info h2{
    font-weight:bold;
    font-size: 20px;
}
#company-info h3{
    font-weight:bold;
    font-size: 14px;
}
#company-info p{
    color: #555;
    font-size: 14px;
    margin-left: 20px;
}


#contact {
    font-family: 'Quicksand', sans-serif;
    text-align:center;
    margin: 0 auto;
    max-width: 450px;
}
#contact .form-area {  }
#contact h3{
    margin-bottom: 25px;
}
#contact #characterLeft{
    margin: 10px auto;
}
#contact .contact-confirm-wrap{
    text-align: left;
}
#contact .contact-confirm-text{
    color: #555;
    font-size: 14px;
    margin-left: 20px;

    /* Mozilla */
    white-space: -moz-pre-wrap;
    /* Opera 4-6 */
    white-space: -pre-wrap;
    /* Opera 7 */
    white-space: -o-pre-wrap;
    /* CSS3 */
    white-space: pre-wrap;
    /* IE 5.5+ */
    word-wrap: break-word;
}



/* product */

#product h2{
    font-size:18px;
    line-height:30px;
    font-weight:bold;
    margin:20px auto;
    font-style:normal;
}

#product-intro {
    text-align: center;
    margin: 90px auto 50px auto;
}
#product-intro .square_icon img{
    width: 100px;
    height: 100px;
    margin-bottom: 10px;
}
#product-intro .levelsplus_icon img{
    width: 380px;
    max-width: 100%;
}
#product-intro .star_icon img{
    width: 640px;
    max-width: 100%;
}

#product-info li {
    color: #555;
    font-size: 12px;
}
#product-info dt{
    color: #555;
    font-size: 14px;
    margin-left: 20px;
}
#product-info dd{
    color: #999;
    font-size: 12px;
}
#product-video {
    text-align: center;
    margin: 20px auto;
}
#product-video iframe {
    max-width: 100%;
    width: 560px;
    height:315px;
}
#product-video .common-video iframe {
    max-width: 100%;
    width: 360px;
    height:640px;
}
#product-info, #puppo-rule {
    text-align:left;
    margin-left:auto;
    margin-right:auto;
}
#product-info, #favo-rule {
    text-align:left;
    margin-left:auto;
    margin-right:auto;
}
#product-info h3{
    font-size: 14px;
    letter-spacing: 1.1px;
    margin: 20px auto;
}
#product-feature-list {
    margin-bottom: 30px;
}
#product-feature-list p{
    margin-left: 40px;
    margin-bottom: 30px;
}

#puppo-rule{
    font-family: 'Quicksand', sans-serif;
    text-align: center;
}
#puppo-rule img{
    margin: 20px auto;
}
#puppo-rule h2{
    font-size: 28px;
    font-weight: bold;
    font-style: italic;
}
#puppo-rule small{
    font-size: 12px;
    color: #999;
}
#puppo-rule h3{
    font-size: 18px;
    font-weight: bold;
    font-style: italic;
}
#puppo-rule p{
    font-size: 16px;
    margin-bottom: 80px;
}
#puppo-rule .puppo-ja{
    font-size: 12px;
    color: #999;
}
#puppo-rule th{
    background-color: #eee;
}

#favo-rule{
    font-family: 'Quicksand', Helvetica, arial, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
    text-align: center;
}
#favo-rule img{
    margin: 20px auto;
}
#favo-rule h2{
    font-size: 28px;
    font-weight: bold;
    font-style: italic;
}
#favo-rule small{
    font-size: 12px;
    color: #999;
}
#favo-rule h3{
    font-size: 18px;
    font-weight: bold;
    font-style: italic;
}
#favo-rule p{
    font-size: 14px;
    margin-bottom: 80px;
    color: #555;
}
#favo-rule table{
    text-align: left;
    font-family: Helvetica, arial, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
    margin-top: -60px;
    margin-bottom: 50px;
}
#favo-rule th{
    text-align: left;
}
#favo-rule .review-title {
    font-weight: bold;
}
#favo-rule dd{
    margin: 0px;
}


ul.sns-buttons{
    margin-top: 20px;
    padding:0;
    text-align: center;
}
ul.sns-buttons li{
    display:inline-block;
    margin: 0 10px;
    padding: 0;
    font-size: 30px;
}

a.facebook-like, a:visited.facebook-like {
    color: #3b5998;
}
a.twitter-tweet, a:visited.twitter-tweet {
    color: #00aced;
}
a:hover.facebook-like {
    color: #17233c;
}
a:hover.twitter-tweet {
    color: #0084b4;
}

#apps {
    text-align:left;
}
#menu {
    text-align: center;
    margin-left:auto;
    margin-right:auto;
}



#door-list img {
    margin: 10px;
}
#door-top .card-header a{
    cursor: text;
}
#door-top a{
    text-decoration: none;
    color : #333
}

#door{
    margin: 50px auto 0 auto;
}
#door-form {
    margin: 0 auto;
    text-align: center;
}
#door-form #door-open-img {
    cursor:pointer;
    width: 300px;
    border: none;
    outline: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

#door-open{
    margin: 50px auto;
    text-align: center;
}
#company-info p.door-serif{
    margin: 20px auto;
    font-size: 16px;
    color : #333;
    font-style: italic;
}
#company-info p.door-meaning{
    font-size: 13px;
    color : #555;
}

#fade-in {
    animation: fadeIn 5s ease 0s 1 normal;
    -webkit-animation: fadeIn 5s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

/* Colors from Puppo! */
.red
{
    color : #c0392b;
}
.blue
{
    color : #3399cc;
}
.green
{
    color : #f1c40e;
}
.yellow
{
    color : #48c254;
}
.beige
{
    color : #EDD3B0;
}
.lightgray
{
    color : #e9e9e9;
}
.gray
{
    color : #777777;
}
.darkgray
{
    color : #333333;
}

.white
{
    color : #ffffff;
}
img.preload{
    width: 0px;
    height: 0px;
    display:none;
}

.card-body{
    padding: 40px;
}
.card-text{
    padding-bottom: 10px;
}


@media screen and (orientation: landscape) {
    /* 横向きの場合のスタイル */
    h1 {
        margin: 0 0 0 0;
    }
    #site-head {
        margin: 0px auto 30px auto;
        text-align: center;
    }
}

@media (max-width: 767px) {
    .card-body{
        padding: 15px;
    }
    #site-head #site-head-menu {
        margin-bottom: 10px;
    }
    #site-head #site-head-title h1{
        margin: 10px 0 25px 0;
    }
    .lightbox-images img{
        width: 100px;
    }
    #arrow {
        margin: 50px 0 0 0;
    }
    #copyright {
        margin: 50px 0 0 0;
    }
    .mobile_vendor_dl_icon img{
        max-width: 145px;
        margin: 0 0;
    }
    #product-intro .levelsplus_icon img{
        width: 320px;
        max-width: 100%;
    }


}

/* ====================================================
　改行位置
==================================================== */
@media print, screen and (min-width: 768px) {
    br.sp { display: none; }
    br.pc { display: inline; }
}
@media screen and (max-width: 767px) {
    br.sp { display: inline; }
    br.pc { display: none; }
}