body {
    font-family: "Noto Sans JP", sans-serif;
}

sup {
    vertical-align: revert;
    font-size: small;
}

#cata_mainv {
    position: relative;
    color: #fff;
    text-shadow: .05em .05em #333;
    line-height: 1.5;
    z-index: 0;
    background-image: url(../images/main_pc.png);
    height: 685px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
}

#catalogue .wrap {
    width: 1280px;
    margin: 0 auto;
}

#catalogue .container {
    width: 1055px;
    margin: 0 auto;
}

.bold {
    font-weight: bold;
}

#cata_mainv::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 0 0 857.6px 1920px;
    /*transparentで余分な線を消す*/
    border-color: transparent transparent transparent rgba(33, 77, 137, 0.52);
    z-index: -1;
}

#cata_mainv .container {
    padding-top: 200px;
    z-index: 2;
}

#cata_mainv .sacs {
    font-size: 50px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    line-height: 1.5;
}

#cata_mainv .mainv_txt {
    font-size: 20px;
    margin-top: 15px;
}

#cata_mainv h2 {
    font-size: 95px;
    font-weight: 500;
    line-height: 1;
    font-family: 'Source Han Sans', sans-serif;
}

#catalogue .information {
    display: flex;
    justify-content: space-between;
    width: 835px;
    margin: 0 auto;
    align-items: center;
    padding-top: 120px
}

#catalogue .information dt {
    font-size: 42px;
    line-height: 1.7;
    color: #214D89;
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
}

#catalogue .information dd {
    font-size: 16px;
    line-height: 2.3;
}

#catalogue .information .note {
    font-size: 13px;
}

#catalogue #bg_grey {
    position: relative;
    background-color: #EFF3F9;
    padding-top: 120px;
    z-index: 0;
}

#catalogue .content {
    position: relative;
}

#catalogue .content-1 {
    min-height: 571px;
}

#catalogue .cont_img {
    position: absolute;
    top: 0;
    right: 0;
    width: 640px;
}

#catalogue .cont_txtbox {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    bottom: 0;
    left: 0;
    width: 568px;
    background-color: #fff;
    padding: 60px 0;
}

#catalogue .cont_txt {
    margin: 0 auto;
}

#catalogue h3 {
    font-family: 'Noto Serif JP', serif;
    border: none;
    font-size: 30px;
    padding: 0;
}

#catalogue .article {
    font-size: 14px;
    line-height: 2.6;
    margin-top: 28px;
    margin-bottom: 35px;
}

#catalogue .caption {
    font-size: 14px;
    line-height: 1.4;
    text-indent: 20px;
}

#catalogue .caption li:nth-child(2) {
    margin: 10px 0;
}

#catalogue .caption li {
    position: relative;
}

#catalogue .caption li::before {
    position: absolute;
    content: '';
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #214D89;
    left: 0;
    top: 20%;
}

#catalogue .flow {
    width: 843px;
    margin: 90px auto;
}

#catalogue .content-2 {
    min-height: 850px;
    margin: 90px 0;
}

#catalogue .cont_img.right {
    left: 0;
    right: auto;
}

#catalogue .cont_txtbox.right {
    right: 0;
    left: auto;
    bottom: auto;
    top: 15%;
}

#catalogue h4 {
    font-size: 24px;
    line-height: 1.5;
    font-family: 'Noto Serif JP', serif;
    margin-bottom: 10px;
}

#catalogue .area {
    width: 466px;
    font-size: 12px;
    line-height: 1.83;
    margin-top: 20px;
    word-break: break-all;
}

#catalogue .area:first-child {
    margin-top: 0;
}

#catalogue .cont_img.right::after {
    position: absolute;
    content: '';
    width: 1050px;
    height: 569.8px;
    background-image: url(../images/img_04.png);
    background-repeat: no-repeat;
    background-size: contain;
    top: 92%;
    left: -33%;
}

#catalogue .content-3 {
    min-height: 469px;
    margin-top: 90px;
}

#catalogue .content-3 .article {
    margin-bottom: 0;
}

#catalogue .advice {
    position: relative;
    display: block;
    margin: 0 auto;
    width: 688px;
    height: 87px;
    line-height: 2.9;
    font-size: 30px;
    color: #fff;
    background-color: #214D89;
    border: 1px solid #fff;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    z-index: 99;
}

#catalogue .advice::before {
    position: absolute;
    content: '';
    width: 94.5px;
    height: 2px;
    background-color: #94BBF0;
    top: 50%;
    right: -47.25px;
    transition: all .2s linear;
}

#catalogue .advice::after {
    position: absolute;
    content: '';
    width: 12px;
    height: 2px;
    background-color: #94BBF0;
    top: 45%;
    right: -47.25px;
    transform: rotate(45deg);
    transition: all .2s linear;

}

#catalogue .advice:hover {
    color: #214D89;
    background-color: #fff;
    border: 1px solid #214D89;
    opacity: 1;
}

#catalogue .advice:hover::before, #catalogue .advice:hover::after {
    right: -57.25px;
    background-color: #214D89;
}


#cata_about {
    background-image: url(../images/bg_deep_blue.png);
    background-size: cover;
    background-repeat: no-repeat;
    padding-top: 100px;
    color: #fff;
}

#cata_about .container {
    padding: 0 65px;
}

#cata_about .about_tit {
    font-family: 'Noto Serif JP', serif;
    font-size: 36px;
    text-align: center;
    line-height: 1;
}

#cata_about .about_art {
    font-size: 14px;
    line-height: 2.57;
    text-align: center;
    margin: 60px 0;
}

#cata_about .about_sezax {
    font-size: 30px;
    line-height: 1;
    text-align: center;
    font-family: 'Noto Serif JP', serif;
    margin-bottom: 45px;
}

#cata_about .about_type {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#cata_about .about_type a {
    width: 210px;
    height: 70px;
    font-size: 16px;
    line-height: 4.375;
    text-align: center;
    border: 1px solid #fff;
    display: block;
}

#cata_about .about_type a:hover {
    border: 1px solid #214D89;
    background-color: #fff;
    color: #214D89;
    opacity: 1;
}

#cata_about .mgt25 {
    margin-top: 25px;
}

#cata_about .view_more {
    position: relative;
    display: block;
    margin: 130px auto 0 auto;
    font-size: 14px;
    width: 261px;
    height: 46px;
    line-height: 3.286;
    border: 1px solid #fff;
    text-align: center;
}

#cata_about .view_more::before {
    position: absolute;
    content: '';
    width: 94.5px;
    height: 1px;
    background-color: #fff;
    top: 50%;
    right: -47.25px;
    transition: all .2s linear;
}

#cata_about .view_more::after {
    position: absolute;
    content: '';
    width: 12px;
    height: 1px;
    background-color: #fff;
    top: 40%;
    right: -48.25px;
    transform: rotate(45deg);
    transition: all .2s linear;
}

#cata_about .view_more:hover {
    color: #214D89;
    background-color: #fff;
    opacity: 1;
}

#cata_about .view_more:hover::before {
    right: -57.25px;
}

#cata_about .view_more:hover::after {
    right: -58.25px;
}

#catalogue #bg_grey::before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    top: -9%;
    left: 50%;
    transform: translateX(-50%) rotate(-180deg);
    border-style: solid;
    border-width: 1029px 0 1029px 2304px;
    border-color: transparent transparent transparent rgba(33, 77, 137, 0.52);
    z-index: -1;
}

#catalogue #bg_grey::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 1029px 0 0 2304px;
    border-color: transparent transparent transparent rgba(33, 77, 137, 0.52);
    z-index: -1;
}

#inquiry {
    padding-top: 100px;
}

#inquiry .inquiry_tit {
    font-family: 'Noto Serif JP', serif;
    font-size: 36px;
    line-height: 1;
    text-align: center;
}

#inquiry .inquiry_sub {
    font-family: 'Noto Serif JP', serif;
    font-size: 20px;
    line-height: 1;
    text-align: center;
    margin: 30px auto 40px auto;
}

#inquiry .inquiry_txt {
    font-size: 14px;
    line-height: 2.57;
    text-align: center;
}

#cata_text .support_bg {
    margin-bottom: 60px;
}

#cata_text .support_box {
    padding: 80px 0;
    margin-top: 110px;
    background-color: #EFF3F9;
}

#cata_text .support {
    width: 804px;
    margin: 0 auto;
    text-align: center;
    font-weight: bold;
    font-size: 16px;
}

#cata_text .support p {
    line-height: 2.3;
}

#cata_text .sup_img01 {
    margin: 30px auto 40px;
}

#cata_text .sup_img02 {
    margin-top: 25px;
}

@media screen and (min-width: 769px) and (max-width: 1159px) {

    #cata_mainv {
        height: 53vw;
    }

    #catalogue .wrap {
        width: 100%;
    }

    #catalogue .container {
        width: 82.5%;
    }

    #cata_mainv .container {
        padding-top: 15.63vw;
    }

    #cata_mainv .sacs {
        font-size: 3.91vw;
    }

    #cata_mainv .mainv_txt {
        font-size: 1.56vw;
        margin-top: 1.95vw;
    }

    #cata_mainv h2 {
        font-size: 7.42vw;
        margin-top: 1.17vw;
    }

    #catalogue .information {
        width: 65.23vw;
        padding-top: 9.38vw;
    }

    #catalogue .information dt {
        font-size: 3.28vw;
    }

    #catalogue .information dd {
        font-size: 1.25vw;
    }

    #catalogue .information .note {
        font-size: 1vw;
    }


    #catalogue #bg_grey {
        padding-top: 9.38vw;
    }

    #catalogue .content-1 {
        min-height: 44.61vw;
    }

    #catalogue .cont_img {
        width: 50vw;
    }

    #catalogue .cont_txtbox {
        width: 44.38vw;
        padding: 4.69vw 0;
    }

    #catalogue h3 {
        font-size: 2.34vw;
    }

    #catalogue .article {
        font-size: 1.09vw;
        margin-top: 2.19vw;
        margin-bottom: 2.73vw;
    }

    #catalogue .caption {
        font-size: 1.09vw;
        text-indent: 1.56vw;
    }

    #catalogue .caption li:nth-child(2) {
        margin: 0.78vw 0;
    }

    #catalogue .caption li::before {
        width: 0.78vw;
        height: 0.78vw;
    }

    #catalogue .flow {
        width: 65.86vw;
        margin: 7.03vw auto;
    }

    #catalogue .content-2 {
        min-height: 66.41vw;
        margin: 7.03vw 0;
    }

    #catalogue h4 {
        font-size: 1.88vw;
        margin-bottom: 0.78vw;
    }

    #catalogue .area {
        width: 36.41vw;
        font-size: 0.94vw;
        margin-top: 1.56vw;
    }


    #catalogue .cont_img.right::after {
        width: 82.03vw;
        height: 44.52vw;
    }

    #catalogue .content-3 {
        min-height: 36.64vw;
        margin-top: 7.03vw;
    }

    #catalogue .advice {
        width: 53.75vw;
        height: 6.8vw;
        font-size: 2.34vw;
    }

    #catalogue .advice::before {
        width: 7.38vw;
        right: -3.69vw;
    }

    #catalogue .advice::after {
        width: 0.94vw;
        right: -3.69vw;
    }

    #catalogue .advice:hover::before, #catalogue .advice:hover::after {
        right: -4.47vw;
    }

    #cata_about .container {
        padding: 0 5.08vw;
    }

    #cata_about .about_tit {
        font-size: 2.81vw;
    }

    #cata_about .about_art {
        font-size: 1.09vw;
        margin: 4.69vw 0;
    }

    #cata_about .about_sezax {
        font-size: 2.34vw;
        margin-bottom: 3.52vw;
    }

    #cata_about .about_type a {
        width: 16.41vw;
        height: 5.47vw;
        font-size: 1.25vw;
    }

    #cata_about .mgt25 {
        margin-top: 1.95vw;
    }

    #cata_about .view_more {
        margin: 10.16vw auto 0 auto;
        font-size: 1.09vw;
        width: 20.39vw;
        height: 3.59vw;
    }

    #cata_about .view_more::before {
        width: 7.38vw;
        right: -3.69vw;
    }

    #cata_about .view_more::after {
        width: 0.94vw;
        right: -3.77vw;
    }

    #cata_about .view_more:hover::before {
        right: -4.47vw;
    }

    #cata_about .view_more:hover::after {
        right: -4.55vw;
    }

    #cata_mainv::after {
        border-width: 0 0 67vw 100vw;
    }

    #catalogue #bg_grey::before {
        border-width: 80.4vw 0 80.4vw 120vw;
    }

    #catalogue #bg_grey::after {
        border-width: 80.4vw 0 0 120vw;
    }

    #inquiry {
        padding-top: 7.81vw;
    }

    #inquiry .inquiry_tit {
        font-size: 2.81vw;
    }

    #inquiry .inquiry_sub {
        font-size: 1.56vw;
        margin: 2.34vw auto 3.13vw auto;
    }

    #inquiry .inquiry_txt {
        font-size: 1.09vw;
    }

    #cata_text .support_box {
        padding: 6.25vw 0;
        margin-top: 8.59vw;
    }

    #cata_text .support {
        width: 62.81vw;
        font-size: 1.25vw;
    }

    #cata_text .sup_img01 {
        margin: 2.34vw auto 3.13vw;
    }

    #cata_text .sup_img02 {
        margin-top: 1.95vw;
    }

    #cata_text .support_bg {
        margin-bottom: 4.69vw;
    }
}

@media screen and (max-width: 768px) {
    body {
        overflow-x: hidden;
    }

    sup {
        font-size: 1.5vw;
    }

    #cata_mainv {
        background-image: url(../images/main_sp.png);
        height: 128.55vw;
    }

    #catalogue .wrap {
        width: 100%;
    }

    #catalogue .container {
        width: 88.27vw;
        margin: 0 auto;
    }

    #cata_mainv::after {
        border-width: 0 0 107.8vw 153vw;
        left: 65%;
    }

    #cata_mainv .container {
        padding-top: 16vw;
    }

    #cata_mainv .sacs {
        font-size: 8.21vw;
    }

    #cata_mainv .mainv_txt {
        font-size: 3.26vw;
        margin-top: 4.13vw;
    }

    #cata_mainv h2 {
        font-size: 15.65vw;
        margin-top: 2.61vw;
    }

    #catalogue .information {
        display: block;
        width: 100%;
        margin: 0 auto;
        padding: 13.04vw 1.5vw;
    }

    #catalogue .information dt {
        font-size: 8.08vw;
        word-break: keep-all;
    }

    #catalogue .information dd {
        font-size: 3.3vw;
        margin-top: 8.47vw;
    }

    #catalogue .information .note {
        font-size: 2.475vw;
    }

    #catalogue #bg_grey {
        padding-top: 0;
    }

    #catalogue .content {
        position: relative;
    }

    #catalogue .content-1 {
        min-height: 138vw;
    }

    #catalogue .cont_img {
        position: absolute;
        width: 100vw;
        right: -6.75%;
    }

    #catalogue .cont_txtbox {
        width: 100%;
        padding: 8vw 0;
    }

    #catalogue .cont_txt {
        margin: 0 auto;
        padding: 0 4.5vw;
    }

    #catalogue h3 {
        font-size: 5.5vw;
    }

    #catalogue .article {
        font-size: 3.3vw;
        margin: 5vw auto;
    }

    #catalogue .caption {
        font-size: 3.3vw;
        margin-left: 3.3vw;
        text-indent: 0;
    }

    #catalogue .caption li:nth-child(2) {
        margin: 2.61vw 0;
    }


    #catalogue .caption li::before {
        width: 1.96vw;
        height: 1.96vw;
        top: 12%;
        left: -3vw;
    }

    #catalogue .caption li:last-child:before {
        top: 25%;
    }

    #catalogue .flow {
        width: 100%;
        margin: 6.52vw auto;
    }

    #catalogue .content-2 {
        min-height: 220vw;
        margin-top: 11.86vw;
    }

    #catalogue .cont_img.right {
        left: auto;
        right: -6.75%;
    }

    #catalogue .cont_txtbox.right {
        right: 0;
        left: auto;
        bottom: auto;
        top: 23%;
    }

    #catalogue h4 {
        font-size: 4.3vw;
        margin-bottom: 2.61vw;
    }

    #catalogue .area {
        width: 100%;
        font-size: 3.3vw;
        margin-top: 3.91vw;
    }

    #catalogue .area:first-child {
        margin-top: 0;
    }

    #catalogue .cont_img.right::after {
        width: 136.9vw;
        height: 74.32vw;
        background-repeat: no-repeat;
        background-size: contain;
        top: 252%;
        left: -25%;
    }

    #catalogue .content-3 {
        min-height: 115vw;
        margin-top: 15vw;
    }

    #catalogue .advice {
        width: 59.71vw;
        height: auto;
        line-height: 2.9;
        font-size: 3.91vw;
        line-height: 1.27;
        padding: 3.91vw 0;
        margin-bottom: 12vw;
        margin-top: 18.25vw;
    }

    #catalogue .advice::before {
        width: 12.26vw;
        top: 50%;
        right: -6.16vw;
    }

    #catalogue .advice::after {
        width: 2.5vw;
        right: -6.5vw;
    }

    #catalogue .advice:hover::before, #catalogue .advice:hover::after {
        right: -7.46vw;
    }


    #cata_about {
        background-image: url(../images/bg_deep_blue_sp.png);
        padding-top: 9.78vw;
    }

    #cata_about .container {
        padding: 0;
    }

    #cata_about .about_tit {
        font-size: 6.3vw;
    }

    #cata_about .about_art {
        font-size: 3.3vw;
        margin: 6.52vw 0 14.34vw;
        word-break: keep-all;
    }

    #cata_about .about_sezax {
        font-size: 4.69vw;
        margin-bottom: 5.87vw;
    }

    #cata_about .about_type a {
        width: 41.72vw;
        height: 13.82vw;
        font-size: 3vw;
        line-height: 4.6;
        margin-bottom: 3.65vw;
    }

    #cata_about .mgt25 {
        margin-top: 0;
    }

    #cata_about .view_more {
        margin: 9.78vw auto 0 auto;
        font-size: 3.13vw;
        width: 59.71vw;
        height: 10.43vw;
        line-height: 3.33;
        margin-bottom: 6vw;
    }

    #cata_about .view_more::before {
        width: 12.32vw;
        right: -6.16vw;
    }

    #cata_about .view_more::after {
        width: 2.5vw;
        right: -6.5vw;
    }

    #cata_about .view_more:hover::before {
        right: -7.46vw;
    }

    #cata_about .view_more:hover::after {
        right: -7.59vw;
    }

    #catalogue #bg_grey::before {
        top: -8%;
        border-width: 107.8vw 0 107.8vw 153vw;
    }

    #catalogue #bg_grey::after {
        border-width: 107.8vw 0 0 153vw;
        bottom: -1%;
    }

    #inquiry {
        padding-top: 18.25vw;
    }

    #inquiry .inquiry_tit {
        font-size: 6.3vw;
    }

    #inquiry .inquiry_sub {
        font-size: 3.8vw;
        margin: 2.61vw auto 3.91vw auto;
    }

    #inquiry .inquiry_txt {
        font-size: 3.8vw;
        line-height: 2.1;
        margin-bottom: 9.13vw;
    }

    #cata_text .support_box {
        padding: 11.73vw 0;
        margin-top: 6.52vw;
    }

    #cata_text .support {
        width: 86%;
        font-size: 3.3vw;
    }

    #cata_text .sup_img01 {
        margin: 9.13vw auto;
    }

    #cata_text .sup_img02 {
        margin-top: 5.22vw;
    }

    #cata_text .support_bg {
        margin-bottom: ０;
        background-color: #EFF3F9;
    }
}

/*順番の設定↓  */

.entry .fadeIn {
    transition: 1s;
    opacity: 0;
    transform: translateY(30px);
}

.entry .fadeIn.on {
    opacity: 1;
    transform: translateY(0);
}

.entry .char1, .entry .char4 {
    transition-delay: 0s;
}

.entry .char2 {
    transition-delay: 0.25s;
}

#inquiry .inquiry_thanks {
    font-size: 20px;
    line-height: 2;
    text-align: center;
    margin-top: 2em;
}

#inquiry .go_top {
    text-align: center;
    display: block;
    font-size: 20px;
    margin: 2em auto 1.5em;
}

@media screen and (max-width: 768px) {
    #inquiry .inquiry_thanks {
        font-size: 4.67vw;
    }

    #inquiry .go_top {
        font-size: 4.67vw;
    }
}