h1 {
    letter-spacing: 1px;
    font-size: 25px;
    font-weight: bold;
    line-height: 40px;
}
h2 {
    letter-spacing: 1px;
    font-size: 20px;
    padding: 5px 0 10px 25px;
    margin-bottom: 30px;
    font-weight: bold;
    position: relative;
    background: url(../images/h2-line.jpg) no-repeat;
    background-position: bottom;
}
h2.no-letter-spacing {
    letter-spacing: normal;
}
h2:before {
    content: "";
    position: absolute;
    top: -6px;
    left: 0;
    width: 10px;
    height: 100%;
    background: url(../images/h2-image.jpg) no-repeat;
    background-position: 88% 15%;
    box-shadow: 2px 0 3px 0 rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 2px 0 3px 0 rgba(0,0,0,0.5);
    -webkit-box-shadow: 2px 0 3px 0 rgba(0,0,0,0.5);
    -o-box-shadow: 2px 0 3px 0 rgba(0,0,0,0.5);
    -ms-box-shadow: 2px 0 3px 0 rgba(0,0,0,0.5);
}
h3 {
    letter-spacing: 1px;
    font-size: 14px;
    font-weight: bold;
    position:relative;
    padding: 8px 10px;
    margin-left: 40px;
    margin-bottom: 25px;
    background: url(../images/h3-background.jpg) no-repeat;
    background-position: center;
}
h3:before{
    position:absolute;
    top: -2px;
    left: -40px;
    content: "";
    display: inline-block;
    width: 35px;
    height: 35px;
    background: url(../images/h3-icon.jpg) no-repeat;
    background-size: contain;
}
.youtube {
    position: relative;
    max-width: 100%;
    padding-top: 56.25%;
}
.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}
iframe {
    max-width: 100%;
}
section {
    margin-bottom: 60px;
}
a {
    text-decoration: underline;
}
p {
    font-size: 14px;
    letter-spacing: 1.5px;
    line-height: 24px;
}
p.bg-gray {
    background: #f2f2f2;
    padding: 10px;
}
span.bg-yellow {
    font-weight: bold;
    background: #FFFDBC;
}
.ac {
    text-align: center;
}
.ar {
    text-align: right;
}

/*
 navbar
 */
nav.navbar {
    background: #edfaff;
    border-bottom: 1px solid #808080;
}
nav.navbar div.row{
    max-width: 800px;
    width: 100%;
    margin-left: auto!important;
    margin-right: auto!important;
}
nav.navbar div.row div.col-md-12{
    padding: 0;
}
nav.navbar .navbar-brand {
    display: inline-block;
    padding-top: 0;
}

/*
 main
 */
main div#main-div {
    border-right: 1px solid #808080;
    border-left: 1px solid #808080;
    max-width: 800px;
    padding: 20px 15px;
}
main div#main-div img {
    width: 100%;
}
main div#main-div p.h1-description {
    font-size: 20px;
    font-weight: bold;
}
main div#main-div p.name {
    font-weight: bold;
    margin-bottom: 0;
}
main div#main-div div.impressions {
    position: relative;
    height: 200px;
}
main div#main-div div.impressions-2 {
    margin-top: -30px;
}
main div#main-div div.impressions-3 {
    margin-top: -30px;
}
main div#main-div div.impressions img {
    padding: 0 15px;
    width: 180px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform : translateY(-50%);
}
main div#main-div div.impressions div.text-area {
    padding: 0 15px;
    margin-left: 180px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform : translateY(-50%);
}
main div#main-div div.impressions div.text-area p.name {
    font-weight: bold;
    margin-bottom: 5px;
}
main div#main-div div.impressions div.text-area p.bg-gray {
    margin-bottom: 0;
    padding: 20px;
}
main div#main-div div.movie {
    margin-bottom: 40px;
}
main div#main-div img.pink_button:hover {
    opacity: 0.8;
}
main div#main-div img.large-button {
    margin: 15px 0 30px;
    max-width: 500px;
}
main div#main-div div.search-container {
    margin-bottom: 30px;
    position: relative;
    height: 100px;
}
main div#main-div div.search-container p.search-text {
    font-size: 20px;
    line-height: 2rem;
    text-align: center;
    width: 65%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}
main div#main-div div.search-container a.small-button-wrapper {
    width: 35%;
    margin-left: 65%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}
main div#main-div div.search-container a.small-button-wrapper img.small-button {
    padding: 0;
}
main div#main-div p.company {
    margin-bottom: 0;
}

/*
 footer
 */
footer {
    background: #30befc;
    padding: 20px;
    color: #fff;
}
footer div#footer-div {
    max-width: 800px;
    width: 100%;
    margin-left: auto!important;
    margin-right: auto!important;
}
footer div#footer-div div {
    padding: 0;
}
footer div#footer-div div.left-footer {
    width: 440px;
    display: inline;
    float: left;
}
footer div#footer-div div.left-footer a {
    text-decoration: none;
}
footer div#footer-div div.left-footer a img#footer-logo-image {
    height: 42px;
}
footer div#footer-div div.left-footer p#copyright {
    display: inline;
    font-size: 8px;
    padding-left: 10px;
    letter-spacing: normal;
}
footer div#footer-div ul.footer-nav {
    margin-bottom: 0;
    line-height: 42px;
    padding: 0;
    float: right;
}
footer div#footer-div ul.footer-nav li {
    display: inline;
}
footer div#footer-div ul.footer-nav li a {
    color: #ffffff;
    font-size: 12px;
    list-style: none;
    text-decoration: none;
}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
    footer {
        text-align: center;
    }
    footer ul.footer-nav {
        text-align: center;
    }
}

@media (max-width: 800px) {
    nav.navbar div.row{
        margin-left: 0!important;
        margin-right: 0!important;
    }
    footer div#footer-div {
        margin-left: 0!important;
        margin-right: 0!important;
    }
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
    main div#main-div {
        border: none;
    }
    main div#main-div div.impressions {
        margin: 40px 0;
    }
    main div#main-div div.impressions-1 {
        height: 100px;
    }
    main div#main-div div.impressions-2 {
        height: 150px;
    }
    main div#main-div div.impressions-3 {
        height: 100px;
    }
    main div#main-div div.impressions img {
        padding: 0;
        width: 100px;
    }
    main div#main-div div.impressions div.text-area {
        padding: 0 15px 0;
        margin-left: 100px;
    }
    main div#main-div div.youtube.left-movie {
        margin-bottom: 20px;
    }
    main div#main-div img.furuya-san-image,
    main div#main-div img.talk-image-02 {
        margin-bottom: 20px;
    }
    main div#main-div div.search-container {
        margin: 30px 0;
        position: static;
        height: auto;
        text-align: center;
    }
    main div#main-div div.search-container p.search-text {
        width: 100%;
        position: static;
        margin-bottom: 20px;
        top: 0;
        transform: none;
        -ms-transform: none;
        -webkit-transform: none;
    }
    main div#main-div div.search-container a.small-button-wrapper {
        margin-left: 0;
        position: static;
        top: 0;
        transform: none;
        -ms-transform: none;
        -webkit-transform: none;
    }
    main div#main-div div.search-container a.small-button-wrapper img.small-button {
        max-width: 300px;
    }
    footer div#footer-div div.left-footer {
        display: initial;
        float: none;
    }
    footer div#footer-div div.left-footer p#copyright {
        margin-bottom: 0;
    }
    footer div#footer-div ul.footer-nav {
        float: none;
    }
    footer div#footer-div ul.footer-nav li a {
        font-size: 10px;
    }
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
    main div#main-div {
        padding: 20px 0;
    }
    main div#main-div div.impressions div.text-area p.bg-gray {
        padding: 10px;
    }
    main div#main-div p.pink-text {
        font-size: 16px;
    }
    main div#main-div div.search-container p.search-text {
        font-size: 16px;
    }
    footer div#footer-div div.left-footer p#copyright {
        display: block;
    }
}

@media (max-width: 400px) {
    main div#main-div div.impressions div.text-area p.name {
        font-size: 10px;
    }
    main div#main-div div.impressions div.text-area p.bg-gray {
        font-size: 12px;
    }
}