@charset "UTF-8";

/*================================================================
# section-point01
================================================================ */
.section-point01 {
    margin-top: 40px;
}

.section-point01 .wrap {
    position: relative;
}

.section-point01 .wrap::before {
    width: calc(50vw + 50% - 160px);
    height: 100%;
    filter: var(--img-invert);
    mix-blend-mode: var(--blend-mode);
    background: url(../img/section-point01_bg.png) no-repeat right top;
    position: absolute;
    content: "";
    top: 0;
    left: calc(-50vw + 50%);
    display: block;
    z-index: -1;
}

.section-point01 .inner {
    padding: 40px 0 64px;
}

.section-point01 .container {
    display: flex;
}

.section-point01 .img-wrap {
    position: relative;
}

.section-point01 .section-point01_img01 {
    width: 529px;
    position: absolute;
    top: 100px;
    left: -400px;
    z-index: -1;
}

.section-point01 .right {
    padding: 64px 0 0 72px;
    position: relative;
    display: flex;
    flex-direction: row-reverse;
}

.section-point01 .sub-title {
    margin-left: 8px;
    font-family: var(--mincho);
    font-size: 20px;
    line-height: 1.618;
    letter-spacing: .3em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
}

.section-point01 .title {
    margin: 0 auto;
    font-family: var(--mincho);
    font-size: 32px;
    line-height: 1.618;
    letter-spacing: .2em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
}

.section-point01 .section-point01_img03 {
    width: 288px;
    position: absolute;
    top: 100px;
    left: 240px;
}

.section-point01 .text-area {
    width: 600px;
    margin: 40px auto 0;
    position: relative;
}

.section-point01 .section-point01_img04 {
    width: 454px;
    position: absolute;
    top: -2px;
    left: -525px;
    z-index: -1;
}

.section-point01 .en-title {
    font-family: var(--text-en);
    font-size: 16px;
    line-height: 1.618;
    color: var(--gold);
}

.section-point01 .en-title span {
    position: relative;
}

.section-point01 .en-title span::after {
    width: 100px;
    height: 1px;
    margin: auto 0;
    background-color: var(--border-color);
    ;
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    bottom: 0;
    transform: translate(124px, 0);
}

.section-point01 .text {
    margin-top: 40px;
}

.section-point01 .section-point01_img05 {
    width: 292px;
    position: absolute;
    top: 97px;
    right: -282px;
    z-index: -1;
}

/*================================================================
# section-point02
================================================================ */
.section-point02 {
    margin-top: 40px;
}

.section-point02 .wrap {
    position: relative;
}

.section-point02 .wrap::before {
    width: calc(50vw + 50% - 160px);
    height: 100%;
    filter: var(--img-invert);
    mix-blend-mode: var(--blend-mode);
    background: #fff url(../img/section-point02_bg.png) no-repeat left top;
    position: absolute;
    content: "";
    top: 0;
    right: calc(-50vw + 50%);
    display: block;
    z-index: -1;
}

.section-point02 .inner {
    padding: 40px 0 64px;
}

.section-point02 .container {
    display: flex;
    justify-content: flex-end;
}

.section-point02 .left {
    padding: 100px 72px 0 0;
    position: relative;
    display: flex;
    flex-direction: row-reverse;
}

.section-point02 .section-point02_img01 {
    width: 456px;
    position: absolute;
    top: 100px;
    left: -524px;
    z-index: -1;
}

.section-point02 .sub-title {
    margin-left: 8px;
    font-family: var(--mincho);
    font-size: 20px;
    line-height: 1.618;
    letter-spacing: .3em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
}

.section-point02 .title {
    margin: 0 auto;
    font-family: var(--mincho);
    font-size: 32px;
    line-height: 1.618;
    letter-spacing: .2em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
}

.section-point02 .text-area {
    width: 700px;
    margin: 40px 0 0 auto;
    position: relative;
}

.section-point02 .section-point02_img03 {
    width: 440px;
    position: absolute;
    top: 26px;
    left: -550px;
}

.section-point02 .section-point02_img03 figcaption {
    margin: 0.4rem 0 0;
    opacity: 0.7;
    display: block;
    color: var(--white);
    text-align: right;
}

.section-point02 .section-point02_img04 {
    width: 440px;
    position: absolute;
    top: 336px;
    left: -550px;
}

.section-point02 .en-title {
    font-family: var(--text-en);
    font-size: 16px;
    line-height: 1.618;
    color: var(--gold);
}

.section-point02 .en-title span {
    position: relative;
}

.section-point02 .en-title span::after {
    width: 100px;
    height: 1px;
    margin: auto 0;
    background-color: var(--border-color);
    ;
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    bottom: 0;
    transform: translate(124px, 0);
}

.section-point02 .text {
    margin-top: 40px;
}

/*================================================================
# section-point03
================================================================ */
.section-point03 {
    margin-top: 40px;
}

.section-point03 .wrap {
    position: relative;
}

.section-point03 .wrap::before {
    width: calc(50vw + 50% - 160px);
    height: 100%;
    filter: var(--img-invert);
    mix-blend-mode: var(--blend-mode);
    background: #fff url(../img/section-point03_bg.png) no-repeat right top;
    position: absolute;
    content: "";
    top: 0;
    left: calc(-50vw + 50%);
    display: block;
    z-index: -1;
}

.section-point03 .inner {
    padding: 40px 0 64px;
}

.section-point03 .img-wrap {
    position: relative;
}

.section-point03 .section-point03_img01 {
    width: 434px;
    position: absolute;
    top: 156px;
    left: -443px;
    z-index: -1;
}

.section-point03 .section-point03_img02 {
    display: flex;
    justify-content: flex-end;
}

.section-point03 .container {
    display: flex;
    justify-content: center;
}

.section-point03 .left {
    padding: 40px 0 0 0;
    position: relative;
    display: flex;
    flex-direction: row-reverse;
}

.section-point03 .center {
    padding: 40px 0 0 72px;
}

.section-point03 .right {
    width: 400px;
    padding: 40px 0 0 72px;
}

.section-point03 .sub-title {
    margin-left: 8px;
    font-family: var(--mincho);
    font-size: 20px;
    line-height: 1.618;
    letter-spacing: .3em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
}

.section-point03 .title {
    margin: 0 auto;
    font-family: var(--mincho);
    font-size: 32px;
    line-height: 1.618;
    letter-spacing: .2em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
}

.section-point03 .en-title {
    font-family: var(--text-en);
    font-size: 16px;
    line-height: 1.618;
    color: var(--gold);
}

.section-point03 .en-title span {
    position: relative;
}

.section-point03 .en-title span::after {
    width: 100px;
    height: 1px;
    margin: auto 0;
    background-color: var(--border-color);
    ;
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    bottom: 0;
    transform: translate(124px, 0);
}

.section-point03 .text {
    margin-top: 40px;
}

.section-point03 .gold-btn {
    width: 400px;
    margin-top: 24px;
}

.section-point03 .container02 {
    margin: -80px 0 0;
    display: flex;
}

.section-point03 .section-point03_img05 {
    margin-left: 64px;
}

/*================================================================
# section-point04
================================================================ */
.section-point04 {
    margin-top: 40px;
}

.section-point04 .wrap {
    position: relative;
}

.section-point04 .wrap::before {
    width: calc(50vw + 50% - 160px);
    height: 100%;
    filter: var(--img-invert);
    mix-blend-mode: var(--blend-mode);
    background: #fff url(../img/section-point04_bg.png) no-repeat left top;
    position: absolute;
    content: "";
    top: 0;
    right: calc(-50vw + 50%);
    display: block;
    z-index: -1;
}

.section-point04 .inner {
    padding: 40px 0 64px;
}

.section-point04 .container {
    position: relative;
    display: flex;
}

.section-point04 .left {
    width: 820px;
}

.section-point04 .right {
    width: calc(100% - 820px);
    margin-top: 240px;
    display: flex;
    flex-direction: row-reverse;
}

.section-point04_img02 {
    width: 456px;
    position: absolute;
    top: -80px;
    right: -297px;
    z-index: -1;
}

.section-point04_img03 {
    width: 270px;
    position: absolute;
    top: 252px;
    right: -180px;
}

.section-point04 .sub-title {
    margin: 0 auto 0 8px;
    font-family: var(--mincho);
    font-size: 20px;
    line-height: 1.618;
    letter-spacing: .3em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
}

.section-point04 .title {
    margin-left: 64px;
    font-family: var(--mincho);
    font-size: 32px;
    line-height: 1.618;
    letter-spacing: .2em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
}

.section-point04 .text-area {
    width: 640px;
    margin: 40px 0 0 267px;
    position: relative;
}

.section-point04 .en-title {
    font-family: var(--text-en);
    font-size: 16px;
    line-height: 1.618;
    color: var(--gold);
}

.section-point04 .en-title span {
    position: relative;
}

.section-point04 .en-title span::after {
    width: 100px;
    height: 1px;
    margin: auto 0;
    background-color: var(--border-color);
    ;
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    bottom: 0;
    transform: translate(124px, 0);
}

.section-point04 .text {
    margin-top: 40px;
}

.section-point04 .gold-btn {
    width: 400px;
    margin-top: 24px;
}

.section-point04 .section-point04_img04 {
    width: 513px;
    position: absolute;
    top: 24px;
    right: -385px;
}

/*================================================================
# section-point05
================================================================ */
.section-point05 {
    margin-top: 40px;
}

.section-point05 .wrap {
    position: relative;
}

.section-point05 .wrap::before {
    width: calc(50vw + 50% - 160px);
    height: 100%;
    filter: var(--img-invert);
    mix-blend-mode: var(--blend-mode);
    background: #fff url(../img/section-point05_bg.png) no-repeat right top;
    position: absolute;
    content: "";
    top: 0;
    right: calc(-50vw + 50%);
    display: block;
    z-index: -1;
}

.section-point05 .inner {
    padding: 40px 0 64px;
}

.section-point05 .img-wrap {
    position: relative;
}

.section-point05 .section-point05_img01 {
    width: 529px;
    position: absolute;
    top: 156px;
    left: -443px;
    z-index: -1;
}

.section-point05 .section-point05_img03 {
    width: 270px;
    position: absolute;
    right: -31px;
    bottom: -133px;
    z-index: -1;
}

.section-point05 .container {
    display: flex;
}

.section-point05 .left {
    padding: 40px 0 0 0;
}

.section-point05 .right {
    padding: 40px 0 0 72px;
    position: relative;
    display: flex;
}

.section-point05 .sub-title {
    margin-left: 8px;
    font-family: var(--mincho);
    font-size: 20px;
    line-height: 1.618;
    letter-spacing: .3em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
}

.section-point05 .title {
    margin: 0 auto;
    font-family: var(--mincho);
    font-size: 32px;
    line-height: 1.618;
    letter-spacing: .2em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
}

.section-point05 .en-title {
    font-family: var(--text-en);
    font-size: 16px;
    line-height: 1.618;
    color: var(--gold);
}

.section-point05 .en-title span {
    position: relative;
}

.section-point05 .en-title span::after {
    width: 100px;
    height: 1px;
    margin: auto 0;
    background-color: var(--border-color);
    ;
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    bottom: 0;
    transform: translate(124px, 0);
}

.section-point05 .text {
    margin-top: 40px;
}

.section-point05 .gold-btn {
    width: 400px;
    margin-top: 24px;
}

.section-point05 .section-point05_img04 {
    width: 565px;
    position: absolute;
    bottom: -62px;
    left: 231px;
    z-index: -1;
}

.section-point05 .container02 {
    width: 88%;
    margin: 40px auto 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.section-point05 .section-point05_img06 {
    margin-left: 40px;
}

/*================================================================
# section-point06
================================================================ */
.section-point06 {
    margin-top: 40px;
}

.section-point06 .wrap {
    position: relative;
}

.section-point06 .wrap::before {
    width: calc(50vw + 50% - 160px);
    height: 100%;
    filter: var(--img-invert);
    mix-blend-mode: var(--blend-mode);
    background: url(../img/section-point01_bg.png) no-repeat right top;
    position: absolute;
    content: "";
    top: 0;
    left: calc(-50vw + 50%);
    display: block;
    z-index: -1;
}

.section-point06 .inner {
    padding: 40px 0 64px;
}

.section-point06 .container {
    display: flex;
}

.section-point06 .img-wrap {
    position: relative;
}

.section-point06 .section-point06_img01 {
    width: 529px;
    position: absolute;
    top: 100px;
    left: -400px;
    z-index: -1;
}

.section-point06 .right {
    padding: 64px 0 0 72px;
    position: relative;
    display: flex;
    flex-direction: row-reverse;
}

.section-point06 .sub-title {
    margin-left: 8px;
    font-family: var(--mincho);
    font-size: 20px;
    line-height: 1.618;
    letter-spacing: .3em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
}

.section-point06 .title {
    margin: 0 auto;
    font-family: var(--mincho);
    font-size: 32px;
    line-height: 1.618;
    letter-spacing: .2em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-font-feature-settings: 'pkna';
    font-feature-settings: 'pkna';
}

.section-point06 .section-point06_img03 {
    width: 288px;
    position: absolute;
    top: 100px;
    left: 240px;
}

.section-point06 .text-area {
    width: 600px;
    margin: 40px auto 0;
    position: relative;
}

.section-point06 .section-point06_img04 {
    width: 454px;
    position: absolute;
    top: -2px;
    left: -525px;
    z-index: -1;
}

.section-point06 .en-title {
    font-family: var(--text-en);
    font-size: 16px;
    line-height: 1.618;
    color: var(--gold);
}

.section-point06 .en-title span {
    position: relative;
}

.section-point06 .en-title span::after {
    width: 100px;
    height: 1px;
    margin: auto 0;
    background-color: var(--border-color);
    ;
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    bottom: 0;
    transform: translate(124px, 0);
}

.section-point06 .text {
    margin-top: 40px;
}

.section-point06 .section-point06_img05 {
    width: 292px;
    position: absolute;
    top: 97px;
    right: -282px;
    z-index: -1;
}

/*================================================================
#
================================================================ */
.section-wrap img {
    filter: saturate(90%);
}

.section-wrap .list {
    margin: 24px 0;
}

.section-wrap .list li {
    margin: 16px 0 0;
    display: block;
    font-size: 16px;
    font-weight: 700;
}

.section-wrap .list li::before {
    width: .5em;
    margin-right: 1em;
    padding: 0;
    content: "⚫︎";
    display: block;
    float: left;
    text-align: center;
}

.section-wrap .list li .list__text {
    margin: 0 0 0 24px;
    font-size: 14px;
    font-weight: 400;
    line-height: 2;
}

.section-wrap .note {
    margin-top: 8px;
    font-size: 12px;
    font-weight: 400;
    color: var(--gray);
    letter-spacing: .05em;
}

.section-wrap .list li .cake__img {
    width: 400px;
    margin: 0 0 16px;
}

.section-wrap .list li .gold-btn a {
    padding: 16px 40px;
    display: inline-block;
}