@import url(https://fonts.googleapis.com/css?family=Lato:400,700);
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
body {
    margin: 0;
    padding: 0;
    background: #FFF;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a:hover {
    text-decoration: none;
    cursor: pointer;
}

a,
button {
    outline: none!important;
}


/* Prevent ugly blue glow on chrome and safari */


/* Globals type styling */

h1,
h2,
h3,
h4,
h5,
h6,
p,
label,
.btn,
a {
    font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 300;
}

.text {
    display: inline-block;
}


/* Site container width */

.container {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
}


/* = Blocs
-------------------------------------------------------------- */

.bloc {
    width: 100%;
    clear: both;
    background: 50% 50% no-repeat;
    padding: 0 50px;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    position: relative;
}

.bloc .container {
    padding-left: 0;
    padding-right: 0;
}


/* Sizes */

.bloc-xxl {
    padding-top: 200px;
    padding-right: 50px;
    padding-bottom: 200px;
    padding-left: 50px;
}

.bloc-xl {
    padding: 150px 50px;
}

.bloc-lg {
    padding: 100px 50px;
}

.bloc-md {
    padding: 50px;
}


/* Background Styles */

.bg-center,
.bg-l-edge,
.bg-r-edge,
.bg-t-edge,
.bg-b-edge,
.bg-tl-edge,
.bg-bl-edge,
.bg-tr-edge,
.bg-br-edge,
.bg-repeat {
    -webkit-background-size: auto!important;
    -moz-background-size: auto!important;
    -o-background-size: auto!important;
    background-size: auto!important;
}

.bg-t-edge {
    background: top no-repeat;
}

    .ph_pc {
        display: block !important; 
    }
    .ph_sp {
        display:none !important;
    }


/* Background Effects */

.b-parallax {
    background-attachment: fixed;
}


/* Dark theme */

.d-bloc {
    color: rgba(255, 255, 255, .7);
}

.d-bloc button:hover {
    color: rgba(255, 255, 255, .9);
}

.d-bloc h1,
.d-bloc h2,
.d-bloc h3,
.d-bloc h4,
.d-bloc h5,
.d-bloc h6,
.d-bloc .ico {
    color: rgba(255, 255, 255, .9);
}

.d-bloc .icon-round,
.d-bloc .icon-square,
.d-bloc .icon-rounded,
.d-bloc .icon-semi-rounded-a,
.d-bloc .icon-semi-rounded-b {
    border-color: rgba(255, 255, 255, .9);
}

.d-bloc .divider-h span {
    border-color: rgba(255, 255, 255, .2);
}

.d-bloc a {
    color: rgba(255, 255, 255, .6);
}

.d-bloc a:hover {
    color: rgba(255, 255, 255, 1);
}

.d-bloc .navbar-toggle .icon-bar {
    background: rgba(255, 255, 255, 1);
}

.d-bloc .btn-wire,
.d-bloc .btn-wire:hover {
    color: rgba(255, 255, 255, 1);
    border-color: rgba(255, 255, 255, 1);
}

.d-bloc .panel {
    color: rgba(0, 0, 0, .5);
}

.d-bloc .panel button:hover {
    color: rgba(0, 0, 0, .7);
}

.d-bloc .panel h1,
.d-bloc .panel h2,
.d-bloc .panel h3,
.d-bloc .panel h4,
.d-bloc .panel h5,
.d-bloc .panel h6,
.d-bloc .ico {
    color: rgba(0, 0, 0, .7);
}

.d-bloc .panel icon {
    border-color: rgba(0, 0, 0, .7);
}

.d-bloc .panel .divider-h span {
    border-color: rgba(0, 0, 0, .1);
}

.d-bloc .panel a {
    color: rgba(0, 0, 0, .6);
}

.d-bloc .panel a:hover {
    color: rgba(0, 0, 0, 1);
}

.d-bloc .panel .btn-wire,
.d-bloc .panel .btn-wire:hover {
    color: rgba(0, 0, 0, .7);
    border-color: rgba(0, 0, 0, .3);
}


/* Light theme */

.l-bloc {
    color: rgba(0, 0, 0, .5);
}

.l-bloc button:hover {
    color: rgba(0, 0, 0, .7);
}

.l-bloc h1,
.l-bloc h2,
.l-bloc h3,
.l-bloc h4,
.l-bloc h5,
.l-bloc h6,
.l-bloc .ico {
    color: rgba(0, 0, 0, .7);
}

.l-bloc .icon-round,
.l-bloc .icon-square,
.l-bloc .icon-rounded,
.l-bloc .icon-semi-rounded-a,
.l-bloc .icon-semi-rounded-b {
    border-color: rgba(0, 0, 0, .7);
}

.l-bloc .divider-h span {
    border-color: rgba(0, 0, 0, .1);
}

.l-bloc a {
    color: rgba(0, 0, 0, .6);
}

.l-bloc a:hover {
    color: rgba(0, 0, 0, 1);
}

.l-bloc .navbar-toggle .icon-bar {
    color: rgba(0, 0, 0, .6);
}

.l-bloc .btn-wire,
.l-bloc .btn-wire:hover {
    color: rgba(0, 0, 0, .7);
    border-color: rgba(0, 0, 0, .3);
}


/* Row Margin Offsets */

.voffset {
    margin-top: 30px;
}

.voffset-lg {
    margin-top: 80px;
}


/* Dividers */

.b-divider {
    border-top: 1px solid rgba(0, 0, 0, .1);
    border-bottom: 1px solid rgba(0, 0, 0, .1);
}

.b-divider-dashed {
    border-top: 1px dashed rgba(0, 0, 0, .1);
    border-bottom: 1px dashed rgba(0, 0, 0, .1);
}

.text-divider {
    border-top: 1px solid rgba(0, 0, 0, .1);
    padding-top: 10px;
    padding-bottom: 10px;
}


/* Bloc text custom styling */

.jusuttxt {
    text-align: justify;
    text-justify: inter-ideograph;
}

#vol0 h2 {
    font-weight: 700;
    font-size: 50px;
    line-height: 1.3;
}

#vol0 h3 {
    line-height: 40px;
}

#vol0 p {
    font-weight: 400;
    line-height: 1.8;
    font-size: 16px;
    padding-right: 20px;
}

#vol01 h2 {
    font-size: 60px;
    font-weight: 100;
}

#vol01 h3 {
    font-weight: 300;
    font-size: 30px;
}

#vol01 p {
    font-size: 16px;
    line-height: 1.7;
    padding-right: 10px;
    padding-left: 10px;
    text-align: justify;
    text-justify: inter-ideograph;
}

#vol01 h4 {
    font-size: 25px;
    line-height: 1.3;
    padding-left: 10px;
}

#vol02 h2 {
    font-size: 60px;
    font-weight: 100;
}

#vol02 p {
    line-height: 1.7;
    font-size: 16px;
    text-align: justify;
    text-justify: inter-ideograph;
    padding-right: 10px;
    padding-left: 10px;
}

#vol02 h3 {
    font-family: "Noto Sans JP", font-weight: 100;
    font-size: 30px;
}

#vol02 h4 {
    font-family: "Noto Sans JP", font-weight: 100;
    font-size: 25px;
    line-height: 1.3;
    padding-left: 10px;
}

#vol03 h2 {
    font-size: 60px;
    font-weight: 100;
}

#vol03 p {
    line-height: 1.7;
    font-size: 16px;
    padding-right: 20px;
    padding-left: 20px;
    text-align: justify;
    text-justify: inter-ideograph;
}

#vol03 h3 {
    font-family: "Noto Sans JP", font-weight: 100;
    font-size: 30px;
}

#vol03 h4 {
    font-family: "Noto Sans JP", font-weight: 100;
    font-size: 25px;
    line-height: 1.3;
    padding-left: 20px;
}

#kokuin h3 {
    font-weight: 400;
}

#kokuin p {
    line-height: 1.8;
    font-size: 20px;
    font-family: "Noto Sans JP";
}


/* = NavBar
-------------------------------------------------------------- */

.navbar {
    margin-bottom: 0;
    z-index: 1;
}

.navbar-brand {
    height: auto;
    padding: 15px 15px;
    font-size: 25px!important;
    font-weight: normal;
    font-weight: 600;
}

.navbar-brand img {
    max-height: 200px;
    margin: 0 5px 0 0;
    display: inline;
}

.navbar-brand {
    padding: 15px 15px;
}

.navbar .nav {
    padding-top: 2px;
    margin-right: -16px;
    float: right;
    z-index: 1;
}

.nav>li {
    float: left;
    margin-top: 4px;
    font-size: 16px;
}

.navbar-nav .open .dropdown-menu>li>a {
    text-align: inherit;
}

.nav>li a:hover,
.nav>li a:focus {
    background: transparent;
}

.navbar-toggle {
    margin: 10px 10px 0 0;
    border: 0px;
}

.navbar-toggle:hover {
    background: transparent!important;
}

.navbar-toggle .icon-bar {
    background-color: rgba(0, 0, 0, .5);
    width: 26px;
}


/* Inverted navbar */

.nav-invert .navbar .nav {
    float: left;
}

.nav-invert .navbar-header,
.nav-invert .navbar-brand {
    float: right;
}

@media (min-width: 768px) {
    .site-navigation {
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translate(0, -50%);
        -webkit-transform: translateY(-50%);
    }
    .nav-invert .site-navigation {
        left: 20px;
        right: 0;
    }
    .nav-center {
        text-align: center;
    }
    .nav-center .navbar-header {
        width: 100%;
    }
    .nav-center .navbar-header,
    .nav-center .navbar-brand,
    .nav-center .nav>li {
        float: none;
        display: inline-block;
    }
    .nav-center .site-navigation {
        position: relative;
        width: 100%;
        margin-top: 20px;
    }
}

.nav>li>.dropdown a {
    background: none!important;
    display: block;
    padding: 14px 15px;
}

nav .caret {
    margin: 0 5px;
}

.hero .hero-nav {
    padding-left: inherit;
    padding-right: inherit;
}


/* = Bric adjustment margins
-------------------------------------------------------------- */

.mg-clear {
    margin: 0;
}

.mg-md {
    margin-bottom: 20px;
}

.mg-lg {
    margin-top: 10px;
    margin-bottom: 40px;
}


/* = Buttons
-------------------------------------------------------------- */

.btn {
    margin: 0 5px 5px 0;
}

.btn.pull-right {
    margin: 0 0 5px 10px;
}

.btn-d,
.btn-d:hover,
.btn-d:focus {
    color: #FFF!important;
    background: rgba(0, 0, 0, .3);
}


/* Prevent ugly blue glow on chrome and safari */

button {
    outline: none!important;
}

.icon-spacer {
    margin-right: 5px;
}

.dropdown a .caret {
    margin: 0 0 0 5px
}


/* = Icons
-------------------------------------------------------------- */

.icon-sm {
    font-size: 18px!important;
}

.icon-md {
    font-size: 30px!important;
}


/* = Text Widths
-------------------------------------------------------------- */

.text-w-md {
    max-width: 300px;
}

.text-w-lg {
    max-width: 400px;
}

.text-center.text-w-sm,
.text-center.text-w-md,
.text-center.text-w-lg {
    margin-left: auto;
    margin-right: auto;
}

.panel-sq,
.panel-sq .panel-heading,
.panel-sq .panel-footer {
    border-radius: 0;
}

.panel-rd {
    border-radius: 30px;
}

.panel-rd .panel-heading {
    border-radius: 29px 29px 0 0;
}

.panel-rd .panel-footer {
    border-radius: 0 0 29px 29px;
}


/* Empty space fillers - Used on empty blocs to fill them out */

.empty-column,
.empty-column.thin {
    width: 100%;
    height: 350px;
    display: inline-block;
}

.empty-column {
    height: 350px;
}

.empty-column.thin {
    height: 150px;
}


/* iFrame */

iframe {
    border: 0;
}


/* = Custom Colour Styling
-------------------------------------------------------------- */


/* Background colour styles */

.bgc-white {
    background-color: #fcfcfc;
}


/* Text colour styles */

.tc-onyx {
    color: #071818!important;
}


/* Button colour styles */

.btn-taupe-gray {
    background: #8B8F97;
    color: #FFFFFF!important;
}

.btn-taupe-gray:hover {
    background: #6f7279;
    color: #FFFFFF!important;
}

.btn-carnelian {
    background: #A91514;
    color: #FFFFFF!important;
}

.btn-carnelian:hover {
    background: #871110;
    color: #FFFFFF!important;
}


/* Icon colour styles */

.icon-white {
    color: #ffffff!important;
    border-color: #ffffff!important;
}


/* Bloc image backgrounds */

.bg-kokuin-CG-825x510 {
    background-image: url("img/kokuin_CG-825x510.jpg");
}

.bg-01 {
    background-image: url("img/01.jpg");
}

.bg-02 {
    background-image: url("img/02.jpg");
}

.bg-03 {
    background-image: url("img/03.jpg");
}

.bg-TALKshow02 {
    background-image: url("img/TALKshow02.jpg");
}


/* = Mobile adjustments 
-------------------------------------------------------------- */

@media (max-width: 1024px) {
    .bloc {
        padding-left: 20px;
        padding-right: 20px;
    }
    #vol0 h2 {
        font-size: 38px;
        line-height: 1.3
    }
}

@media (max-width: 768px) {
    .container {
        width: 100%;
    }
    .b-parallax {
        background-attachment: scroll;
    }
    .page-container,
    #hero-bloc {
        overflow-x: hidden;
        position: relative;
    }
    /* Prevent unwanted side scroll on mobile */
}

@media (max-width: 767px) {
    .page-container {
        overflow-x: hidden;
        position: relative;
    }
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p {
        padding-left: 10px!important;
        padding-right: 10px!important;
    }
    #hero-bloc h1 {
        font-size: 40px;
    }
    #hero-bloc h2 {
        font-size: 34px;
    }
    #hero-bloc h3 {
        font-size: 25px;
    }
    .bloc {
        padding-left: 0;
        padding-right: 0;
        -webkit-background-size: auto 200%;
        -moz-background-size: auto 200%;
        -o-background-size: auto 200%;
        background-size: auto 200%;
    }
    .b-parallax {
        background-attachment: scroll;
    }
    .navbar .nav {
        padding-top: 0;
        border-top: 1px solid rgba(0, 0, 0, .2);
        float: none!important;
    }
    .navbar.row {
        margin-left: 0;
        margin-right: 0;
    }
    .site-navigation {
        position: inherit;
        transform: none;
        -webkit-transform: none;
        -ms-transform: none;
    }
    .nav>li {
        margin-top: 0;
        border-bottom: 1px solid rgba(0, 0, 0, .1);
        background: rgba(0, 0, 0, .05);
        text-align: left;
        padding-left: 15px;
        width: 100%;
    }
    .nav>li:hover {
        background: rgba(0, 0, 0, .08);
    }
    #hero-bloc .navbar .nav {
        background: rgba(0, 0, 0, .8);
    }
    #hero-bloc .navbar .nav a {
        color: rgba(255, 255, 255, .6);
    }
    .hero {
        padding: 50px 0;
    }
    .hero-nav {
        left: -1px;
        right: -1px;
    }
    .navbar-collapse {
        padding: 0;
        overflow-x: hidden;
        -webkit-box-shadow: none;
        box-shadow: none;
    }
    .navbar-brand img {
        max-height: 40px;
        width: auto;
        margin: -10px 10px 0 0;
    }
    .nav-invert .navbar-header {
        float: none;
        width: 100%;
    }
    .nav-invert .navbar-toggle {
        float: left;
    }
    .btn.pull-left,
    .btn.pull-right {
        float: none!important;
    }
    .bloc-group .bloc {
        display: block;
        width: 100%;
    }
    .bloc-tile-2 .container,
    .bloc-tile-3 .container,
    .bloc-tile-4 .container {
        padding-left: 10px;
        padding-right: 10px;
    }
    .bloc-xxl,
    .bloc-xl,
    .bloc-lg {
        padding: 40px 0;
    }
    .bloc-sm,
    .bloc-md {
        padding-left: 0;
        padding-right: 0;
    }
    .a-block {
        padding: 0 10px;
    }
    .btn-dwn {
        display: none;
    }
    .voffset {
        margin-top: 5px;
    }
    .voffset-md {
        margin-top: 20px;
    }
    .voffset-lg {
        margin-top: 30px;
    }
    form {
        padding: 5px;
    }
    .close-lightbox {
        display: inline-block;
    }
    .col-xs-2,
    .col-sm-2,
    .col-md-2,
    .col-lg-2,
    .col-xs-3,
    .col-sm-3,
    .col-md-3,
    .col-lg-3,
    .col-xs-4,
    .col-sm-4,
    .col-md-4,
    .col-lg-4,
    .col-xs-5,
    .col-sm-5,
    .col-md-5,
    .col-lg-5,
    .col-xs-6,
    .col-sm-6,
    .col-md-6,
    .col-lg-6,
    .col-xs-7,
    .col-sm-7,
    .col-md-7,
    .col-lg-7,
    .col-xs-8,
    .col-sm-8,
    .col-md-8,
    .col-lg-8,
    .col-xs-9,
    .col-sm-9,
    .col-md-9,
    .col-lg-9,
    .col-xs-10,
    .col-sm-10,
    .col-md-10,
    .col-lg-10,
    .col-xs-11,
    .col-sm-11,
    .col-md-11,
    .col-lg-11,
    .col-xs-12,
    .col-md-12,
    .col-lg-12 {
        margin-top: 30px;
        margin-bottom: 50px;
    }
    .video-bg-contianer {
        display: none;
    }
    #vol0 h2 {
        font-size: 31px;
        line-height: 1.3;
        text-align: center;
    }
    #vol03 .col-sm-2,
    #bloc-3,
    #bloc-6,
    #bloc-9 {
        display: none;
    }
    .underline {
        border-bottom-style: solid;
        border-bottom-color: #999;
        border-bottom-width: 1px;
    }
    .text-right {
        text-align: center;
    }
    .ph_pc {
        display: none !important;
    }
    .ph_sp {
        display: block !important;
    }
}