body {
    font-family: 'M PLUS Rounded 1c', sans-serif;
    color: #000;
}


@media screen and (max-width: 992px) {
    .navbar-brand img {
        width: 500px;
    }
}

@media screen and (max-width: 768px) {
    .navbar-brand img {
        width: 450px;
    }
    .nav-link {
        margin-left: 1rem;
    }
}

@media screen and (max-width: 552px) {
    .navbar-brand img {
        width: 300px;
    }
}

h1, h2, h3, h4, h5, h6 {
    color: #000;
}

h2 {
    line-height: 3rem;
    margin-bottom: 1rem;
}

@media screen and (max-width: 768px) {
    h2 {
        font-size: 1.5rem;
        line-height: 2.5rem;
    }
    
}

.head-border {
    display: flex;
    align-items: center;
}

.head-border:before,
.head-border:after {
    content: "";
    height: 3px;
    flex-grow: 1;
    background-color: #000;
}

.head-border:before {
    margin-right: 1rem;
}

.head-border:after {
    margin-left: 1rem;
}


h3 span.ttl_bg {
    background:#fff;
}

.marker {
    background: linear-gradient(transparent 60%, #fff100 40%);
}

.top_date_txt {
    font-size: 1.7rem;
}

@media screen and (max-width: 1200px) {
    .top_date_txt {
        font-size: 1.6rem;
        text-align: left;
    }
}

@media screen and (max-width: 768px) {
    .top_date_txt {
        font-size: 1.3rem;
        text-align: left;
    }
}

p {
    color: #000;
    font-size: 1.3rem;
}

@media screen and (max-width: 768px) {
    p {
        font-size: 1rem;
    }
    
}

ul {
    padding-left: 1.5rem;
}

ul li {
    color: #000;
    font-size: 1.3rem;
    line-height: 2.5rem;
}


table tr th{ 
    background: #d4e8c4;
    padding: 1rem;
    border: 3px solid #d4e8c4;
}

table tr td{ 
    padding: 1rem;
    border: 3px solid #d4e8c4;
}

table tr th p,
table tr td p {
    margin-bottom: 0px;
}

.time_txt {
    background: #e7eef3;
    display: inline-block;
    padding: 0 .7rem;
}


.root_txt {
    background: #000;
    color:#fff;
    display: inline-block;
    padding: 0.5rem 2rem;
    border-radius: 10rem;
}

.bg-originale {
    background: #98d6f6;
}

.navbar-brand {
    color: #000;
    font-size: 3rem;
}

.navbar-brand:hover {
    color: #000;
}

.top_area {
    background:#98d6f6;
    padding-top: 2.5rem;
}

.top_area {
    background:url('images/main_img_top.svg') no-repeat,url('images/main_img.svg') no-repeat,#c2e1f6;
    background-position: top,bottom;
    background-size: 100%;
    padding-top: 18vw;
    padding-bottom:48vw;
}

.content_area {
    background:#fff;
    padding: 2rem;
    margin-top: 0rem;
    margin-bottom: 2rem;
}

.container-fluid {
    margin-right: auto;
    margin-left: auto;
    max-width: 1050px; 
}

.instagram_area {
    background: #fff;
    border-radius: 1rem;
}

.illustration_area {
    background: url(images/content_illustration_bottom.svg) no-repeat;
    background-size: 100%;
    background-position: bottom;
    padding-bottom: 13.5rem;
    margin-bottom: 0px;
}

.illustration_area {
    width: 100%;
    background: url(images/content_illustration_bottom.svg) repeat-x;
    animation-name: scroll-header-bg;
    animation-duration: 100s;             
    animation-timing-function: linear;       /*再生速度を一定にする*/
    animation-iteration-count: infinite;     /*アニメーションの無限再生*/
}

@keyframes scroll-header-bg {
    0% {
        background-position: 0 bottom;            /*初期値を設定する*/
    }

    100% {
        background-position: -2464px bottom;      /*画像サイズに合わせて変更する（負号で左スクロール）*/
    }
}

.project_area {
    background: url('images/project_bottom.svg') no-repeat,url('images/project_top.svg') no-repeat,url('images/project_middle.svg') repeat-y;
    background-size: 100%,100%,100%;
    background-position:bottom,top,center;
    padding-top: 3rem;
    padding-right:2rem;
    padding-left:2rem;
    padding-bottom:2rem;
}

.project_area h2 {
    color:#009949;
    font-size: 1.5rem;
    line-height: 1.5;
}

.project_area p {
    color:#009949;
    font-size: 1rem;
}

dl {
    clear: both;
    margin-top: 10px;
    width: 100%;
}

dt {
    float: left;
    width: 9rem;
    clear: both;
    padding: 0 1em;
    text-align: center;
    border: 2px solid #fff;
    border-radius: 3rem;
    margin-bottom: 1rem;
}

dd {
    margin: 0;
    padding-left: 9.5em;
    margin-left: 1rem;
    margin-top: .2rem;
}

.nav-link {
    margin-right:1.8rem;
}

.navbar-toggler {
    margin-right: 1rem;
}

footer {
    padding-top:2rem;
    background:#174a35;
    color: #fff;
    margin-top: 3rem;
}

footer p {
    color: #fff;
}
