[js-loading] {
    opacity: 0;
    transition: opacity 0.1s
}

.dummy_element {
    margin-top: -80px;
    padding-top: 80px;
    display: block
}

* {
    box-sizing: border-box
}

body {
    margin: 0;
    padding: 0
}

html {
    margin: 0 !important;
    padding: 0 !important
}

h1, h2, h3, p, dl, figure, ul {
    margin: 0
}

ul {
    padding: 0
}

.t_center {
    text-align: center
}

main>article:first-child {
    padding-top: 88px
}

@media screen and (max-width:768px) {
    main>article:first-child {
        padding-top: 64px
    }
}

.pc {
    display: block
}

@media screen and (max-width:768px) {
    .pc {
        display: none !important
    }
}

.sp {
    display: none
}

@media screen and (max-width:768px) {
    .sp {
        display: block
    }
}

* {
    font-family: "Shippori Mincho B1", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #000
}

.title_01 {
    font-size: clamp(32px, 2.2222222222vw, 32px);
    line-height: 1.125em;
    -webkit-text-orientation: upright;
    text-orientation: upright;
    writing-mode: vertical-rl;
    font-weight: 400;
    text-align: left;
    letter-spacing: 3px
}

.title_01 span {
    font-size: clamp(12px, 0.8333333333vw, 12px);
    line-height: 1.4483333333em;
    font-weight: 400;
    letter-spacing: 0.12em;
    display: block;
    text-orientation: mixed;
    margin-left: 10px;
    color: #65604E
}

@media screen and (max-width:768px) {
    .title_01 span {
        font-size: clamp(10px, 0.6944444444vw, 10px);
        line-height: 1.448em
    }
}

@media screen and (max-width:768px) {
    .title_01 {
        font-size: clamp(18px, 1.25vw, 18px);
        line-height: 1.1111111111em
    }
}

.title_02 {
    font-size: clamp(36px, 2.5vw, 36px);
    line-height: 1.4480555556em;
    font-weight: 500;
    letter-spacing: 0.1em
}

@media screen and (max-width:768px) {
    .title_02 {
        font-size: clamp(20px, 1.3888888889vw, 20px);
        line-height: 1.448em
    }
}

.title_02.i_book {
    position: relative
}

.title_02.i_book::after {
    content: "";
    width: 104px;
    height: 32px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -48px;
    display: block;
    background-size: cover
}

@media screen and (max-width:768px) {
    .title_02.i_book::after {
        width: 52px;
        height: 16px;
        bottom: -24px
    }
}

.bg_2 .title_02.i_book::after {
    background-size: cover
}

@media screen and (max-width:768px) {
    .bg_2 .title_02.i_book::after {
        width: 52px;
        height: 16px;
        bottom: -24px
    }
}

.t_01 {
    font-size: clamp(22px, 1.5277777778vw, 22px);
    line-height: 1.4545454545em;
    font-weight: 500;
    letter-spacing: 0.03em
}

.t_01 span {
    font-size: clamp(14px, 0.9722222222vw, 14px);
    line-height: 2.2857142857em
}

@media screen and (max-width:768px) {
    .t_01 {
        font-size: clamp(18px, 1.25vw, 18px);
        line-height: 1.3333333333em
    }
}

.t_02 {
    font-size: clamp(12px, 0.8333333333vw, 12px);
    line-height: 1.4483333333em;
    font-weight: 500;
    letter-spacing: 0.05em
}

@media screen and (max-width:768px) {
    .t_02 {
        font-size: clamp(12px, 0.8333333333vw, 12px);
        line-height: 1.4483333333em
    }
}

.t_03 {
    font-size: clamp(14px, 0.9722222222vw, 14px);
    line-height: 1.7142857143em;
    font-weight: 400
}

@media screen and (max-width:768px) {
    .t_03 {
        font-size: clamp(14px, 0.9722222222vw, 14px);
        line-height: 1.7142857143em
    }
}

.t_04 {
    font-size: clamp(14px, 0.9722222222vw, 14px);
    line-height: 1.7142857143em;
    font-weight: 500;
    letter-spacing: 0.12em
}

@media screen and (max-width:768px) {
    .t_04 {
        font-size: clamp(14px, 0.9722222222vw, 14px);
        line-height: 1.7142857143em
    }
}

.t_05 {
    font-size: clamp(20px, 1.3888888889vw, 20px);
    line-height: 1.2em;
    font-weight: 500
}

@media screen and (max-width:768px) {
    .t_05 {
        font-size: clamp(18px, 1.25vw, 18px);
        line-height: 1.3333333333em
    }
}

.t_06 {
    font-size: clamp(24px, 1.6666666667vw, 24px);
    line-height: 1.3333333333em;
    font-weight: 500
}

@media screen and (max-width:768px) {
    .t_06 {
        font-size: clamp(18px, 1.25vw, 18px);
        line-height: 1.7777777778em
    }
}

.t_07 {
    font-size: clamp(12px, 0.8333333333vw, 12px);
    line-height: 1.4483333333em;
    font-weight: 500;
    letter-spacing: 0.12em
}

@media screen and (max-width:768px) {
    .t_07 {
        font-size: clamp(10px, 0.6944444444vw, 10px);
        line-height: 1.448em
    }
}

.t_08 {
    font-size: clamp(18px, 1.25vw, 18px);
    line-height: 1.3333333333em;
    font-weight: 500
}

@media screen and (max-width:768px) {
    .t_08 {
        font-size: clamp(18px, 1.25vw, 18px);
        line-height: 1.3333333333em
    }
}

.t_09 {
    font-size: clamp(32px, 2.2222222222vw, 32px);
    line-height: 1em;
    font-weight: 500
}

@media screen and (max-width:768px) {
    .t_09 {
        font-size: clamp(24px, 1.6666666667vw, 24px);
        line-height: 1.3333333333em
    }
}

.link01 {
    font-size: clamp(16px, 1.1111111111vw, 16px);
    line-height: 2em;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-decoration: underline !important;
    width: 100%;
    display: block
}

@media screen and (max-width:768px) {
    .link01 {
        font-size: clamp(12px, 0.8333333333vw, 12px);
        line-height: 2em
    }
}

a {
    text-decoration: none
}

.zoom:hover figure img {
    transition: all 0.5s;
    transform: scale(1.3)
}

.anno li {
    padding-left: 1em;
    position: relative
}

.anno li::before {
    content: "※";
    position: absolute;
    left: 0
}

.btn01 {
    font-size: clamp(16px, 1.1111111111vw, 16px);
    line-height: 1.4485em;
    width: auto;
    height: 86px;
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-align: left;
    color: #000;
    border-radius: 53px;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    transition: all 0.2s;
    padding-right: 56px
}

.btn01 span {
    color: #000
}

.btn01:hover {
    opacity: 0.7
}

.btn01::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    right: 0;
    background: #E04F35;
    box-shadow: 0px 0px 4px 0px #E04F3580;
    border-radius: 50%;
    width: 56px;
    aspect-ratio: 1;
    transition: all 0.2s
}

.btn01::after {
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 18px;
    background: url("../image/icon/arrow_l_1.svg");
    display: block;
    transition: all 0.2s
}

.btn02 {
    font-size: clamp(16px, 1.1111111111vw, 16px);
    line-height: 1.4485em;
    width: auto;
    height: 86px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-align: left;
    background: #fff;
    color: #000;
    border-radius: 53px;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    transition: all 0.2s;
    padding-right: 6.5%;
    padding-left: 2%
}

@media screen and (max-width:768px) {
    .btn02 {
        height: 64px;
        padding-right: 68px
    }
}

.btn02 span {
    color: #000
}

.btn02:hover {
    background: #E04F35;
    color: #fff
}

.btn02:hover span {
    color: #fff
}

.btn02:hover::before {
    background: #fff;
    box-shadow: 0px 0px 4px 0px #FFFFFF80
}

.btn02:hover::after {
    content: "";
    background: url("../image/icon/arrow_l_2.svg")
}

.btn02::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    right: 32.5px;
    background: #E04F35;
    box-shadow: 0px 0px 4px 0px #E04F3580;
    border-radius: 50%;
    width: 56px;
    aspect-ratio: 1;
    transition: all 0.2s
}

@media screen and (max-width:768px) {
    .btn02::before {
        width: 48px;
        right: 16px
    }
}

.btn02::after {
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 50.5px;
    background: url("../image/icon/arrow_l_1.svg");
    display: block;
    transition: all 0.2s
}

@media screen and (max-width:768px) {
    .btn02::after {
        right: 30px
    }
}

.openbtn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 20px;
    cursor: pointer;
    width: 28px;
    height: 28px;
    border-radius: 5px;
    position: absolute
}

.openbtn span {
    display: inline-block;
    transition: all 0.4s;
    position: absolute;
    left: 4px;
    height: 2px;
    border-radius: 2px;
    background: #000;
    width: 70%
}

.openbtn span:nth-of-type(1) {
    top: calc(50% - 6px);
    transform: translateY(-50%)
}

.openbtn span:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%)
}

.openbtn span:nth-of-type(3) {
    top: calc(50% + 6px);
    transform: translateY(-50%)
}

.openbtn.active span:nth-of-type(1) {
    top: 8px;
    left: 4px;
    transform: translateY(6px) rotate(-45deg);
    width: 80%
}

.openbtn.active span:nth-of-type(2) {
    opacity: 0
}

.openbtn.active span:nth-of-type(3) {
    top: 20px;
    left: 5px;
    transform: translateY(-6px) rotate(45deg);
    width: 80%
}

.article1 {
    width: 360px
}

@media screen and (max-width:768px) {
    .article1 {
        width: 100%;
        max-width: 360px
    }
}

.article1 figure {
    margin-bottom: clamp(16px, 1.1111111111vw, 16px);
    width: 100%;
    aspect-ratio: 1.6363636364;
    overflow: hidden;
    border-radius: 8px
}

.article1 figure img {
    width: 100%;
    height: 100%;
    border-radius: 8px;
    object-fit: cover;
    object-position: 50% 50%
}

.article1 .info {
    width: 100%;
    padding: 0 8px
}

.article1 .info .data {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: clamp(8px, 0.5555555556vw, 8px)
}

.article1 .info .data .tag {
    font-size: clamp(12px, 0.8333333333vw, 12px);
    line-height: 1.4483333333em;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    height: 25px;
    padding: 0 10.5px;
    font-weight: 500;
    letter-spacing: -0.03em;
    background: #EFEBDE;
    border-radius: 4px
}

.article1 .info .data .tag.case {
    background: #F5E1D6
}

.article1 .info .data .tag.none {
    background: unset
}

.article1 .info .data .tag.type1 {
    background: #DEDFEF
}

.article1 .info .data .tag.type2 {
    background: #E1EFDE
}

.article1 .info .data .tag.type3 {
    background: #EFEBDE
}

.article1 .info .data .tag.type4 {
    background: #F5E1D6
}

.article1 .info .data .date {
    font-size: clamp(13px, 0.9027777778vw, 13px);
    line-height: 1.8461538462em;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: #8F7B49
}

.article1 .info p {
    font-size: clamp(14px, 0.9722222222vw, 14px);
    line-height: 1.7142857143em;
    font-weight: 400;
    letter-spacing: 0.03em;
    text-align: left;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden
}

.article2 {
    width: 540px
}

@media screen and (max-width:768px) {
    .article2 {
        width: 100%;
        max-width: 540px
    }
}

.article2 figure {
    margin-bottom: clamp(28px, 3.8888888889vw, 56px);
    width: 100%;
    border-radius: 8px
}

.article2 figure img {
    width: 100%
}

.article2 .info {
    width: 100%;
    padding: 0 clamp(14px, 1.9444444444vw, 28px)
}

@media screen and (max-width:768px) {
    .article2 .info {
        padding: 0
    }
}

.article2 .info h3 {
    font-size: clamp(22px, 1.6666666667vw, 22px);
    line-height: 1.3333333333em;
    margin-bottom: clamp(22px, 1.6666666667vw, 22px);
    font-weight: 500;
    letter-spacing: 0.12em;
    text-align: left
}

.article2 .info h4 {
    font-size: clamp(15px, 1.6666666667vw, 15px);
    line-height: 1.3333333333em;
    margin-bottom: clamp(10px, 1.6666666667vw, 10px);
    font-weight: 800;
    letter-spacing: 0.12em;
    text-align: left;
    color: #5e5b53;
}

@media screen and (max-width:768px) {
    .article2 .info h3 {
        font-size: clamp(18px, 1.25vw, 18px);
        line-height: 1.5555555556em;
        margin-bottom: 10px
    }
}

.article2 .info p {
    font-size: clamp(14px, 0.9722222222vw, 14px);
    line-height: 1.7142857143em;
    font-weight: 400;
    letter-spacing: 0;
    text-align: left
}

.article3 {
    text-align: left
}

.article3 .no {
    font-size: clamp(16px, 1.1111111111vw, 16px);
    line-height: 1.5em;
    margin-bottom: clamp(8px, 0.5555555556vw, 8px);
    font-weight: 500;
    letter-spacing: 0.12em;
    color: #8F7B49
}

.article3 h3 {
    font-size: clamp(10px, 1.3888888889vw, 20px);
    line-height: 1.6em;
    margin-bottom: clamp(24px, 1.6666666667vw, 24px);
    font-weight: 500;
    letter-spacing: 0.12em
}


@media screen and (max-width:768px) {
    .article3 h3 {
        font-size: clamp(16px, 1.1111111111vw, 16px);
        line-height: 1.5em;
        margin-bottom: 20px
    }

 
}

.article3 .text {
    font-size: clamp(7px, 0.9722222222vw, 14px);
    line-height: 1.7142857143em;
    font-weight: 400;
    letter-spacing: 0.12em
}

@media screen and (max-width:768px) {
    .article3 .text {
        font-size: clamp(14px, 0.9722222222vw, 14px);
        line-height: 1.7142857143em
    }
}

.sp_menu {
    display: none !important;
    width: 100%;
    height: 100%;
    transition: all 0.3s;
    position: fixed;
    top: 0;
    left: 0
}

.sp_menu.is-start {
    display: block !important
}

.sp_menu section {
    align-content: flex-start;
    flex-wrap: wrap;
    background: #fff;
    width: 100%;
    height: 640px;
    padding-top: 72px
}

.sp_menu section nav {
    margin-left: auto;
    margin-right: auto;
    width: 280px;
    padding-top: 74px
}

.sp_menu section nav ul {
    margin-bottom: 16px
}

.sp_menu section nav ul li {
    margin-left: auto;
    margin-right: auto;
    font-size: clamp(14px, 0.9722222222vw, 14px);
    line-height: 1.4478571429em;
    font-weight: 500;
    letter-spacing: 0.03em;
    text-align: center;
    display: block;
    padding: 24px 0
}

.sp_menu section nav ul li:first-child {
    padding-top: 0
}

.sp_menu section nav ul li:last-child {
    background: none;
    display: flex;
    flex-direction: row;
    gap: 24px;
    justify-content: center;
    align-items: start
}

.sp_menu section nav ul li a {
    font-size: clamp(18px, 1.25vw, 18px);
    line-height: 1.4477777778em;
    font-weight: 500;
    letter-spacing: 0.03em;
    text-decoration: none
}

.sp_menu section nav ul li a:hover {
    opacity: 0.7;
    transition: all 0.2s
}

.sp_menu section nav ul li .amazon {
    margin-left: auto;
    margin-right: auto;
    display: block;
    width: 142px;
    height: 71px
}

.sp_menu section nav ul li .amazon img {
    width: 100%
}

.sp_menu section nav ul li .fb, .sp_menu section nav ul li .tiktok {
    display: block;
    width: 29px;
    height: 29px
}

.sp_menu section nav ul li .fb img, .sp_menu section nav ul li .tiktok img {
    width: 100%
}

.sp_menu section nav .btn01 {
    margin-left: auto;
    margin-right: auto;
    font-size: clamp(16px, 1.1111111111vw, 16px);
    line-height: 1.3575em;
    font-weight: 500;
    letter-spacing: 0.04em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 237px;
    height: 56px;
    padding-right: 56px
}

.sp_menu section nav .btn01 span {
    font-size: clamp(11px, 0.7638888889vw, 11px);
    line-height: 1.4481818182em;
    font-weight: 500;
    letter-spacing: 0.04em
}

.guard_spnavi {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 2
}

.guard_spnavi>div {
    background: black;
    opacity: 0.5;
    width: 100%;
    height: 100%
}

.pagination .nav-links {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center
}

.pagination .nav-links span, .pagination .nav-links a {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-size: clamp(16px, 1.1111111111vw, 16px);
    line-height: 1.448125em;
    font-weight: 500;
    width: 48px;
    aspect-ratio: 1;
    border-radius: 28px
}

.pagination .nav-links span {
    color: #fff;
    background: #E04F35
}

.pagination .nav-links span.dots {
    background: unset;
    color: #000
}

.pagination .nav-links span.prev {
    background: none
}

.pagination .nav-links span.prev::before {
    background: url("../image/icon/page_2.svg");
    opacity: 0.3
}

.pagination .nav-links span.next {
    background: none
}

.pagination .nav-links span.next::before {
    background: url("../image/icon/page_2.svg");
    transform: translate(-50%, -50%) rotateY(180deg);
    opacity: 0.3
}

.pagination .nav-links a {
    color: #383838
}

.pagination .nav-links a.prev::before {
    background: url("../image/icon/page_1.svg");
    transform: translate(-50%, -50%) rotateY(180deg)
}

.pagination .nav-links a.next::before {
    background: url("../image/icon/page_1.svg")
}

.pagination .nav-links .next, .pagination .nav-links .prev {
    position: relative
}

.pagination .nav-links .next::before, .pagination .nav-links .prev::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 20px;
    aspect-ratio: 1
}

header {
    width: 100%;
    z-index: 3;
    position: relative
}

header article {
    width: 100%
}

header article:first-child {
    z-index: 1;
    position: relative
}

header article section {
    width: 100%;
    height: 88px;
    max-width: 1440px;
    background: #FFFFFF;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: row;
    justify-content: left;
    align-items: center;
    padding: 0 clamp(55px, 7.6388888889vw, 110px)
}

@media screen and (max-width:768px) {
    header article section {
        height: 64px;
        padding: 0 20px
    }
}

header article section .logo:hover {
    opacity: 0.7
}

header article section .logo figure {
    width: auto;
    height: 37.75px
}

@media screen and (max-width:768px) {
    header article section .logo figure {
        height: 29.61px
    }
}

header article section .logo figure img {
    width: auto;
    height: 37.75px
}

@media screen and (max-width:768px) {
    header article section .logo figure img {
        height: 29.61px
    }
}

header article section .menu {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    gap: clamp(8px, 1.6666666667vw, 24px);
    flex: 1;
    padding-left: clamp(60px, 8.3333333333vw, 120px);
    border-radius: 0 0 0 32px
}

@media screen and (max-width:1000px) {
    header article section .menu {
        padding-left: clamp(30px, 4.1666666667vw, 60px)
    }
}

header article section .menu ul {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    margin-right: auto;
    gap: clamp(8px, 1.6666666667vw, 24px);
    list-style: none
}

header article section .menu ul li a {
    font-size: clamp(10px, 0.9722222222vw, 14px);
    line-height: 1.7142857143em;
    display: block;
    font-weight: 500;
    letter-spacing: 0.03em
}

header article section .menu ul li a:hover {
    opacity: 0.7;
    transition: all 0.2s
}

header article section .menu ul li a.noice {
    margin-top: -3px
}

header article section .menu ul li a .amazon {
    height: 50px
}

header article section .menu ul li a .amazon:hover {
    opacity: 0.7;
    transition: all 0.2s
}

header article section .menu ul li a .fb, header article section .menu ul li a .tiktok {
    height: 29px
}

header article section .menu ul li a .fb:hover, header article section .menu ul li a .tiktok:hover {
    opacity: 0.7;
    transition: all 0.2s
}

header article section .menu .btn01 {
    font-size: clamp(7.5px, 1.0416666667vw, 15px);
    line-height: 1.448em;
    font-weight: 500;
    letter-spacing: 0.04em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: clamp(200px, 15.9722222222vw, 230px);
    height: 56px;
    padding-right: 56px
}

header article section .menu .btn01 span {
    font-size: clamp(11px, 0.7638888889vw, 11px);
    line-height: 1.4481818182em;
    font-weight: 500;
    letter-spacing: 0.04em
}

.loading {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: black;
    opacity: 0.5;
    z-index: 10
}

.guard {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: calc(100vh - 88px - 8px);
    opacity: 0.5;
    z-index: 2
}

.guard_spnavi, .guard_splangnavi {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 2
}

.guard_spnavi>div, .guard_splangnavi>div {
    background: black;
    opacity: 0.5;
    width: 100%;
    height: 100%
}

footer {
    width: 100%;
    background: #fff;
    border-top: 1px solid #e0e0e0
}

footer article section {
    width: 100%;
    height: auto;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding: 32px clamp(60px, 8.3333333333vw, 120px) 0
}

@media screen and (max-width:768px) {
    footer article section {
        padding: 32px 24px 0
    }
}

footer article section>div {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: clamp(16px, 1.1111111111vw, 16px)
}

@media screen and (max-width:768px) {
    footer article section>div {
        flex-direction: column
    }
}

footer article section>div .logo {
    display: inline-block
}

footer article section>div .logo:hover {
    opacity: 0.7;
    transition: all 0.2s
}

@media screen and (max-width:768px) {
    footer article section>div .logo {
        margin-bottom: 24px
    }
}

footer article section>div .logo figure {
    width: 100%;
    height: auto;
    max-width: 178px
}

footer article section>div .logo figure img {
    display: block;
    width: 100%
}

footer article section>div .menu, footer article section>div .menu2 {
    display: inline-block
}

footer article section>div .menu ul, footer article section>div .menu2 ul {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    gap: 32px;
    list-style: none
}

@media screen and (max-width:768px) {
    footer article section>div .menu ul, footer article section>div .menu2 ul {
        gap: 25.5px 24px
    }
}

footer article section>div .menu ul li a, footer article section>div .menu2 ul li a {
    display: block
}

footer article section>div .menu ul li a:hover, footer article section>div .menu2 ul li a:hover {
    opacity: 0.7;
    transition: all 0.2s
}

footer article section>div .menu ul li .amazon, footer article section>div .menu2 ul li .amazon {
    width: 100px
}

@media screen and (max-width:768px) {
    footer article section>div .menu ul li .amazon, footer article section>div .menu2 ul li .amazon {
        width: 127px
    }
}

footer article section>div .menu ul li .amazon img, footer article section>div .menu2 ul li .amazon img {
    width: 100%
}

footer article section>div .menu ul li .fb, footer article section>div .menu2 ul li .fb {
    height: 29px
}

footer article section>div .menu ul li .tiktok, footer article section>div .menu2 ul li .tiktok {
    height: 29px
}

footer article section>div .menu ul li .youtube, footer article section>div .menu2 ul li .youtube {
    height: 29px
}

@media screen and (max-width:768px) {
    footer article section>div .menu {
        margin-bottom: 25.5px
    }
}

footer article section .copylight {
    font-size: clamp(11px, 0.7638888889vw, 11px);
    line-height: 1.4372727273em;
    margin-bottom: 8px;
    font-weight: 400;
    text-align: right
}

@media screen and (max-width:768px) {
    footer article section .copylight {
        font-size: clamp(10px, 0.6944444444vw, 10px);
        line-height: 1.437em;
        text-align: center
    }
}

main.top article {
    width: 100%
}

main.top article section {
    width: 100%;
    height: auto;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding: 64px 100px clamp(40px, 5.5555555556vw, 80px)
}

@media screen and (max-width:768px) {
    main.top article section {
        padding: 40px 20px clamp(40px, 5.5555555556vw, 80px)
    }
}

main.top #article_1 {
    text-align: center
}

main.top #article_1 section {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: start;
    gap: 46px;
    background: url("../image/dot.png");
    background-position: center bottom;
    background-repeat: repeat-x
}

@media screen and (max-width:768px) {
    main.top #article_1 section {
        flex-direction: column;
        align-items: center;
        gap: 32px
    }
}

main.top #article_1 section .contents {
    flex: 1;
    padding-top: 64px
}

@media screen and (max-width:768px) {
    main.top #article_1 section .contents {
        padding-top: 0
    }
}

main.top #article_1 section .contents ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: start;
    margin-bottom: clamp(40px, 3.4722222222vw, 50px);
    flex-wrap: wrap;
    gap: 50px 24px;
    list-style: none
}

@media screen and (max-width:768px) {
    main.top #article_1 section .contents ul {
        margin-bottom: 40px;
        gap: 40px
    }
}

main.top #article_1 section .contents .btn01 {
    width: 184px
}

@media screen and (max-width:768px) {
    main.top #article_1 section .contents .btn01 {
        width: 184px;
        margin-left: auto
    }
}

main.top #article_2 {
    text-align: center
}

main.top #article_2 section {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: start;
    gap: 46px;
    padding-top: 80px;
    padding-bottom: 80px
}

@media screen and (max-width:768px) {
    main.top #article_2 section {
        flex-direction: column;
        align-items: center;
        gap: 24px;
        padding-top: 64px;
        padding-bottom: 40px
    }
}

main.top #article_2 section .contents {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    gap: clamp(16px, 2.2222222222vw, 32px)
}

@media screen and (max-width:768px) {
    main.top #article_2 section .contents {
        flex-direction: column;
        align-items: center;
        gap: 32px
    }
}

main.top #article_2 section .contents figure {
    width: clamp(169px, 23.4722222222vw, 338px)
}

@media screen and (max-width:768px) {
    main.top #article_2 section .contents figure {
        width: 240px
    }
}

main.top #article_2 section .contents figure img {
    width: 100%
}

main.top #article_2 section .contents>div {
    flex: 1;
    text-align: left
}

main.top #article_2 section .contents>div .t_01 {
    margin-bottom: 16px
}

main.top #article_2 section .contents>div ul {
    list-style: none
}








main.top #article_3 {
    text-align: center;
}

main.top #article_3 section {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: stretch;
    gap: clamp(40px, 5.5555555556vw, 80px);
    padding-left: 0;
    padding-right: clamp(50px, 6.9444444444vw, 100px);
}

@media screen and (max-width:768px) {
    main.top #article_3 section {
        flex-direction: column-reverse;
        align-items: center;
        gap: 40px;
        padding-left: 0;
        padding-right: 0;
    }
}

main.top #article_3 section .left_image {
    width: 66%;
}

@media screen and (max-width:768px) {
    main.top #article_3 section .left_image {
        width: 100%;
    }
}

main.top #article_3 section .left_image+div {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: start;
    gap: clamp(17px, 2.3611111111vw, 34px);
    width: 50%;
    position: relative;
}

@media screen and (max-width:768px) {
    main.top #article_3 section .left_image+div {
        align-items: center;
    }
}

main.top #article_3 section .left_image+div.is-start::after {
    animation: fadeIn 0.5s forwards;
    animation-delay: 0.7s;
}

main.top #article_3 section .left_image+div::after {
    content: "";
    width: clamp(193.105px, 26.8201388889vw, 386.21px);
    height: clamp(173px, 24.0277777778vw, 346px);
    display: block;
    background: url("../image/article_3_bg.png");
    background-position: right bottom;
    background-size: clamp(193.105px, 26.8201388889vw, 386.21px) clamp(173px, 24.0277777778vw, 346px);
    background-repeat: no-repeat;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
    opacity: 0;
}

@media screen and (max-width:768px) {
    main.top #article_3 section .left_image+div::after {
        width: 289px;
        height: 305px;
        background-size: 289px 305px;
    }
}

main.top #article_3 section .left_image img {
    width: 100%;
    border-radius: 0 8px 8px 0;
}

@media screen and (max-width:768px) {
    main.top #article_3 section .left_image img {
        border-radius: 0;
    }
}

main.top #article_3 section>div {
    padding-top: clamp(40px, 5.5555555556vw, 80px);
}

@media screen and (max-width:768px) {
    main.top #article_3 section>div {
        flex-direction: column !important;
        gap: 40px !important;
        width: 100% !important;
        padding-top: 0;
    }
}

@media screen and (max-width:768px) {
    main.top #article_3 section>div h2 {
        padding-top: 0 !important;
    }
}

main.top #article_3 section>div .contents {
    display: block; /* ← flexをやめて縦積みにする */
    max-width: 440px;
    height: auto;
    text-align: left;
    padding-left: 20px;
    padding-top: 80px;
    padding-right: 20px;
}

@media screen and (max-width:769px) {
    main.top #article_3 section>div .contents {
        padding-left: 0;
        padding-right: 0;
        padding-top: 0;
        height: 424px;
    }
}

/* デザイン強調用のリードテキスト */
main.top #article_3 section>div .contents .lead {
    font-size: 1.25rem;       /* 適度に大きめ */
    font-weight: 600;         /* 少し強調 */
    margin-bottom: 16px;      /* 下に余白 */
    line-height: 1.6;
}

/* 本文テキスト */
main.top #article_3 section>div .contents p.t_03 {
    margin: 0;
    line-height: 1.8;
}





main.top #article_4 {
    text-align: center
}

main.top #article_4 section {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: start;
    gap: clamp(40px, 5.5555555556vw, 80px) clamp(24px, 3.3333333333vw, 48px)
}

@media screen and (max-width:768px) {
    main.top #article_4 section {
        flex-direction: column;
        align-items: center;
        gap: 40px
    }
}

main.top #article_4 section .contents {
    flex: 1;
    padding-top: 160px
}

@media screen and (max-width:768px) {
    main.top #article_4 section .contents {
        padding-top: 0
    }
}

main.top #article_4 section .contents ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: start;
    margin-bottom: clamp(50px, 3.4722222222vw, 50px);
    flex-wrap: wrap;
    gap: clamp(40px, 5.5555555556vw, 80px) clamp(24px, 3.3333333333vw, 48px);
    list-style: none
}

@media screen and (max-width:768px) {
    main.top #article_4 section .contents ul {
        gap: 64px 24px
    }
}

main.top #article_4 section .contents ul li {
    list-style-type: none;
    counter-increment: cnt
}

main.top #article_4 section .contents ul li:nth-child(4) figure::before {
    color: #000
}

main.top #article_4 section .contents ul li figure {
    position: relative
}

main.top #article_4 section .contents ul li figure::before {
    content: "0"counter(cnt) ":";
    font-size: clamp(32px, 2.2222222222vw, 32px);
    line-height: 1em;
    font-weight: 500;
    letter-spacing: 0.12em;
    position: absolute;
    left: 30px;
    bottom: 30.45px;
    color: #fff
}

@media screen and (max-width:768px) {
    main.top #article_4 section .contents ul li figure::before {
        font-size: clamp(20px, 1.3888888889vw, 20px);
        line-height: 1.6em;
        left: 24px;
        bottom: 18px
    }
}

main.top #article_4 section .contents .btn01 {
    width: 270px
}





main.top #article_5 {
    text-align: center
}

main.top #article_5 section {
    padding: 119px clamp(78px, 10.8333333333vw, 156px) clamp(40px, 5.5555555556vw, 80px);
    background: url("../image/article_5_bg.png");
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover
}

@media screen and (max-width:768px) {
    main.top #article_5 section {
        padding: 80px 24px
    }
}

main.top #article_5 section .underlay {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: start;
    gap: clamp(40px, 5.5555555556vw, 80px) clamp(24px, 3.3333333333vw, 48px);
    background: #FFFEFCE5;
    padding: clamp(32px, 4.4444444444vw, 64px) clamp(60px, 8.3333333333vw, 120px);
    border-radius: 16px
}

@media screen and (max-width:768px) {
    main.top #article_5 section .underlay {
        flex-direction: column;
        align-items: center;
        gap: 32px;
        padding: 40px 20px
    }
}

main.top #article_5 section .underlay .contents {
    flex: 1;
    padding-top: clamp(67.5px, 9.375vw, 135px)
}

@media screen and (max-width:768px) {
    main.top #article_5 section .underlay .contents {
        padding-top: 0
    }
}

main.top #article_5 section .underlay .contents ul {
    margin-bottom: clamp(20px, 2.7777777778vw, 40px);
    list-style: none
}

main.top #article_5 section .underlay .contents ul li {
    padding: 40px 0;
    border-bottom: 1px dotted #000
}

main.top #article_5 section .underlay .contents ul li:first-child {
    padding-top: 0
}

main.top #article_5 section .underlay .contents ul li:last-child {
    border-bottom: 0;
    padding-bottom: 0
}

@media screen and (max-width:768px) {
    main.top #article_5 section .underlay .contents ul li {
        padding: 40px 0
    }
}

main.top #article_5 section .underlay .contents p {
    text-align: left;
    letter-spacing: 0
}



main.top #article_6 {
    text-align: center
}

main.top #article_6 img{
    width: 50%
}

main.top #article_6 section {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: start;
    gap: 46px
}


@media screen and (max-width:768px) {
    main.top #article_6 section {
        flex-direction: column;
        align-items: center;
        gap: 40px;
        padding-top: 64px
    }
}

main.top #article_6 section .contents {
    flex: 1;
    padding-top: 160px
}

@media screen and (max-width:768px) {
    main.top #article_6 section .contents {
        padding-top: 0
    }
}

main.top #article_6 section .contents ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: start;
    margin-bottom: clamp(50px, 3.4722222222vw, 50px);
    flex-wrap: wrap;
    gap: 50px 24px;
    list-style: none
}

@media screen and (max-width:768px) {
    main.top #article_6 section .contents ul {
        gap: 32px 24px;
        margin-bottom: 40px
    }
}

main.top #article_6 section .contents .btn01 {
    width: 184px
}

@media screen and (max-width:768px) {
    main.top #article_6 section .contents .btn01 {
        width: 184px;
        margin-left: auto
    }
}



main.top #article_7 {
    text-align: center;
    position: relative;
    overflow: hidden
}

main.top #article_7::after {
    content: "";
    background: url("../image/article_7_bg.png");
    background-size: contain;
    position: absolute;
    width: clamp(338px, 46.9444444444vw, 676px);
    aspect-ratio: 1.1136738056;
    top: clamp(98.5px, 13.6805555556vw, 197px);
    right: -56px;
    z-index: -1
}

@media screen and (max-width:768px) {
    main.top #article_7::after {
        width: 326.47px;
        top: 0
    }
}

main.top #article_7 section {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: start;
    padding-bottom: 64px;
    gap: 46px
}

@media screen and (max-width:768px) {
    main.top #article_7 section {
        flex-direction: column;
        align-items: center;
        gap: 40px;
        padding-top: 40px;
        padding-bottom: 40px
    }
}

main.top #article_7 section .contents {
    flex: 1;
    padding-top: clamp(70px, 9.7222222222vw, 140px);
    text-align: left
}

@media screen and (max-width:768px) {
    main.top #article_7 section .contents {
        padding-top: 0
    }
}

main.top #article_7 section .contents .item1 {
    border-bottom: 1px dotted #000;
    padding-bottom: 40px
}

main.top #article_7 section .contents .item1 h3 {
    margin-bottom: clamp(32px, 2.2222222222vw, 32px);
    text-align: left;
    color: #000
}

@media screen and (max-width:768px) {
    main.top #article_7 section .contents .item1 h3 {
        margin-bottom: 16px;
        text-align: center
    }
}

main.top #article_7 section .contents .item1 figure {
    margin-bottom: clamp(32px, 2.2222222222vw, 32px);
    width: clamp(253px, 35.1388888889vw, 506px)
}

@media screen and (max-width:768px) {
    main.top #article_7 section .contents .item1 figure {
        width: 100%;
        margin-bottom: 16px
    }
}

main.top #article_7 section .contents .item1 figure img {
    width: 100%;
    border-radius: 8px
}

main.top #article_7 section .contents .item1 .name {
    max-width: 172px;
    margin-top: 8px
}

main.top #article_7 section .contents .item1 .name img {
    width: 100%
}

main.top #article_7 section .contents .item2 {
    border-bottom: 1px dotted #000;
    padding-top: 40px;
    padding-bottom: 40px
}

main.top #article_7 section .contents .item2 h3 {
    margin-bottom: clamp(16px, 1.1111111111vw, 16px);
    color: #8F7B49
}

main.top #article_7 section .contents .item2 dl {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: start;
    flex-wrap: nowrap;
    gap: 20px
}

main.top #article_7 section .contents .item2 dl dd {
    margin: 0;
    flex: 1
}

main.top #article_7 section .contents .item2 div {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: start;
    gap: 16px;
    margin-top: 16px
}

@media screen and (max-width:768px) {
    main.top #article_7 section .contents .item2 div {
        flex-direction: column
    }
}

main.top #article_7 section .contents .item2 div figure {
    width: calc(50% - 8px)
}

@media screen and (max-width:768px) {
    main.top #article_7 section .contents .item2 div figure {
        width: 100%
    }
}

main.top #article_7 section .contents .item2 div figure img {
    width: 100%
}

main.top #article_7 section .contents .item3 {
    padding-top: 40px
}

main.top #article_7 section .contents .item3 h3 {
    margin-bottom: clamp(16px, 1.1111111111vw, 16px);
    color: #8F7B49
}

main.top #article_8 {
    text-align: center
}

main.top #article_8 section {
    padding-top: 40px
}

main.top #article_8 section h2 {
    margin-bottom: 10px;
    position: relative;
    display: inline-block
}

main.top #article_8 section h2::before, main.top #article_8 section h2::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #000;
    width: 24px;
    height: 1px;
    display: block
}

@media screen and (max-width:768px) {
    main.top #article_8 section h2::before, main.top #article_8 section h2::after {
        content: unset
    }
}

main.top #article_8 section h2::before {
    left: -36px
}

main.top #article_8 section h2::after {
    right: -36px
}

@media screen and (max-width:768px) {
    main.top #article_8 section h2 {
        margin-bottom: 16px
    }
}

main.top #article_8 section p {
    margin-bottom: 32px
}

@media screen and (max-width:768px) {
    main.top #article_8 section p {
        margin-bottom: 14px
    }
}

main.top #article_8 section .movie {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 600px;
    aspect-ratio: 1.7647058824
}

main.top #article_8 section .movie>iframe {
    width: 100%;
    height: 100%
}

main.top #article_9 {
    text-align: center
}

main.top #article_9 section {
    background: url("../image/article_9_bg.png");
    background-size: cover;
    padding: clamp(71.25px, 9.8958333333vw, 142.5px) 0
}

@media screen and (max-width:768px) {
    main.top #article_9 section {
        padding: 88px 24px;
        background: url("../image/article_9_bg_sp.png");
        background-size: cover
    }
}

main.top #article_9 section .t_07 {
    margin-bottom: clamp(7px, 0.4861111111vw, 7px);
    color: #fff
}

@media screen and (max-width:768px) {
    main.top #article_9 section .t_07 {
        margin-bottom: 10px;
        text-align: center
    }
}

main.top #article_9 section h2 {
    margin-bottom: 24px;
    color: #fff
}

main.top #article_9 section p {
    margin-bottom: 32px;
    color: #fff
}

@media screen and (max-width:768px) {
    main.top #article_9 section p {
        margin-bottom: 40px;
        text-align: left
    }
}

main.top #article_9 section .btn02 {
    margin-left: auto;
    margin-right: auto;
    max-width: 320px
}

@media screen and (max-width:768px) {
    main.top #article_9 section .btn02 {
        max-width: 287px
    }
}


main.top #article_10 {
    text-align: center;
}

main.top #article_10 section {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: start;
    gap: 46px;
    padding-top: 90px;
    padding-bottom: 40px;
}

@media screen and (max-width:768px) {
    main.top #article_10 section {
        flex-direction: column;
        align-items: center;
        gap: 24px;
        padding-top: 64px;
        padding-bottom: 40px;
    }
}

main.top #article_10 section .contents {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    gap: clamp(16px, 2.2222222222vw, 32px);
}

main.top #article_10 section .contents figure {
    width: clamp(600px, 23.4722222222vw, 680px);
}

main.top #article_10 section .contents figure img {
    width: 100%;
}

main.top #article_10 section .contents > div {
    flex: 1;
    text-align: left;
}

main.top #article_10 section .contents > div .t_01 {
    margin-bottom: 16px;
    line-height: 1.9;
    font-size: 20px;
}

main.top #article_10 section .contents > div .t_03 {
    margin-bottom: 16px;
    line-height: 1.9;
    text-align: right;
    font-size: 15px;
}

main.top #article_10 section .contents > div ul {
    list-style: none;
}

/* --- スマホ用レスポンシブ調整 --- */
@media screen and (max-width:768px) {
    main.top #article_10 section .contents {
        flex-direction: column;
        align-items: center;
        gap: 32px;
    }

    main.top #article_10 section .contents figure {
        width: 500px;   /* ← スマホ時は300px固定 */
    }
}



@media screen and (max-width:768px) {
    .mv {
        padding-top: 64px !important
    }
}

.mv section {
    box-sizing: unset;
    padding: 0 !important
}

@media screen and (max-width:768px) {
    .mv section {
        padding-top: 0 !important
    }
}

.mv section figure img {
    width: 100%
}

@media screen and (max-width:768px) {
    .mv section {
        padding-top: 0;
        padding-bottom: 0
    }
}

main.archive article {
    width: 100%
}

main.archive article section {
    width: 100%;
    height: auto;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding: 80px 156px clamp(60px, 8.3333333333vw, 120px)
}

@media screen and (max-width:768px) {
    main.archive article section {
        padding: 40px 20px 80px
    }
}

main.archive #article_1 {
    text-align: center
}

main.archive #article_1 section {
    padding: 0
}

main.archive #article_1 section figure img {
    width: 100%
}

main.archive #article_2 {
    text-align: center
}

main.archive #article_2 section .contents .title {
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
    gap: 8px;
    margin-bottom: 56px
}

@media screen and (max-width:768px) {
    main.archive #article_2 section .contents .title {
        margin-bottom: 32px;
        gap: 0
    }
}

main.archive #article_2 section .contents .title .sub_title {
    font-size: clamp(12px, 0.8333333333vw, 12px);
    line-height: 1.4483333333em;
    font-weight: 500;
    letter-spacing: 0.12em;
    color: #65604E
}

@media screen and (max-width:768px) {
    main.archive #article_2 section .contents .title .sub_title {
        font-size: clamp(10px, 0.6944444444vw, 10px);
        line-height: 1.448em
    }
}

main.archive #article_2 section .contents .title h1 {
    font-size: clamp(32px, 2.2222222222vw, 32px);
    line-height: 1.5em;
    font-weight: 500
}

@media screen and (max-width:768px) {
    main.archive #article_2 section .contents .title h1 {
        font-size: clamp(20px, 1.3888888889vw, 20px);
        line-height: 1.6em
    }
}

main.archive #article_2 section .contents .category {
    margin-bottom: 48px
}

@media screen and (max-width:768px) {
    main.archive #article_2 section .contents .category {
        margin-bottom: 32px
    }
}

main.archive #article_2 section .contents .category ul {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: start;
    flex-wrap: wrap;
    gap: 14px 24px;
    list-style: none
}

@media screen and (max-width:768px) {
    main.archive #article_2 section .contents .category ul {
        gap: 14px 0;
        margin-left: -8px;
        margin-right: -8px
    }
}

main.archive #article_2 section .contents .category ul li {
    font-size: clamp(14px, 0.9722222222vw, 14px);
    line-height: 1.4478571429em;
    font-weight: 500;
    position: relative;
    padding: 0 8px 8px;
    cursor: pointer
}

main.archive #article_2 section .contents .category ul li:hover {
    opacity: 0.7
}

main.archive #article_2 section .contents .category ul li.current {
    padding: 0 8px 8px
}

main.archive #article_2 section .contents .category ul li.current::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    border-bottom: 1px solid #000;
    display: block;
    width: 100%;
    height: 1px
}

main.archive #article_2 section .contents .list {
    margin-bottom: 100px
}

@media screen and (max-width:768px) {
    main.archive #article_2 section .contents .list {
        margin-bottom: 80px
    }
}

main.archive #article_2 section .contents .list .notice_list {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: start;
    margin-bottom: clamp(40px, 3.4722222222vw, 50px);
    flex-wrap: wrap;
    gap: 50px 24px;
    list-style: none
}

@media screen and (max-width:768px) {
    main.archive #article_2 section .contents .list .notice_list {
        margin-bottom: 40px;
        gap: 40px
    }
}

main.archive #article_9 {
    text-align: center
}

main.archive #article_9 section {
    background: url("../image/article_9_bg.png");
    background-size: cover;
    padding: clamp(71.25px, 9.8958333333vw, 142.5px) 0
}

@media screen and (max-width:768px) {
    main.archive #article_9 section {
        padding: 88px 24px;
        background: url("../image/article_9_bg_sp.png");
        background-size: cover
    }
}

main.archive #article_9 section .t_07 {
    margin-bottom: clamp(7px, 0.4861111111vw, 7px);
    color: #fff
}

@media screen and (max-width:768px) {
    main.archive #article_9 section .t_07 {
        margin-bottom: 10px;
        text-align: center
    }
}

main.archive #article_9 section h2 {
    margin-bottom: 10px;
    color: #fff
}

@media screen and (max-width:768px) {
    main.archive #article_9 section h2 {
        margin-bottom: 24px
    }
}

main.archive #article_9 section p {
    margin-bottom: 32px;
    color: #fff
}

@media screen and (max-width:768px) {
    main.archive #article_9 section p {
        margin-bottom: 40px;
        text-align: left
    }
}

main.archive #article_9 section .btn02 {
    margin-left: auto;
    margin-right: auto;
    max-width: 328px
}

main.single article {
    width: 100%
}

main.single article section {
    width: 100%;
    height: auto;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding: 80px 240px clamp(60px, 8.3333333333vw, 120px)
}

@media screen and (max-width:768px) {
    main.single article section {
        padding: 40px 20px 80px
    }
}

main.single #article_1 {
    text-align: center
}

main.single #article_1 section {
    padding: 0
}

main.single #article_1 section figure img {
    width: 100%
}

main.single #article_2 {
    text-align: center
}

@media screen and (max-width:768px) {
    main.single #article_2 section {
        padding-bottom: 145px
    }
}

main.single #article_2 section .info {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
    text-align: left
}

@media screen and (max-width:768px) {
    main.single #article_2 section .info {
        margin-bottom: 8px;
        gap: 8px
    }
}

main.single #article_2 section .info .category {
    font-size: clamp(12px, 0.8333333333vw, 12px);
    line-height: 1.4483333333em;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    letter-spacing: -0.03em;
    background: #EFEBDE;
    color: #383838;
    height: 25px;
    padding: 0 10.5px;
    border-radius: 4px
}

main.single #article_2 section .info .category.none {
    background: unset
}

main.single #article_2 section .info .category.type1 {
    background: #DEDFEF
}

main.single #article_2 section .info .category.type2 {
    background: #E1EFDE
}

main.single #article_2 section .info .category.type3 {
    background: #EFEBDE
}

main.single #article_2 section .info .category.type4 {
    background: #F5E1D6
}

main.single #article_2 section .info .data {
    font-size: clamp(15px, 1.0416666667vw, 15px);
    line-height: 1.6em;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: #65604E
}

@media screen and (max-width:768px) {
    main.single #article_2 section .info .data {
        font-size: clamp(13px, 0.9027777778vw, 13px);
        line-height: 1.8461538462em
    }
}

main.single #article_2 section .title {
    font-size: clamp(32px, 2.2222222222vw, 32px);
    line-height: 1.75em;
    font-weight: 500;
    margin-bottom: 56px;
    text-align: left
}

@media screen and (max-width:768px) {
    main.single #article_2 section .title {
        font-size: clamp(20px, 1.3888888889vw, 20px);
        line-height: 1.4em;
        font-weight: bold;
        margin-bottom: 32px
    }
}

main.single #article_2 section .detail {
    text-align: left;
    padding-bottom: 64px
}

main.single #article_2 section .detail h2 {
    font-size: clamp(20px, 1.3888888889vw, 20px);
    line-height: 1.6em;
    font-weight: 400;
    margin-top: 32px;
    letter-spacing: 0.06em;
    position: relative;
    margin-bottom: 36px
}

main.single #article_2 section .detail h2:first-child {
    margin-top: 0
}

main.single #article_2 section .detail h2::after {
    content: "";
    width: 60px;
    height: 4px;
    background: #E04F35;
    display: block;
    position: absolute;
    left: 0;
    bottom: -8px
}

@media screen and (max-width:768px) {
    main.single #article_2 section .detail h2 {
        font-size: clamp(18px, 1.25vw, 18px);
        line-height: 1.7777777778em
    }
}

main.single #article_2 section .detail h3 {
    font-size: clamp(18px, 1.25vw, 18px);
    line-height: 1.7777777778em;
    font-weight: 400;
    letter-spacing: 0.06em;
    margin-top: 32px;
    padding-left: 1em;
    position: relative
}

main.single #article_2 section .detail h3::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 4px;
    height: 20px;
    background: #E04F35;
    display: block
}

@media screen and (max-width:768px) {
    main.single #article_2 section .detail h3 {
        font-size: clamp(16px, 1.1111111111vw, 16px);
        line-height: 2em
    }
}

main.single #article_2 section .detail h4 {
    font-size: clamp(15px, 1.0416666667vw, 15px);
    line-height: 1.6em;
    font-weight: 400;
    margin-top: 32px
}

@media screen and (max-width:768px) {
    main.single #article_2 section .detail h4 {
        font-size: clamp(14px, 0.9722222222vw, 14px);
        line-height: 2.2857142857em
    }
}

main.single #article_2 section .detail p {
    font-size: clamp(15px, 1.0416666667vw, 15px);
    line-height: 1.6em;
    font-weight: 400;
    margin-top: 16px
}

main.single #article_2 section .detail figure {
    margin-left: auto;
    margin-right: auto;
    max-width: 640px;
    margin-top: 32px
}

main.single #article_2 section .detail figure img {
    width: 100%;
    border-radius: 8px
}

main.single #article_2 section .detail a {
    font-size: clamp(15px, 1.0416666667vw, 15px);
    line-height: 1.6em;
    font-weight: 400;
    color: #009BC2;
    text-decoration: underline
}

main.single #article_2 section .link {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-top: 40px;
    position: relative;
    max-width: 596px
}

main.single #article_2 section .link .prev, main.single #article_2 section .link .next, main.single #article_2 section .link .back {
    font-size: clamp(14px, 0.9722222222vw, 14px);
    line-height: 2em;
    font-weight: 500;
    letter-spacing: 0.05em;
    position: relative
}

main.single #article_2 section .link .prev::after, main.single #article_2 section .link .next::after, main.single #article_2 section .link .back::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    width: 16px;
    aspect-ratio: 1
}

main.single #article_2 section .link .prev {
    padding-left: 24px
}

main.single #article_2 section .link .next {
    padding-right: 24px
}

main.single #article_2 section .link .back {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: absolute;
    height: 28px
}

@media screen and (max-width:768px) {
    main.single #article_2 section .link .back {
        top: unset;
        bottom: -70px
    }
}

main.single #article_2 .link {
    margin: 64px auto 0
}

@media screen and (max-width:768px) {
    main.single #article_2 .link {
        margin-top: 32px
    }
}

main.single #article_9 {
    text-align: center
}

main.single #article_9 section {
    background: url("../image/article_9_bg.png");
    background-size: cover;
    padding: clamp(71.25px, 9.8958333333vw, 142.5px) 0
}

@media screen and (max-width:768px) {
    main.single #article_9 section {
        padding: 88px 24px;
        background: url("../image/article_9_bg_sp.png");
        background-size: cover
    }
}

main.single #article_9 section .t_07 {
    margin-bottom: clamp(7px, 0.4861111111vw, 7px);
    color: #fff
}

@media screen and (max-width:768px) {
    main.single #article_9 section .t_07 {
        margin-bottom: 10px;
        text-align: center
    }
}

main.single #article_9 section h2 {
    margin-bottom: 10px;
    color: #fff
}

@media screen and (max-width:768px) {
    main.single #article_9 section h2 {
        margin-bottom: 24px
    }
}

main.single #article_9 section p {
    margin-bottom: 32px;
    color: #fff
}

@media screen and (max-width:768px) {
    main.single #article_9 section p {
        margin-bottom: 40px;
        text-align: left
    }
}

main.single #article_9 section .btn02 {
    margin-left: auto;
    margin-right: auto;
    max-width: 328px
}

main.type02 article {
    width: 100%
}

main.type02 article section {
    width: 100%;
    height: auto;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding: 80px 100px clamp(60px, 8.3333333333vw, 120px)
}

@media screen and (max-width:768px) {
    main.type02 article section {
        padding: 40px 20px 80px
    }
}

main.type02 #article_1 {
    text-align: center;
    min-height: calc(100vh - 126px)
}

@media screen and (max-width:768px) {
    main.type02 #article_1 {
        min-height: calc(100vh - 224px)
    }
}

main.type02 #article_1 section {
    padding: 0;
    position: relative
}

main.type02 #article_1 section figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

main.type02 #article_1 section figure img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

main.type02 #article_1 section .contents {
    z-index: 1;
    position: relative;
    padding: 200px clamp(100px, 13.8888888889vw, 200px) 40px;
    text-align: left;
    height: 608px
}

@media screen and (max-width:768px) {
    main.type02 #article_1 section .contents {
        padding: 185px 24px 0
    }
}

main.type02 #article_1 section .contents h1 {
    font-size: clamp(40px, 2.7777777778vw, 40px);
    line-height: 1.4em;
    font-weight: 500;
    letter-spacing: 0.04em;
    margin-bottom: 40px
}

@media screen and (max-width:768px) {
    main.type02 #article_1 section .contents h1 {
        font-size: clamp(32px, 2.2222222222vw, 32px);
        line-height: 1.75em;
        font-weight: 500;
        letter-spacing: 0.04em;
        margin-bottom: 32px
    }
}

main.type02 #article_1 section .contents p {
    font-size: clamp(14px, 0.9722222222vw, 14px);
    line-height: 1.7142857143em;
    font-weight: 500;
    letter-spacing: 0.04em;
    margin-bottom: 64px
}

@media screen and (max-width:768px) {
    main.type02 #article_1 section .contents p {
        margin-bottom: 40px
    }
}

main.type02 #article_1 section .contents a {
    width: 100%;
    max-width: 222px
}

main.type03 article {
    width: 100%
}

main.type03 article section {
    width: 100%;
    height: auto;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding: 80px 100px clamp(60px, 8.3333333333vw, 120px)
}

@media screen and (max-width:768px) {
    main.type03 article section {
        padding: 40px 20px 80px
    }
}

main.type03 #article_1 {
    text-align: center;
    min-height: calc(100vh - 126px)
}

@media screen and (max-width:768px) {
    main.type03 #article_1 {
        min-height: calc(100vh - 224px)
    }
}

main.type03 #article_1 section {
    padding: 0;
    position: relative
}

main.type03 #article_1 section figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1
}

main.type03 #article_1 section figure img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

main.type03 #article_1 section .contents {
    z-index: 1;
    position: relative;
    padding: 200px clamp(100px, 13.8888888889vw, 200px) 40px;
    text-align: left;
    height: 608px
}

@media screen and (max-width:768px) {
    main.type03 #article_1 section .contents {
        padding: 105px 24px 0
    }
}

main.type03 #article_1 section .contents h1 {
    font-size: clamp(40px, 2.7777777778vw, 40px);
    line-height: 1.4em;
    font-weight: 500;
    letter-spacing: 0.04em;
    margin-bottom: 40px
}

@media screen and (max-width:768px) {
    main.type03 #article_1 section .contents h1 {
        font-size: clamp(32px, 2.2222222222vw, 32px);
        line-height: 1.75em;
        font-weight: 500;
        letter-spacing: 0.04em;
        margin-bottom: 32px;
        white-space: nowrap
    }
}

main.type03 #article_1 section .contents p {
    font-size: clamp(14px, 0.9722222222vw, 14px);
    line-height: 1.7142857143em;
    font-weight: 500;
    letter-spacing: 0.04em;
    margin-bottom: 40px;
    height: 72px
}

@media screen and (max-width:768px) {
    main.type03 #article_1 section .contents p {
        margin-bottom: 32px;
        height: unset
    }
}

main.type03 #article_1 section .contents a {
    width: 100%;
    max-width: 222px
}

main.type04 article {
    width: 100%
}

main.type04 article section {
    width: 100%;
    height: auto;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding: 80px 240px 120px
}

@media screen and (max-width:768px) {
    main.type04 article section {
        padding: 40px 20px 80px
    }
}

main.type04 #article_1 {
    text-align: center
}

main.type04 #article_1 section {
    padding: 0
}

main.type04 #article_1 section figure img {
    width: 100%
}

main.type04 #article_2 {
    text-align: center
}

@media screen and (max-width:768px) {
    main.type04 #article_2 section {
        padding-bottom: 145px
    }
}

main.type04 #article_2 section .title {
    margin-bottom: 60px;
    text-align: left
}

@media screen and (max-width:768px) {
    main.type04 #article_2 section .title {
        margin-bottom: 32px
    }
}

main.type04 #article_2 section .title .sub_title {
    font-size: clamp(12px, 0.8333333333vw, 12px);
    line-height: 1.4483333333em;
    font-weight: 500;
    letter-spacing: 0.12em;
    margin-bottom: 8px;
    color: #65604E
}

@media screen and (max-width:768px) {
    main.type04 #article_2 section .title .sub_title {
        font-size: clamp(10px, 0.6944444444vw, 10px);
        line-height: 1.448em;
        margin-bottom: 0px
    }
}

main.type04 #article_2 section .title h1 {
    font-size: clamp(32px, 2.2222222222vw, 32px);
    line-height: 1.5em;
    font-weight: 500
}

@media screen and (max-width:768px) {
    main.type04 #article_2 section .title h1 {
        font-size: clamp(20px, 1.3888888889vw, 20px);
        line-height: 1.6em
    }
}

main.type04 #article_2 section .detail {
    text-align: left
}

main.type04 #article_2 section .detail>div {
    font-size: clamp(14px, 0.9722222222vw, 14px);
    line-height: 1.7142857143em;
    font-weight: 400;
    margin-bottom: 1em
}

main.type04 #article_2 section .detail ul {
    padding-left: 1em
}

main.type04 #article_2 section .detail ul.no {
    list-style: decimal
}

main.type04 #article_2 section .detail ul.no2 li {
    list-style-type: none;
    counter-increment: cnt
}

main.type04 #article_2 section .detail ul.no2 li::before {
    content: "("counter(cnt) ") "
}

main.type04 #article_2 section .detail ul.dot {
    list-style: disc
}

main.type04 #article_2 section .detail ul.en {
    list-style: lower-alpha
}

main.type04 #article_2 section .detail ul.en_no {
    list-style-type: lower-roman
}

main.type04 #article_2 section .detail .end {
    font-size: clamp(15px, 1.0416666667vw, 15px);
    line-height: 2.1333333333em;
    font-weight: 400;
    text-align: right
}

main.contact article {
    width: 100%
}

main.contact article section {
    width: 100%;
    height: auto;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding: 80px clamp(158px, 21.9444444444vw, 316px) 120px
}

@media screen and (max-width:768px) {
    main.contact article section {
        padding: 40px 20px 80px
    }
}

main.contact #article_1 {
    text-align: center
}

main.contact #article_1 section {
    padding: 0
}

main.contact #article_1 section figure img {
    width: 100%
}

main.contact #article_2 {
    text-align: center
}

@media screen and (max-width:768px) {
    main.contact #article_2 section {
        padding-bottom: 80px
    }
}

main.contact #article_2 section .contents .title {
    width: 100%;
    max-width: 620px;
    margin: 0 auto 64px;
    text-align: center
}

@media screen and (max-width:768px) {
    main.contact #article_2 section .contents .title {
        margin-bottom: 32px
    }
}

main.contact #article_2 section .contents .title .sub_title {
    font-size: clamp(12px, 0.8333333333vw, 12px);
    line-height: 1.4483333333em;
    font-weight: 500;
    letter-spacing: 0.12em;
    margin-bottom: 8px;
    color: #65604E;
    text-align: center
}

@media screen and (max-width:768px) {
    main.contact #article_2 section .contents .title .sub_title {
        font-size: clamp(10px, 0.6944444444vw, 10px);
        line-height: 1.448em;
        margin-bottom: 0
    }
}

main.contact #article_2 section .contents .title h1 {
    font-size: clamp(32px, 2.2222222222vw, 32px);
    line-height: 1.5em;
    font-weight: 500;
    margin-bottom: 40px
}

@media screen and (max-width:768px) {
    main.contact #article_2 section .contents .title h1 {
        font-size: clamp(20px, 1.3888888889vw, 20px);
        line-height: 1.6em
    }
}

main.contact #article_2 section .contents .title p {
    font-size: clamp(14px, 0.9722222222vw, 14px);
    line-height: 1.7142857143em;
    font-weight: 400;
    letter-spacing: 0.04em;
    text-align: left
}

main.contact #article_2 section .contents form {
    margin-left: auto;
    margin-right: auto;
    color: #464646;
    max-width: 480px
}

main.contact #article_2 section .contents form dl {
    font-size: clamp(15px, 1.0416666667vw, 15px);
    line-height: 1.3333333333em;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
    margin-left: auto;
    margin-right: auto;
    font-weight: 500;
    margin-bottom: 32px
}

main.contact #article_2 section .contents form dl.required dt {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
    gap: 8px;
    position: relative
}

main.contact #article_2 section .contents form dl.required dt::after {
    content: "必須";
    font-size: clamp(11px, 0.7638888889vw, 11px);
    line-height: 1.4545454545em;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    padding: 0 10px;
    height: 20px;
    color: #fff;
    background: #8F7B49;
    border-radius: 4px
}

main.contact #article_2 section .contents form dl dt {
    font-size: clamp(15px, 1.0416666667vw, 15px);
    line-height: 1.3333333333em;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    font-weight: 500;
    margin-bottom: 8px
}

main.contact #article_2 section .contents form dl dd {
    margin-left: 0;
    width: 100%
}

main.contact #article_2 section .contents form dl dd input, main.contact #article_2 section .contents form dl dd textarea {
    background: #FAFAFA;
    width: 100%;
    height: 48px;
    padding: 16px;
    border: none;
    border-bottom: 1px solid #8F7B49;
    font-size: 14px
}

main.contact #article_2 section .contents form dl dd input::placeholder, main.contact #article_2 section .contents form dl dd textarea::placeholder {
    color: #AFAFAF;
    font-size: 14px
}

main.contact #article_2 section .contents form dl dd input.err {
    margin-bottom: 8px;
    border-bottom: 1px solid #E52323
}

main.contact #article_2 section .contents form dl dd textarea {
    resize: none;
    height: 180px
}

main.contact #article_2 section .contents form dl dd .err_message {
    font-size: clamp(12px, 0.8333333333vw, 12px);
    line-height: 1.3333333333em;
    color: #E52323;
    font-weight: 500;
    text-align: left
}

main.contact #article_2 section .contents form .checkbox {
    margin-bottom: 56px
}

main.contact #article_2 section .contents form .checkbox input {
    width: 16px;
    height: 16px;
    border-radius: 2px
}

main.contact #article_2 section .contents form .checkbox label {
    margin-left: 4px
}

main.contact #article_2 section .contents form .checkbox label a {
    color: #E04F35
}

main.contact #article_2 section .contents form .checkbox label a:hover {
    opacity: 0.7
}

main.contact #article_2 section .contents form .btn01 {
    margin-left: auto;
    margin-right: auto;
    background: white;
    width: 138px;
    border: none
}