body {
    font-family: 'Noto Serif JP', serif;
}

.bottom_note {
    font-size: 10px;
    max-width: 1054px;
    width: 90%;
    margin: 40px auto 0;
}

.sec_en_lead {
    border-bottom: 1px solid var(--gold);
    padding-bottom: 10px;
}

.sec_en_lead img {
    display: block;
    max-width: none;
    width: auto;
    height: 18px;
}

.sec_ttl {
    color: var(--gold);
    font-size: clamp(21px,2.4vw,28px);
    margin: 15px 0;
}

.sec_txt {
    font-size: clamp(13px,1.4vw,16px);
    line-height: 1.7;
}

.cert_bnr {
    max-width: 790px;
    width: 90%;
    margin: 120px auto 0;
}

/* SP調整 */
@media screen and (max-width:730px) {

    .bottom_note {
        margin-top: 25px;
    }

    .sec_en_lead {
        padding-bottom: 8px;
    }
    
    .sec_en_lead img {
        height: 12px;
    }

    .cert_bnr {
        margin: 80px auto 40px;
    }
}




section {
    max-width: 1054px;
    margin: 0 auto;
}

.sec01 {
    background-color: var(--bgSkyBlue);
    padding: 30px;
    margin: 80px auto 0;
}

.sec01 .wrap01 {
    display: flex;
    justify-content: space-between;
}

.sec01 .wrap01 .txt_wrap,
.sec01 .wrap01 .image_wrap {
    width: 48%;
}

.sec01 .wrap02 {
    margin-top: 30px;
}

.sec01 .wrap02 .list_wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 18px 0;
}

.sec01 .wrap02 .list_wrap li {
    width: calc(95%/4);
    position: relative;
}

.sec01 .wrap02 .list_wrap li .bg {
    background-color: #EEEAD9;
    border: 1px solid #807346;
    border-top: none;
    padding: 10px;
}

.sec01 .wrap02 .list_wrap li .list_txt {
    font-size: clamp(11px,1.3vw,13px);
    margin-top: 5px;
}

.sec01 .wrap02 .list_wrap li .note {
    position: absolute;
    translate: 0 100%;
    bottom: -3px;
}

/* SP調整 */
@media screen and (max-width:730px) {
    .sec01 {
        margin: 0 auto;
        padding: 0 0 30px;
    }

    .sec01 .wrap01 {
        flex-direction: column;
    }

    .sec01 .wrap01 .image_wrap {
        order: -1;
        width: 100%;
    }

    .sec01 .wrap01 .txt_wrap {
        width: 90%;
        margin: 20px auto 0;
    }


    .sec01 .wrap02 {
        width: 90%;
        margin: 30px auto 0;
    }

    .sec01 .wrap02 .list_wrap {
        gap: 15px 0;
    }

    .sec01 .wrap02 .list_wrap li {
        width: 48%;
        display: flex;
        flex-direction: column;
    }

    .sec01 .wrap02 .list_wrap li .bg {
        height: 100%;
    }

    .sec01 .wrap02 .list_ttl_wrap {
        letter-spacing: 0;
    }

}











.sec02 .wrap01 {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sec02 .wrap01  .sec_ttl {
    width: 55%;
    margin: 0;
}

.sec02 .wrap01 .txt_wrap {
    width: 43%;
}

.sec02 .wrap01 .txt_wrap .lead {
    color: var(--gold);
    text-align: center;
    font-size: clamp(18px,2vw,23px);
}

.sec02 .wrap01 .txt_wrap .txt {
    text-align: center;
    font-size: clamp(14px,1.5vw,17px);
    line-height: 1.6;
    margin-top: 10px;
}



.page_tab_wrap {
    padding-bottom: 5px;
    border-bottom: 1px solid var(--gold);
    margin-top: 50px;
}

.page_tab_wrap ul {
    width: 80%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.page_tab_wrap ul li {
    width: calc(95%/3);
}

.page_tab_wrap ul li.active {
    pointer-events: none;
}

.page_tab_wrap ul li.active .num {
    background: var(--goldBg);
}

.page_tab_wrap ul li.active .txt {
    background-color: var(--bgSkyBlue);
}

.page_tab_wrap ul li .num {
    text-align: center;
    font-size: clamp(12px,1.2vw,13px);
    color: #fff;
    padding: 3px 0;
    background-color: #7B6A3E;
}

.page_tab_wrap ul li .txt {
    text-align: center;
    color: var(--gold);
    background-color: #E1E6E6;
    padding: 10px 5px;
    font-size: clamp(18px,2vw,23px);
}

.page_tab_wrap ul li a {
    transition: 0.3s all;
}

.page_tab_wrap ul li a:hover {
    opacity: 1;
    cursor: pointer;
}

.page_tab_wrap ul li a:hover .num {
    background: var(--goldBg);
}

.page_tab_wrap ul li a:hover .txt {
    background-color: var(--bgSkyBlue);
}

.page_tab_wrap .line {
    width: 100%;
    height: 3px;
    background-color: #E1E6E6;
    margin-top: 10px;
}


.page_tab_wrap .line .inner {
    display: block;
    width: 80%;
    height: 100%;
    margin: 0 auto;
    position: relative;
}

.page_tab_wrap .line .inner .move {
    display: block;
    width: calc(95%/3);
    height: 100%;
    background: var(--goldBg);
}

.page_tab_wrap .line .inner .move.active1 {
    margin: 0;
}

.page_tab_wrap .line .inner .move.active2 {
    margin: 0 auto;
}

.page_tab_wrap .line .inner .move.active3 {
    margin: 0 0 0 auto;
}



.bottom_page_tab_wrap {
    padding: 5px 0 0;
    border-bottom: none;
    border-top: 1px solid var(--gold);
}

.bottom_page_tab_wrap .line {
    margin: 0 0 10px;
}


.story_wrap {
    display: flex;
    flex-direction: column;
    gap: 80px 0;
    margin: 50px auto 30px;
}

.story_wrap .story {
    display: none;
}

.story_wrap .story.active {
    display: block;
    animation-name: displayAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

@keyframes displayAnime {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.story_lead {
    max-width: 300px;
    margin: 0 auto -10.5px;
    position: relative;
    z-index: 1;
}

.story_inner {
    background-color: #d3e4e3;
    padding: 30px 10px;
    outline: 2.2677px solid #b8a05f;
    outline-offset: -10px;
    position: relative;
}

.story_ttl {
    text-align: center;
    background: var(--goldBg);
    color: #fff;
    padding: 15px 0;
    font-size: clamp(22px,3vw,30px);
}

.story .img01 {
    width: 22%;
    position: relative;
    z-index: 2;
    margin: -12% 5% 0% auto;
}

.story .story_contents {
    width: 90%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 10px 1fr;
    gap: 0 30px;
}

.story .story_contents .line {
    height: 100%;
    background-color: hsla(43, 33%, 36%, 0.4);
    clip-path: polygon(0 1%, 50% 0, 100% 1%, 100% 99%, 50% 100%, 0 99%);
}



.story .story_contents .wrap {
    display: flex;
    flex-direction: column;
    gap: 30px 0;
    margin: 30px 0;
}


.story .story_contents .time {
    color: var(--gold);
    font-size: clamp(22px,3vw,30px);
    line-height: 1;
    position: relative;
}

.story .story_contents .time::before {
    position: absolute;
    translate: -100% -50%;
    top: 53%;
    left: 0;
    content: '';
    width: 50px;
    height: 3px;
    background-color: var(--gold);
}

.story .story_contents .container {
    background-color: #fff;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 10px;
    position: relative;
}

.story .story_contents .container .txt_wrap {
    width: 55%;
}

.story .story_contents .con_ttl {
    font-size: clamp(17px,2vw,22px);
}

.story .story_contents .con_txt {
    color: var(--gold);
    font-size: clamp(12px,1.3vw,15px);
    background-image: linear-gradient(180deg, #7b6a3e 1px, transparent 1px);
    background-size: 100% 2.5em;
    line-height: 2.5em;
    padding-bottom: 1px;
    margin-top: 15px;
}

.story .story_contents .point_wrap {
    width: 43%;
    background: var(--goldBg);
    color: #fff;
    padding: 15px 20px 20px;
}

.story .story_contents .point_wrap .point_ttl_wrap {
    display: flex;
    align-items: center;
    gap: 0 10px;
}

.story .story_contents .point_wrap .point_ttl_wrap .icon {
    max-width: 50px;
    width: 18%;
}

.story .story_contents .point_wrap .point_ttl {
    font-size: clamp(16px,2vw,20px);
}

.story .story_contents .point_wrap .point_ttl .small {
    font-size: clamp(10px,1.2vw,13px);
    vertical-align: super;
}

.story .story_contents .point_wrap .image_wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
}

.story .story_contents .point_wrap .point_txt {
    width: 48%;
    font-size: clamp(11px,1.2vw,12px);
}

.story .story_contents .point_wrap .image {
    width: 48%;
    align-self: flex-start;
}

.story .story_contents .note {
    margin-top: 5px;
}


#story01.story .story_contents .content02 .point_wrap .point_ttl .small {
    vertical-align: initial;
    display: block;
}

#story03.story .story_contents  .container01 .point_wrap .image_wrap .image .cap,
#story03.story .story_contents  .container02 .point_wrap .image_wrap .image .cap  {
    text-align: left;
    display: block;
    position: relative;
    top: 0;
    right: 0;
    text-shadow: none;
    margin-top: 3px;
    color: #fff;
}

/* SP調整 */
@media screen and (max-width:730px) {

    .sec02 .wrap01 {
        flex-direction: column;
    }

    .sec02 .wrap01 .sec_ttl {
        width: 100%;
    }

    .sec02 .wrap01 .txt_wrap {
        width: 100%;
        margin-top: 20px;
    }

    .page_tab_wrap {
        margin-top: 30px;
    }

    .page_tab_wrap ul {
        width: 90%;
    }

    .page_tab_wrap .line .inner {
        width: 90%;
    }

    .story_wrap {
        margin: 30px auto;
        gap: 50px 0;
    }

    .story {
        position: relative;
        width: 90%;
        margin: 0 auto;
    }

    .story_lead {
        max-width: 220px;
    }

    .story_inner {
        outline-width: 1.8px;
    }

    .story_ttl {
        padding: 10px 0;
        margin-bottom: 10px;
    }

    .story .img01 {
        position: absolute;
        width: 28%;
        top: -0.5%;
        right: -8%;
    }

    .story .img01 .cap {
        right: auto;
        translate: -50% 0;
        left: 50%;
    }

    .story .story_contents {
        gap: 0 15px;
    }

    .story .story_contents .time::before {
        width: 35px;
    }

    .story .story_contents .container {
        padding: 0;
        flex-direction: column;
        background: transparent;
    }
    
    .story .story_contents .container .image_wrap {
        width: 100%;
        order: -1;
    }

    .story .story_contents .container .txt_wrap {
        width: 100%;
    }

    .story .story_contents .con_txt {
        background-size: 100% 2.2em;
        line-height: 2.2em;
        margin-top: 10px;
    }

    .story .story_contents .white_bg {
        background-color: #fff;
        padding: 15px 15px 20px;
    }

    .story .story_contents .point_wrap {
        width: 100%;
        padding: 10px 15px 15px;
    }

    #story01.story .story_contents .content02 .point_wrap .point_ttl .small {
        display: block;
    }



}





.sec03 {
    background-color: #f5ede6;
    padding: 50px 20px;
    margin: 80px auto;
}

.sec03 .sec_ttl {
    max-width: 430px;
    margin: 0 auto 30px;
}

.sec03 .sec_lead {
    text-align: center;
    color: #7b6a3e;
    font-size: clamp(20px,2.2vw,25px);
    margin: 20px 0 30px;
}

.sec03 .wrap01 {
    max-width: 800px;
    margin: 0 auto;
    border: 8px solid #7b6a3e;
    background-color: #fff;
    padding: 17px;
    outline: 2px solid #7B6A3E;
    outline-offset: -25px;
}

.sec03 .wrap01 .container01 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 15px;
}

.sec03 .wrap01 .container01 .image_wrap {
    grid-column: 2/3;
}

.sec03 .wrap01 .container01 .txt_wrap {
    grid-row: 1/3;
    padding: 15px 0 0 15px;
}

.sec03 .wrap01 .container01 .txt_wrap .sec_lead {
    font-size: clamp(20px,2vw,24px);
}

.sec03 .wrap01 .container01 .txt_wrap .sec_txt {
    text-align: center;
    font-size: clamp(12px,1.4vw,14px);
}

.sec03 .wrap01 .container01 .image_wrap02 {
    width: 80%;
    margin: 20px auto 0;
}

.sec03 .wrap01 .flex_wrap {
    padding: 30px 20px 20px;
    display: flex;
    justify-content: space-between;
}

.sec03 .wrap01 .flex_wrap .container02,
.sec03 .wrap01 .flex_wrap .container03 {
    width: 48%;
}

.sec03 .wrap01 .flex_wrap .con_ttl {
    text-align: center;
    color: var(--gold);
    text-align: center;
    border-bottom: 1px solid var(--gold);
    font-size: clamp(18px,2vw,20px);
}

.sec03 .wrap01 .flex_wrap .con_ttl .small {
    font-size: clamp(14px,1.4vw,16px);
}

.sec03 .wrap01 .flex_wrap .container02 .box {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
}

.sec03 .wrap01 .flex_wrap .container02 .image {
    width: 48%;
}

.sec03 .wrap01 .flex_wrap .container02 ul {
    width: 48%;
    display: flex;
    flex-direction: column;
    gap: 10px 0;
    margin-top: 5px;
}

.sec03 .wrap01 .flex_wrap .container02 ul li {
    background-color: #7b6a3e;
    color: #fff;
    padding: 10px;
}

.sec03 .wrap01 .flex_wrap .container02 ul li .lead {
    background-color: #fff;
    color: #7b6a3e;
    text-align: center;
    font-size: clamp(14px,1.5vw,16px);
    border-radius: 20px;
}

.sec03 .wrap01 .flex_wrap .container02 ul li .txt {
    font-size: clamp(11px,1.3vw,13px);
    margin-top: 5px;
}

.sec03 .wrap01 .flex_wrap .container03 {
    display: flex;
    flex-direction: column;
}

.sec03 .wrap01 .flex_wrap .container03 ul {
    display: flex;
    justify-content: space-between;
    margin-top: 15px;
    margin-bottom: 30px;
}

.sec03 .wrap01 .flex_wrap .container03 ul li {
    width: calc(95%/3);
}

.sec03 .wrap01 .flex_wrap .container03 ul li .lead {
    color: var(--gold);
    text-align: center;
    margin-top: 3px;
    font-size: clamp(14px,1.4vw,16px);
}

.sec03 .wrap01 .flex_wrap .container03 .btn {
    max-width: 250px;
    width: 80%;
    margin: auto auto 20px;
}

.sec03 .wrap01 .flex_wrap .container03 .btn a {
    display: block;
    background-color: #a79674;
    outline: 1px solid #fff;
    outline-offset: -4px;
    border-radius: 30px;
    padding: 8px 10px 10px 10px;
    text-align: center;
    font-size: clamp(17px,2vw,20px);
    color: #fff;
    position: relative;
}

.sec03 .wrap01 .flex_wrap .container03 .btn a::before {
    content: '';
    background-color: #fff;
    width: 15px;
    height: 20px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    position: absolute;
    translate: 0 -50%;
    top: 50%;
    right: 10px;
}

.sec03 .wrap02 {
    max-width: 800px;
    margin: 50px auto 0;
    border: 8px solid #009ce1;
    background-color: #fff;
    padding: 37px;
    outline: 2px solid #009ce1;
    outline-offset: -25px;
}

.sec03 .wrap02_logo {
    max-width: 350px;
    width: 85%;
    margin: 0 auto;
}

.sec03 .wrap02 .lead {
    color: #009ce1;
    text-align: center;
    margin: 20px 0 30px;
    font-size: clamp(14px,1.4vw,16px);
}

/* SP調整 */
@media screen and (max-width:730px) {

    .sec03 {
        padding: 30px 20px;
        margin: 60px 0;
    }

    .sec03 .wrap01 {
        border-width: 4px;
        padding: 10px;
        outline-offset: -14px;
    }

    .sec03 .wrap01 .container01 {
        display: flex;
        flex-direction: column;
    }

    .sec03 .wrap01 .container01 .txt_wrap {
        padding: 10px 10px 0;
    }

    .sec03 .wrap01 .container01 .txt_wrap .sec_txt {
        margin-left: -10px;
        margin-right: -10px;
    }

    .sec03 .wrap01 .flex_wrap {
        flex-direction: column;
        gap: 30px 0;
        padding: 30px 15px 30px;
    }

    .sec03 .wrap01 .flex_wrap .container02,
    .sec03 .wrap01 .flex_wrap .container03 {
        width: 100%;
    }

    .sec03 .wrap01 .flex_wrap .container02 ul li {
        padding: 8px;
    }

    .sec03 .wrap01 .flex_wrap .container03 .btn {
        margin-bottom: 0;
    }

    .sec03 .wrap01 .flex_wrap .container03 .btn a::before {
        width: 13px;
        height: 18px;
        right: 13px;
    }

    .sec03 .wrap02 {
        margin-top: 30px;
        border-width: 4px;
        padding: 35px 20px 25px;
        outline-offset: -14px;
    }

    .sec03 .wrap02 .lead  {
        margin: 10px 0 20px;
    }
}