@charset "UTF-8";
/* CSS Document */

/*-----------------------------------------------------
reset
-----------------------------------------------------*/

body,
div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dt,
dd,
ul,
ol,
li,
brockquote,
pre,
table,
caption,
th,
td,
address,
form,
fieldset,
legend,
object,
nav {
    margin: 0;
    padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
pre,
table,
code,
kbd,
samp,
acronym,
input,
textarea {
    font-size: 100%;
}

a,
ins {
    text-decoration: none;
}

address,
em,
cite,
dfn,
var {
    font-style: normal;
}

input,
textarea {
    font-family: sans-serif;
    font-weight: normal;
}

img,
a img {
    border: none;
}

ul,
ol {
    list-style-type: none;
}

/*-----------------------------------------------------
styling
-----------------------------------------------------*/

body {
    font: 14px 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', "Helvetica", "Arial", sans-serif;
    color: #535353;
}

@font-face {
    font-family: 'logotype-gothic';
    src: url('fonts/logotype-gothic.eot'), url('fonts/logotype-gothic.woff') format('woff'), url('fonts/logotype-gothic.ttf') format('truetype');
}

h2,
h3,
h4 {
    margin: 30px 0 20px;
}

h1 {
    margin: 0 0 20px;
    font-size: 21px;
    color: #1d6eb6;
    text-align: left;
    line-height: 1.5em;
}

h2 {
    padding-left: 10px;
    border-left: solid 6px #1d6eb6;
    font-size: 21px;
    font-weight: bold;
    line-height: 1.2em;
}

h3 {
    font-size: 18px;
    color: #1d6eb6;
    line-height: 1.5em;
}

h4 {
    padding-left: 10px;
    border-left: solid 6px #d2d2d2;
    font-size: 16px;
    line-height: 1.5em;
}

p {
    margin-bottom: 14px;
    line-height: 1.8;
}

a,
a:active,
a:visited {
    color: #1d6eb6;
}

a.btn-primary,
a:active.btn-primary,
a:visited.btn-primary {
    color: #ffffff;
}

a:hover {
    text-decoration: underline;
}

table {
    width: 100%;
}

th,
td {
    padding: 8px;
    border: solid 1px #d2d2d2;
}

th {
    background-color: #1d6eb6;
    color: #ffffff;
    text-align: center;
}

tr {
    background-color: #ffffff;
}

tr:nth-child(2n) {
    background-color: #f2f6fb;
}

.alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
}

.alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/*-----------------------------------------------------
layout
-----------------------------------------------------*/

.wrapper {
    position: relative;
    min-height: 800px;
    padding-top: 80px;
}

section {
    padding: 80px 0;
}

.contents,
.inner,
.header-inner {
    position: relative;
    width: 1024px;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .wrapper {
        position: relative;
        padding-top: 56px;
    }
    section {
        padding: 60px 0;
    }
    .contents,
    .inner,
    .header-inner {
        width: 94%;
        margin: 0 auto;
    }
}

/*-----------------------------------------------------
header
-----------------------------------------------------*/

/* header */

header {
    position: relative;
}

header.top {
    height: 700px;
    background: url(images/girlsb/bg_mv.jpg) center center / cover no-repeat;
}

header.sub {
    height: 140px;
    background: url(images/girlsb/bg-header-sub.jpg) center center / cover no-repeat;
}

.header-inner {
    height: 700px;
}

h1.logo-area {
    float: left;
    padding-top: 24px;
    text-align: left;
}

#navToggle {
    display: none;
}

nav {
    float: right;
    padding-top: 35px;
}

.global-nav ul li {
    display: inline-block;
    margin-left: 24px;
}

.global-nav ul li a,
.global-nav ul li a:active,
.global-nav ul li a:visited {
    color: #000000;
    padding-bottom: 4px;
}

.global-nav img:hover {
    filter: drop-shadow(0px 0px 6px #1e6eb7);
    -webkit-filter: drop-shadow(0px 0px 6px #1e6eb7);
}

.catch {
    position: absolute;
    bottom: 100px;
    right: 0px;
}

@media screen and (max-width: 768px) {
    header.top {
        height: 360px;
    }
    header.sub {
        height: 100px;
        background: url(images/girlsb/bg-header-sub.jpg) center right / cover no-repeat;
    }
    .header-inner {
        height: 360px;
    }
    header.top h1 {
        padding-top: 10px;
    }
    header h1 img {
        width: 68%;
        height: auto;
    }
    img.catch {
        width: 90%;
        height: auto;
        bottom: 30px;
    }
    #navToggle {
        display: block;
        position: absolute;
        right: 0;
        top: 13px;
        width: 30px;
        height: 25px;
        cursor: pointer;
    }
    #navToggle div {
        position: relative;
    }
    #navToggle span {
        display: block;
        position: absolute;
        width: 100%;
        border-bottom: solid 3px #1e6eb7;
        -webkit-transition: .35s ease-in-out;
        -moz-transition: .35s ease-in-out;
        transition: .35s ease-in-out;
        z-index: 2;
    }
    #navToggle span:nth-child(1) {
        top: 0;
    }
    #navToggle span:nth-child(2) {
        top: 11px;
    }
    #navToggle span:nth-child(3) {
        top: 22px;
    }
    nav {
        position: absolute;
        right: 0;
        top: -300px;
        background: rgba(255, 255, 255, .9);
        width: 36%;
        padding: 0 10px;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
        text-align: left;
        z-index: 1;
    }
    .global-nav ul li {
        display: none;
    }
    .openNav ul {
        margin: 0;
        padding-top: 40px;
    }
    .openNav ul li {
        display: block;
        margin: 0;
        padding-left: 8px;
        border-bottom: dotted 1px #d2d2d2;
        line-height: 3;
    }
    .openNav ul li a {
        display: block;
    }
    .openNav ul li::after {
        content: '';
    }
    .openNav ul li:last-child {
        border-bottom: none;
    }
    .openNav #navToggle span:nth-child(1) {
        top: 11px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
    .openNav #navToggle span:nth-child(2),
    .openNav #navToggle span:nth-child(3) {
        top: 11px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    .openNav nav {
        -moz-transform: translateY(300px);
        -webkit-transform: translateY(300px);
        transform: translateY(300px);
    }
}

/*-----------------------------------------------------
contents
-----------------------------------------------------*/

/* top */

.top h1,
.top h3 {
    margin-bottom: 10px;
}

.top h1 {
    text-align: center;
}

p.subtitle {
    overflow: hidden;
    margin-bottom: 40px;
    text-align: center;
}

p.subtitle span {
    font-family: 'logotype-gothic', sans-serif;
    position: relative;
    display: inline-block;
    margin: 0 2.5em;
    padding: 0 1em;
    font-size: 16px;
    color: #ea68a2;
}

p.subtitle span::before,
p.subtitle span::after {
    position: absolute;
    top: 50%;
    content: '';
    width: 36px;
    height: 1px;
    background-color: #aaaaaa;
}

p.subtitle span::before {
    right: 100%;
}

p.subtitle span::after {
    left: 100%;
}

.top h3 {
    font-size: 14px;
    text-align: left;
    line-height: 1.8em;
}

/* news */

.news-area {
    display: flex;
    display: -webkit-flex;
    flex-flow: nowrap;
    -webkit-flex-flow: nowrap;
    justify-content: space-between;
    -webkit-justify-content: space-between;
}

.news-box {
    width: 320px;
    margin: 0 auto;
}

.news-box h2 {
    height: 24px;
    position: relative;
    border-left: none;
    border-bottom: solid 1px #d2d2d2;
    padding-bottom: 24px;
    margin: 0 0 40px;
    font-size: 18px;
}

.news-box h2.nw01::before {
    position: absolute;
    content: url(images/girlsb/h2-news.png);
    left: 0;
}

.news-box h2.nw02::before {
    position: absolute;
    content: url(images/girlsb/h2-event.png);
    left: 0;
}

.news-box h2.nw03::before {
    position: absolute;
    content: url(images/girlsb/h2-report.png);
    left: 0;
}

.news-box h2::after {
    position: absolute;
    content: url(images/girlsb/icon-circle.png);
    top: 50%;
    right: 0;
}

p.renewal {
    margin-bottom: 6px;
    font-size: 12px;
}

.read-more {
    width: 150px;
    margin-top: 20px;
    padding: 10px 12px;
    border: solid 1px #aaaaaa;
    background-color: #1d6eb6;
    border-radius: 0;
    text-align: center;
    color: #ffffff !important;
    position: relative;
    left: 25%;
}

@media screen and (max-width: 768px) {
    .news-area {
        display: flex;
        display: -webkit-flex;
        flex-flow: wrap;
    }
    .news-box {
        width: 100%;
        padding-bottom: 40px;
    }
    .news-box h2 {
        margin-bottom: 40px;
    }
    .read-more {
        width: 120px;
        margin-top: 10px;
        padding: 6px 12px;
        text-align: center;
        color: #ffffff !important;
        position: relative;
        left: 0;
    }
}

/* schedule */

.schedule {
    background-color: #fbfbfb;
    border-top: solid 1px #f6f6f6;
    border-bottom: solid 1px #f6f6f6;
}

@media screen and (max-width: 768px) {
    .schedule {
        background-color: #f6f6f6;
        border-top: solid 1px #eeeeee;
        border-bottom: solid 1px #eeeeee;
    }
}

/* about */

.about {
    background: url(images/girlsb/bg_about.jpg) center center / cover no-repeat;
}

p.msg {
    font-size: 16px;
    line-height: 2.2em;
}

/* information */

.info-area {
    text-align: center;
}

.info-area h1 {
    margin-bottom: 50px;
    font-family: 'logotype-gothic', sans-serif;
    font-size: 18px;
    color: #1e6eb7;
    line-height: 2.0em;
}

.banner-area {
    display: inline-flex;
    display: -webkit-inline-flex;
    flex-flow: nowrap;
    -webkit-flex-flow: nowrap;
}

.banner-area li {
    margin-right: 30px;
}

.banner-area li:last-child {
    margin-right: 0;
}

.banner-area a:hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}

.access {
    width: 230px;
    margin-top: 50px;
    padding: 24px 12px;
    border: solid 1px #aaaaaa;
    background-color: #ea68a2;
    border-radius: 0;
    color: #ffffff !important;
}

@media screen and (max-width: 768px) {
    .banner-area {
        width: 100%;
        display: inline-flex;
        display: -webkit-inline-flex;
        flex-flow: wrap;
        -webkit-flex-flow: wrap;
    }
    .banner-area li {
        width: 100%;
        margin: 0 0 10px;
    }
    .banner-area li img {
        display: block;
        width: 100%;
        height: auto;
    }
}

/* contents */

.contents {
    padding: 20px 0 60px;
    min-height: 680px;
}

/* breadcrumb */

.breadcrumb {
    padding: 0 0 10px;
    margin: 0;
    background-color: #ffffff;
}

.breadcrumb ul li {
    display: inline;
    margin: 0 4px;
    font-size: 12px;
}

.breadcrumb ul li::before {
    content: ">　";
}

.breadcrumb ul li:first-child::before {
    content: ""
}

/* blog contents */

.blog-contents {
    width: 680px;
    float: left;
    text-align: left;
    position: relative;
}

.blog-contents article {
    margin-bottom: 20px;
}

.blog-contents h2 {
    text-align: left;
    line-height: 1.5em;
}

.blog-contents h3:first-child {
    margin-top: 0;
}

.blog-contents img {
    border: solid 1px #d2d2d2;
}

.blog-contents article ul {
    margin: 10px 0 20px;
    padding-left: 2em;
}

.blog-contents article li {
    line-height: 2.0;
    text-indent: -1em;
    padding-left: 1em;
}

.blog-contents article li:before {
    margin-right: 6px;
    content: '●';
    font-size: 8px;
    color: #1e6eb7;
    vertical-align: middle;
}

.blog-contents .more {
    width: 120px;
    margin-top: 0;
    padding: 8px 10px;
    border: solid 1px #aaaaaa;
    background-color: #1d6eb6;
    border-radius: 0;
    text-align: center;
    color: #ffffff !important;
    position: relative;
    font-size: 12px;
    float: right;
}

/*Q&A用定義リスト*/

dl {
    width: 100%;
    margin: 10px;
    line-height: 1.8rem;
    /*     font-size: 1.4em;*/
    overflow: hidden;
    _zoom: 1;
}

dl dd,
dl dt {
    text-indent: -3rem;
    padding: 0 2rem 0 4rem;
}

dl dt {
    margin: 1rem 1rem 0 0;
    padding-top: 10px;
    border-top: 1px #000 dotted;
}

dl dt:first-child {
    border-top: none;
}

dl dd:first-letter,
dl dt:first-letter {
    font-size: 1.8rem;
    font-weight: bold;
    margin-right: 1rem;
    padding: 5px;
    font-family: 'Nunito', sans-serif;
}

dl dd {
    margin: 15px 0 -1px 0;
    padding-bottom: 5px;
    /*     border-bottom: 1px #000 dotted;*/
}

dl dt:first-letter {
    color: #0F78E1;
}

dl dd:first-letter {
    color: #ff6767;
}

/* Pagenation */

.pagenation {
    width: 680px;
    margin: 60px 0 0;
    position: relative;
}

/*
.pagenation:after, .pagenation ul:after {
	clear: both;
	content: ".";
	display: block;
	height: 0;
	visibility: hidden;
}*/

.pagenation ul {
    list-style: none;
    margin: 0 auto;
}

.pagenation li {
    display: inline-block;
    margin-left: 3px;
}

.pagenation li:first-child {
    margin-left: 0;
}

.pagenation li.active {
    background-color: #1d6eb6;
    color: #FFFFFF;
    padding: 7px 14px;
}

.pagenation li a {
    background: none repeat scroll 0 0 #d2d2d2;
    color: #FFFFFF;
    display: block;
    padding: 7px 14px;
    text-decoration: none;
}

.pagenation li a:hover {
    background-color: #1d6eb6;
    color: #FFFFFF;
    opacity: 0.5;
    transition-duration: 500ms;
    transition-property: all;
    transition-timing-function: ease;
}

.pagenation a.next,
.pagenation a.prev {
    color: #1d6eb6;
}

.pagenation a.next {
    margin-left: 10px;
}

.pagenation a.prev {
    margin-right: 10px;
}

.pagenation a.next:hover,
.pagenation a.prev:hover {
    text-decoration: none;
}

/* blog sidebar */

.blog-side {
    width: 282px;
    float: right;
    position: relative;
}

.blog-side h1 {
    line-height: 1;
}

.blog-side h1::before {
    width: 100%;
    height: 14px;
    padding-bottom: 14px;
    margin-bottom: 30px;
    position: relative;
    border-bottom: solid 1px #d2d2d2;
}

.blog-side h1::before {
    position: absolute;
    left: 0;
}

.blog-side h1.cat01::before {
    content: url(images/girlsb/h1-category.png);
}

.blog-side h1.arc01::before {
    content: url(images/girlsb/h1-archives.png);
}

.blog-side h1::after {
    position: absolute;
    content: url(images/girlsb/icon-circle.png);
    right: 0;
}

.blog-side ul {
    margin-bottom: 40px;
}

.blog-side li {
    font-size: 16px;
    line-height: 2.0;
}

.blog-side li:before {
    margin-right: 6px;
    content: '●';
    font-size: 10px;
    color: #d2d2d2;
    vertical-align: middle;
}

@media screen and (max-width: 768px) {
    .contents {
        padding: 30px 0;
    }
    .breadcrumb {
        display: none;
    }
    .blog-contents,
    .blog-side {
        width: 100%;
    }
    .blog-contents {
        padding-bottom: 80px;
    }
    .blog-contents img.thumb {
        width: 100%;
        height: auto;
    }
    .blog-side li {
        display: inline-block;
        margin-right: 12px;
    }
}

/*-----------------------------------------------------
footer
-----------------------------------------------------*/

footer {
    color: #ffffff;
}

.footer-menu {
    padding: 24px 0;
    background-color: #fbfbfb;
    text-align: center;
}

.footer-menu ul {
    list-style-type: disc;
}

.footer-menu li {
    display: inline-block;
    margin-right: 40px;
}

.footer-menu li:last-child {
    margin-right: 0;
}

.footer-menu li:before {
    margin-right: 4px;
    content: '●';
    font-size: 10px;
    color: #1e6eb7;
    vertical-align: middle;
}

.footer-copyright {
    padding: 8px 0;
    background-color: #1e6eb7;
    text-align: center;
}

.to-top {
    position: fixed;
    left: 20px;
    bottom: 20px;
    z-index: 9999;
}

@media screen and (max-width: 768px) {
    .footer-menu {
        padding: 16px 0;
        background-color: #f6f6f6;
        border-top: solid 1px #eeeeee;
    }
    .footer-menu ul {
        text-align: center;
    }
    .footer-menu ul {
        margin: 0 auto;
    }
    .footer-menu li {
        margin: 0 0 8px 14px;
    }
    .footer-menu li:first-child {
        margin-left: 0;
    }
    .footer-copyright img {
        width: 90%;
        height: auto;
    }
    .to-top {
        right: 8px;
        bottom: 8px !important;
    }
}