@charset "utf-8"; /* CSS Document */
/*--------------------------------------
　Main Index
---------------------------------------*/
/*共通*/
/*image-rendering: -webkit-optimize-contrast;*/
body {
    background: none;
}

#index .sec {
    margin: 0 auto 150px;
    position: relative;
}

#contents .captionWrap {
    overflow: hidden;
    white-space: nowrap;
}

#contents .captionWrap .caption {
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    /*height: calc(100% + 18px);*/
    /*overflow-x: scroll;*/
}

.caption::-webkit-scrollbar {
    height: 5px;
}

.caption::-webkit-scrollbar-thumb {
    border-radius: 2px;
    background: #ddd;
}

.caption::-webkit-scrollbar-track {
    border-radius: 5px;
    background: #eee;
}

#contents {
    /*overflow: hidden;*/
}

#index .titArea {
    width: 1170px;
    margin: 0 auto 60px;
    position: relative;
}

#index .idxh2 {
    color: #000;
    font-size: 4.8rem;
    line-height: 7.2rem;
    text-align: center;
    margin-top: 0;
    margin-bottom: 40px;
    padding: 25px 0 35px;
    position: relative;
    background: none;
    letter-spacing: 0.2rem;
    border-top: 8px solid #e5e0c9;
    border-bottom: 8px solid #e5e0c9;
}

#index .bg_darkTone .idxh2 {
    color: #fff;
    border-top: 8px solid #fff;
    border-bottom: 8px solid #fff;
}

#index .idxh2:before, #index .idxh2:after {
    display: none;
}

#index .idxh2 .fs_ss {
    font-size: 3.2rem;
    line-height: 6rem;
}

#index .idxh2 .fs_s {
    font-size: 3.8rem;
}

#index .idxh2 a {
    position: relative;
    color: #000;
    background: none;
    display: inline-block;
    padding: 0 5svb;
    transition: 0.2s ease;
}

#index .bg_darkTone .idxh2 a {
    color: #fff;
}

#index .idxh2 a:before {
    content: "";
    background: url(img/arr01.png) 50% 50% no-repeat;
    background-size: 20px auto;
    position: absolute;
    top: calc(50% - 10px);
    right: 0;
    width: 22px;
    height: 22px;
}

#index .bg_darkTone .idxh2 a:before {
    background: url(img/arr01_w.png) 50% 50% no-repeat;
    background-size: 20px auto;
}

#index .titArea p {
    margin: 0;
    padding: 0;
}

#index .comCont_type01 {
    margin: 120px auto;
    padding: 0 50px 50px 50px;
}

#index .comCont_type01 .flBox .txtArea {
    width: calc(100% - 200px - 50px);
}

#index .txt_link a {
    text-decoration: underline;
}

#index .txt_link a:hover {
    text-decoration: none;
    opacity: 0.7;
}

/* Firefox */
@-moz-document url-prefix() {
}

/*各セクション*/
.sitename_wrap {
    padding: 10px 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    position: relative;
    z-index: 1;
}

#keyArea {
    margin: 0 auto 100px;
    position: relative;
}

#keyArea:before {
    content: "";
    background: #f6f5f0;
    position: absolute;
    top: -560px;
    left: calc(50% - 848px);
    width: 1000px;
    height: 1000px;
    border-radius: 50%;
}

#keyArea .wi1170 {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: end;
}

#keyArea .wi1170 .visu {
    position: absolute;
    top: -40px;
    left: 0;
    width: 480px;
}

#keyArea .wi1170 .txtArea {
    width: 680px;
    padding: 80px 0 0 0;
}

#keyArea .wi1170 .txtArea .keyH2 {
    margin: 0 0 30px 0;
}

#keyArea .wi1170 .txtArea .keyH2 .txt01 {
    font-size: 4.6rem;
    color: #009b49;
    /* font-feature-settings: "palt"; */
    letter-spacing: 0.2rem;
    display: block;
    margin: 0 0 30px -28px;
}

#keyArea .wi1170 .txtArea .keyH2 .txt01 .fs_s {
    font-size: 3.8rem;
    color: #000;
}

#keyArea .wi1170 .txtArea .keyH2 .txt02 {
    font-size: 3.6rem;
    line-height: 6rem;
}

#keyArea .wi1170 .txtArea .keyH2 .txt02 .dot {
    position: relative;
}

#keyArea .wi1170 .txtArea .keyH2 .txt02 .dot:before {
    content: "";
    background: #ffdb01;
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    top: -8px;
    left: calc(50% - 4px);
}

#keyArea .wi1170 .txtArea .caption {
    text-align: right;
    font-size: 1.2rem;
    line-height: 1.4;
}

/*sec01_cont*/
#index #sec01_cont .decoLine {
    width: 510px;
    height: 40px;
    margin: -30px auto 0;
    border: 8px solid #e5e0c9;
    border-bottom: none;
    position: relative;
}

#index #sec01_cont .decoLine:before {
    content: "";
    background: #e5e0c9;
    position: absolute;
    width: 8px;
    height: 30px;
    left: calc(50% - 4px);
    top: -38px;
}

#index #sec01_cont .ancNav {
    width: 970px;
    margin: 0 auto 25px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#index #sec01_cont .ancNav .ancNav_btn {
    width: 48%;
    border-radius: 10px;
}

#index #sec01_cont .ancNav .ancNav_btn a {
    text-align: center;
    display: block;
    font-size: 2.2rem;
    font-weight: 700;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid #555;
    box-shadow: 0 3px 0 #555;
    transition: 0.2s ease;
}

#index #sec01_cont .ancNav .ancNav_btn a:hover {
    box-shadow: none;
    transform: translateY(3px);
}

#index #sec01_cont .ancNav .ancNav_btn a span {
    display: block;
    padding: 16px 0 32px;
    background: url(img/arr_black_down.png) left 50% bottom 8px no-repeat;
    background-size: 18px auto;
    position: relative;
    z-index: 1;
}

#index #sec01_cont .ancNav .ancNav_btn.btnL a {
    background: #f0eee3;
}

#index #sec01_cont .ancNav .ancNav_btn.btnL a:before {
    content: "";
    position: absolute;
    background: #f6f5f0;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    top: calc(50% - 130px);
    left: calc(50% - 130px);
}

#index #sec01_cont .ancNav .ancNav_btn.btnL a:after {
    content: "";
    position: absolute;
    background: url(img/deco_human01.png) 50% 100% no-repeat;
    background-size: 90px auto;
    width: 90px;
    height: 124px;
    bottom: -20px;
    left: 10px;
}

#index #sec01_cont .ancNav .ancNav_btn.btnR a {
    background: #cbe6c0;
}

#index #sec01_cont .ancNav .ancNav_btn.btnR a:before {
    content: "";
    position: absolute;
    background: #d9ecd1;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    top: calc(50% - 130px);
    left: calc(50% - 130px);
}

#index #sec01_cont .ancNav .ancNav_btn.btnR a:after {
    content: "";
    position: absolute;
    background: url(img/deco_human02.png) 50% 100% no-repeat;
    background-size: 100px auto;
    width: 100px;
    height: 142px;
    bottom: -32px;
    left: 10px;
}

#index #sec01_cont .txt_type01 {
    text-align: center;
}

#index #sec01_cont .modalBtn_area {
    margin: 230px auto 120px;
}

#index #sec01_cont .modalBtn_area #fixBtn {
    margin: 0 auto;
    position: fixed;
    bottom: 8px;
    left: calc(50% - 465px);
    max-width: 930px;
    display: none;
    z-index: -1;
}

#index #sec01_cont .modalBtn_area.active #fixBtn {
    display: flex;
    z-index: 2;
}

#index #sec01_cont .modalBtn_area .block {
    border: 1px solid #fff;
    border-radius: 40px;
    position: relative;
}

#index #sec01_cont .modalBtn_area .block01 {
    background: #f0eee3;
    padding: 0 0 200px 0;
}

#index #sec01_cont .modalBtn_area .block01:before {
    content: "";
    background: url(img/deco_human01.png) 50% 100% no-repeat;
    background-size: 137px auto;
    width: 137px;
    height: 200px;
    position: absolute;
    top: -170px;
    left: calc(50% - 69px);
    z-index: 1;
}

#index #sec01_cont .modalBtn_area .block02:before {
    content: "";
    background: url(img/deco_human02.png) 50% 100% no-repeat;
    background-size: 137px auto;
    width: 137px;
    height: 200px;
    position: absolute;
    top: -170px;
    left: calc(50% - 69px);
    z-index: 1;
}

#index #sec01_cont .modalBtn_area .block02 {
    background: #f1f6ef;
    margin: -70px auto 0;
}

#index #sec01_cont .modalBtn_area .h3Out {
    position: relative;
    overflow: hidden;
    border-radius: 40px;
    border-top: solid 1px #000;
}

#index #sec01_cont .modalBtn_area .h3Out:before {
    content: "";
    position: absolute;
    width: 1400px;
    height: 1400px;
    border-radius: 50%;
    top: -1000px;
    left: calc(50% - 700px);
}

#index #sec01_cont .modalBtn_area .block01 .h3Out:before {
    background: #f6f5f0;
}

#index #sec01_cont .modalBtn_area .block02 .h3Out:before {
    background: #d9ecd1;
}

#index #sec01_cont .modalBtn_area .idxh3 {
    margin: 0;
    padding: 100px 0 60px;
    text-align: center;
    font-size: 4rem;
    line-height: 6rem;
    background: none;
    position: relative;
}

#index #sec01_cont .modalBtn_area .idxh4 {
    font-size: 2.4rem;
    height: 180px;
    display: flex;
    text-align: center;
    color: #fff;
    background-size: 48px auto;
    margin: 0;
    padding: 48px 16px 24px;
    border: none;
    line-height: 1.4;
    align-items: center;
    justify-content: center;
    clip-path: polygon(0% 0%, 100% 0%, 100% 95%, 55% 95%, 50% 100%, 45% 95%, 0% 95%);
}

#block01 .sBlock:nth-of-type(1) .idxh4 {
    background: #009b49 url("img/icon_modalArea01.png") no-repeat center top 8px;
}

#block01 .sBlock:nth-of-type(2) .idxh4 {
    background: #009b49 url("img/icon_modalArea02.png") no-repeat center top 8px;
}

#block01 .sBlock:nth-of-type(3) .idxh4 {
    background: #009b49 url("img/icon_modalArea03.png") no-repeat center top 8px;
}

#block01 .sBlock:nth-of-type(4) .idxh4 {
    background: #009b49 url("img/icon_modalArea04.png") no-repeat center top 8px;
}

#block02 .sBlock:nth-of-type(1) .idxh4 {
    background: #014e25 url("img/icon_modalArea05.png") no-repeat center top 8px;
}

#block02 .sBlock:nth-of-type(2) .idxh4 {
    background: #014e25 url("img/icon_modalArea06.png") no-repeat center top 8px;
}

#block02 .sBlock:nth-of-type(3) .idxh4 {
    background: #014e25 url("img/icon_modalArea07.png") no-repeat center top 8px;
}

#block02 .sBlock:nth-of-type(4) .idxh4 {
    background: #014e25 url("img/icon_modalArea08.png") no-repeat center top 8px;
}

.sBlock-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    width: 100%;
    max-width: 1170px;
    padding: 0;
    background: none;
}

.sBlock {
    width: calc(25% - 16px);
    /* 4列レイアウトのために幅を設定 */
    margin-bottom: 40px;
    padding: 0;
    box-sizing: border-box;
    border-radius: 10px;
}

#index #sec01_cont .modalBtn_area .btnCont {
    padding: 0;
    margin: 20px 0 0;
}

#index #sec01_cont .modalBtn_area .btnCont .btn {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
    color: #009b49;
    border: 1px solid #000000b3;
    box-shadow: 0 3px 0 #000000b3;
    border-radius: 10px;
    background: #fff url(img/icon_plus.png) right 16px top 50% no-repeat;
    background-size: 14px auto;
    padding: 24px 32px 24px 16px;
    margin-bottom: 2.4rem;
    position: relative;
    transition: all 0.3s ease;
    width: 100%;
}

#index #sec01_cont .modalBtn_area .btnCont .btn_green:before {
    content: "注目!";
    color: #fff;
    text-align: center;
    font-size: 1.4rem;
    position: absolute;
    padding: 10px 0;
    top: -20px;
    right: 4px;
    background: url(img/huki.png) 50% top no-repeat;
    background-size: contain;
    width: 40px;
    height: 40px;
    animation: floating-y 1s ease-in-out infinite alternate-reverse;
}

@keyframes floating-y {
    0% {
        transform: translateY(-2%);
    }

    100% {
        transform: translateY(2%);
    }
}

#index #sec01_cont .modalBtn_area .btnCont .btn:hover::before {
    animation: none;
}

#index #sec01_cont .modalBtn_area .btnCont .btn:hover {
    opacity: 1;
    box-shadow: none;
    transform: translateY(3px);
}

#index #sec01_cont .modalBtn_area .sammaryBox {
    background: #00421e url(img/icon_large01.png) center bottom 2rem no-repeat;
    color: #fff;
    border-radius: 0 0 40px 40px;
    padding: 100px 0 100px 0;
    position: relative;
}

#index #sec01_cont .modalBtn_area .sammaryBox:before {
    content: "";
    position: absolute;
    top: -2px;
    left: calc(50% - 90px);
    background: #f1f6ef;
    width: 180px;
    height: 40px;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
}

#index #sec01_cont .modalBtn_area .sammaryBox p {
    text-align: center;
    font-size: 3rem;
    font-weight: 700;
    line-height: 5.6rem;
    margin: 0;
}

#index #sec01_cont .modalBtn_area .sammaryBox p .bg_white {
    font-size: 104%;
    font-weight: 700;
    background: #ffdb01;
    color: #00421e;
}

/* モーダル */
#index #sec01_cont .modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s;
    pointer-events: none;
    opacity: 0;
    z-index: 100;
    background-color: rgba(0, 0, 0, 0.5);
}

/* モーダルがactiveの時 */
#index #sec01_cont .modal.is-active {
    opacity: 1;
    pointer-events: auto;
}

/* モーダル背景のオーバーレイ部分 */
#index #sec01_cont .modal__overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

/* モーダルのコンテンツ */
#index #sec01_cont .modal__content {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #000;
    position: relative;
    background-color: #f6f5f0;
    width: 100%;
    max-width: 1200px;
    overflow-y: auto;
    max-height: 90vh;
}
.modal__content::-webkit-scrollbar {
    width: 14px;
    padding: 0.2rem;
}
 
.modal__content::-webkit-scrollbar-track {
    background-color: #dddcd7;
    border-radius: 100px;
}
 
.modal__content::-webkit-scrollbar-thumb {
    background-color: #9f935a;
    border-radius: 100px;
    border: 2px solid transparent;
    background-clip: content-box;
}
/* モーダルを閉じるボタン */
#index #sec01_cont .modal__close-btn {
    color: #fff;
    font-size: 3rem;
    position: absolute;
    right: 30px;
    top: 36px;
    width: 30px;
    height: 30px;
    cursor: pointer;
    z-index: 10;
}

#index #sec01_cont .swiper:before {
    content: "";
    background-size: 100% 100%;
    width: 100%;
    background-color: #009b49;
    height: 110px;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1;
}


#index #sec01_cont .modal__close-btn:hover {
    opacity: 0.7;
}

#index #sec01_cont .modal__content .titOut {
    background: #009b49;
    padding: 20px 207px 20px 30px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}
#index #sec01_cont .modal__content .titOut.forest {
    background: #014e25;
}
#index #sec01_cont .modal__content .titOut img {
    width: 70px;
    height: auto;
}

#index #sec01_cont .modal__content .titOut .mTit {
    font-size: 3rem;
    font-weight: 700;
    color: #fff;
    padding: 0 0 0 20px;
}

#index #sec01_cont .modal__content .swiper-button-next, #index #sec01_cont .modal__content .swiper-button-prev {
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

#index #sec01_cont .modal__content .swiper-button-next:hover, #index #sec01_cont .modal__content .swiper-button-prev:hover {
    opacity: 0.7;
}

.swiper-button-next:after, .swiper-button-prev:after {
    font-size: 0;
}

#index #sec01_cont .modal__content .swiper-button-out {
    position: absolute;
    top: 60px;
    right: 100px;
    width: 94px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    z-index: 10;
}

#index #sec01_cont .modal__content .swiper-button-next {
    background: url(img/arr_slide_next.png) 50% 50% no-repeat;
    background-size: 32px auto;
    width: 32px;
    height: 32px;
    right: 0;
}

#index #sec01_cont .modal__content .swiper-button-prev {
    background: url(img/arr_slide_prev.png) 50% 50% no-repeat;
    background-size: 32px auto;
    width: 32px;
    height: 32px;
    left: 0;
}

#index #sec01_cont .modal__content .detailBox .sBox {
    padding: 30px 40px;
}

#index #sec01_cont .modal__content .detailBox .sBox .catch {
    font-size: 2.2rem;
    font-weight: 700;
    color: #014e25;
    margin: 0 0 10px 0;
}
#index #sec01_cont .modal__content .detailBox .catch::before {
    content: "まずは";
    background: #014e25;
    display: inline-block;
    font-size: 1.6rem;
    line-height: 2;
    transform: translateY(-2px);
    color: #fff;
    padding: 0 0.8rem 0 0.4rem;
    margin-right: 0.7rem;
    clip-path: polygon(0% 0%, 90% 0%, 100% 50%, 90% 100%, 0% 100%);
}

#index #sec01_cont .modal__content .detailBox .sBox:nth-of-type(2) .catch::before{
    content: "さらに";
}

#index #sec01_cont .modal__content .detailBox .sBox .txt_link {
    text-align: right;
}

#index #sec01_cont .modal__content .detailBox .sBox .txt_link a {
    background: url(img/arr_black.png) right 0 top 50% no-repeat;
    background-size: 8px auto;
    padding: 0 20px 0 0;
    display: block;
}

#index #sec01_cont .modal__content .detailBox .sBox:nth-child(odd) {
    background: #fff;
}

#index #sec01_cont .modal__content .detailBox .sBox:nth-child(even) {
    background: #f6f5f0;
}

#index #sec01_cont .modal__content .detailBox .sBox p:last-child {
    margin: 0;
}

/* Swiperの矢印部分 */
@media (max-width: 768px) {
    #index #sec01_cont .modal .swiper-button-next, #index #sec01_cont .modal .swiper-button-prev {
        display: none;
    }
}

/*sec02_cont*/
#index #sec02_cont {
    background: #00421e url(img/icon_large01.png) left calc(50% - 580px) top 0 no-repeat;
    background-size: 378px auto;
    padding: 144px 0 32px;
    border-radius: 40px;
    border: 1px solid #000;
    overflow: hidden;
    position: relative;
    z-index: 1;
    margin: 0 auto -150px;
}

#index #sec02_cont p {
    color: #fff;
}

#index #sec02_cont .phArea {
    padding: 0 0 80px 0;
}

#index #sec02_cont .phArea img {
    margin: 0 auto 20px;
}

#index #sec02_cont .phArea p {
    margin: 0;
}

/*タブ*/
#index #sec02_cont .tabContent {
    /* background: #009b49; */
    padding: 0 0 120px;
}

#index #sec02_cont .tabContent .idxh3 {
    margin: 0 0 30px 0;
    background: none;
    padding: 0;
    font-size: 3.2rem;
    line-height: 1.8;
    color: #fff;
    text-align: center;
}

#index #sec02_cont .flexbox {
    display: flex;
}

#index #sec02_cont .fw {
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

#index #sec02_cont #shienCase {
    position: relative;
    z-index: 10;
}

#index #sec02_cont #shienCase .hide {
    display: none;
}

#index #sec02_cont .tab {
    overflow: hidden;
}

#index #sec02_cont .tab li {
    list-style: none;
    flex: 1;
    text-align: center;
    background: #9ad4b5;
    margin: 0;
    padding: 14px 0 14px 10px;
    color: #fff;
    font-size: 2.4rem;
    font-weight: 700;
    position: relative;
}

#index #sec02_cont .tab li:before {
    content: "";
    background: url(img/deco_arr_flow_off.png) 0 50% no-repeat;
    background-size: 100% 100%;
    width: 17px;
    height: 100%;
    position: absolute;
    top: 0;
    right: -17px;
    z-index: 1;
}

#index #sec02_cont .tab li.select:before {
    background: url(img/deco_arr_flow_on.png) 0 50% no-repeat;
    background-size: 100% 100%;
}

#index #sec02_cont .tab li:hover {
    cursor: pointer;
}

#index #sec02_cont .tab li:hover .tabTxt {
    opacity: 0.7;
}

#index #sec02_cont .tab .select {
    background: #009b49;
}

#index #sec02_cont .tabDetail {
    background: #fff;
    border-radius: 0 0 10px 10px;
}

#index #sec02_cont .tabDetail .sBox .inner {
    background: #fff;
    padding: 30px 40px;
    border-radius: 0 0 10px 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

#index #sec02_cont .tabDetail .sBox .inner .iconArea {
    width: 110px;
}

#index #sec02_cont .tabDetail .sBox .inner .txtArea {
    width: calc(100% - 110px - 40px);
}

#index #sec02_cont .tabDetail .sBox .inner .txtArea .idxh4 {
    margin: 0 0 20px 0;
    padding: 0;
    font-size: 2.4rem;
    color: #014e25;
    border: none;
}

#index #sec02_cont .tabDetail .sBox .txtArea p {
    color: #000;
}

#index #sec02_cont .tabDetail .sBox ul {
    margin: 0;
    padding: 0;
}

/*sec03_cont*/
#index #sec03_cont {
    background: #f6f5f0 url(img/icon_large02.png) left calc(50% - 650px) top 230px no-repeat;
    background-size: 250px auto;
    padding: 300px 0 150px;
    margin: 0 auto;
}

#index #sec03_cont .detail {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

#index #sec03_cont .detail .sBox {
    width: 390px;
    position: relative;
    padding: 40px 30px 30px 30px;
}

#index #sec03_cont .detail .sBox:before {
    content: "";
    background: #000;
    width: 1px;
    height: calc(100% - 40px);
    position: absolute;
    top: 20px;
    right: 0;
}

#index #sec03_cont .detail .sBox:nth-child(3n):before {
    display: none;
}

#index #sec03_cont .detail .sBox:after {
    content: "";
    background: #000;
    width: calc(100% - 40px);
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 20px;
}

#index #sec03_cont .detail .sBox.bb_none:after {
    display: none;
}

#index #sec03_cont .detail .sBox .ph {
    width: 250px;
    margin: 0 auto 30px;
}

#index #sec03_cont .detail .sBox .ph img {
    border-radius: 10px;
}

#index #sec03_cont .detail .sBox .idxh3 {
    background: none;
    text-align: center;
    line-height: 3rem;
    margin: 0 auto 20px;
    padding: 0;
    display: table;
}

#index #sec03_cont .detail .sBox .idxh3 a {
    font-size: 2rem;
    color: #014e25;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    padding: 0 35px 0 15px;
    background: url(img/arr01.png) right 0 top 50% no-repeat;
    background-size: 20px auto;
}

#index #sec03_cont .detail .sBox p:last-child {
    margin: 0;
}

#index #sec03_cont .comCont_type01 {
    margin: 150px auto 0;
}

/*sec04_cont*/
#index #sec04_cont {
    background: url(img/icon_large03.png) right calc(50% - 640px) top 80px no-repeat;
    background-size: 250px auto;
    padding: 144px 0 0;
    margin: 0 auto 120px;
}

#index #sec04_cont .detail01 {
    margin: 0 auto 100px;
}

#index #sec04_cont .detail01 .catch {
    background: #014e25;
    color: #fff;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 3.4rem;
    display: inline-block;
    margin: 0 0 30px 0;
    padding: 3px 20px 5px 20px;
}

#index #sec04_cont .detail01 .h3Out {
    position: relative;
    margin: 50px 0 50px;
}

#index #sec04_cont .detail01 .h3Out:before {
    content: "";
    position: absolute;
    background: #f6f5f0;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    top: calc(50% - 65px);
    left: -20px;
}

#index #sec04_cont .detail01 .idxh3 {
    font-size: 3.4rem;
    line-height: 1.8;
    background: none;
    padding: 0 0 0 30px;
    position: relative;
}

#index #sec04_cont .detail01 .sBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto 60px;
}

#index #sec04_cont .detail01 .sBox .ph {
    width: 465px;
}

#index #sec04_cont .detail01 .sBox:nth-child(odd) .ph {
    order: 2;
}

#index #sec04_cont .detail01 .sBox:nth-child(odd) .txtArea {
    order: 1;
}

#index #sec04_cont .detail01 .sBox .txtArea {
    width: 465px;
}

#index #sec04_cont .detail01 .sBox .txtArea .idxh4 {
    margin: 0 0 20px 0;
    padding: 0 0 15px 0;
    font-size: 2rem;
    color: #014e25;
    border-bottom: 1px solid #000;
}

/*タブ*/
#index #sec04_cont .flexbox {
    display: flex;
}

#index #sec04_cont .fw {
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

#index #sec04_cont #torikumi {
    position: relative;
    z-index: 1;
}

#index #sec04_cont #torikumi .hide {
    display: block;
    /* display: none; */
}

#index #sec04_cont .tab {
    /* overflow: hidden; */
}

#index #sec04_cont .tab li {
    line-height: 5rem;
    list-style: none;
    flex: 1;
    text-align: center;
    margin: 0;
    padding: 50px 0 40px 0;
    color: #000;
    font-size: 2.4rem;
    font-weight: 700;
    position: relative;
    /* opacity: 0.7; */
}

#index #sec04_cont .tab li .fs_l {
    font-size: 3.6rem;
    color: #fff;
    padding: 0 10px 4px 10px;
    line-height: 4.6rem;
    display: inline-block;
}

#index #sec04_cont .tab li:nth-child(1) .fs_l {
    background: #009b49;
}

#index #sec04_cont .tab li:nth-child(2) .fs_l {
    background: #767868;
}

#index #sec04_cont .tab li:nth-child(1) {
    background: #e8f2e4;
    border-radius: 0 40px 0 0;
}

#index #sec04_cont .tab li:nth-child(1):before {
    content: "";
    background: #e8f2e4;
    position: absolute;
    top: 0;
    left: -1000px;
    width: 1000px;
    height: 100%;
}

#index #sec04_cont .tab li:nth-child(2) {
    background: #e4e5df;
    border-radius: 40px 0 0 0;
}

#index #sec04_cont .tab li:nth-child(2):before {
    content: "";
    background: #e4e5df;
    position: absolute;
    top: 0;
    right: -1000px;
    width: 1000px;
    height: 100%;
}

#index #sec04_cont .tab li:hover {
    /* cursor: pointer; */
}

#index #sec04_cont .tab .select {
    opacity: 1;
}

#index #sec04_cont .tabDetail {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
    margin: 0 auto 120px;
}

#index #sec04_cont .tabDetail:before {
    content: "";
    background: url(img/deco_triangle01.png) 50% 50% no-repeat;
    background-size: 180px auto;
    width: 180px;
    height: 40px;
    position: absolute;
    bottom: -40px;
    left: calc(50% - 90px);
}

#index #sec04_cont .detail02 .sBox {
    width: 50%;
    position: relative;
}

#index #sec04_cont .detail02 .sBox_green {
    background: #e8f2e4;
    padding: 0 50px 80px 0;
}

#index #sec04_cont .detail02 .sBox_green:before {
    content: "";
    background: #e8f2e4;
    position: absolute;
    top: 0;
    left: -1000px;
    width: 1000px;
    height: 100%;
}

#index #sec04_cont .detail02 .sBox_blue {
    background: #e4e5df;
    padding: 0 0 80px 50px;
}

#index #sec04_cont .detail02 .sBox_blue:before {
    content: "";
    background: #e4e5df;
    position: absolute;
    top: 0;
    right: -1000px;
    width: 1000px;
    height: 100%;
}

#index #sec04_cont .detail02 .sBox .sBox_list {
    border-radius: 10px;
    padding: 20px 30px;
    margin-bottom: 30px;
    position: relative;
}

#index #sec04_cont .detail02 .sBox_green .sBox_list:nth-child(1) {
    background: #fff url(img/thumb_sec03_green01.png) 100% 100% no-repeat;
    background-size: 140px auto;
}

#index #sec04_cont .detail02 .sBox_green .sBox_list:nth-child(2) {
    background: #fff url(img/thumb_sec03_green02.png) 100% 100% no-repeat;
    background-size: 140px auto;
}

#index #sec04_cont .detail02 .sBox_green .sBox_list:nth-child(3) {
    background: #fff url(img/thumb_sec03_green03.png) 100% 100% no-repeat;
    background-size: 140px auto;
}

#index #sec04_cont .detail02 .sBox_green .sBox_list:nth-child(4) {
    background: #fff url(img/thumb_sec03_green04.png) 100% 100% no-repeat;
    background-size: 140px auto;
}

#index #sec04_cont .detail02 .sBox_green .sBox_list:nth-child(5) {
    background: #fff url(img/thumb_sec03_green05.png) 100% 100% no-repeat;
    background-size: 140px auto;
}

#index #sec04_cont .detail02 .sBox_blue .sBox_list:nth-child(1) {
    background: #fff url(img/thumb_sec03_blue01.png) 100% 100% no-repeat;
    background-size: 140px auto;
}

#index #sec04_cont .detail02 .sBox_blue .sBox_list:nth-child(2) {
    background: #fff url(img/thumb_sec03_blue02.png) 100% 100% no-repeat;
    background-size: 140px auto;
}

#index #sec04_cont .detail02 .sBox_blue .sBox_list:nth-child(3) {
    background: #fff url(img/thumb_sec03_blue03.png) 100% 100% no-repeat;
    background-size: 140px auto;
}

#index #sec04_cont .detail02 .sBox_blue .sBox_list:nth-child(4) {
    background: #fff url(img/thumb_sec03_blue04.png) 100% 100% no-repeat;
    background-size: 140px auto;
}

#index #sec04_cont .detail02 .sBox_blue .sBox_list:nth-child(5) {
    background: #fff url(img/thumb_sec03_blue05.png) 100% 100% no-repeat;
    background-size: 140px auto;
}

#index #sec04_cont .detail02 .sBox_blue .sBox_list:nth-child(6) {
    background: #fff url(img/thumb_sec03_blue06.png) 100% 100% no-repeat;
    background-size: 140px auto;
}

#index #sec04_cont .detail02 .sBox .sBox_list .num {
    position: absolute;
    top: -15px;
    left: -15px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.6;
    color: #fff;
    width: 30px;
    height: 30px;
    text-align: center;
    border-radius: 50%;
}

#index #sec04_cont .detail02 .sBox_green .sBox_list .num {
    background: #009b49;
}

#index #sec04_cont .detail02 .sBox_blue .sBox_list .num {
    background: #767868;
}

#index #sec04_cont .detail02 .sBox .sBox_list .idxh5 {
    margin: 0 0 10px 0;
    padding: 0;
    border: none;
    font-size: 2rem;
    color: #000;
}

#index #sec04_cont .detail02 .sBox .sBox_list ul {
    margin: 0;
    padding: 0;
}

#index #sec04_cont .detail02 .sBox_blue .sBox_list li {
    background: url(./img/listicon.png) 2px 10px no-repeat;
    background-size: auto 14px;
}

#index #sec04_cont .detail02 #torikumi .txtBox {
    position: relative;
}

#index #sec04_cont .detail02 #torikumi .txtBox:before {
    content: "";
    position: absolute;
    top: -60px;
    left: calc(50% - 4px);
    width: 8px;
    height: 45px;
    background: url(img/deco_dot.png) 50% 50% no-repeat;
    background-size: 8px auto;
}

#index #sec04_cont .detail02 #torikumi .txtBox p {
    font-size: 2.4rem;
    text-align: center;
    font-weight: 700;
    line-height: 4.4rem;
    margin: 0;
}

/*sec05_cont*/
#index #sec05_cont {
    background: #f6f5f0 url(img/icon_large04.png) left calc(50% - 670px) top 40px no-repeat;
    background-size: 250px auto;
    padding: 144px 0;
}

#index #sec05_cont .stickyArea {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#index #sec05_cont .stickyArea .decoArea {
    width: 40%;
    padding: 40px 100px 0 0;
}

#index #sec05_cont .stickyArea .decoArea .inner {
    width: 200px;
    position: relative;
    top: 4rem;
    display: flex;
    flex-wrap: wrap;
    flex-flow: column;
    float: right;
}

#index #sec05_cont .stickyArea .decoArea .inner .circle {
    width: 240px;
    height: 240px;
    border-radius: 50%;
    text-align: center;
    font-weight: 700;
    font-size: 2.4rem;
    line-height: 1.4;
    padding: 6.4rem 0 0 0;
    border: 5px solid #e5e0c9;
}

#index #sec05_cont .stickyArea .decoArea .inner .circle .fc_green {
    font-size: 4.2rem;
}

#index #sec05_cont .stickyArea .decoArea .inner .circle01 {
    background: #fff;
    margin: 0 auto -30px;
    position: relative;
}

#index #sec05_cont .stickyArea .decoArea .inner .circle02 {
    background: #e5e0c9;
    transform: translateX(-8rem);
}

#index #sec05_cont .stickyArea .scrollArea {
    width: 60%;
}

#index #sec05_cont .stickyArea .scrollArea .sBox {
    background: #009b49;
    border: 1px solid #000;
    border-radius: 40px 0 0 40px;
    margin: 0 0 40px 0;
    padding: 40px 0 40px 50px;
}

#index #sec05_cont .stickyArea .scrollArea .sBox .inner {
    width: 550px;
}

#index #sec05_cont .stickyArea .scrollArea * {
    color: #fff;
}

#index #sec05_cont .stickyArea .scrollArea .idxh3 {
    background: none;
    margin: 0 0 15px 0;
    padding: 0;
}

#index #sec05_cont .stickyArea .scrollArea .idxh3 a {
    font-size: 3rem;
    display: inline-block;
    background: url(img/arr01_w.png) 100% 50% no-repeat;
    background-size: 20px auto;
    padding: 0 50px 0 0;
}

#index #sec05_cont .stickyArea .scrollArea .sBox .inner .txt_link {
    margin: 0;
    text-align: right;
}

#index #sec05_cont .stickyArea .scrollArea .sBox .inner .txt_link a {
    background: url(img/arr_white.png) 100% 50% no-repeat;
    background-size: 8px auto;
    padding: 0 20px 0 0;
}

/*sec06_cont*/
#index #sec06_cont .blockCont {
}

#index #sec06_cont .flBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0 auto 80px;
}

#index #sec06_cont .flBox .sBox {
    width: 390px;
    position: relative;
    padding: 40px 30px 30px 30px;
}

#index #sec06_cont .flBox .sBox:before {
    content: "";
    background: #000;
    width: 1px;
    height: calc(100% - 40px);
    position: absolute;
    top: 20px;
    right: 0;
}

#index #sec06_cont .flBox .sBox:nth-child(3n):before {
    display: none;
}

#index #sec06_cont .flBox .sBox:after {
    content: "";
    background: #000;
    width: calc(100% - 40px);
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 20px;
}

#index #sec06_cont .flBox .sBox.bb_none:after {
    display: none;
}

#index #sec06_cont .flBox .sBox .idxh3 {
    background: none;
    text-align: center;
    line-height: 3rem;
    margin: 0 auto 20px;
    padding: 0;
    display: table;
}

#index #sec06_cont .flBox .sBox .idxh3 a {
    font-size: 2rem;
    color: #014e25;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    padding: 0 35px 0 15px;
    background: url(img/arr01.png) right 0 top 50% no-repeat;
    background-size: 20px auto;
}

#index #sec06_cont .flBox .sBox p:last-child {
    margin: 0;
}

#index #sec06_cont .flBox .sBox .txt_link {
    text-align: right;
}

#index #sec06_cont .flBox .sBox .txt_link a {
    background: url(img/arr_black.png) right 0 top 50% no-repeat;
    background-size: 8px auto;
    padding: 0 20px 0 0;
    display: block;
}

#index #sec06_cont .blockCont {
    width: 1170px;
    margin: 0 auto 60px;
}

#index #sec06_cont .blockCont .idxh3 {
    font-size: 3rem;
    margin: 0 0 20px 0;
    padding: 0 0 0 30px;
    position: relative;
    background: none;
}

#index #sec06_cont .blockCont .idxh3:before {
    content: "";
    position: absolute;
    width: 90px;
    height: 90px;
    top: calc(50% - 45px);
    left: -10px;
    background: url(img/deco_titIcon.png) left 0 top 50% no-repeat;
    background-size: 90px auto;
}

#index #sec06_cont .blockCont .idxh3 .h3Inner {
    position: relative;
}

#index #sec06_cont .blockCont .txt_link {
    text-align: right;
}

#index #sec06_cont .blockCont .txt_link a {
    background: url(img/arr_black.png) right 0 top 50% no-repeat;
    background-size: 8px auto;
    padding: 0 20px 0 0;
    display: block;
}

#index #sec06_cont .topCont {
    padding: 0 100px 0 0;
    position: relative;
}

#index #sec06_cont .botCont {
    padding: 0 0 0 100px;
    position: relative;
}

#index #sec06_cont .blockCont .inner {
    position: relative;
}

#index #sec06_cont .topCont:before {
    content: "";
    background: #f6f5f0;
    position: absolute;
    top: 0;
    left: -1000px;
    width: 1000px;
    height: 100%;
}

#index #sec06_cont .botCont:before {
    content: "";
    background: #f6f5f0;
    background-size: cover;
    position: absolute;
    top: 0;
    right: -950px;
    width: 1500px;
    height: 100%;
    z-index: 1;
}

#index #sec06_cont .topCont .inner {
    border-radius: 0 40px 40px 0;
    background: #f6f5f0;
    background-size: auto;
}

#index #sec06_cont .botCont .inner {
    border-radius: 40px 0 0 40px;
    background: #f6f5f0;
}

#index #sec06_cont .topCont .inner:before {
    content: "";
    position: absolute;
    top: 0;
    left: 470px;
    width: 190px;
    height: 100%;
    background: linear-gradient(to right, rgb(246, 245, 240), rgba(0, 0, 0, 0));
}

#index #sec06_cont .topCont .inner .relative {
    padding: 50px 50px 50px 100px;
    z-index: 1;
}

#index #sec06_cont .botCont .inner .relative {
    padding: 50px 100px 50px 50px;
    z-index: 1;
}

#index #sec06_cont .botCont .inner:before {
    content: "";
    position: absolute;
    top: 0;
    left: 520px;
    width: 500px;
    height: 100%;
    background: linear-gradient(to right, rgb(246, 245, 240), rgba(0, 0, 0, 0));
    z-index: 1;
}

/*sec07_cont*/
#index #sec07_cont {
    background: #f6f5f0 url(img/icon_large05.png) right calc(50% - 660px) top 60px no-repeat;
    background-size: 250px auto;
    padding: 120px 0;
    margin: 0;
}

#index #sec07_cont .flBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 0 auto 60px;
}

#index #sec07_cont .flBox .btn_s {
    width: 178px;
    display: table;
}

#index #sec07_cont .flBox .btn_s {
    background: none;
    padding: 0;
    margin-top: 0;
    margin-left: 0;
    margin-right: 20px;
    margin-bottom: 20px;
}

#index #sec07_cont .flBox .btn_s:nth-child(5n) {
    margin-right: 0;
}

#index #sec07_cont .flBox .btn_s a {
    border: 1px solid #000000b3;
    box-shadow: 0 3px 0 #000000b3;
    border-radius: 10px;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.4;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    padding: 6px 20px 6px 10px;
    background: #fff url(img/arr_black.png) right 10px top 50% no-repeat;
    background-size: 8px auto;
    transition: 0.2s ease;
}

#index #sec07_cont .flBox .btn_s a:hover {
    opacity: 1;
    box-shadow: none;
    transform: translateY(3px);
}

#index #sec07_cont .bnArea {
    width: 770px;
    margin: 0 auto;
}

#index #sec07_cont .bnArea a {
    display: block;
    border-radius: 10px;
    border: 1px solid #000000b3;
    box-shadow: 0 3px 0 #000000b3;
    background: #fff;
    position: relative;
    overflow: hidden;
}

#index #sec07_cont .bnArea a:before {
    content: "";
    background: #f0eee3;
    width: 550px;
    height: 550px;
    border-radius: 50%;
    position: absolute;
    top: -170px;
    left: calc(50% - 275px);
}

#index #sec07_cont .bnArea .linkArea {
    text-align: center;
    background: none;
    margin: 0;
    padding: 0;
    font-size: 3.2rem;
    line-height: 6rem;
}

#index #sec07_cont .bnArea .linkArea .bg_green {
    font-size: 4rem;
    color: #fff;
    background: #00421e;
    display: inline-block;
    line-height: 4.4rem;
    padding: 0 10px 4px 10px;
}

#index #sec07_cont .bnArea .innerBox {
    padding: 30px 30px;
    position: relative;
}

#index #sec07_cont .bnArea .bot {
    position: relative;
    background: #009b49;
    color: #fff;
    display: block;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 700;
    padding: 10px 20px;
}

#index #sec07_cont .bnArea .bot .inner {
    padding: 0 30px;
    background: url(img/arr01_w.png) right 0 top 50% no-repeat;
    background-size: 20px auto;
}

/*sec08_cont*/
/*sec09_cont*/
#index #sec09_cont {
    margin: 0 auto 120px;
}

#index #sec09_cont .inner {
    border: 1px solid #000;
    border-radius: 40px;
    padding: 0 50px 50px 50px;
    width: 970px;
    margin: 0 auto;
}

#index #sec09_cont .inner .subTit {
    font-size: 2.2rem;
    font-weight: 700;
    text-align: center;
    background: #00421e;
    display: inline-block;
    color: #fff;
    border-radius: 50px;
    padding: 15px 40px;
    position: relative;
    top: -40px;
    left: -70px;
}

#index #sec09_cont .inner .subTit:before {
    content: "";
    background: #00421e;
    position: absolute;
    bottom: -12px;
    left: 80px;
    width: 30px;
    height: 14px;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
}

#index #sec09_cont .inner .company_name {
    font-size: 3.2rem;
    font-weight: 700;
    margin: 0 0 20px 0;
}

#index #sec09_cont .inner .company_name .fc_gold {
    font-size: 2.2rem;
    margin: 0 10px 0 0;
}

#index #sec09_cont .inner .caption {
    text-align: left;
}

#index #sec09_cont .inner .txt_link {
    text-align: right;
    margin-top: 20px;
}

#index #sec09_cont .inner .txt_link a {
    background: url(img/arr_black.png) right 0 top 50% no-repeat;
    background-size: 8px auto;
    padding: 0 20px 0 0;
}

.topPage footer #pageList li:first-child {
    display: none;
}

@media screen and (max-width: 599px) {
    body {
        background: url(img/bg_key_circle.png) 50% -170px no-repeat;
        background-size: 500px auto;
    }

    p {
        font-size: 14px;
        font-size: 1.4rem;
        margin: 0 0 10px 0;
    }

    .wi1170 {
        width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
    }

    .wi970 {
        width: 100%;
        margin: 0 auto;
    }

    /*共通*/
    #contents .captionWrap {
        overflow: hidden;
        white-space: nowrap;
    }

    #contents .captionWrap .caption {
        overflow-x: scroll;
        /*height: calc(100% + 18px);*/
    }

    #index .sec {
        margin: 0 auto 8rem;
    }

    #index .titArea {
        width: calc(100% - 3rem);
        margin: 0 auto 4rem;
    }

    #index .titArea p {
        padding: 0;
        margin: 0;
    }

    #index .idxh2 {
        font-size: 2.4rem;
        margin-bottom: 2rem;
        background: none;
        line-height: 3.6rem;
        border-top: 4px solid #e5e0c9;
        border-bottom: 4px solid #e5e0c9;
        letter-spacing: 0.1rem;
        padding: 1.5rem 0 2rem;
    }

    #index .bg_darkTone .idxh2 {
        color: #fff;
        border-top: 4px solid #fff;
        border-bottom: 4px solid #fff;
    }

    #index .idxh2 .fs_s {
        font-size: 1.9rem;
    }

    #index .idxh2 .fs_ss {
        font-size: 1.6rem;
        line-height: 3rem;
    }

    #index .idxh2 a {
        position: relative;
        line-height: 3.2rem;
        padding: 0 2.5rem;
    }

    #index .idxh2 a:before {
        content: "";
        background: url(img/arr01.png) 50% 50% no-repeat;
        background-size: 1.6rem auto;
        position: absolute;
        top: calc(50% - 8px);
        right: 0;
        width: 1.6rem;
        height: 1.6rem;
    }

    #index .bg_darkTone .idxh2 a:before {
        background: url(img/arr01_w.png) 50% 50% no-repeat;
        background-size: 1.6rem auto;
    }

    #index .comCont_type01 {
        margin: 6rem auto;
        padding: 0 1.5rem 2rem 1.5rem;
        width: calc(100% - 3rem);
    }

    #index .comCont_type01 .flBox .txtArea {
        width: 100%;
    }

    /* Firefox */
    @-moz-document url-prefix() {
    }

    /*各セクション*/
    .sitename_wrap {
        padding: 1rem 1rem;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        position: relative;
        z-index: 1;
    }

    #keyArea {
        margin: 0 auto 5rem;
        padding: 0 1.5rem;
    }

    #keyArea:before {
        display: none;
    }

    #keyArea .wi1170 {
        position: relative;
        display: block;
    }

    #keyArea .wi1170 .visu {
        position: inherit;
        top: inherit;
        left: inherit;
        width: 21rem;
        margin: 0 auto 3rem;
    }

    #keyArea .wi1170 .txtArea {
        width: 100%;
        padding: 0;
    }

    #keyArea .wi1170 .txtArea .keyH2 {
        margin: 0 0 3rem 0;
    }

    #keyArea .wi1170 .txtArea .keyH2 .txt01 {
        font-size: 2.4rem;
        line-height: 3rem;
        color: #009b49;
        margin: 0 0 1rem 0;
        letter-spacing: 0;
        text-align: center;
    }

    #keyArea .wi1170 .txtArea .keyH2 .txt01 .fs_s {
        font-size: 2rem;
        color: #000;
    }

    #keyArea .wi1170 .txtArea .keyH2 .txt02 {
        font-size: 1.8rem;
        line-height: 3.4rem;
        display: block;
        text-align: center;
    }

    #keyArea .wi1170 .txtArea .keyH2 .txt02 .dot {
        position: relative;
    }

    #keyArea .wi1170 .txtArea .keyH2 .txt02 .dot:before {
        content: "";
        background: #ffdb01;
        position: absolute;
        width: 5px;
        height: 5px;
        border-radius: 50%;
        top: -5px;
        left: calc(50% - 2.5px);
    }

    #keyArea .wi1170 .txtArea .caption {
        text-align: right;
        font-size: 1.2rem;
        line-height: 1.4;
    }

    /*sec01_cont*/
    #index #sec01_cont .decoLine {
        width: 185px;
        height: 74px;
        margin: -25px auto 0;
        border: 4px solid #e5e0c9;
        border-bottom: none;
        position: relative;
    }

    #index #sec01_cont .decoLine:before {
        content: "";
        background: #e5e0c9;
        position: absolute;
        width: 4px;
        height: 1.5rem;
        left: calc(50% - 2px);
        top: -1.9rem;
    }

    #index #sec01_cont .ancNav {
        width: 92%;
        margin: 0 auto 1.5rem;
        border-radius: 1rem;
    }

    #index #sec01_cont .ancNav .ancNav_btn {
        width: 49%;
        position: relative;
        border-radius: 1rem;
    }

    #index #sec01_cont .ancNav .ancNav_btn a {
        font-size: 1.5rem;
        line-height: 1.4;
        border-radius: 1rem;
    }

    #index #sec01_cont .ancNav .ancNav_btn a span {
        display: block;
        padding: 1.5rem 0 2.5rem;
        background: url(img/arr_black_down.png) left 50% bottom 1rem no-repeat;
        background-size: 1.2rem auto;
        position: relative;
        z-index: 1;
    }

    #index #sec01_cont .ancNav .ancNav_btn.btnL a {
        background: #f0eee3;
    }

    #index #sec01_cont .ancNav .ancNav_btn.btnL a:before {
        content: "";
        position: absolute;
        background: #f6f5f0;
        width: 13rem;
        height: 13rem;
        border-radius: 50%;
        top: calc(50% - 6.5rem);
        left: calc(50% - 6.5rem);
    }

    #index #sec01_cont .ancNav .ancNav_btn.btnL a:after {
        display: none;
    }

    #index #sec01_cont .ancNav .ancNav_btn.btnL:after {
        content: "";
        position: absolute;
        background: url(img/deco_human01.png) 50% 100% no-repeat;
        background-size: 4.8rem auto;
        width: 4.8rem;
        height: 6.6rem;
        top: -5.5rem;
        left: calc(50% - 2.4rem);
    }

    #index #sec01_cont .ancNav .ancNav_btn.btnR a:before {
        content: "";
        position: absolute;
        background: #d9ecd1;
        width: 13rem;
        height: 13rem;
        border-radius: 50%;
        top: calc(50% - 6.5rem);
        left: calc(50% - 6.5rem);
    }

    #index #sec01_cont .ancNav .ancNav_btn.btnR a:after {
        display: none;
    }

    #index #sec01_cont .ancNav .ancNav_btn.btnR:after {
        content: "";
        position: absolute;
        background: url(img/deco_human02.png) 50% 100% no-repeat;
        background-size: 5rem auto;
        width: 5rem;
        height: 7.1rem;
        top: -5.8rem;
        left: calc(50% - 2.5rem);
    }

    #index #sec01_cont .txt_type01 {
        padding: 0 1.5rem;
    }

    #index #sec01_cont .modalBtn_area {
        margin: 9.4rem auto 6rem;
    }

    #index #sec01_cont .modalBtn_area #fixBtn {
        margin: 0 auto 3px;
        position: fixed;
        bottom: 0;
        left: 0;
        display: none;
        z-index: -1;
    }

    #index #sec01_cont .modalBtn_area.active #fixBtn .ancNav_btn:after {
        display: none;
    }

    #index #sec01_cont .modalBtn_area.active #fixBtn {
        display: flex;
        z-index: 3;
        width: 100%;
        padding: 0 1.5rem;
    }

    #index #sec01_cont .modalBtn_area.active #fixBtn .ancNav_btn a span {
        padding: 1rem 0 2rem;
        background: url(img/arr_black_down.png) left 50% bottom 5px no-repeat;
        background-size: 1.2rem auto;
        line-height: 2.2rem;
    }

    #index #sec01_cont .modalBtn_area .block {
        border-radius: 2rem;
        position: relative;
    }

    .sBlock-wrapper {
        padding: 0 15px;
    }

    .sBlock {
        width: calc(50% - 16px);
        margin-bottom: 20px;
    }

    #index #sec01_cont .modalBtn_area .block01 {
        padding: 0 0 13rem 0;
    }

    #index #sec01_cont .modalBtn_area .block01:before {
        content: "";
        background: url(img/deco_human01.png) 50% 100% no-repeat;
        background-size: 6.8rem auto;
        width: 6.8rem;
        height: 9.4rem;
        position: absolute;
        top: -8rem;
        left: calc(50% - 3.4rem);
        z-index: 1;
    }

    #index #sec01_cont .modalBtn_area .block02:before {
        content: "";
        background: url(img/deco_human02.png) 50% 100% no-repeat;
        background-size: 6.8rem auto;
        width: 6.8rem;
        height: 9.4rem;
        position: absolute;
        top: -7rem;
        left: calc(50% - 3.4rem);
        z-index: 1;
    }

    #index #sec01_cont .modalBtn_area .block02 {
        background: #f1f6ef;
        margin: -7rem auto 0;
    }

    #index #sec01_cont .modalBtn_area .h3Out {
        position: relative;
        overflow: hidden;
        border-radius: 2rem 2rem 0 0;
    }

    #index #sec01_cont .modalBtn_area .h3Out:before {
        content: "";
        position: absolute;
        width: 70rem;
        height: 70rem;
        border-radius: 50%;
        top: -54rem;
        left: calc(50% - 35rem);
    }

    #index #sec01_cont .modalBtn_area .block01 .h3Out:before {
        background: #f6f5f0;
    }

    #index #sec01_cont .modalBtn_area .block02 .h3Out:before {
        background: #d9ecd1;
    }

    #index #sec01_cont .modalBtn_area .idxh3 {
        margin: 0;
        padding: 3rem 1rem 2rem;
        font-size: 2.3rem;
        line-height: 3.6rem;
        background: none;
        position: relative;
    }

    #index #sec01_cont .modalBtn_area .idxh4 {
        font-size: 1.6rem;
        margin: 0;
        padding: 3.2rem 1.2rem 1rem;
        border: none;
        line-height: 1.4;
        height: 130px;
        background-size: 3.2rem;
    }

    #index #sec01_cont .modalBtn_area .btnCont {
        padding: 1.6rem 0 2.4rem;
        width: 100%;
        margin: 0 auto;
    }

    #index #sec01_cont .modalBtn_area .sammaryBox {
        border-radius: 0 0 2rem 2rem;
        padding: 4rem 1.5rem 3rem 1.5rem;
        position: relative;
    }

    #index #sec01_cont .modalBtn_area .sammaryBox:before {
        content: "";
        position: absolute;
        top: 0;
        left: calc(50% - 4.5rem);
        background: #f1f6ef;
        width: 9rem;
        height: 2rem;
        clip-path: polygon(50% 100%, 0 0, 100% 0);
        -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
    }

    #index #sec01_cont .modalBtn_area .sammaryBox p {
        font-size: 1.8rem;
        line-height: 3rem;
        margin: 0;
    }

    #index #sec01_cont .modalBtn_area .sammaryBox p .bg_white {
        font-size: 1.8rem;
    }

    #index #sec01_cont .modalBtn_area .btnCont {
        margin-bottom: 0;
    }

    #index #sec01_cont .modalBtn_area .btnCont .btn {
        font-size: 1.5rem;
        line-height: 1.4;
        background: #fff url(img/icon_plus.png) right 1.3rem top 50% no-repeat;
        background-size: 1.2rem auto;
        padding: 1rem 2.4rem 1rem 1rem;
        margin-bottom: 1.6rem;
        position: relative;
        border-radius: 1rem;
    }

    #index #sec01_cont .modalBtn_area .btnCont .btn:hover {
        opacity: 0.7;
    }

    #index #sec01_cont .modalBtn_area .btnCont.flBox {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    #index #sec01_cont .modalBtn_area .btnCont .btn_green::before {
        font-size: 1.2rem;
        top: -20px;
        right: 1px;
        width: 36px;
        height: 36px;
    }

    #index #sec01_cont .modalBtn_area .btnCont .btn_wi100 {
        width: 100%;
    }

    /* モーダル */
    #index #sec01_cont .modal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        padding: 6rem 1.5rem 3rem 1.5rem;
        display: block;
        /* display: flex;
  align-items: center;
  justify-content: center; */
        transition: opacity 0.3s;
        pointer-events: none;
        opacity: 0;
        z-index: 100;
        background-color: rgba(0, 0, 0, 0.5);
    }

    /* モーダルがactiveの時 */
    #index #sec01_cont .modal.is-active {
        opacity: 1;
        pointer-events: auto;
    }

    /* モーダル背景のオーバーレイ部分 */
    #index #sec01_cont .modal__overlay {
        position: absolute;
        width: 100%;
        height: 100%;
        cursor: pointer;
        top: 0;
        left: 0;
    }

    /* モーダルのコンテンツ */
    #index #sec01_cont .modal__content {
        border-radius: 1rem;
        overflow: inherit;
        border: none;
        position: relative;
        background-color: inherit;
        width: 100%;
        max-width: 100%;
    }

    #index #sec01_cont .modal__content .swiper {
        overflow: inherit;
    }

    #index #sec01_cont .modal__content .swiper-wrapper {
        height: 85vh;
    }

    #index #sec01_cont .swiper:before {
    display:none;
}
    
    #index #sec01_cont .modal__content .swiper-wrapper .swiper-slide {
        overflow-y: scroll;
        border: 1px solid #000;
        border-radius: 1rem;
        background: #f6f5f0;
    }

    #index #sec01_cont .modal__content .swiper-wrapper .swiper-slide {
    overflow: hidden; /* スクロールバーを非表示に */
}

/* 必要に応じて横方向スクロールのみを非表示にする場合 */
#index #sec01_cont .modal__content .swiper-wrapper .swiper-slide {
    overflow-x: hidden; /* 横方向スクロールバーを非表示に */
    overflow-y: auto;   /* 縦方向スクロールを有効にする（必要なら） */
}

    /* モーダルを閉じるボタン */
    #index #sec01_cont .modal__close-btn {
        font-size: 2.4rem;
        position: absolute;
        right: 1rem;
        top: -4.5rem;
        width: 3rem;
        height: 3rem;
        cursor: pointer;
        z-index: 10;
    }

    #index #sec01_cont .modal__close-btn:hover {
        opacity: 0.7;
    }

    #index #sec01_cont .modal__content .titOut {
        padding: 1.5rem 1.5rem 1.5rem 1.5rem;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
    }

    #index #sec01_cont .modal__content .titOut img {
        width: 4rem;
        height: auto;
    }

    #index #sec01_cont .modal__content .titOut .mTit {
        width: calc(100% - 4rem);
        font-size: 4vw;
        line-height: 2.6rem;
        padding: 0 0 0 0.5rem;
    }

    #index #sec01_cont .modal__content .swiper-button-next, #index #sec01_cont .modal__content .swiper-button-prev {
        width: calc(var(--swiper-navigation-size) / 44 * 27);
        height: var(--swiper-navigation-size);
        margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
        z-index: 10;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--swiper-navigation-color, var(--swiper-theme-color));
    }

    #index #sec01_cont .modal__content .swiper-button-next:hover, #index #sec01_cont .modal__content .swiper-button-prev:hover {
        opacity: 0.7;
    }

    .swiper-button-next:after, .swiper-button-prev:after {
        font-size: 0;
    }

    #index #sec01_cont .modal__content .swiper-button-out {
        position: absolute;
        top: -2.4rem;
        right: calc(50% - 4rem);
        width: 8rem;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        z-index: 10;
    }

    #index #sec01_cont .modal__content .swiper-button-next {
        background: url(img/arr_slide_next.png) 50% 50% no-repeat;
        background-size: 3.2rem auto;
        width: 3.2rem;
        height: 3.2rem;
        right: 0;
    }

    #index #sec01_cont .modal__content .swiper-button-prev {
        background: url(img/arr_slide_prev.png) 50% 50% no-repeat;
        background-size: 3.2rem auto;
        width: 3.2rem;
        height: 3.2rem;
        left: 0;
    }

    #index #sec01_cont .modal__content .detailBox .sBox {
        padding: 2rem 1.5rem;
        background: #fff;
    }

    #index #sec01_cont .modal__content .detailBox .sBox .catch {
        font-size: 1.8rem;
        line-height: 1.4;
        margin: 0.5rem 0 2rem 0;
    }

    #index #sec01_cont .modal__content .detailBox .sBox:nth-child(even) {
        background: #f6f5f0;
    }

    #index #sec01_cont .modal__content .detailBox .sBox p:last-child {
        margin: 0;
    }

    /* Swiperの矢印部分 */
    @media (max-width: 768px) {
        #index #sec01_cont .modal .swiper-button-next, #index #sec01_cont .modal .swiper-button-prev {
            /* display: none; */
        }
    }

    /*sec02_cont*/
    #index #sec02_cont {
        background: #00421e url(img/icon_large01.png) left -40px top 0 no-repeat;
        background-size: 12rem auto;
        padding: 4rem 0 0 0;
        border-radius: 20px;
        overflow: hidden;
        position: relative;
        z-index: 1;
        margin: 0 auto -8rem;
    }

    #index #sec02_cont p {
        color: #fff;
    }

    #index #sec02_cont .phArea {
        padding: 0 1.5rem 4rem 1.5rem;
    }

    #index #sec02_cont .phArea img {
        margin: 0 auto 1.5rem;
    }

    #index #sec02_cont .phArea p {
        margin: 0;
    }

    /*タブ*/
    #index #sec02_cont .tabContent {
        padding: 0 1.5rem 5rem;
    }

    #index #sec02_cont .tabContent .idxh3 {
        margin: 0 0 2rem 0;
        background: none;
        padding: 0;
        font-size: 2rem;
        line-height: 3rem;
        color: #fff;
        text-align: center;
    }

    #index #sec02_cont .fw {
        flex-wrap: wrap;
        margin: 0;
        padding: 0;
    }

    #index #sec02_cont #shienCase {
        position: relative;
        z-index: 10;
    }

    #index #sec02_cont #shienCase .hide {
        display: none;
    }

    #index #sec02_cont .tab li {
        list-style: none;
        flex: 1;
        background: #9ad4b5;
        margin: 0;
        padding: 1rem 0 1rem 1rem;
        font-size: 2rem;
        position: relative;
    }

    #index #sec02_cont .tab li:first-child {
        padding: 1rem 0 1rem 0.5rem;
    }

    #index #sec02_cont .tab li:before {
        content: "";
        background: url(img/deco_arr_flow_off.png) 0 50% no-repeat;
        background-size: 100% 100%;
        width: 1.2rem;
        height: 100%;
        position: absolute;
        top: 0;
        right: -1.2rem;
        z-index: 1;
    }

    #index #sec02_cont .tab li.select:before {
        background: url(img/deco_arr_flow_on.png) 0 50% no-repeat;
        background-size: 100% 100%;
    }

    #index #sec02_cont .tab li:hover {
        cursor: pointer;
    }

    #index #sec02_cont .tab li:hover .tabTxt {
        opacity: 0.7;
    }

    #index #sec02_cont .tab .select {
        background: #014e25;
    }

    #index #sec02_cont .tabDetail .sBox .inner {
        padding: 2rem 1.5rem;
        border-radius: 0 0 1rem 1rem;
    }

    #index #sec02_cont .tabDetail .sBox .inner .txtArea {
        width: 100%;
    }

    #index #sec02_cont .tabDetail .sBox .inner .txtArea .h4Out {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        margin: 0 0 1.5rem 0;
    }

    #index #sec02_cont .tabDetail .sBox .inner .txtArea .h4Out .icon {
        width: 5rem;
        height: 100%;
    }

    #index #sec02_cont .tabDetail .sBox .inner .txtArea .idxh4 {
        width: calc(100% - 5rem - 1.5rem);
        margin: 0;
        padding: 0;
        font-size: 1.8rem;
        border: none;
    }

    #index #sec02_cont .tabDetail .sBox ul {
        margin: 0;
        padding: 0;
    }

    /*sec03_cont*/
    #index #sec03_cont {
        background: #f6f5f0 url(img/icon_large02.png) left -1rem top 10rem no-repeat;
        background-size: 8rem auto;
        padding: 14rem 0 6rem;
        margin: 0 auto;
    }

    #index #sec03_cont .detail {
        display: block;
        padding: 0 1.5rem;
        margin-top: -2rem;
    }

    #index #sec03_cont .detail .sBox {
        width: 100%;
        position: relative;
        padding: 3rem 1.5rem 3rem 1.5rem;
    }

    #index #sec03_cont .detail .sBox:before {
        display: none;
    }

    #index #sec03_cont .detail .sBox:nth-child(3n):before {
        display: none;
    }

    #index #sec03_cont .detail .sBox:after {
        content: "";
        background: #000;
        width: calc(100% - 4rem);
        height: 1px;
        position: absolute;
        bottom: 0;
        left: 2rem;
    }

    #index #sec03_cont .detail .sBox.bb_none:after {
        display: none;
    }

    #index #sec03_cont .detail .sBox .ph {
        width: 24rem;
        margin: 0 auto 2rem;
    }

    #index #sec03_cont .detail .sBox .ph img {
        border-radius: 1rem;
    }

    #index #sec03_cont .detail .sBox .idxh3 {
        background: none;
        line-height: 2.6rem;
        margin: 0 auto 1.5rem;
        padding: 0;
        display: table;
    }

    #index #sec03_cont .detail .sBox .idxh3 a {
        font-size: 1.8rem;
        padding: 0 3rem 0 1rem;
        background: url(img/arr01.png) right 0 top 50% no-repeat;
        background-size: 1.6rem auto;
    }

    #index #sec03_cont .detail .sBox p:last-child {
        margin: 0;
    }

    #index #sec03_cont .comCont_type01 {
        margin: 4rem auto 0;
    }

    /*sec04_cont*/
    #index #sec04_cont {
        background: url(img/icon_large03.png) right -1rem top 3rem no-repeat;
        background-size: 9rem auto;
        padding: 6rem 0 0;
        margin: 0 auto 8rem;
    }

    #index #sec04_cont .detail01 {
        padding: 0 1.5rem;
        margin: 0 auto 5rem;
    }

    #index #sec04_cont .detail01 .catch {
        font-size: 1.8rem;
        line-height: 3rem;
        margin: 0 0 2rem 0;
        padding: 0.3rem 1rem 0.5rem 1rem;
    }

    #index #sec04_cont .detail01 .h3Out {
        position: relative;
        margin: 3rem 0 3rem;
    }

    #index #sec04_cont .detail01 .h3Out:before {
        content: "";
        position: absolute;
        background: #f6f5f0;
        width: 6.5rem;
        height: 6.5rem;
        border-radius: 50%;
        top: calc(50% - 3.2rem);
        left: calc(50% - 3.2rem);
    }

    #index #sec04_cont .detail01 .idxh3 {
        font-size: 2rem;
        line-height: 3rem;
        text-align: center;
        background: none;
        padding: 0;
    }

    #index #sec04_cont .detail01 .sBox {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 auto 4rem;
    }

    #index #sec04_cont .detail01 .sBox .ph {
        width: 100%;
        margin: 0 auto 2rem;
    }

    #index #sec04_cont .detail01 .sBox:nth-child(odd) .ph {
        order: 1;
    }

    #index #sec04_cont .detail01 .sBox:nth-child(odd) .txtArea {
        order: 2;
    }

    #index #sec04_cont .detail01 .sBox .ph img {
    }

    #index #sec04_cont .detail01 .sBox .txtArea {
        width: 100%;
    }

    #index #sec04_cont .detail01 .sBox .txtArea .idxh4 {
        margin: 0 0 1.5rem 0;
        padding: 0 0 1rem 0;
        font-size: 1.6rem;
        line-height: 2.6rem;
        border-bottom: 1px solid #000;
    }

    /*タブ*/
    #index #sec04_cont .flexbox {
        display: flex;
    }

    #index #sec04_cont .fw {
        flex-wrap: wrap;
        margin: 0;
        padding: 0;
    }

    #index #sec04_cont #torikumi {
        position: relative;
        z-index: 1;
    }

    #index #sec04_cont #torikumi .hide {
        display: none;
    }

    #index #sec04_cont .tabDetail:before {
        display: none;
    }

    #index #sec04_cont .tabDetail {
        margin: 0 auto 8rem;
    }

    #index #sec04_cont .tab {
        /* overflow: hidden; */
    }

    #index #sec04_cont .tab li {
        list-style: none;
        flex: 1;
        margin: 0;
        padding: 1.4rem 1rem 1.4rem 1rem;
        font-size: 1.5rem;
        position: relative;
        opacity: 0.4;
        line-height: 1.4;
    }

    #index #sec04_cont .tab li .idxh4 {
        letter-spacing: 0;
    }

    #index #sec04_cont .tab li .fs_l {
        font-size: 1.7rem;
        line-height: 2.6rem;
        padding: 0 0.5rem 0.2rem 0.5rem;
    }

    #index #sec04_cont .tab li:nth-child(1) {
        background: #e8f2e4;
        border-radius: 0 2rem 0 0;
    }

    #index #sec04_cont .tab li:nth-child(1):before {
        display: none;
    }

    #index #sec04_cont .tab li:nth-child(2) {
        border-radius: 2rem 0 0 0;
    }

    #index #sec04_cont .tab li:nth-child(2):before {
        display: none;
    }

    #index #sec04_cont .tab li:hover {
        cursor: pointer;
    }

    #index #sec04_cont .tab li:hover .tabTxt {
        opacity: 0.7;
    }

    #index #sec04_cont .tab .select {
        opacity: 1;
    }

    #index #sec04_cont .detail02 .sBox {
        width: 100%;
    }

    #index #sec04_cont .detail02 .sBox {
        padding: 3rem 1.5rem 5rem 1.5rem;
    }

    #index #sec04_cont .detail02 .sBox .sBox_list {
        border-radius: 1rem;
        padding: 2rem 1.5rem;
        margin-bottom: 3rem;
        position: relative;
    }

    #index #sec04_cont .detail02 .sBox .sBox_list:last-child {
        margin-bottom: 0;
    }

    #index #sec04_cont .detail02 .sBox .sBox_list .idxh5 {
        line-height: 1.4;
        margin: 0 0 1rem 0;
        padding: 0;
        border: none;
        font-size: 1.8rem;
    }

    #index #sec04_cont .detail02 .sBox .sBox_list .num {
        position: absolute;
        top: -1.2rem;
        left: -1.2rem;
        font-size: 1.6rem;
        line-height: 1.4;
        width: 2.6rem;
        height: 2.6rem;
    }

    #index #sec04_cont .detail02 .sBox_green .sBox_list li {
        background: url(img/listicon_green.png) 0.2rem 0.3rem no-repeat;
        background-size: auto 1.4rem;
    }

    #index #sec04_cont .detail02 .sBox_green .sBox_list:nth-child(1) {
        background: #fff url(img/thumb_sec03_green01.png) 100% 100% no-repeat;
        background-size: 10rem auto;
    }

    #index #sec04_cont .detail02 .sBox_green .sBox_list:nth-child(2) {
        background: #fff url(img/thumb_sec03_green02.png) 100% 100% no-repeat;
        background-size: 10rem auto;
    }

    #index #sec04_cont .detail02 .sBox_green .sBox_list:nth-child(3) {
        background: #fff url(img/thumb_sec03_green03.png) 100% 100% no-repeat;
        background-size: 10rem auto;
    }

    #index #sec04_cont .detail02 .sBox_green .sBox_list:nth-child(4) {
        background: #fff url(img/thumb_sec03_green04.png) 100% 100% no-repeat;
        background-size: 10rem auto;
    }

    #index #sec04_cont .detail02 .sBox_green .sBox_list:nth-child(5) {
        background: #fff url(img/thumb_sec03_green05.png) 100% 100% no-repeat;
        background-size: 10rem auto;
    }

    #index #sec04_cont .detail02 .sBox_blue .sBox_list:nth-child(1) {
        background: #fff url(img/thumb_sec03_blue01.png) 100% 100% no-repeat;
        background-size: 10rem auto;
    }

    #index #sec04_cont .detail02 .sBox_blue .sBox_list:nth-child(2) {
        background: #fff url(img/thumb_sec03_blue02.png) 100% 100% no-repeat;
        background-size: 10rem auto;
    }

    #index #sec04_cont .detail02 .sBox_blue .sBox_list:nth-child(3) {
        background: #fff url(img/thumb_sec03_blue03.png) 100% 100% no-repeat;
        background-size: 10rem auto;
    }

    #index #sec04_cont .detail02 .sBox_blue .sBox_list:nth-child(4) {
        background: #fff url(img/thumb_sec03_blue04.png) 100% 100% no-repeat;
        background-size: 10rem auto;
    }

    #index #sec04_cont .detail02 .sBox_blue .sBox_list:nth-child(5) {
        background: #fff url(img/thumb_sec03_blue05.png) 100% 100% no-repeat;
        background-size: 10rem auto;
    }

    #index #sec04_cont .detail02 .sBox_blue .sBox_list:nth-child(6) {
        background: #fff url(img/thumb_sec03_blue06.png) 100% 100% no-repeat;
        background-size: 10rem auto;
    }

    #index #sec04_cont .detail02 #torikumi .txtBox {
        padding: 0 1.5rem;
    }

    #index #sec04_cont .detail02 #torikumi .txtBox p {
        font-size: 1.6rem;
        line-height: 1.4;
        margin: 0;
    }

    #index #sec04_cont .detail02 #torikumi .txtBox p span {
        font-size: 1.6rem;
    }

    /*sec05_cont*/
    #index #sec05_cont {
        background: #f6f5f0 url(img/icon_large04.png) left -2rem top 2rem no-repeat;
        background-size: 8rem auto;
        padding: 5rem 0;
        margin: 0 auto 6rem;
    }

    #index #sec05_cont .stickyArea {
        display: block;
    }

    #index #sec05_cont .stickyArea .decoArea {
        width: 100%;
        padding: 0;
    }

    #index #sec05_cont .stickyArea .decoArea .inner {
        width: fit-content;
        margin: 0 auto 3rem;
        position: revert;
        top: inherit;
        flex-wrap: wrap;
        flex-flow: inherit;
        float: none;
        justify-content: space-between;
    }

    #index #sec05_cont .stickyArea .decoArea .inner .circle {
        width: 11rem;
        height: 11rem;
        font-size: 1.5rem;
        line-height: 2.2rem;
        padding: 3rem 0 0 0;
        border: 0.3rem solid #e5e0c9;
    }

    #index #sec05_cont .stickyArea .decoArea .inner .circle .fc_green {
        font-size: 1.8rem;
    }

    #index #sec05_cont .stickyArea .decoArea .inner .circle01 {
        margin: 0;
        position: relative;
        transform: translateX(1rem);
    }

    #index #sec05_cont .stickyArea .decoArea .inner .circle02 {
        background: #e5e0c9;
        transform: translateX(-1rem);
    }

    #index #sec05_cont .stickyArea .scrollArea {
        width: 100%;
        padding: 0 0 0 1.5rem;
    }

    #index #sec05_cont .stickyArea .scrollArea .sBox {
        background: #009b49;
        border: 1px solid #000;
        border-right: none;
        border-radius: 2rem 0 0 2rem;
        margin: 0 0 2rem 0;
        padding: 2rem 1.5rem 2rem 2rem;
    }

    #index #sec05_cont .stickyArea .scrollArea .sBox:last-child {
        margin: 0;
    }

    #index #sec05_cont .stickyArea .scrollArea .sBox .inner {
        width: 100%;
    }

    #index #sec05_cont .stickyArea .scrollArea * {
        color: #fff;
    }

    #index #sec05_cont .stickyArea .scrollArea .idxh3 {
        background: none;
        margin: 0 0 1.2rem 0;
        padding: 0;
    }

    #index #sec05_cont .stickyArea .scrollArea .idxh3 a {
        font-size: 1.8rem;
        display: inline-block;
        background: url(img/arr01_w.png) 100% 50% no-repeat;
        background-size: 1.6rem auto;
        padding: 0 4rem 0 0;
    }

    #index #sec05_cont .stickyArea .scrollArea .sBox .inner .txt_link {
        margin: 0;
        text-align: right;
    }

    #index #sec05_cont .stickyArea .scrollArea .sBox .inner .txt_link a {
        display: block;
        background: url(img/arr_white.png) 100% 50% no-repeat;
        background-size: 0.8rem auto;
        padding: 0 2rem 0 0;
    }

    /*sec06_cont*/
    #index #sec06_cont .flBox {
        display: block;
        margin: 0 auto 4rem;
    }

    #index #sec06_cont .flBox .sBox {
        width: 100%;
        position: relative;
        padding: 3rem 1.5rem 3rem 1.5rem;
    }

    #index #sec06_cont .flBox .sBox:first-child {
        padding: 1.5rem 1.5rem 3rem 1.5rem;
    }

    #index #sec06_cont .flBox .sBox:before {
        display: none;
    }

    #index #sec06_cont .flBox .sBox:nth-child(3n):before {
        display: none;
    }

    #index #sec06_cont .flBox .sBox:after {
        content: "";
        background: #000;
        width: calc(100% - 4rem);
        height: 1px;
        position: absolute;
        bottom: 0;
        left: 2rem;
    }

    #index #sec06_cont .flBox .sBox.bb_none:after {
        display: none;
    }

    #index #sec06_cont .flBox .sBox .idxh3 {
        background: none;
        line-height: 2.6rem;
        margin: 0 auto 1.5rem;
        padding: 0;
        display: table;
    }

    #index #sec06_cont .flBox .sBox .idxh3 a {
        font-size: 1.8rem;
        padding: 0 3rem 0 1rem;
        background: url(img/arr01.png) right 0 top 50% no-repeat;
        background-size: 1.6rem auto;
    }

    #index #sec06_cont .flBox .sBox p:last-child {
        margin: 0;
    }

    #index #sec06_cont .flBox .sBox .txt_link {
        text-align: right;
    }

    #index #sec06_cont .flBox .sBox .txt_link a {
        background: url(img/arr_black.png) right 0 top 50% no-repeat;
        background-size: 0.8rem auto;
        padding: 0 2rem 0 0;
        display: block;
    }

    #index #sec06_cont .blockCont {
        width: 100%;
        margin: 0 auto 4rem;
    }

    #index #sec06_cont .blockCont .idxh3 {
        font-size: 1.6rem;
        line-height: 1.4;
        margin: 0 0 1.5rem 0;
        padding: 0 0 0 1rem;
        position: relative;
        background: none;
    }

    #index #sec06_cont .blockCont .idxh3:before {
        content: "";
        position: absolute;
        width: 4.5rem;
        height: 4.5rem;
        top: calc(50% - 2.3rem);
        left: -1rem;
        background: url(img/deco_titIcon.png) left 0 top 50% no-repeat;
        background-size: 4.5rem auto;
    }

    #index #sec06_cont .blockCont .idxh3 .h3Inner {
        position: relative;
    }

    #index #sec06_cont .blockCont .txt_link {
        text-align: right;
    }

    #index #sec06_cont .blockCont .txt_link a {
        background: url(img/arr_black.png) right 0 top 50% no-repeat;
        background-size: 0.8rem auto;
        padding: 0 2rem 0 0;
        display: block;
    }

    #index #sec06_cont .topCont {
        padding: 0 1.5rem 0 0;
        position: relative;
    }

    #index #sec06_cont .botCont {
        padding: 0 0 0 1.5rem;
        position: relative;
    }

    #index #sec06_cont .blockCont .inner {
        position: relative;
    }

    #index #sec06_cont .topCont:before {
        content: "";
        background: #f6f5f0;
        position: absolute;
        top: 0;
        left: -1000px;
        width: 1000px;
        height: 100%;
    }

    #index #sec06_cont .botCont:before {
        content: "";
        background: #f6f5f0 url(img/bgImg_sec06_cont02.png) left 0 top 50% no-repeat;
        background-size: cover;
        position: absolute;
        top: 0;
        right: inherit;
        left: 1.5rem;
        width: 1500px;
        height: 100%;
        z-index: 1;
        border-radius: 2rem 0 0 2rem;
    }

    #index #sec06_cont .topCont .inner {
        border-radius: 0 2rem 2rem 0;
        background: #f6f5f0 url(img/bgImg_sec06_cont01.png) right -10rem top 50% no-repeat;
        background-size: auto;
    }

    #index #sec06_cont .botCont .inner {
        border-radius: 2rem 0 0 2rem;
        background: #f6f5f0;
    }

    #index #sec06_cont .topCont .inner:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(to right, rgb(246, 245, 240), rgba(0, 0, 0, 0));
    }

    #index #sec06_cont .topCont .inner .relative {
        padding: 3rem 1.5rem 3rem 1.5rem;
        z-index: 1;
    }

    #index #sec06_cont .botCont .inner .relative {
        padding: 3rem 1.5rem 3rem 1.5rem;
        z-index: 1;
    }

    #index #sec06_cont .botCont .inner:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 50rem;
        height: 100%;
        background: linear-gradient(to right, rgb(246, 245, 240), rgba(0, 0, 0, 0));
        z-index: 1;
        border-radius: 2rem 0 0 2rem;
    }

    /*sec07_cont*/
    #index #sec07_cont {
        background: #f6f5f0 url(img/icon_large05.png) right -2rem top 3rem no-repeat;
        background-size: 8rem auto;
        padding: 5rem 0;
        margin: 0 auto;
    }

    #index #sec07_cont .flBox {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
        margin: 0 auto 3rem;
        padding: 0 1.5rem;
    }

    #index #sec07_cont .flBox .btn_s {
        width: 48%;
        display: table;
    }

    #index #sec07_cont .flBox .btn_s {
        background: none;
        padding: 0;
        margin-top: 0;
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 1.5rem;
    }

    #index #sec07_cont .flBox .btn_s:nth-child(5n) {
        margin-right: 0;
    }

    #index #sec07_cont .flBox .btn_s a {
        border: 1px solid #000000b3;
        box-shadow: 0 3px 0 #000000b3;
        border-radius: 1rem;
        font-size: 1.4rem;
        line-height: 1.4;
        padding: 0.6rem 2rem 0.6rem 1rem;
        background: #fff url(img/arr_black.png) right 1rem top 50% no-repeat;
        background-size: 0.6rem auto;
    }

    #index #sec07_cont .bnArea {
        width: calc(100% - 3rem);
        margin: 0 auto;
    }

    #index #sec07_cont .bnArea a {
        display: block;
        border-radius: 1rem;
        border: 1px solid #000000b3;
        box-shadow: 0 3px 0 #000000b3;
        background: #fff;
        position: relative;
        overflow: hidden;
    }

    #index #sec07_cont .bnArea a:before {
        content: "";
        background: #f0eee3;
        width: 275px;
        height: 275px;
        border-radius: 50%;
        position: absolute;
        top: -9rem;
        left: calc(50% - 137px);
    }

    #index #sec07_cont .bnArea .linkArea {
        font-size: 1.8rem;
        text-align: center;
        background: none;
        line-height: 3rem;
    }

    #index #sec07_cont .bnArea .linkArea .bg_green {
        font-size: 2rem;
        color: #fff;
        background: #00421e;
        display: inline-block;
        line-height: 2.6rem;
        padding: 0 10px 2px 10px;
    }

    #index #sec07_cont .bnArea .innerBox {
        padding: 1.5rem 1.5rem;
        position: relative;
    }

    #index #sec07_cont .bnArea .bot {
        position: relative;
        font-size: 1.4rem;
        font-weight: 700;
        padding: 0.6rem 2rem;
    }

    #index #sec07_cont .bnArea .bot .inner {
        padding: 0 3rem;
        background: url(img/arr01_w.png) right 0 top 50% no-repeat;
        background-size: 1.6rem auto;
    }

    /*sec08_cont*/
    /*sec09_cont*/
    #index #sec09_cont {
        margin: 0 auto;
    }

    #index #sec09_cont .inner {
        border-radius: 2rem;
        padding: 0 1.5rem 1.5rem 1.5rem;
        width: calc(100% - 3rem);
        margin: 0 auto;
    }

    #index #sec09_cont .inner .subTit {
        font-size: 1.6rem;
        border-radius: 5rem;
        padding: 1rem 3rem;
        position: relative;
        top: -2rem;
        left: -2rem;
    }

    #index #sec09_cont .inner .subTit:before {
        content: "";
        background: #00421e;
        position: absolute;
        bottom: -6px;
        left: 40px;
        width: 15px;
        height: 7px;
        clip-path: polygon(50% 100%, 0 0, 100% 0);
        -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
    }

    #index #sec09_cont .inner .company_name {
        font-size: 2.2rem;
        line-height: 3rem;
        margin: 0 0 1rem 0;
    }

    #index #sec09_cont .inner .company_name .fc_gold {
        font-size: 1.5rem;
        margin: 0 1rem 0 0;
    }

    #index #sec09_cont .inner .caption {
        text-align: left;
    }

    #index #sec09_cont .inner .txt_link {
        text-align: right;
        margin-top: 2rem;
    }

    #index #sec09_cont .inner .txt_link a {
        background: url(img/arr_black.png) right 0 top 50% no-repeat;
        background-size: 8px auto;
        padding: 0 2rem 0 0;
    }
}
