@charset "UTF-8";

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

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

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

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

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

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

.section-point01 .section-point01_img01 {
    width: 240px;
    position: absolute;
    top: 64px;
    left: -160px;
    z-index: -1;
}

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

.section-point01 .sub-title {
    font-family: var(--mincho);
    font-size: 16px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-point01 .title {
    font-family: var(--mincho);
    font-size: 24px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-point01 .section-point01_img03 {
    width: 288px;
    margin-top: 24px;
}

.section-point01 .text-area {
    width: 100%;
    margin-top: 24px;
    position: relative;
}

.section-point01 .section-point01_img04 {
    margin-top: 24px;
}

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

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

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

.section-point01 .text {
    margin-top: 24px;
    text-align: justify;
}

.section-point01 .section-point01_img05 {
    margin-top: 24px;
}

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

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

.section-point02 .wrap::before {
    width: calc(50vw + 50% - 40px);
    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;
}

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

.section-point02 .left {
    padding: 0;
    position: relative;
    display: flex;
    flex-direction: column;
}

.section-point02 .right {
    margin-top: 24px;
}

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

.section-point02 .sub-title {
    font-family: var(--mincho);
    font-size: 16px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-point02 .title {
    font-family: var(--mincho);
    font-size: 24px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-point02 .text-area {
    width: 100%;
    margin: 24px 0 0 0;
    position: relative;
}

.section-point02 .section-point02_img03 {
    box-shadow: var(--img-shadow);
}

.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 {
    margin: 24px 0 0;
    box-shadow: var(--img-shadow);
}

.section-point02 .en-title {
    margin-top: 24px;
    font-family: var(--text-en);
    font-size: 12px;
    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: 24px;
    text-align: justify;
}

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

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

.section-point03 .wrap::before {
    width: calc(50vw + 50% - 40px);
    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;
}

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

.section-point03 .section-point03_img01 {
    display: none;
}

.section-point03 .section-point03_img02 {
    margin-left: -24px;
}

.section-point03 .container {
    display: flex;
    flex-direction: column;
}

.section-point03 .left {
    padding: 24px 0 0 0;
    position: relative;
    display: flex;
    flex-direction: column;
}

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

.section-point03 .right {
    padding: 24px 0 0 72px;
}

.section-point03 .sub-title {
    font-family: var(--mincho);
    font-size: 16px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-point03 .title {
    font-family: var(--mincho);
    font-size: 24px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-point03 .en-title {
    font-family: var(--text-en);
    font-size: 12px;
    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: 24px;
    text-align: justify;
}

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

.section-point03 .container02 {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
}

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

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

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

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

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

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

.section-point04 .left {
    width: 100%;
}

.section-point04 .right {
    width: 100%;
    margin-top: 24px;
    display: flex;
    flex-direction: column;
}

.section-point04_img02 {
    width: 320px;
    position: absolute;
    top: -40px;
    right: -100px;
    z-index: -1;
}

.section-point04_img03 {
    margin: 24px 0 0 auto;
}

.section-point04 .sub-title {
    margin: 0;
    font-family: var(--mincho);
    font-size: 16px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-point04 .title {
    font-family: var(--mincho);
    font-size: 24px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-point04 .text-area {
    width: 100%;
    margin: 24px 0 0 0;
    position: relative;
}

.section-point04 .en-title {
    font-family: var(--text-en);
    font-size: 12px;
    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: 24px;
    text-align: justify;
}

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

.section-point04 .section-point04_img04 {
    margin-top: 24px;
}

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

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

.section-point05 .wrap::before {
    width: calc(50vw + 50% - 40px);
    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;
    left: calc(-50vw + 50%);
    display: block;
    z-index: -1;
}

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

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

.section-point05 .section-point05_img01 {
    width: 240px;
    position: absolute;
    top: 56px;
    left: -160px;
    z-index: -1;
}

.section-point05 .section-point05_img03 {
    margin-top: 24px;
}

.section-point05 .container {
    display: flex;
    flex-direction: column-reverse;
}

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

.section-point05 .right {
    padding: 24px 0 0 0;
    position: relative;
    display: flex;
    flex-direction: column;
}

.section-point05 .sub-title {
    font-family: var(--mincho);
    font-size: 16px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-point05 .title {
    font-family: var(--mincho);
    font-size: 24px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-point05 .en-title {
    font-family: var(--text-en);
    font-size: 12px;
    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: 24px;
    text-align: justify;
}

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

.section-point05 .section-point05_img04 {
    margin-top: 24px;
}

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

.section-point05 .section-point05_img06 {
    margin: 24px -24px 0 24px;
}

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

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

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

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

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

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

.section-point06 .section-point06_img01 {
    width: 240px;
    position: absolute;
    top: 64px;
    left: -160px;
    z-index: -1;
}

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

.section-point06 .sub-title {
    font-family: var(--mincho);
    font-size: 16px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-point06 .title {
    font-family: var(--mincho);
    font-size: 24px;
    line-height: 1.618;
    letter-spacing: .2em;
}

.section-point06 .section-point06_img03 {
    width: 288px;
    margin-top: 24px;
}

.section-point06 .text-area {
    width: 100%;
    margin-top: 24px;
    position: relative;
}

.section-point06 .section-point06_img04 {
    margin-top: 24px;
}

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

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

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

.section-point06 .text {
    margin-top: 24px;
    text-align: justify;
}

.section-point06 .section-point06_img05 {
    margin-top: 24px;
}

/*================================================================
#
================================================================ */
.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 {
    margin: 16px 0;
}

.section-wrap .list li .gold-btn {
    margin: 16px 0 0;
}