@font-face {
    font-family: 'RotondaC';
    src: url('../fonts/RotondaC/RotondaC.eot');
    src: local('?'), url('../fonts/RotondaC/RotondaC.woff') format('woff'),
    url('../fonts/RotondaC/RotondaC.ttf') format('truetype'),
    url('../fonts/RotondaC/RotondaC.svg') format('svg');
    font-weight: normal;
    font-style: normal;
}

html, body {
    font-size: 18px;
    line-height: 1.4;
}

.width-wrap {
    margin: 0 auto;
    padding-left: 2.22rem;
    padding-right: 2.22rem;
    max-width: 1260px;
}

.image {
    width: 100%;
    height: auto;
    border-radius: 1rem;
}

.shadow {
    width: 100%;
    height: auto;
    border-radius: 11px;
    box-shadow: 1px 1px 15px rgb(0 0 0 / 30%);
}

.page-block {
    color: #000;
    font-family: 'RotondaC', Helvetica, Arial, sans-serif;
}

.page-block > .width-wrap {
    padding: 3.5em 1em 4.5em;
}

.page-block h1, .page-block h2, .page-block h3, .page-block h6 {
    margin-top: 0;
}

.page-block h1, .page-block h2 {
    font-size: 2.4em;
}

.page-block img, .page-block iframe {
    max-width: 100%;
}

.page-block img {
    height: auto;
}

.page-block-white-box2 {
    margin-bottom: 1.25em;
    padding: 1em 1.5em;
    font-size: 1.11em;
    font-weight: bold;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 2px 2px 1rem rgba(0, 0, 0, .1);
}

.page-block-white-box2 > div > :first-child {
    margin-top: 0;
}

.page-block-white-box2 > div > :last-child {
    margin-bottom: 0;
}

.page-block--img-left {
    display: flex;
    align-items: center;
    gap: 1em;
}

.page-block--img-left > img {
    flex: none;
}

.page-block-orange {
    background: #FEEABC;
}

.text-orange, .page-block-orange h3 {
    color: #FF8616;
}

.page-block-blue {
    background: #BDE2F3;
}

.text-blue, .page-block-blue h3 {
    color: #249DD6;
}

.page-block-green {
    background: #E3F0C4;
}

.text-green, .page-block-green h3 {
    color: #76B61A;
}

.page-block-purple {
    background: #FFC3E3;
}

.text-purple, .page-block-purple h3 {
    color: #D90375;
}

.check01, .check02, .check03 {
    padding-left: 90px;
    font-size: 1.4rem;
    background: left center no-repeat;
}

.check01 {
    background-image: url(/file/site/page/calligraphy/check01.webp);
}

.check02 {
    background-image: url(/file/site/page/calligraphy/check02.webp);
}

.check03 {
    background-image: url(/file/site/page/calligraphy/check03.webp);
}

.page-block-01 {
    padding-top: 165px;
    color: #fff;
    background: center bottom url(/file/site/page/calligraphy/block-01_bg.webp) #28afe4;
    background-size: cover;
}

.page-block-01 > .width-wrap {
    background: left bottom no-repeat url(/file/site/page/calligraphy/block-01-img01.webp);
}

.page-block-01 h1 {
    color: #fff;
    font-size: 2.3em;
    text-shadow: 0 4px 4px #00000040;
}

.page-block-01_img2 {
    position: absolute;
    top: -1em;
    right: -2.5em;
}

.page-block-02 {
    background: left top url(/file/site/page/calligraphy/bg-science.webp) #8ec647;
}

.page-block-02 > .width-wrap {
    background: right bottom no-repeat url(/file/site/page/calligraphy/block-02-img01.webp);
}

.page-block-02 h2 {
    text-align: center;
}

.page-block-02 .g p {
    padding-left: 2em;
    font-size: 1.2em;
    background: left top no-repeat url(/file/site/page/calligraphy/star.webp);
}

.page-block-04 {
    text-align: center;
    background: left top url(/file/site/page/calligraphy/bg-science.webp) #feb426;
}

.page-block-04 h2 {
    color: #3a3a3a;
}

.page-block-04_video img {
    box-shadow: 0 4px 4px 0 #00000036;
}

.page-block-05 h2 {
    text-align: center;
}

.block-05_left-img {
    display: block;
    margin: 0 auto;
    border-radius: 50%;
    box-shadow: 0 4px 4px 0 #00000040;
}

.page-block-05 .page-block--img-left {
    align-items: stretch;
    color: #3a3a3a;
    font-size: 1.15rem;
    border-radius: 1.5rem;
    box-shadow: 0 4px 4px 0 #00000036;
    overflow: hidden;
}

.page-block-05 .page-block--img-left > img {
    width: 313px;
    object-fit: cover;
}

.page-block-05 .page-block--img-left > :not(img) {
    padding: .8em 1.2em .5em .4em;
}

.page-block-05 h3 {
    margin-top: 0;
    font-size: 2rem;
}

.page-block-05 p {
    margin-top: .5em;
}

.block-05_bg2 {
    position: absolute;
    bottom: -6rem;
    right: -5rem;
}

.page-block-05-2 {
    font-size: 1.45rem;
    text-align: center;
}

.page-block-05-2 > div {
    padding: 1.75rem 1rem;
    border-radius: 1.5rem;
}

.page-block-08 {
    background: left top url(/file/site/page/first-mechanisms/bg-stars.webp) #833a89;
}

.page-block-08 h2 {
    color: #fff;
    font-size: 2.11em;
    text-align: center;
}

@media (max-width: 1400px) {
}

@media (min-width: 993px) {
}

@media (max-width: 992px) {
    .page-block > .width-wrap {
        padding: 2.5em .5em;
    }

    .page-block-01 > .width-wrap, .page-block-02 > .width-wrap {
        background: none;
    }
}

@media (max-width: 767px) {
    .width-wrap {
        padding-left: .8rem;
        padding-right: .8rem;
    }

    .page-block--img-left {
        flex-direction: column;
        align-items: flex-start;
    }

    .page-block-05 .page-block--img-left > img {
        width: 100%;
        object-fit: cover;
    }
}
