@charset "UTF-8";

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

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

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

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

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

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

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

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

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

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

.section-front .section-front_img03 {
    width: 288px;
}

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

.section-front .section-front_img04 {
    margin-top: 24px;
}

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

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

.section-front .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-front .text {
    margin-top: 24px;
    text-align: justify;
}

.section-front .section-front_img05 {
    margin-top: 24px;
}

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

.section-dog-lounge .wrap {
    position: relative;
}

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

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

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

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

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

.section-dog-lounge .section-dog-lounge_img01 {
    width: 456px;
    position: absolute;
    top: 100px;
    left: -524px;
    z-index: -1;
}

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

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

.section-dog-lounge .text-area {
    width: 100%;
    margin: 16px 0 0 0;
    position: relative;
}

.section-dog-lounge .section-dog-lounge_img03 {
    box-shadow: var(--img-shadow);
}

.section-dog-lounge_img04 {
    margin-top: 16px;
}

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

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

.section-dog-lounge .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-dog-lounge .text {
    margin-top: 24px;
    text-align: justify;
}

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

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

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

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

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

.section-hiba .section-hiba_img01 {
    display: none;
}

.section-hiba .section-hiba_img02 {
    margin-left: -24px;
}

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

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

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

.section-hiba .right {
    padding: 40px 0 0 72px;
}

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

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

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

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

.section-hiba .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-hiba .text {
    margin-top: 24px;
    text-align: justify;
}

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

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

.section-hiba .section-hiba_img05 {
    margin: 24px 0 0 0;
}

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

.section-hot-spring .wrap {
    position: relative;
}

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

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

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

.section-hot-spring .left {
    width: 100%;
}

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

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

.section-hot-spring_img03 {
    margin: 16px 0 0 auto;
}

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

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

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

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

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

.section-hot-spring .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-hot-spring .text {
    margin-top: 24px;
    text-align: justify;
}

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

.section-hot-spring .section-hot-spring_img04 {
    margin-top: 40px;
}

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

.section-dog-run .wrap {
    position: relative;
}

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

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

.section-dog-run .img-wrap {
    position: relative;
}

.section-dog-run .section-dog-run_img01 {
    width: 240px;
    position: absolute;
    top: 56px;
    left: -160px;
    z-index: -1;
}

.section-dog-run .section-dog-run_img03 {
    margin-top: 24px;
}

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

.section-dog-run .left {
    padding: 16px 0 0 0;
}

.section-dog-run .right {
    padding: 0;
    position: relative;
    display: flex;
    flex-direction: column;
}

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

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

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

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

.section-dog-run .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-dog-run .text {
    margin-top: 24px;
    text-align: justify;
}

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

.section-dog-run .section-dog-run_img04 {
    margin-top: 24px;
}

.section-dog-run .container02 {
    margin-top: 24px;
}