@charset "UTF-8";

.header {
    padding: 0 80px;
    position: fixed;
    left: 0;
    right: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    z-index: 3
}

.header.header-bg,
.header.is-background,
.header.is-open {
    background: #fff;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.header .header-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 80px
}

.header .header-column .logo-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.header .header-column .logo-block .logo {
    width: 175px
}

.header .header-column .logo-block .catch {
    background: -webkit-gradient(linear, right top, left top, from(rgba(200, 180, 130, 0.2)), color-stop(29.84%, rgba(234, 217, 174, 0.2)), color-stop(69.71%, rgba(234, 217, 174, 0.2)), to(rgba(200, 180, 130, 0.2)));
    background: linear-gradient(270deg, rgba(200, 180, 130, 0.2) 0%, rgba(234, 217, 174, 0.2) 29.84%, rgba(234, 217, 174, 0.2) 69.71%, rgba(200, 180, 130, 0.2) 100%);
    border-radius: 3px;
    margin-left: 12px;
    padding: 8px 8px;
    color: #C8B482;
    font-size: 12px;
    font-weight: 700
}

.header .header-column .header-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.header .header-column .header-nav .nav-text {
    margin-right: 32px
}

.header .header-column .header-nav .nav-text .link-main {
    display: block;
    height: 37px;
    line-height: 37px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    color: #333
}

.header .header-column .header-nav .nav-text .link-main:hover {
    color: #C8B482
}

.header .header-column .header-nav .nav-text .is-current {
    color: #C8B482
}

.header .header-column .header-nav .nav-text .js-globalMenu {
    background: url("../images/icn_arrow_btm01.png") no-repeat top 50% right 0;
    background-size: 18px 18px;
    padding-right: 18px;
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.header .header-column .header-nav .nav-text .js-globalMenu:hover {
    background: url("../images/icn_arrow_btm02.png") no-repeat top 50% right 0;
    background-size: 18px 18px
}

.header .header-column .header-nav .nav-btn {
    margin-right: 16px
}

.header .header-column .header-nav .nav-btn:last-of-type {
    margin-right: 0
}

.header .header-column .header-nav .btn-primary,
.header .header-column .header-nav .btn-white {
    width: 150px;
    height: 37px;
    font-size: 13px
}

.header .header-column .header-nav .btn-white {
    line-height: 35px
}

.header .header-column .header-nav .btn-primary {
    line-height: 37px
}

.header .header-column .header-nav-sp {
    display: none
}

.maga-menu-section {
    display: none;
    position: fixed;
    top: 80px;
    left: 0;
    width: 100%;
    background: -webkit-gradient(linear, left top, right top, from(#F0EDE6), color-stop(50%, #F0EDE6), color-stop(50%, #FBFAF7), to(#FBFAF7));
    background: linear-gradient(90deg, #F0EDE6 0%, #F0EDE6 50%, #FBFAF7 50%, #FBFAF7 100%);
    z-index: 3
}

.maga-menu-section .mega-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.maga-menu-section .mega-column .menu-list {
    width: 320px;
    padding: 40px 0
}

.maga-menu-section .mega-column .menu-list li {
    background: url(../../assets/images/icn_arrow01.png) no-repeat top 50% right 16px;
    background-size: 6px 10px;
    padding: 16px;
    border-bottom: 1px solid #DFDCD6;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.maga-menu-section .mega-column .menu-list li.is-active,
.maga-menu-section .mega-column .menu-list li:hover {
    background: url(../../assets/images/icn_arrow02.png) no-repeat top 50% right 16px;
    background-size: 6px 10px;
    background-color: #FBFAF7
}

.maga-menu-section .mega-column .menu-list li.is-active,
.maga-menu-section .mega-column .menu-list li:hover {
    color: #C8B482
}

.maga-menu-section .mega-column .detail-block {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    background: #FBFAF7;
    padding: 48px 48px 40px
}

.maga-menu-section .mega-column .detail-block .mega-tab-contents {
    display: none
}

.maga-menu-section .mega-column .detail-block .mega-tab-contents.is-show {
    display: block
}

.maga-menu-section .mega-column .detail-block .menu-title {
    margin-bottom: 16px
}

.maga-menu-section .mega-column .detail-block .menu-title a {
    padding-right: 38px;
    font-family: "Noto Serif JP", serif;
    color: #2E483E;
    font-size: 24px;
    font-weight: 600;
    text-decoration: none;
    position: relative
}

.maga-menu-section .mega-column .detail-block .menu-title a:after {
    content: "";
    background: url("../images/icn_arrow-white.png") no-repeat top 50% left 50%;
    background-size: 6px 9px;
    background-color: #2E483E;
    width: 22px;
    height: 22px;
    border-radius: 3px;
    position: absolute;
    top: 8px;
    right: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.maga-menu-section .mega-column .detail-block .menu-title a:hover {
    color: #C8B482
}

.maga-menu-section .mega-column .detail-block .menu-title a:hover:after {
    background-color: #C8B482
}

.maga-menu-section .mega-column .detail-block .detail-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -8px
}

.maga-menu-section .mega-column .detail-block .detail-list li {
    width: 50%;
    padding: 0 8px
}

.maga-menu-section .mega-column .detail-block .detail-list li a {
    background: url(../../assets/images/icn_arrow01.png) no-repeat top 50% right 16px;
    background-size: 6px 10px;
    display: block;
    padding: 16px;
    border-bottom: 1px solid #F0EDE6;
    color: #333;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none
}

.maga-menu-section .mega-column .detail-block .detail-list li a.is-active,
.maga-menu-section .mega-column .detail-block .detail-list li a:hover {
    background: url(../../assets/images/icn_arrow02.png) no-repeat top 50% right 16px;
    background-size: 6px 10px;
    background-color: #FBFAF7
}

.maga-menu-section .mega-column .detail-block .detail-list li a:hover {
    background-color: #F0EDE6
}

.modal-overlay,
.overlay {
    display: none;
    background: rgba(51, 51, 51, 0.7);
    position: fixed;
    left: 0;
    width: 100%;
    height: 100vh
}

.modal-overlay {
    top: 0;
    z-index: 4
}

.overlay {
    top: 80px;
    z-index: 2
}

@media screen and (max-width:1350px) {
    .header .header-column .logo-block .catch {
        display: none
    }

    .header .header-column .header-nav .nav-text {
        margin-right: 24px
    }
}

@media screen and (max-width:1280px) {
    .header {
        padding: 0 40px
    }
}

@media screen and (max-width:960px) {
    .header {
        padding: 0 24px
    }

    .header .header-column .header-nav {
        display: none
    }

    .header .header-column .header-nav-sp {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    .header .header-column .header-nav-sp .btn-primary {
        width: 132px;
        height: 36px;
        line-height: 36px;
        font-size: 12px
    }

    .header .header-column .header-nav-sp .btn-menu {
        margin-left: 16px;
        background: url("../images/icn_menu.png") no-repeat top 50% left 50%;
        background-size: 24px 24px;
        width: 24px;
        height: 24px;
        cursor: pointer
    }

    .header .header-column .header-nav-sp .btn-menu.is-open {
        background: url("../images/icn_close.png") no-repeat top 50% left 50%;
        background-size: 24px 24px
    }

    .header .header-column .header-nav-sp .spmenu-block {
        display: none;
        position: absolute;
        top: 80px;
        right: 0;
        width: 400px;
        height: 100%;
        min-height: 100vh;
        padding-bottom: 80px;
        overflow: scroll;
        background: #fff
    }

    .header .header-column .header-nav-sp .spmenu-block .sp-nav .js-sp-accordion-btn {
        background: url("../images/icn_arrow_btm01.png") no-repeat top 50% right 24px;
        background-size: 20px 20px
    }

    .header .header-column .header-nav-sp .spmenu-block .sp-nav .js-sp-accordion-btn.is-open {
        background: url("../images/icn_arrow_top.png") no-repeat top 50% right 24px;
        background-size: 20px 20px
    }

    .header .header-column .header-nav-sp .spmenu-block .sp-nav .link-text {
        display: block;
        border-bottom: 1px solid #F0EDE6;
        padding: 20px 24px;
        font-size: 15px;
        color: #333;
        font-weight: 700;
        text-decoration: none;
        cursor: pointer
    }

    .header .header-column .header-nav-sp .spmenu-block .sp-nav .sp-nav-sub {
        display: none
    }

    .header .header-column .header-nav-sp .spmenu-block .sp-nav .sp-nav-sub .link-text {
        background-color: #F0EDE6;
        border-bottom: 1px solid #DFDCD6
    }

    .header .header-column .header-nav-sp .spmenu-block .sp-nav .sp-nav-sub-inner {
        display: none;
        background: #FBFAF7;
        padding: 32px
    }

    .header .header-column .header-nav-sp .spmenu-block .sp-nav .sp-nav-sub-inner .sub-menu-title {
        margin-bottom: 24px
    }

    .header .header-column .header-nav-sp .spmenu-block .sp-nav .sp-nav-sub-inner .sub-menu-title a {
        padding-right: 34px;
        font-family: "Noto Serif JP", serif;
        color: #2E483E;
        font-size: 20px;
        font-weight: 600;
        text-decoration: none;
        position: relative
    }

    .header .header-column .header-nav-sp .spmenu-block .sp-nav .sp-nav-sub-inner .sub-menu-title a:after {
        content: "";
        background: url("../images/icn_arrow-white.png") no-repeat top 50% left 50%;
        background-size: 6px 9px;
        background-color: #2E483E;
        width: 22px;
        height: 22px;
        border-radius: 3px;
        position: absolute;
        top: 5px;
        right: 0
    }

    .header .header-column .header-nav-sp .spmenu-block .sp-nav .sp-nav-sub-inner .sp-detail-list li {
        margin-bottom: 24px
    }

    .header .header-column .header-nav-sp .spmenu-block .sp-nav .sp-nav-sub-inner .sp-detail-list li:last-child {
        margin-bottom: 0
    }

    .header .header-column .header-nav-sp .spmenu-block .sp-nav .sp-nav-sub-inner .sp-detail-list li a {
        font-size: 14px;
        color: #333;
        line-height: 1.6
    }

    .header .header-column .header-nav-sp .spmenu-block .btn-block {
        margin: 0 -4px;
        padding: 16px
    }

    .header .header-column .header-nav-sp .spmenu-block .btn-block li {
        width: 50%;
        padding: 0 4px
    }

    .header .header-column .header-nav-sp .spmenu-block .btn-block .btn {
        width: 100%;
        height: 50px;
        line-height: 50px;
        font-size: 13px
    }

    .maga-menu-section {
        display: none !important
    }
}

@media screen and (max-width:480px) {
    .header {
        padding: 0 12px
    }

    .header .btn-primary,
    .header .btn-white {
        width: 132px;
        font-size: 12px
    }

    .header .header-column {
        height: 56px
    }

    .header .header-column .logo-block .logo {
        width: 110px
    }

    .header .header-column .header-nav-sp .spmenu-block {
        top: 56px;
        width: 100%;
        padding-bottom: 60px
    }

    .overlay {
        top: 56px
    }
}

.footer {
    background: #283732
}

.footer .footer-nav-section {
    padding: 64px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1)
}

.footer .footer-nav-section .logo {
    display: none
}

.footer .footer-nav-section .footer-nav-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto;
    width: 960px
}

.footer .footer-nav-section .footer-nav-column .nav-block-half {
    width: 50%;
    padding: 0 20px
}

.footer .footer-nav-section .footer-nav-column .nav-block-half .nav-block-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -20px
}

.footer .footer-nav-section .footer-nav-column .nav-block-half .nav-block-inner .nav-list {
    width: 50%;
    padding: 0 20px
}

.footer .footer-nav-section .footer-nav-column .nav-block {
    width: 25%;
    padding: 0 20px
}

.footer .footer-nav-section .footer-nav-column .nav-title {
    margin-bottom: 20px;
    color: #fff;
    font-size: 16px;
    font-weight: 700
}

.footer .footer-nav-section .footer-nav-column .nav-list:last-of-type {
    margin-bottom: 0
}

.footer .footer-nav-section .footer-nav-column .nav-list li {
    margin-bottom: 8px
}

.footer .footer-nav-section .footer-nav-column .nav-list li a {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.6;
    color: #E9ECEB;
    text-decoration: none
}

.footer .footer-nav-section .footer-nav-column .nav-list li a:hover {
    text-decoration: underline
}

.footer .footer-bottom-section {
    padding: 24px 0
}

.footer .footer-bottom-section .footer-bottom-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.footer .footer-bottom-section .footer-bottom-column .logo {
    width: 160px
}

.footer .footer-bottom-section .footer-bottom-column .link-block .link-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end;
    margin-bottom: 24px
}

.footer .footer-bottom-section .footer-bottom-column .link-block .link-list li {
    margin-left: 24px
}

.footer .footer-bottom-section .footer-bottom-column .link-block .link-list li a {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    color: #848484;
    text-decoration: none
}

.footer .footer-bottom-section .footer-bottom-column .link-block .link-list li a:hover {
    opacity: 0.7
}

.footer .footer-bottom-section .footer-bottom-column .link-block .sns-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end
}

.footer .footer-bottom-section .footer-bottom-column .link-block .sns-list li {
    margin-left: 12px
}

.footer .footer-bottom-section .footer-bottom-column .link-block .sns-list li a {
    width: 20px;
    display: block
}

.footer .footer-bottom-section .footer-bottom-column .link-block .sns-list li a:hover {
    opacity: 0.7
}

.footer .footer-bottom-section .copyright {
    margin-top: 24px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.6;
    color: #848484;
    text-align: center
}

@media screen and (max-width:1040px) {
    .footer .footer-nav-section .footer-nav-column {
        width: 100%;
        margin: 0 -20px
    }
}

@media screen and (max-width:840px) {
    .footer .footer-nav-section {
        padding-bottom: 40px
    }

    .footer .footer-nav-section .footer-nav-column .nav-block-half {
        width: 100%;
        margin-bottom: 24px
    }

    .footer .footer-nav-section .footer-nav-column .nav-block {
        margin-bottom: 24px;
        width: 50%
    }
}

@media screen and (max-width:480px) {
    .footer .footer-nav-section {
        padding: 40px 0 12px
    }

    .footer .footer-nav-section .logo {
        display: block;
        width: 160px;
        margin: 0 auto 40px
    }

    .footer .footer-nav-section .footer-nav-column .nav-block .nav-title {
        margin-bottom: 12px;
        font-size: 14px
    }

    .footer .footer-nav-section .footer-nav-column .nav-block .nav-list li {
        margin-bottom: 6px
    }

    .footer .footer-nav-section .footer-nav-column .nav-block .nav-list li a {
        font-size: 12px
    }

    .footer .footer-bottom-section {
        padding: 36px 0
    }

    .footer .footer-bottom-section .footer-bottom-column {
        display: block
    }

    .footer .footer-bottom-section .footer-bottom-column .logo {
        display: none
    }

    .footer .footer-bottom-section .footer-bottom-column .link-block .link-list {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .footer .footer-bottom-section .footer-bottom-column .link-block .link-list li {
        margin: 0;
        padding: 0 8px
    }

    .footer .footer-bottom-section .footer-bottom-column .link-block .sns-list {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .footer .footer-bottom-section .footer-bottom-column .link-block .sns-list li {
        margin: 0;
        padding: 0 8px
    }
}

.container {
    width: 1120px;
    margin: 0 auto
}

.container-l {
    width: 1280px;
    margin: 0 auto
}

@media screen and (max-width:1360px) {
    .container-l {
        width: 100%;
        padding: 0 40px
    }
}

@media screen and (max-width:1200px) {
    .container {
        width: 100%;
        padding: 0 40px
    }
}

@media screen and (max-width:480px) {

    .container,
    .container-l {
        padding: 0 24px
    }
}

.base-section {
    background: #fff;
    padding: 64px 0 80px
}

.color-section {
    background: radial-gradient(100% 100% at 50% 0%, #FBFAF7 0%, #F0EDE6 100%);
    padding: 64px 0 80px
}

@media screen and (max-width:480px) {
    .base-section {
        padding: 48px 0 64px
    }

    .color-section {
        padding: 48px 0 64px
    }
}

.bread-section {
    padding-top: 80px
}

.bread-section .bread-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 16px 0
}

.bread-section .bread-list li {
    background: url("../images/icn_arrow-s.png") no-repeat top 50% right 0;
    background-size: 4px 7px;
    margin-right: 12px;
    padding-right: 16px;
    font-size: 12px;
    white-space: nowrap
}

.bread-section .bread-list li:last-child {
    background: none;
    margin-right: 0;
    padding-right: 0;
    overflow: hidden;
    text-overflow: ellipsis
}

.bread-section .bread-list li a {
    color: #848484;
    text-decoration: none
}

.bread-section .bread-list li a:hover {
    text-decoration: underline
}

.page-title-section {
    background: -webkit-gradient(linear, left top, left bottom, from(#FBFAF7), to(#F7F6F3));
    background: linear-gradient(180deg, #FBFAF7 0%, #F7F6F3 100%)
}

.page-title-section .page-title {
    font-family: "Noto Serif JP", serif;
    padding: 64px 0;
    font-size: 36px;
    font-weight: 500;
    line-height: 1.6;
    color: #2E483E;
    letter-spacing: 0.02em
}

.page-title-section .page-title .font-en {
    display: block;
    margin-top: 4px;
    font-family: "Libre Baskerville", serif;
    font-weight: 500;
    font-size: 15px;
    color: #C8B482
}

@media screen and (max-width:840px) {
    .page-title-section .page-title {
        padding: 40px 12px
    }
}

@media screen and (max-width:480px) {
    .bread-section {
        padding-top: 56px
    }

    .bread-section .bread-list {
        padding: 8px 0
    }

    .bread-section .bread-list li {
        font-size: 9px
    }

    .page-title-section .page-title {
        padding: 32px 12px;
        font-size: 24px
    }

    .page-title-section .page-title .font-en {
        font-size: 12px
    }
}

.training-point-column {
    background: #fff;
    text-align: center;
    padding: 64px 40px
}

.training-point-column .title-wrap {
    margin-bottom: 16px
}

.training-point-column .title-wrap .tag {
    display: inline-block;
    border-radius: 2px;
    padding: 0 8px;
    font-weight: 700;
    height: 24px;
    line-height: 24px;
    font-size: 12px;
    margin: 0 auto 8px;
    background: rgba(200, 180, 130, 0.1490196078);
    color: #C8B482;
    font-family: "Libre Baskerville", serif
}

.training-point-column .title-wrap .title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.6
}

.training-point-column .lead {
    width: 760px;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.6
}

.training-point-column .btn {
    margin-top: 24px
}

.training-point-column .btn .btn-primary {
    margin: 0 auto;
    font-size: 14px
}

.training-point-column .img {
    margin-top: 40px
}

.training-point-column .img img {
    zoom: 0.5
}

.result-arrow-block {
    margin-bottom: 40px;
    text-align: center
}

.result-arrow-block img {
    zoom: 0.5
}

@media screen and (max-width:960px) {
    .training-point-column .lead {
        width: 100%
    }
}

@media screen and (max-width:480px) {
    .training-point-column {
        padding: 48px 16px
    }

    .training-point-column .title-wrap .title {
        font-size: 24px
    }

    .training-point-column .lead {
        text-align: left
    }

    .training-point-column .img img {
        zoom: 1;
        width: 100%
    }

    .result-arrow-block {
        margin-bottom: 24px
    }
}

.news-list {
    margin-bottom: 40px;
    border-bottom: 1px solid #F0EDE6
}

.news-list li {
    border-top: 1px solid #F0EDE6
}

.news-list li a {
    background: url(../../assets/images/icn_arrow01.png) no-repeat top 50% right 16px;
    background-size: 6px 10px;
    display: block;
    padding: 24px 32px 24px 16px;
    text-decoration: none
}

.news-list li a.is-active,
.news-list li a:hover {
    background: url(../../assets/images/icn_arrow02.png) no-repeat top 50% right 16px;
    background-size: 6px 10px;
    background-color: #FBFAF7
}

.news-list li a .news-head {
    margin-bottom: 8px
}

.news-list li a .news-title {
    color: #333;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
    -webkit-line-clamp: 2;
    text-overflow: ellipsis;
    overflow: hidden;
    -webkit-box-orient: vertical;
    display: -webkit-box
}

.cta-section {
    background: url("../images/bg_cta.png") no-repeat top 0 left 50%;
    background-size: cover;
    padding: 64px 0;
    text-align: center
}

.cta-section .cta-title {
    margin-bottom: 16px;
    font-family: "Noto Serif JP", serif;
    font-size: 28px;
    line-height: 1.6;
    font-weight: 500;
    color: #fff
}

.cta-section .lead {
    margin-bottom: 24px;
    font-size: 15px;
    line-height: 1.6;
    color: #fff
}

.cta-section .lead br {
    display: none
}

.cta-section .cta-s-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 16px
}

.cta-section .cta-s-column .half-block {
    width: 50%;
    padding: 0 24px;
    text-align: left
}

.cta-section .cta-s-column .title {
    font-family: "Noto Serif JP", serif;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.6;
    color: #fff;
    letter-spacing: 0.02em
}

.cta-section .cta-s-column .title .font-en {
    display: block;
    margin-top: 4px;
    font-family: "Libre Baskerville", serif;
    font-size: 15px;
    color: #C8B482
}

.cta-section .cta-s-column .btn-download {
    width: 100%;
    height: 68px;
    line-height: 68px;
    font-size: 20px
}

@media screen and (max-width:840px) {
    .cta-section .cta-s-column {
        display: block;
        padding: 0
    }

    .cta-section .cta-s-column .half-block {
        width: 100%;
        margin-bottom: 40px;
        padding: 0;
        text-align: center
    }

    .cta-section .cta-s-column .half-block:last-of-type {
        margin-bottom: 0
    }

    .cta-section .cta-s-column .btn-download {
        width: 400px;
        margin: 0 auto
    }
}

@media screen and (max-width:480px) {
    .cta-section {
        background: url("../images/bg_cta-sp.png") no-repeat top 0 left 50%;
        background-size: cover;
        padding: 48px 0
    }

    .cta-section .cta-title {
        font-size: 20px
    }

    .cta-section .lead br {
        display: block
    }

    .cta-section .btn-link-list {
        display: block
    }

    .cta-section .btn-link-list li {
        margin-bottom: 16px
    }

    .cta-section .btn-link-list li a {
        margin: 0 auto
    }

    .cta-section .cta-s-column {
        padding: 0
    }

    .cta-section .cta-s-column .half-block {
        margin-bottom: 24px
    }

    .cta-section .cta-s-column .half-block .title {
        font-size: 20px
    }

    .cta-section .cta-s-column .half-block .title .font-en {
        font-size: 12px
    }

    .cta-section .cta-s-column .half-block .btn-download {
        width: 248px;
        height: 56px;
        line-height: 56px;
        font-size: 16px
    }
}

.pagenation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.pagenation li {
    margin: 0 4px
}

.pagenation .btn-num a,
.pagenation .btn-num span {
    display: block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border: 1px solid #F0EDE6;
    text-align: center;
    color: #333;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none
}

.pagenation .btn-num a:hover {
    background: #FBFAF7;
    border: 1px solid #F0EDE6;
    color: #333
}

.pagenation .is-current span {
    background: #2E483E;
    border: none;
    color: #fff
}

.pagenation .btn-arrow a {
    display: block;
    background: url("../images/icn_arrow01.png") no-repeat top 50% left 50%;
    background-size: 6px 10px;
    width: 40px;
    height: 40px
}

.pagenation .btn-arrow a:hover {
    background: url("../images/icn_arrow02.png") no-repeat top 50% left 50%;
    background-size: 6px 10px
}

.pagenation .btn-prev {
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1)
}

.thanks-section {
    padding: 160px 0;
    text-align: center
}

.thanks-section .thanks-title {
    margin-bottom: 24px;
    font-family: "Noto Serif JP", serif;
    color: #2E483E;
    font-weight: 600;
    font-size: 28px;
    line-height: 1.6
}

.thanks-section .lead {
    margin-bottom: 48px;
    font-size: 15px;
    line-height: 1.6
}

@media screen and (max-width:480px) {
    .thanks-section {
        padding: 48px 0 64px
    }

    .thanks-section .thanks-title {
        font-size: 22px
    }
}

.step-section {
    background: -webkit-gradient(linear, left top, right top, from(#2E483E), color-stop(40%, #21674C), color-stop(60%, #21674C), to(#2E483E));
    background: linear-gradient(90deg, #2E483E 0%, #21674C 40%, #21674C 60%, #2E483E 100%)
}

.step-section .base-section-title-c {
    color: #fff;
    font-weight: 500
}

.step-section .step-list li {
    padding-left: 84px;
    padding-bottom: 8px;
    position: relative
}

.step-section .step-list li:before {
    content: "";
    position: absolute;
    top: 0;
    left: -1px;
    width: 1px;
    height: 100%;
    background: #C8B482
}

.step-section .step-list li:after {
    content: "";
    position: absolute;
    top: calc(50% - 16px);
    left: -12px;
    background: url("../images/icn_dot.png") no-repeat top 0 left 0;
    background-size: contain;
    width: 24px;
    height: 24px
}

.step-section .step-list li:first-child:before {
    height: 50%;
    top: inherit;
    bottom: 0
}

.step-section .step-list li:last-child:before {
    height: 50%
}

.step-section .step-list li .step-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: rgba(40, 55, 50, 0.4);
    position: relative
}

.step-section .step-list li .step-column:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -84px;
    width: 84px;
    height: 1px;
    border-top: 1px dashed #C8B482
}

.step-section .step-list li .step-column .number-block {
    background: radial-gradient(50% 50% at 0% 50%, rgba(41, 85, 68, 0.7) 0%, rgba(40, 55, 50, 0.7) 100%);
    width: 112px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.step-section .step-list li .step-column .number-block .text {
    font-family: "Libre Baskerville", serif;
    color: #C8B482;
    font-size: 12px;
    line-height: 1.6
}

.step-section .step-list li .step-column .number-block .text .number {
    font-size: 24px
}

.step-section .step-list li .step-column .exp-block {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 24px 32px
}

.step-section .step-list li .step-column .exp-block .exp-list {
    color: #fff;
    line-height: 1.6
}

.step-section .step-list li .step-column .exp-block .exp-list dt {
    margin-bottom: 8px;
    font-family: "Noto Serif JP", serif;
    font-size: 20px;
    font-weight: 600
}

.step-section .step-list li .step-column .exp-block .exp-list dd {
    font-size: 14px
}

@media screen and (max-width:480px) {
    .step-section .step-list li {
        padding-left: 32px
    }

    .step-section .step-list li .step-column:before {
        width: 32px;
        left: -32px
    }

    .step-section .step-list li .step-column .number-block {
        width: 64px
    }

    .step-section .step-list li .step-column .number-block .text {
        font-size: 10px
    }

    .step-section .step-list li .step-column .number-block .text .number {
        font-size: 20px
    }

    .step-section .step-list li .step-column .exp-block {
        padding: 24px
    }

    .step-section .step-list li .step-column .exp-block .exp-list dt {
        font-size: 18px
    }
}

.faq-section .faq-block {
    background: #fff;
    margin-bottom: 16px;
    padding: 24px
}

.faq-section .faq-block:last-of-type {
    margin-bottom: 0
}

.faq-section .faq-block .faq-list dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 12px;
    font-size: 16px;
    font-weight: 700
}

.faq-section .faq-block .faq-list dt .icon {
    display: inline-block;
    margin-right: 12px;
    width: 36px;
    height: 36px;
    line-height: 36px;
    border-radius: 100%;
    background-color: #2E483E;
    color: #fff;
    text-align: center
}

.faq-section .faq-block .faq-list dt .text {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    line-height: 1.6
}

.faq-section .faq-block .faq-list dd {
    font-size: 15px;
    line-height: 1.6
}

.js-modal-btn {
    cursor: pointer
}

.modal-contents {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 750px;
    height: 400px;
    z-index: 5
}

.modal-contents .js-close-btn {
    position: absolute;
    top: -36px;
    right: 0;
    width: 24px;
    height: 24px;
    cursor: pointer
}

.modal-contents .js-close-btn:hover:after,
.modal-contents .js-close-btn:hover:before {
    background: #C8B482
}

.modal-contents .js-close-btn:after,
.modal-contents .js-close-btn:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 4px;
    height: 24px;
    background: #fff;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.modal-contents .js-close-btn:before {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg)
}

.modal-contents .js-close-btn:after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg)
}

.modal-contents .movie {
    width: 100%;
    aspect-ratio: 16/9
}

@media screen and (max-width:840px) {
    .modal-contents {
        width: 90%
    }
}

.news-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.news-head .date {
    margin-right: 16px;
    color: #333;
    font-size: 14px
}

.news-head .tag {
    display: inline-block;
    border-radius: 2px;
    padding: 0 8px;
    font-weight: 700;
    height: 24px;
    line-height: 24px;
    font-size: 12px;
    background: rgba(200, 180, 130, 0.1490196078);
    color: #C8B482
}

.text-note {
    margin-top: 16px;
    font-size: 13px;
    line-height: 1.6
}

.base-section-title {
    margin-bottom: 32px;
    font-family: "Noto Serif JP", serif;
    color: #2E483E;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.6
}

.base-section-title .br-sp {
    display: none
}

@media screen and (max-width:480px) {
    .base-section-title {
        margin-bottom: 24px;
        font-size: 22px
    }

    .base-section-title .br-sp {
        display: block
    }
}

.base-section-title-c {
    margin-bottom: 32px;
    font-family: "Noto Serif JP", serif;
    color: #2E483E;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.6;
    text-align: center
}

.base-section-title-c .br-sp {
    display: none
}

@media screen and (max-width:480px) {
    .base-section-title-c {
        margin-bottom: 24px;
        font-size: 22px
    }

    .base-section-title-c .br-sp {
        display: block
    }
}

.list-dot li {
    position: relative
}

.list-dot li:before {
    content: "";
    position: absolute;
    top: 10px;
    left: 4px;
    border-radius: 100%;
    background: #C8B482 !important;
    width: 4px;
    height: 4px;
}

.list-dot li {
    margin-bottom: 4px;
    padding-left: 16px;
    font-size: 15px;
    line-height: 1.6
}

.list-dot li:last-child {
    margin-bottom: 0
}

.list-dot li:before {
    width: 4px;
    height: 4px
}

.form-exp-block {
    background: #FBFAF7;
    padding: 32px
}

@media screen and (max-width:480px) {
    .form-exp-block {
        padding: 24px
    }
}

.btn-center a {
    margin: 0 auto
}

.btn-link-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.btn-link-list li {
    padding: 0 12px
}

.btn-size-default {
    width: 248px;
    height: 56px
}

.btn-size-s {
    width: 200px;
    height: 50px
}

.btn-white {
    border-radius: 3px;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    letter-spacing: 0.04em;
    display: block;
    background: #fff;
    border: 1px solid #2E483E;
    color: #2E483E;
    font-size: 14px
}

.btn-white:hover {
    background: #EAEDEC
}

.btn-white.btn-size-default {
    line-height: 54px
}

.btn-white.btn-size-s {
    line-height: 48px
}

.btn-primary {
    border-radius: 3px;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    letter-spacing: 0.04em;
    display: block;
    position: relative;
    background: -webkit-gradient(linear, left top, right top, from(#2E483E), to(#2C7056));
    background: linear-gradient(90deg, #2E483E 0%, #2C7056 100%);
    color: #fff;
    font-size: 14px
}

.btn-primary:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 3px;
    opacity: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.btn-primary:hover:before {
    opacity: 1
}

.btn-primary .text {
    position: relative
}

.btn-primary:before {
    background: -webkit-gradient(linear, left top, right top, from(#2B4038), to(#2A5344));
    background: linear-gradient(90deg, #2B4038 0%, #2A5344 100%)
}

.btn-primary.btn-size-default {
    line-height: 56px
}

.btn-primary.btn-size-s {
    line-height: 50px
}

.btn-contact {
    border-radius: 3px;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    letter-spacing: 0.04em;
    display: block;
    background: #fff;
    -webkit-box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.1490196078);
    box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.1490196078);
    color: #2E483E;
    font-size: 16px
}

.btn-contact:hover {
    background: #EAEDEC;
    -webkit-box-shadow: none;
    box-shadow: none
}

.btn-contact.btn-size-default {
    line-height: 58px
}

.btn-download {
    border-radius: 3px;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    letter-spacing: 0.04em;
    display: block;
    position: relative;
    background: -webkit-gradient(linear, right top, left top, from(#C8B482), color-stop(29.84%, #EAD9AE), color-stop(69.71%, #EAD9AE), to(#C8B482));
    background: linear-gradient(270deg, #C8B482 0%, #EAD9AE 29.84%, #EAD9AE 69.71%, #C8B482 100%);
    -webkit-box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.1490196078);
    box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.1490196078);
    color: #283732;
    font-size: 16px;
    text-shadow: 1px 1px 0px rgba(255, 255, 255, 0.8)
}

.btn-download:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 3px;
    opacity: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s
}

.btn-download:hover:before {
    opacity: 1
}

.btn-download .text {
    position: relative
}

.btn-download .tag {
    display: inline-block;
    border-radius: 2px;
    padding: 0 8px;
    font-weight: 700;
    height: 24px;
    line-height: 24px;
    font-size: 12px;
    background: #283732;
    border-radius: 2px;
    margin-right: 4px;
    padding: 0 6px;
    font-size: 13px;
    color: #fff;
    height: 24px;
    line-height: 24px;
    display: inline-block;
    font-weight: 500;
    text-shadow: none
}

.btn-download:hover {
    -webkit-box-shadow: none;
    box-shadow: none
}

.btn-download:before {
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(46, 72, 62, 0.1)), to(rgba(46, 72, 62, 0.1)));
    background: linear-gradient(0deg, rgba(46, 72, 62, 0.1), rgba(46, 72, 62, 0.1))
}

.btn-download.btn-size-default {
    line-height: 56px
}

.cl-gray {
    color: #848484;
}

body,
html {
    height: 100%
}

body {
    background: #FBFAF7;
    font-family: "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", "MS PGothic", arial, sans-serif !important;
    font-size: 15px !important;
    color: #333 !important
}

input,
textarea {
    font-family: "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", "MS PGothic", arial, sans-serif !important
}

img {
    max-width: 100%
}

a {
    -webkit-transition: 0.3s;
    transition: 0.3s
}

body {
    line-height: 1 !important;
    -webkit-text-size-adjust: 100%
}

a,
body,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
html,
input,
li,
ol,
p,
td,
textarea,
th,
ul {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

img {
    border: none;
    vertical-align: middle
}

table {
    border-collapse: collapse
}

li {
    list-style: none
}

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden
}

.clearfix {
    display: inline-table;
    zoom: 1
}

* html .clearfix {
    height: 1%
}

.clearfix {
    display: block
}